123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849 |
- /**
- *@author:Guoxiaohuan
- *@date:2020.06.08
- *@info 机房信息主页
- */
- <template>
- <div class='compute-box'>
- <el-dialog :title='`${systemName}`||"机房"' :visible.sync='visible' :fullscreen='true'>
- <div class='compute-span'></div>
- <div class='compute-tab'>
- <el-tabs v-model='activeName' @tab-click='handleClick'>
- <el-tab-pane label='机房布置图' name='1'>
- <room-table1></room-table1>
- </el-tab-pane>
- <el-tab-pane label='配电室低压柜及出线明细表' name='2'>
- <div class='compute-center'>
- <Select
- width='146'
- @change='Index1'
- v-model='floor2'
- tipPlace='top'
- caption='楼层:'
- :selectdata='floorSelect'
- :placeholder='"请选择"'
- style='margin-right:12px'
- ></Select>
- <el-input
- clearable
- @change='Index1'
- v-model='ctbhInput'
- placeholder='搜索抽屉编号'
- size='small'
- prefix-icon='el-icon-search'
- style='width:192px;margin-right:12px'
- ></el-input>
- <el-input
- clearable
- @change='Index1'
- v-model='cxggInput'
- placeholder='搜索出线规格'
- size='small'
- prefix-icon='el-icon-search'
- style='width:192px;margin-right:12px'
- ></el-input>
- <el-input
- clearable
- @change='Index1'
- v-model='djbhInput'
- placeholder='搜索电井编号'
- size='small'
- prefix-icon='el-icon-search'
- style='width:192px;margin-right:12px'
- ></el-input>
- <el-input
- clearable
- @change='Index1'
- v-model='kzhlInput'
- placeholder='搜索控制回路'
- size='small'
- prefix-icon='el-icon-search'
- style='width:192px;margin-right:12px'
- ></el-input>
- </div>
- <room-table2
- v-if='table2.length>=0'
- :table2='table2'
- :loading='loading1'
- :page='page1'
- :total='total1'
- :size='size1'
- @Index1='Index1'
- ></room-table2>
- </el-tab-pane>
- <el-tab-pane label='机房内核心设备' name='3'>
- <div class='compute-center'>
- <Select
- width='146'
- @change='Index2'
- tipPlace='top'
- v-model='floorChange'
- caption='楼层:'
- :selectdata='floorSelect'
- :placeholder='"请选择"'
- style='margin-right:12px'
- ></Select>
- <el-input
- clearable
- placeholder='搜索设备简称'
- size='small'
- prefix-icon='el-icon-search'
- v-model='sbjcInput'
- @change='Index2'
- style='width:192px;margin-right:12px'
- ></el-input>
- <el-input
- clearable
- @change='Index2'
- placeholder='搜索品牌、型号'
- size='small'
- prefix-icon='el-icon-search'
- v-model='ppxhInput'
- style='width:192px;margin-right:12px'
- ></el-input>
- <el-input
- clearable
- @change='Index2'
- placeholder='搜索生产厂商'
- size='small'
- prefix-icon='el-icon-search'
- v-model='sccsInput'
- style='width:192px;margin-right:12px'
- ></el-input>
- </div>
- <room-table3
- v-if='table3.length>=0'
- :table3='table3'
- :loading='loading2'
- :page='page2'
- :total='total2'
- :size='size2'
- @Index2Emit='Index2Emit'
- ></room-table3>
- </el-tab-pane>
- <el-tab-pane label='维修记录' name='4'>
- <div class='compute-center'>
- <el-date-picker
- clearable
- @change='Index3'
- v-model='tbsjDate'
- value-format='yyyyMMdd'
- type='daterange'
- size='small'
- style='margin-right:12px;width:320px'
- range-separator='-'
- start-placeholder='填报时间开始'
- end-placeholder='填报时间结束'
- placeholder='填报时间'
- ></el-date-picker>
- <el-date-picker
- clearable
- v-model='yssjDate'
- value-format='yyyyMMdd'
- type='daterange'
- @change='Index3'
- size='small'
- style='margin-right:12px;width:320px'
- range-separator='-'
- start-placeholder='验收时间开始'
- end-placeholder='验收时间结束'
- placeholder='验收时间'
- ></el-date-picker>
- <Select
- @change='Index3'
- width='146'
- tipPlace='top'
- caption='是否更换:'
- v-model='sfghSelect'
- :selectdata='isReplaceData'
- :placeholder='"请选择"'
- style='margin-right:12px'
- ></Select>
- <el-input
- clearable
- @change='Index3'
- placeholder='搜索设备名称'
- size='small'
- prefix-icon='el-icon-search'
- v-model='sbmcInput4'
- style='width:192px;margin-right:12px'
- ></el-input>
- <el-input
- clearable
- @change='Index3'
- placeholder='搜索设备编号'
- size='small'
- prefix-icon='el-icon-search'
- v-model='sbbhInput4'
- style='width:192px;margin-right:12px'
- ></el-input>
- <!-- <el-input
- clearable
- @change='Index3'
- placeholder='搜索重要事项记录'
- size='small'
- prefix-icon='el-icon-search'
- v-model='zysxInput4'
- style='width:192px;margin-right:12px'
- ></el-input>
- <el-input
- clearable
- @change='Index3'
- placeholder='搜索描述'
- size='small'
- prefix-icon='el-icon-search'
- v-model='msInput4'
- style='width:192px;margin-right:12px'
- ></el-input>
- <el-input
- clearable
- @change='Index3'
- placeholder='搜索工单编号'
- size='small'
- prefix-icon='el-icon-search'
- v-model='gdbhInput4'
- style='width:192px;margin-right:12px'
- ></el-input>-->
- </div>
- <!-- <Input-dialog :type='type1' @changeIndex3='changeIndex3'></Input-dialog> -->
- <room-table4
- v-if='table4.length>=0'
- :table4='table4'
- :loading='loading3'
- :page='page3'
- :total='total3'
- :size='size3'
- @Index3='Index3'
- ></room-table4>
- </el-tab-pane>
- <el-tab-pane label='维保记录' name='5'>
- <div class='compute-center'>
- <el-date-picker
- clearable
- value-format='yyyyMMdd'
- type='daterange'
- size='small'
- style='margin-right:12px;width:320px'
- range-separator='-'
- start-placeholder='开始日期'
- end-placeholder='结束日期'
- placeholder='开始时间'
- ></el-date-picker>
- <el-date-picker
- clearable
- value-format='yyyyMMdd'
- type='daterange'
- size='small'
- style='margin-right:12px;width:320px'
- range-separator='-'
- start-placeholder='开始日期'
- end-placeholder='结束日期'
- placeholder='完成时间'
- ></el-date-picker>
- <el-date-picker
- clearable
- value-format='yyyyMMdd'
- type='daterange'
- size='small'
- style='margin-right:12px;width:320px'
- range-separator='-'
- start-placeholder='开始日期'
- end-placeholder='结束日期'
- placeholder='填报时间'
- ></el-date-picker>
- <el-date-picker
- clearable
- value-format='yyyyMMdd'
- type='daterange'
- size='small'
- style='margin-right:12px;width:320px'
- range-separator='-'
- start-placeholder='开始日期'
- end-placeholder='结束日期'
- placeholder='验收时间'
- ></el-date-picker>
- <Select
- @change='Index4'
- width='146'
- tipPlace='top'
- caption='是否正常:'
- v-if='zt.length>0'
- :selectdata='zt'
- v-model='iszcSelect5'
- :placeholder='"请选择"'
- style='margin-right:12px'
- ></Select>
- <Select
- @change='Index4'
- width='146'
- tipPlace='top'
- v-model='statuSelect5'
- caption='任务状态:'
- v-if='status.length>0'
- :selectdata='status'
- :placeholder='"请选择"'
- style='margin-right:12px'
- ></Select>
- <el-input
- @change='Index4'
- clearable
- placeholder='搜索设备名称'
- size='small'
- prefix-icon='el-icon-search'
- v-model='sbmcInput5'
- style='margin-right:12px;width:192px;'
- ></el-input>
- <el-input
- @change='Index4'
- clearable
- placeholder='搜索设备编号'
- size='small'
- prefix-icon='el-icon-search'
- v-model='sbbhInput5'
- style='margin-right:12px;width:192px;'
- ></el-input>
- <el-input
- @change='Index4'
- clearable
- placeholder='搜索核心维保事项记录'
- size='small'
- prefix-icon='el-icon-search'
- v-model='wbsxjlInput5'
- style='margin-right:12px;width:192px;'
- ></el-input>
- <el-input
- @change='Index4'
- clearable
- placeholder='搜索任务编号'
- size='small'
- prefix-icon='el-icon-search'
- v-model='rwbhInput5'
- style='margin-right:12px;width:192px;'
- ></el-input>
- <el-input
- @change='Index4'
- clearable
- placeholder='搜索异常工单编号'
- size='small'
- prefix-icon='el-icon-search'
- v-model='ycgdbhInput5'
- style='margin-right:12px;width:192px;'
- ></el-input>
- <el-input
- @change='Index4'
- clearable
- placeholder='搜索描述'
- size='small'
- prefix-icon='el-icon-search'
- v-model='ssmsInput5'
- style='margin-right:12px;width:192px;'
- ></el-input>
- </div>
- <room-table5
- v-if='table5.length>=0'
- :table5='table5'
- :loading='loading4'
- :page='page4'
- :total='total4'
- :size='size4'
- @Index4='Index4'
- ></room-table5>
- </el-tab-pane>
- </el-tabs>
- </div>
- </el-dialog>
- </div>
- </template>
- <script>
- import { queryEquipmentList } from '@/api/equipmentList.js'
- import { queryDygjcxline, queryHxsb, queryWxjf, queryWb } from '@/api/room.js'
- import roomTable1 from './room1'
- import roomTable2 from './room2'
- import roomTable3 from './room3'
- import roomTable4 from './room4'
- import roomTable5 from './room5'
- import { mapGetters } from 'vuex'
- import { querySelect, queryPic } from '@/api/public.js'
- import InputDialog from './inputDialog'
- export default {
- data() {
- return {
- activeName: '1',
- visible: false,
- systemName: '',
- loading: true,
- loading1: true,
- loading2: true,
- loading3: true,
- loading4: true,
- table2: [],
- table3: [],
- table4: [],
- table5: [],
- //
- total: 0,
- page: 1,
- size: 10,
- picFloor: '',
- tableImg: '',
- //
- total1: 0,
- page1: 1,
- size1: 10,
- floor2: '',
- ctbhInput: '',
- cxggInput: '',
- djbhInput: '',
- kzhlInput: '',
- //
- total2: 0,
- page2: 1,
- size2: 10,
- sccsInput: '',
- ppxhInput: '',
- sbjcInput: '',
- floorChange: '',
- //
- total3: 0,
- page3: 1,
- size3: 10,
- tbsjDate: '',
- yssjDate: '',
- // 是否更换配件
- isReplaceData: [
- { id: '1', name: '是' },
- { id: '0', name: '否' }
- ],
- sfghSelect: '',
- sbmcInput4: '',
- sbbhInput4: '',
- zysxInput4: '',
- msInput4: '',
- gdbhInput4: '',
- type1: 'wx',
- //
- total4: 0,
- page4: 1,
- size4: 10,
- searVal: '',
- status: [],
- zt: [],
- sbmcInput5: '',
- sbbhInput5: '',
- wbsxjlInput5: '',
- rwbhInput5: '',
- ycgdbhInput5: '',
- ssmsInput5: '',
- iszcSelect5: '',
- statuSelect5: ''
- }
- },
- components: {
- roomTable1,
- roomTable2,
- roomTable3,
- roomTable4,
- roomTable5,
- InputDialog
- },
- computed: {
- ...mapGetters(['floorSelect'])
- },
- methods: {
- handleClick(tab) {
- if (tab.index == '0') {
- this.Index()
- } else if (tab.index == '1') {
- this.Index1()
- } else if (tab.index == '2') {
- this.Index2()
- } else if (tab.index == '3') {
- this.Index3()
- } else if (tab.index == '4') {
- this.Index4()
- this.changeSelect()
- }
- },
- Index() {
- this.picFloor = this.$cookie.get('floorNow')
- let getParams = {
- data: { tyepcode: 3, location: '1198', floor: this.picFloor, plazaId: this.$store.state.plazaId },
- params: {}
- }
- queryPic(getParams).then(res => {
- console.log('机房布置图', res)
- this.tableImg = res.data ? res.data : []
- })
- },
- // 明细表
- Index1() {
- let getParams = {
- location: '1198',
- plazaId: this.$store.state.plazaId,
- page: this.page1,
- size: this.size1
- }
- if (this.floor2) {
- getParams.floor = this.floor2
- }
- if (this.ctbhInput) {
- if (getParams.keyword) {
- getParams.keyword = `${getParams.keyword + ';' + this.ctbhInput}:drawernum`
- } else {
- getParams.keyword = `${this.ctbhInput}:drawernum`
- }
- }
- if (this.cxggInput) {
- if (getParams.keyword) {
- getParams.keyword = `${getParams.keyword + ';' + this.cxggInput}:outspec`
- } else {
- getParams.keyword = `${this.cxggInput}:outspec`
- }
- }
- if (this.djbhInput) {
- if (getParams.keyword) {
- getParams.keyword = `${getParams.keyword + ';' + this.djbhInput}:wellnum`
- } else {
- getParams.keyword = `${this.djbhInput}:wellnum`
- }
- }
- if (this.kzhlInput) {
- if (getParams.keyword) {
- getParams.keyword = `${getParams.keyword + ';' + this.kzhlInput}:control`
- } else {
- getParams.keyword = `${this.kzhlInput}:control`
- }
- }
- queryDygjcxline({ getParams }).then(res => {
- if (res.result == 'success') {
- this.loading1 = false
- this.total1 = res.count
- this.table2 = res.data ? res.data : []
- console.log('明细表', res)
- }
- })
- },
- // 核心设备
- Index2() {
- let postParams = {}
- let data = {
- location: '1198',
- plazaId: this.$store.state.plazaId,
- page: this.page2,
- size: this.size2
- }
- if (this.sbjcInput) {
- if (data.keyword) {
- data.keyword = `${data.keyword + ';' + this.sbjcInput}:sbjc`
- } else {
- data.keyword = `${this.sbjcInput}:sbjc`
- }
- }
- if (this.ppxhInput) {
- if (data.keyword) {
- data.keyword = `${data.keyword + ';' + this.ppxhInput}:brand,sbxh`
- } else {
- data.keyword = `${this.ppxhInput}:brand,sbxh`
- }
- }
- console.log(this.msInput4)
- if (this.msInput4) {
- console.log(this.msInput4)
- if (data.keyword) {
- data.keyword = `${data.keyword + ';' + this.msInput4}:description`
- } else {
- data.keyword = `${this.msInput4}:manufacturer`
- }
- }
- if (this.sccsInput) {
- if (data.keyword) {
- data.keyword = `${data.keyword + ';' + this.sccsInput}:manufacturer`
- } else {
- data.keyword = `${this.sccsInput}:manufacturer`
- }
- }
- if (this.floorChange) {
- data.floor = this.floorChange
- }
- queryHxsb({ data, postParams }).then(res => {
- console.log('核心设备', res)
- this.loading2 = false
- this.total2 = res.data.count
- this.table3 = res.data.data ? res.data.data : []
- })
- },
- Index2Emit(val) {
- this.page2 = val
- this.Index2()
- },
- // 维修
- Index3() {
- let getParams = {
- location: '1198',
- // plazaId: '1000388',
- plazaId: this.$store.state.plazaId,
- page: this.page3,
- size: this.size3
- }
- if (this.sfghSelect) {
- getParams.ismodel = this.sfghSelect
- }
- if (this.sbmcInput4) {
- if (getParams.keyword) {
- getParams.keyword = `${getParams.keyword + ';' + this.sbmcInput4}:sbmc`
- } else {
- getParams.keyword = `${this.sbmcInput4}:sbmc`
- }
- }
- if (this.sbbhInput4) {
- if (getParams.keyword) {
- getParams.keyword = `${getParams.keyword + ';' + this.sbbhInput4}:location`
- } else {
- getParams.keyword = `${this.sbbhInput4}:location`
- }
- }
- if (this.zysxInput4) {
- if (getParams.keyword) {
- getParams.keyword = `${getParams.keyword + ';' + this.zysxInput4}:matters`
- } else {
- getParams.keyword = `${this.zysxInput4}:matters`
- }
- }
- if (this.gdbhInput4) {
- if (getParams.keyword) {
- getParams.keyword = `${getParams.keyword + ';' + this.gdbhInput4}:manufacturer`
- } else {
- getParams.keyword = `${this.gdbhInput4}:manufacturer`
- }
- }
- queryWxjf({ getParams }).then(res => {
- console.log('维修', res)
- if (res.result == 'success') {
- this.loading3 = false
- this.total3 = res.count
- this.table4 = res.data ? res.data : []
- }
- })
- },
- changeIndex3(val) {
- console.log(val)
- if (val.type == 'wx') {
- if (val.msInput4) {
- this.msInput4 = val.msInput4
- }
- if (val.zysxInput4) {
- this.zysxInput4 = val.zysxInput4
- }
- if (val.gdbhInput4) {
- this.gdbhInput4 = val.gdbhInput4
- }
- this.Index3()
- }
- },
- // 维保
- Index4() {
- let postParams = {}
- let data = {
- location: '1198',
- // plazaId: '1000288',
- plazaId: this.$store.state.plazaId,
- page: this.page4,
- size: this.size4
- // smsxt: '1001'
- }
- // 是否正常
- if (this.iszcSelect5) {
- data.zt = this.iszcSelect5
- }
- // 任务状态
- if (this.statuSelect5) {
- data.status = this.statuSelect5
- }
- if (this.sbmcInput5) {
- if (data.keyword) {
- data.keyword = `${data.keyword + ';' + this.sbmcInput5}:sbmc`
- } else {
- data.keyword = `${this.sbmcInput5}:sbmc`
- }
- }
- if (this.sbbhInput5) {
- if (data.keyword) {
- data.keyword = `${data.keyword + ';' + this.sbbhInput5}:assetnum`
- } else {
- data.keyword = `${this.sbbhInput5}:assetnum`
- }
- }
- if (this.wbsxjlInput5) {
- if (data.keyword) {
- data.keyword = `${data.keyword + ';' + this.wbsxjlInput5}:matters`
- } else {
- data.keyword = `${this.wbsxjlInput5}:matters`
- }
- }
- if (this.rwbhInput5) {
- if (data.keyword) {
- data.keyword = `${data.keyword + ';' + this.rwbhInput5}:wb_gzglid`
- } else {
- data.keyword = `${this.rwbhInput5}:wb_gzglid`
- }
- }
- if (this.ycgdbhInput5) {
- if (data.keyword) {
- data.keyword = `${data.keyword + ';' + this.ycgdbhInput5}:wonum`
- } else {
- data.keyword = `${this.ycgdbhInput5}:wonum`
- }
- }
- if (this.ssmsInput5) {
- if (data.keyword) {
- data.keyword = `${data.keyword + ';' + this.ssmsInput5}:description`
- } else {
- data.keyword = `${this.ssmsInput5}:description`
- }
- }
- queryWb({ data, postParams }).then(res => {
- console.log('维保', res)
- this.loading4 = false
- this.total4 = res.data.count
- this.table5 = res.data.data ? res.data.data : []
- })
- },
- changeSelect() {
- this.department = []
- let postParams = [
- {
- columnName: { status: 'status', zt: 'zt' },
- tableName: 'v_glsms_wbzy'
- }
- ]
- let data = {
- plazaId: '1000288'
- }
- querySelect({ data, postParams }).then(res => {
- console.log('下拉框', res)
- let status = [],
- zt = []
- status = res.data.data.v_glsms_wbzy.status ? res.data.data.v_glsms_wbzy.status : []
- zt = res.data.data.v_glsms_wbzy.zt ? res.data.data.v_glsms_wbzy.zt : []
- if (status.length > 0) {
- status.forEach(el => {
- let obj = {
- id: el.key,
- name: el.value
- }
- this.status.push(obj)
- })
- }
- if (zt.length > 0) {
- zt.forEach(el => {
- let obj = {
- id: el.key,
- name: el.value
- }
- this.zt.push(obj)
- })
- }
- })
- },
- open(name) {
- this.visible = true
- this.systemName = name
- }
- },
- mounted() {
- this.Index()
- },
- watch: {}
- }
- </script>
- <style lang="less" scoped>
- .compute-box {
- .compute-span {
- width: 100%;
- height: 1px;
- background: rgba(0, 0, 0, 0.06);
- margin-bottom: 20px;
- }
- .compute-center {
- display: flex;
- align-items: center;
- margin-bottom: 12px;
- }
- }
- </style>
- <style lang="less">
- .compute-box {
- .el-dialog {
- padding: 16px 20px 20px;
- .el-dialog__header {
- padding: 0;
- font-size: 16px;
- font-family: PingFangSC-Medium, PingFang SC;
- font-weight: 500;
- color: rgba(0, 0, 0, 0.85);
- line-height: 24px;
- padding-bottom: 16px;
- }
- }
- .compute-tab {
- .el-dialog__title {
- font-size: 16px;
- font-family: PingFangSC-Medium, PingFang SC;
- font-weight: 500;
- color: rgba(0, 0, 0, 0.85);
- line-height: 24px;
- }
- .el-dialog__body {
- padding: 0 24px;
- }
- .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__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);
- }
- .el-tabs,
- .el-tabs__content {
- height: 700px;
- }
- .el-tabs__active-bar {
- background-color: transparent !important;
- }
- .is-active {
- color: #025baa;
- border-color: #025baa;
- }
- .compute-table {
- .el-table td,
- .el-table th {
- padding: 8px 0;
- }
- }
- }
- .el-input--suffix .el-input__inner {
- padding-right: 20px;
- }
- }
- </style>
|