|
@@ -1,113 +1,131 @@
|
|
|
|
|
|
<template>
|
|
|
<!-- 详情页面 -->
|
|
|
- <div class='gdqd-dialog'>
|
|
|
+ <div class='gdqd-dialog1'>
|
|
|
<div class='top'></div>
|
|
|
- <div class='gdqd-dialog-top'>
|
|
|
- <el-input
|
|
|
- placeholder='搜索设备简称编号'
|
|
|
- style='width:192px;margin-right:12px'
|
|
|
- size='small'
|
|
|
- prefix-icon='el-icon-search'
|
|
|
- v-model='sbjc'
|
|
|
- clearable
|
|
|
- @keyup.enter.native='queryTableList'
|
|
|
- @blur='queryTableList'
|
|
|
- ></el-input>
|
|
|
- <Select v-model='sbglgs' width='180' tipPlace='top' caption='管理归属:' size='small' :selectdata='sbglgsOption' @change='queryTableList'></Select>
|
|
|
- <Select
|
|
|
- width='160'
|
|
|
- style='margin: 0 12px;'
|
|
|
- v-model='status'
|
|
|
- tipPlace='top'
|
|
|
- caption='设备状态:'
|
|
|
- size='small'
|
|
|
- :selectdata='statusOption'
|
|
|
- @change='queryTableList'
|
|
|
- ></Select>
|
|
|
- <el-input
|
|
|
- placeholder='搜索品牌、型号'
|
|
|
- style='width:180px;margin-right:12px'
|
|
|
- size='small'
|
|
|
- clearable
|
|
|
- prefix-icon='el-icon-search'
|
|
|
- v-model='brand'
|
|
|
- @keyup.enter.native='queryTableList'
|
|
|
- @blur='queryTableList'
|
|
|
- ></el-input>
|
|
|
- <Select
|
|
|
- width='150'
|
|
|
- style='margin-right:12px;'
|
|
|
- v-model='floor'
|
|
|
- tipPlace='top'
|
|
|
- caption='楼层:'
|
|
|
- size='small'
|
|
|
- :selectdata='floorAllSelect'
|
|
|
- @change='queryTableList'
|
|
|
- ></Select>
|
|
|
- <el-input
|
|
|
- placeholder='搜索安装位置'
|
|
|
- @keyup.enter.native='queryTableList'
|
|
|
- @blur='queryTableList'
|
|
|
- clearable
|
|
|
- style='width:180px;margin-right:12px'
|
|
|
- size='small'
|
|
|
- prefix-icon='el-icon-search'
|
|
|
- v-model='wzjc'
|
|
|
- ></el-input>
|
|
|
- <!-- 多余的筛选 -->
|
|
|
- <input-dialog :type='1' @confirm='confirm'></input-dialog>
|
|
|
+ <div class='qdxq-top'>
|
|
|
+ <div class='gdqd-dialog-top'>
|
|
|
+ <!-- <el-input
|
|
|
+ placeholder='搜索设备简称编号'
|
|
|
+ style='width:192px;margin-right:12px'
|
|
|
+ size='small'
|
|
|
+ prefix-icon='el-icon-search'
|
|
|
+ v-model='sbjc'
|
|
|
+ clearable
|
|
|
+ @keyup.enter.native='queryTableList'
|
|
|
+ @blur='queryTableList'
|
|
|
+ ></el-input>
|
|
|
+ <Select v-model='sbglgs' width='180' tipPlace='top' caption='管理归属:' size='small' :selectdata='sbglgsOption' @change='queryTableList'></Select>
|
|
|
+ <Select
|
|
|
+ width='160'
|
|
|
+ style='margin: 0 12px;'
|
|
|
+ v-model='status'
|
|
|
+ tipPlace='top'
|
|
|
+ caption='设备状态:'
|
|
|
+ size='small'
|
|
|
+ :selectdata='statusOption'
|
|
|
+ @change='queryTableList'
|
|
|
+ ></Select>
|
|
|
+ <el-input
|
|
|
+ placeholder='搜索品牌、型号'
|
|
|
+ style='width:180px;margin-right:12px'
|
|
|
+ size='small'
|
|
|
+ clearable
|
|
|
+ prefix-icon='el-icon-search'
|
|
|
+ v-model='brand'
|
|
|
+ @keyup.enter.native='queryTableList'
|
|
|
+ @blur='queryTableList'
|
|
|
+ ></el-input>
|
|
|
+ <Select
|
|
|
+ width='150'
|
|
|
+ style='margin-right:12px;'
|
|
|
+ v-model='floor'
|
|
|
+ tipPlace='top'
|
|
|
+ caption='楼层:'
|
|
|
+ size='small'
|
|
|
+ :selectdata='floorAllSelect'
|
|
|
+ @change='queryTableList'
|
|
|
+ ></Select>
|
|
|
+ <el-input
|
|
|
+ placeholder='搜索安装位置'
|
|
|
+ @keyup.enter.native='queryTableList'
|
|
|
+ @blur='queryTableList'
|
|
|
+ clearable
|
|
|
+ style='width:180px;margin-right:12px'
|
|
|
+ size='small'
|
|
|
+ prefix-icon='el-icon-search'
|
|
|
+ v-model='wzjc'
|
|
|
+ ></el-input>-->
|
|
|
+ <!-- 多余的筛选 -->
|
|
|
+ <!-- <input-dialog :type='1' @confirm='confirm'></input-dialog> -->
|
|
|
+ </div>
|
|
|
+ <div class='gdqd-dialog-bottom'>
|
|
|
+ <el-table @row-click='innerTable' :data='tableData' :border='true' style='width: 100%;margin-bottom:30px'>
|
|
|
+ <el-table-column type='index' label='序号' width='60'></el-table-column>
|
|
|
+ <el-table-column prop='sbjc' label='设备名称' show-overflow-tooltip resizable min-width='338'>
|
|
|
+ <template slot-scope='{row}'>{{row.sbjc || '--'}}</template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop='assetnum' label='设备内码' show-overflow-tooltip resizable width='80'>
|
|
|
+ <template slot-scope='{row}'>{{row.assetnum || '--'}}</template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop='sl' label='数量' width='60'>
|
|
|
+ <template slot-scope='{row}'>{{row.sl>=0?row.sl:'--'}}</template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop='sbglgs' label='管理归属' show-overflow-tooltip resizable>
|
|
|
+ <template slot-scope='{row}'>{{row.sbglgs || '--'}}</template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop='sb_status' label='设备状态' width='80' show-overflow-tooltip resizable>
|
|
|
+ <template slot-scope='{row}'>{{row.sb_status || '--'}}</template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop='brand' label='品牌' show-overflow-tooltip resizable width='80'>
|
|
|
+ <template slot-scope='{row}'>{{row.brand || '--'}}</template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop='sbxh' label='型号' show-overflow-tooltip resizable width='100'>
|
|
|
+ <template slot-scope='{row}'>{{row.sbxh || '--'}}</template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop='floor' sortable label='楼层' width='70' show-overflow-tooltip resizable>
|
|
|
+ <template slot-scope='{row}'>{{row.floorcode || '--'}}</template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop='wzjc' label='安装位置' show-overflow-tooltip resizable min-width='150'>
|
|
|
+ <template slot-scope='{row}'>{{row.wzjc || '--'}}</template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop='manufacturer' label='生产厂商' show-overflow-tooltip resizable min-width='220'>
|
|
|
+ <template slot-scope='{row}'>{{row.manufacturer || '--'}}</template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop='fws' label='服务商' show-overflow-tooltip resizable min-width='220'>
|
|
|
+ <template slot-scope='{row}'>{{row.fws || '--'}}</template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop label='相关资料' show-overflow-tooltip resizable min-width='150'>
|
|
|
+ <template slot-scope='{row}'>{{'--'}}</template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
- <el-table @row-click='innerTable' :data='tableData' :border='true' style='width: 100%;amrgin-bottom:30px'>
|
|
|
- <el-table-column type='index' label='序号' width='60' :index='indexMethod'></el-table-column>
|
|
|
- <el-table-column prop='sbjc' label='设备名称' show-overflow-tooltip resizable min-width='150'>
|
|
|
- <template slot-scope='{row}'>{{row.sbjc || '--'}}</template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop='assetnum' label='设备内码' show-overflow-tooltip resizable width='80'>
|
|
|
- <template slot-scope='{row}'>{{row.assetnum || '--'}}</template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop='sl' label='数量' width='60'>
|
|
|
- <template slot-scope='{row}'>{{row.sl>=0?row.sl:'--'}}</template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop='sbglgs' label='管理归属' show-overflow-tooltip resizable>
|
|
|
- <template slot-scope='{row}'>{{row.sbglgs || '--'}}</template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop='sb_status' label='设备状态' width='80' show-overflow-tooltip resizable>
|
|
|
- <template slot-scope='{row}'>{{row.sb_status || '--'}}</template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop='brand' label='品牌' show-overflow-tooltip resizable width='80'>
|
|
|
- <template slot-scope='{row}'>{{row.brand || '--'}}</template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop='sbxh' label='型号' show-overflow-tooltip resizable width='80'>
|
|
|
- <template slot-scope='{row}'>{{row.sbxh || '--'}}</template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop='floor' sortable label='楼层' width='70' show-overflow-tooltip resizable>
|
|
|
- <template slot-scope='{row}'>{{row.floorcode || '--'}}</template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop='wzjc' label='安装位置' show-overflow-tooltip resizable min-width='150'>
|
|
|
- <template slot-scope='{row}'>{{row.wzjc || '--'}}</template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop='manufacturer' label='生产厂商' show-overflow-tooltip resizable min-width='150'>
|
|
|
- <template slot-scope='{row}'>{{row.manufacturer || '--'}}</template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop='fws' label='服务商' show-overflow-tooltip resizable min-width='150'>
|
|
|
- <template slot-scope='{row}'>{{row.fws || '--'}}</template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop label='相关资料' show-overflow-tooltip resizable min-width='150'>
|
|
|
- <template slot-scope='{row}'>{{'--'}}</template>
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
- <div class='foot'>
|
|
|
- <el-pagination
|
|
|
- background
|
|
|
- layout='prev, pager, next'
|
|
|
- :total='total'
|
|
|
- :current-page.sync='sonpage'
|
|
|
- :page-size='size'
|
|
|
- @prev-click='pageChanged'
|
|
|
- @next-click='pageChanged'
|
|
|
- @current-change='pageChanged'
|
|
|
- ></el-pagination>
|
|
|
+ <div class='qdxq-bottom'>
|
|
|
+ <div class='wb-title'>
|
|
|
+ <div class='tab-title' id='1' :class='activeId==1?"active-is":""' @click='tabClick(1)'>维保</div>
|
|
|
+ <div class='tab-title' id='2' :class='activeId==2?"active-is":""' @click='tabClick(2)'>维修</div>
|
|
|
+ </div>
|
|
|
+ <div v-if='activeId==1'>
|
|
|
+ <el-tabs v-model='activeName1' @tab-click='handleClickWb'>
|
|
|
+ <el-tab-pane label='重要维保' name='wb1'>
|
|
|
+ <wbTable ref='wb1' :smsxt='smsxt' tabLabel='重要维保' :diff='diff' :assetnum='row.assetnum' :size='3'></wbTable>
|
|
|
+ </el-tab-pane>
|
|
|
+ <el-tab-pane label='日常维保' name='wb2'>
|
|
|
+ <rcwbTable ref='wb2' :smsxt='smsxt' tabLabel='日常维保' :diff='diff' :assetnum='row.assetnum' :size='3'></rcwbTable>
|
|
|
+ </el-tab-pane>
|
|
|
+ </el-tabs>
|
|
|
+ </div>
|
|
|
+ <div v-if='activeId==2'>
|
|
|
+ <el-tabs v-model='activeName2' @tab-click='handleClickWx'>
|
|
|
+ <el-tab-pane label='重要维修' name='wx1'>
|
|
|
+ <wxTable ref='wx1' :smsxt='smsxt' tabLabel='重要维修' :diff='diff' :assetnum='row.assetnum' :size='3'></wxTable>
|
|
|
+ </el-tab-pane>
|
|
|
+ <el-tab-pane label='日常维修' name='wx2'>
|
|
|
+ <rcwxTable ref='wx2' :smsxt='smsxt' tabLabel='日常维修' :diff='diff' :assetnum='row.assetnum' :size='3'></rcwxTable>
|
|
|
+ </el-tab-pane>
|
|
|
+ </el-tabs>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</template>
|
|
@@ -117,6 +135,10 @@ import { mapGetters } from 'vuex'
|
|
|
import { queryAsset } from '@/api/equipmentList.js'
|
|
|
import { querySelect } from '@/api/public.js'
|
|
|
import inputDialog from './inputDIalog'
|
|
|
+import rcwbTable from './rcwbTable'
|
|
|
+import wbTable from './wbTable'
|
|
|
+import rcwxTable from './rcwxTable'
|
|
|
+import wxTable from './wxTable'
|
|
|
export default {
|
|
|
data() {
|
|
|
return {
|
|
@@ -128,8 +150,8 @@ export default {
|
|
|
{ id: 'test4', name: '滑动平均滑动平均' },
|
|
|
],
|
|
|
// page: 1,
|
|
|
- size: 10,
|
|
|
- total: 1,
|
|
|
+ // size: 10,
|
|
|
+ // total: 1,
|
|
|
sbjc: '',
|
|
|
brand: '',
|
|
|
wzjc: '',
|
|
@@ -141,34 +163,47 @@ export default {
|
|
|
sbglgsOption: [],
|
|
|
statusOption: [],
|
|
|
floorAllSelect: [],
|
|
|
+ activeId: '1',
|
|
|
+ activeName1: 'wb1',
|
|
|
+ activeName2: 'wx1',
|
|
|
}
|
|
|
},
|
|
|
components: {
|
|
|
Select,
|
|
|
inputDialog,
|
|
|
+ rcwbTable,
|
|
|
+ wbTable,
|
|
|
+ rcwxTable,
|
|
|
+ wxTable,
|
|
|
},
|
|
|
computed: {
|
|
|
...mapGetters(['floorSelect']),
|
|
|
},
|
|
|
- props: ['row', 'major', 'sonpage'],
|
|
|
+ props: ['row', 'major', 'smsxt', 'diff'],
|
|
|
mounted() {
|
|
|
+ console.log(this.row)
|
|
|
this.queryTableList()
|
|
|
this.tabFind()
|
|
|
this.getFloorAllSelect()
|
|
|
},
|
|
|
methods: {
|
|
|
+ tabClick(item) {
|
|
|
+ this.activeId = item
|
|
|
+ },
|
|
|
+ handleClickWb(label) {
|
|
|
+ console.log(label)
|
|
|
+ console.log(this.$refs[`${label.name}`])
|
|
|
+ this.$refs[`${label.name}`].startMethods()
|
|
|
+ },
|
|
|
+ handleClickWx(label) {
|
|
|
+ this.$refs[`${label.name}`].startMethods()
|
|
|
+ },
|
|
|
innerTable(row) {
|
|
|
console.log(row)
|
|
|
if (row.assetuid) {
|
|
|
window.open(`http://gcgl.wanda.cn/maximo/ui/?event=loadapp&value=assetdevic&uniqueid=${row.assetuid}`)
|
|
|
}
|
|
|
},
|
|
|
- //序号的方法
|
|
|
- indexMethod(index) {
|
|
|
- if (this.sonpage) {
|
|
|
- return (this.sonpage - 1) * this.size + index + 1
|
|
|
- }
|
|
|
- },
|
|
|
//多余输入框监听
|
|
|
confirm(fws, manufacturer) {
|
|
|
//console.log(fws, manufacturer, '------')
|
|
@@ -233,10 +268,6 @@ export default {
|
|
|
})
|
|
|
})
|
|
|
},
|
|
|
- pageChanged(page) {
|
|
|
- this.sonpage = page
|
|
|
- this.queryTableList()
|
|
|
- },
|
|
|
queryTableList() {
|
|
|
let major
|
|
|
if (this.major.slice(0, 2) == 'GD') {
|
|
@@ -255,8 +286,6 @@ export default {
|
|
|
let data = {
|
|
|
major: major,
|
|
|
plazaId: this.$store.state.plazaId,
|
|
|
- page: this.sonpage,
|
|
|
- size: this.size,
|
|
|
}
|
|
|
//输入框搜索
|
|
|
data.keyword = ''
|
|
@@ -310,7 +339,6 @@ export default {
|
|
|
this.floorSelect.forEach((el) => {
|
|
|
this.floorAllSelect.push(el)
|
|
|
})
|
|
|
- console.log(this.floorAllSelect)
|
|
|
},
|
|
|
},
|
|
|
watch: {
|
|
@@ -319,6 +347,7 @@ export default {
|
|
|
this.queryTableList()
|
|
|
this.getFloorAllSelect()
|
|
|
this.tabFind()
|
|
|
+ this.handleClickWb()
|
|
|
},
|
|
|
deep: true,
|
|
|
},
|
|
@@ -335,23 +364,41 @@ export default {
|
|
|
}
|
|
|
</script>
|
|
|
<style lang="less" scoped>
|
|
|
-.gdqd-dialog {
|
|
|
- // padding: 16px 24px 40px;
|
|
|
- // height: 610px;
|
|
|
- .gdqd-dialog-top {
|
|
|
- display: flex;
|
|
|
- margin-bottom: 12px;
|
|
|
- }
|
|
|
- td {
|
|
|
- overflow: hidden;
|
|
|
- text-overflow: ellipsis;
|
|
|
- white-space: nowrap;
|
|
|
+.gdqd-dialog1 {
|
|
|
+ height: 100vh;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ .qdxq-top {
|
|
|
+ .gdqd-dialog-top {
|
|
|
+ // margin-bottom: 20px;
|
|
|
+ }
|
|
|
+ .gdqd-dialog-bottom {
|
|
|
+ overflow: hidden;
|
|
|
+ max-height: 9vh;
|
|
|
+ }
|
|
|
}
|
|
|
- .foot {
|
|
|
- height: 32px;
|
|
|
- display: flex;
|
|
|
- justify-content: flex-end;
|
|
|
- margin-top: 28px;
|
|
|
+ .qdxq-bottom {
|
|
|
+ //max-height: 76vh;
|
|
|
+ flex: 1;
|
|
|
+ .wb-title {
|
|
|
+ display: flex;
|
|
|
+ height: 48px;
|
|
|
+ line-height: 48px;
|
|
|
+ background: #f5f6f7;
|
|
|
+ margin: 20px 0;
|
|
|
+ .tab-title {
|
|
|
+ padding: 4px 16px;
|
|
|
+ }
|
|
|
+ &:hover {
|
|
|
+ cursor: pointer;
|
|
|
+ color: #025baa;
|
|
|
+ }
|
|
|
+ .active-is {
|
|
|
+ color: #025baa;
|
|
|
+ border-bottom: 2px solid #025baa;
|
|
|
+ cursor: pointer;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
@media screen and (max-width: 1600px) {
|
|
@@ -361,9 +408,64 @@ export default {
|
|
|
}
|
|
|
</style>
|
|
|
<style lang="less">
|
|
|
-.gdqd-dialog {
|
|
|
+.gdqd-dialog1 {
|
|
|
/deep/.el-table td {
|
|
|
cursor: pointer;
|
|
|
}
|
|
|
+ .qdxq-bottom {
|
|
|
+ .el-tabs--bottom .el-tabs__item.is-bottom:nth-child(2),
|
|
|
+ .el-tabs--bottom .el-tabs__item.is-top:nth-child(2),
|
|
|
+ .el-tabs--top .el-tabs__item.is-bottom:nth-child(2),
|
|
|
+ .el-tabs--top .el-tabs__item.is-top:nth-child(2) {
|
|
|
+ padding-left: 16px;
|
|
|
+ }
|
|
|
+ .el-tabs--bottom .el-tabs__item.is-bottom:last-child,
|
|
|
+ .el-tabs--bottom .el-tabs__item.is-top:last-child,
|
|
|
+ .el-tabs--top .el-tabs__item.is-bottom:last-child,
|
|
|
+ .el-tabs--top .el-tabs__item.is-top:last-child {
|
|
|
+ padding-right: 16px;
|
|
|
+ }
|
|
|
+ .el-tabs__nav-wrap::after {
|
|
|
+ height: 0;
|
|
|
+ }
|
|
|
+ .el-tabs {
|
|
|
+ height: 95vh;
|
|
|
+ }
|
|
|
+ .el-tabs__content {
|
|
|
+ height: calc(100% - 45px);
|
|
|
+ /deep/ .el-tab-pane > div {
|
|
|
+ height: 100% !important;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .is-active {
|
|
|
+ color: #025baa !important;
|
|
|
+ border-color: #025baa !important;
|
|
|
+ }
|
|
|
+ .el-tabs__item {
|
|
|
+ padding: 5px 16px;
|
|
|
+ height: 30px;
|
|
|
+ line-height: 22px;
|
|
|
+ font-size: 14px;
|
|
|
+ font-family: MicrosoftYaHei;
|
|
|
+ color: rgba(31, 36, 41, 1);
|
|
|
+ border: 1px solid rgba(195, 199, 203, 1);
|
|
|
+ }
|
|
|
+
|
|
|
+ /deep/ .el-tabs__item:last-child {
|
|
|
+ border-radius: 0px 4px 4px 0px;
|
|
|
+ }
|
|
|
+ /deep/ .el-tabs__item:nth-child(2) {
|
|
|
+ border-radius: 4px 0px 0px 4px;
|
|
|
+ }
|
|
|
+ .el-tab-pane {
|
|
|
+ height: 100% !important;
|
|
|
+ }
|
|
|
+ .el-tabs__active-bar {
|
|
|
+ background-color: transparent !important;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+/deep/.el-dialog {
|
|
|
+ margin-top: 5vh !important;
|
|
|
}
|
|
|
</style>
|