Explorar o código

设备设施钻取表下拉框及数据调试

zhulizhen1111 %!s(int64=4) %!d(string=hai) anos
pai
achega
9cb9239b3e

+ 13 - 36
src/api/equipmentList.js

@@ -1,73 +1,50 @@
-import httputils from '@/api/httputils'
+import httputils from "@/api/httputils"
 
 // 设备设施-主要设备清单
-export function queryEquipmentList({
-    data,
-    postParams
-}) {
+export function queryEquipmentList({ data, postParams }) {
     return httputils.fetchJson(`/api/data/glsms_asset/queryStatistics`, data, postParams)
 }
 
 // 设备设施-主要设备清单详情
-export function queryAsset({
-    data,
-    postParams
-}) {
+export function queryAsset({ data, postParams }) {
     return httputils.fetchJson(`/api/data/glsms_asset/query`, data, postParams)
 }
 // 设备设施-主要材料清单
-export function queryMaterialList({
-    getParams
-}) {
+export function queryMaterialList({ getParams }) {
     return httputils.getJson(`/api/data/gcglsms_material/query`, getParams)
 }
 
 // 设备设施-维保事项
-export function queryWbsms({
-    data,
-    getParams
-}) {
+export function queryWbsms({ data, getParams }) {
     return httputils.getJson(`/api/data/v_glsms_wbsms/query`, data, getParams)
 }
 
 // 设备设施-维修事项
-export function queryWx({
-    getParams
-}) {
-    return httputils.getJson(`/api/data/glsms_wx/query`, getParams)
+export function queryWx({ data, getParams }) {
+    return httputils.getJson(`/api/data/glsms_wx/query`, data, getParams)
 }
 
 // 设备设施-专维
-export function queryZw({
-    getParams
-}) {
+export function queryZw({ getParams }) {
     return httputils.getJson(`/api/data/glsms_zw/query`, getParams)
 }
 
 // 设备设施-其他事项
-export function queryQtsx({
-    getParams
-}) {
+export function queryQtsx({ getParams }) {
     return httputils.getJson(`/api/data/glsms_qtsx/query`, getParams)
 }
 
 // 设备设施-记录事项
-export function queryxx({
-    getParams
-}) {
+export function queryxx({ getParams }) {
     return httputils.getJson(`/api/xx`, getParams)
 }
 
 // 设备设施=查看图纸
-export function queryxxx({
-    getParams
-}) {
+export function queryxxx({ getParams }) {
     return httputils.getJson(`/api/xxX`, getParams)
 }
 
 // 设备设施-楼层电井口(间)控制商铺范围清单
-export function queryx({
-    getParams
-}) {
+export function queryx({ getParams }) {
     return httputils.getJson(`/api/X`, getParams)
-}
+}

+ 16 - 8
src/utils/plugins/components.js

@@ -2,6 +2,7 @@ var system = [
         {
             name: "供电系统",
             id: 1,
+            smsxt: "1001",
             icon: require("@/assets/imgs/cdgd.png"),
             icon1: require("@/assets/imgs/cdgd2.png"),
             children: [
@@ -18,7 +19,7 @@ var system = [
                 },
                 {
                     label: "楼层电井(间)控制商铺范围清单",
-                    id: "GDQD",
+                    id: "GJSP",
                     children: [],
                 },
                 {
@@ -59,7 +60,7 @@ var system = [
                     children: [
                         {
                             label: "专项维修",
-                            id: "GDZW1",
+                            id: "GDZW",
                             param: { tab_code: "1592" },
                         },
                         {
@@ -78,6 +79,7 @@ var system = [
         },
         {
             name: "暖通系统",
+            smsxt: "1002",
             id: 2,
             icon: require("@/assets/imgs/cdnt.png"),
             icon1: require("@/assets/imgs/cdnt2.png"),
@@ -161,7 +163,7 @@ var system = [
                     children: [
                         {
                             label: "专项维修",
-                            id: "NTZW1",
+                            id: "NTZW",
                             param: { tab_code: "1592" },
                         },
                         {
@@ -181,6 +183,7 @@ var system = [
         },
         {
             name: "消防系统",
+            smsxt: "1003",
             icon: require("@/assets/imgs/cdxf.png"),
             icon1: require("@/assets/imgs/cdxf2.png"),
             id: 3,
@@ -258,7 +261,7 @@ var system = [
                     children: [
                         {
                             label: "专项维修",
-                            id: "XFZW1",
+                            id: "XFZW",
                             param: { tab_code: "1576" },
                         },
                         {
@@ -277,6 +280,7 @@ var system = [
         },
         {
             name: "弱电系统",
+            smsxt: "1004",
             id: "1004",
             icon: require("@/assets/imgs/cdrd.png"),
             icon1: require("@/assets/imgs/cdrd2.png"),
@@ -361,7 +365,7 @@ var system = [
                     children: [
                         {
                             label: "专项维修",
-                            id: "RDZW1",
+                            id: "RDZW",
                             param: { tab_code: "1592" },
                         },
                         {
@@ -380,6 +384,7 @@ var system = [
         },
         {
             name: "给排水系统",
+            smsxt: "1005",
             id: 5,
             icon: require("@/assets/imgs/cdgps.png"),
             icon1: require("@/assets/imgs/cdgps2.png"),
@@ -468,6 +473,7 @@ var system = [
         },
         {
             name: "电梯系统",
+            smsxt: "1006",
             id: 6,
             icon: require("@/assets/imgs/cddt.png"),
             icon1: require("@/assets/imgs/cddt2.png"),
@@ -516,7 +522,7 @@ var system = [
                     children: [
                         {
                             label: "专项维修",
-                            id: "DTZW1",
+                            id: "DTZW",
                             param: { tab_code: "dt01" },
                         },
                         {
@@ -535,6 +541,7 @@ var system = [
         },
         {
             name: "燃气系统",
+            smsxt: "1007",
             id: 7,
             icon: require("@/assets/imgs/cdrq.png"),
             icon1: require("@/assets/imgs/cdrq2.png"),
@@ -572,7 +579,7 @@ var system = [
                     children: [
                         {
                             label: "专项维修",
-                            id: "RQZW1",
+                            id: "RQZW",
                             param: { tab_code: "1592" },
                         },
                         {
@@ -591,6 +598,7 @@ var system = [
         },
         {
             name: "土建系统",
+            smsxt: "1008",
             icon: require("@/assets/imgs/cdtj.png"),
             icon1: require("@/assets/imgs/cdtj2.png"),
             id: 8,
@@ -641,7 +649,7 @@ var system = [
                     children: [
                         {
                             label: "专项维修",
-                            id: "TJZW1",
+                            id: "TJZW",
                             param: { tab_code: "1592" },
                         },
                         {

+ 38 - 7
src/views/equipment/eqDialog.vue

@@ -2,17 +2,27 @@
     <!-- 设备设施的三级路由的tabs -->
     <div class='dialog-container'>
         <el-dialog :title='`${systemName}-${dialogInfo.label}`' :visible.sync='visible' :fullscreen='true'>
-            <div class='top'></div>
+            <!-- 除了清单和原理页面,别的都有记录事项detailDialog页面 -->
+            <div slot='title' class='header-title' v-if='Object.keys(dialogInfo).length>0'>
+                <span class='title-name'>{{systemName}}-{{dialogInfo.label}}</span>
+                <img v-if='dialogInfo.id.slice(2,4)!="QD" && dialogInfo.id.slice(2,4)!="YL"' src='../../assets/imgs/zy1.png' @click='visibalBox' alt />
+            </div>
+            <!-- 没有tab的页面 -->
             <div v-if='Object.keys(dialogInfo).length>0 && dialogInfo.children.length==0'>
+                <!-- 原理图 -->
                 <div v-if='dialogInfo.id.slice(2,4)=="YL"' style='width:100%;height:600px;overflow:hidden'>
                     <rotation :rotationImg='rotationImg'></rotation>
                 </div>
                 <!-- 土建系统主要材料清单 -->
-                <tj-table v-else-if='dialogInfo.id.slice(0,4)=="TJQD"' :param='param' major='土建'></tj-table>
+                <tj-table v-else-if='dialogInfo.id.slice(0,4)=="TJQD"' :param='param'></tj-table>
                 <!-- 主要设备清单 标准设备表格 -->
                 <standTable v-else-if='dialogInfo.id.slice(2,4)=="QD"' :param='param' :major='dialogInfo.id'></standTable>
+                <!-- 电井商铺范围清单 -->
+                <djsp-table v-else-if='dialogInfo.id.slice(0,4)=="GJSP"'></djsp-table>
+                <!-- 查看图纸 -->
                 <look-page v-else-if='dialogInfo.id.slice(2,4)=="TZ"' param major></look-page>
             </div>
+            <!-- 有tab的页面 -->
             <div v-else>
                 <el-tabs v-model='activeName' @tab-click='handleClick' v-if='Object.keys(dialogInfo).length>0 && dialogInfo.children.length>0'>
                     <el-tab-pane
@@ -21,23 +31,29 @@
                         :label='`${value.label}`'
                         :name='`${value.param.tab_code}`'
                     >
+                        <!-- 有tab的原理图 -->
                         <div v-if='value.id.slice(2,4)=="YL"' style='width:100%;height:600px;overflow:hidden'>
                             <rotation :rotationImg='rotationImg'></rotation>
                         </div>
                         <!-- 主要设备清单 标准设备表格加tab -->
                         <tableList v-else-if='value.id.slice(0,4)=="RDQD"' :param='param' ref='list1' major='弱电'></tableList>
                         <tableList v-else-if='value.id.slice(0,4)=="NTQD"' :param='param' ref='list2' major='暖通'></tableList>
-                        <!-- 维保维修的表格字段一样 -->
-                        <wb-table v-else-if='value.id.slice(2,4)=="WB"' param major='维保' :systemName='systemName'></wb-table>
-                        <wb-table v-else-if='value.id.slice(2,4)=="WX"' param major='维修' :systemName='systemName'></wb-table>
+                        <!-- 维保表格 -->
+                        <wb-table v-else-if='value.id.slice(2,4)=="WB"' :smsxt='smsxt' major='维保'></wb-table>
+                        <!-- 维修的表格 -->
+                        <wx-table v-else-if='value.id.slice(2,4)=="WX"' :smsxt='smsxt' major='维修'></wx-table>
                         <!-- 专维 -->
                         <zw-table v-else-if='value.id.slice(2,4)=="ZW"' param major='专维'></zw-table>
                         <!-- 其他 -->
                         <other-table v-else-if='value.id.slice(2,4)=="QT"' param major='其他'></other-table>
+                        <!-- 建筑立面图 -->
+                        <tj-build-table v-else-if='value.id.slice(0,4)=="TJLM"'></tj-build-table>
                     </el-tab-pane>
                 </el-tabs>
             </div>
         </el-dialog>
+        <!--记录表格 -->
+        <record-dialog ref='Dialog'></record-dialog>
     </div>
 </template>
 <script>
@@ -48,8 +64,11 @@ import zwTable from './table/zwTable'
 import lookPage from './table/lookPageTable'
 import standTable from './table/standTable'
 import otherTable from './table/otherTable'
+import wxTable from './table/wxTable'
+import recordDialog from './table/recordDialog'
+import djspTable from './table/djspTable'
 export default {
-    props: ['systemName'],
+    props: ['systemName', 'smsxt'],
     data() {
         return {
             activeName: '',
@@ -60,7 +79,7 @@ export default {
         }
     },
     mounted() {},
-    components: { tableList, tjTable, wbTable, zwTable, lookPage, standTable, otherTable },
+    components: { tableList, tjTable, wbTable, zwTable, lookPage, standTable, otherTable, wxTable, recordDialog, djspTable },
     methods: {
         showModal(item) {
             this.visible = true
@@ -75,11 +94,23 @@ export default {
         handleClick(tab) {
             this.param = tab.name
             this.activeName = tab.name
+        },
+        visibalBox() {
+            this.$refs.Dialog.open()
         }
     }
 }
 </script>
 <style lang="less" scoped>
+.dialog-container {
+    .title-name {
+        font-size: 16px;
+        padding-right: 6px;
+        color: #000;
+        font-weight: bold;
+    }
+}
+
 .top {
     width: 1366px;
     height: 1px;

+ 5 - 24
src/views/equipment/index.vue

@@ -1,4 +1,5 @@
 <template>
+    <!-- 设备设施 -->
     <div id='equipment'>
         <div class='eq-top'>
             <span class='eq-system' v-for='(item,index) in system' :class='item.id==systemId?"isActive":""' :key='index' @click='tabSyatem(item)'>
@@ -37,7 +38,7 @@
             </div>
             <editList></editList>
         </div>
-        <eq-dialog ref='dialog' :systemName='systemName'></eq-dialog>
+        <eq-dialog ref='dialog' :systemName='systemName' :smsxt='smsxt'></eq-dialog>
     </div>
 </template>
 
@@ -61,6 +62,7 @@ export default {
                 floorName: 'F1',
                 floorId: '1'
             },
+            smsxt: '1001',
             dialogInfo: {},
             brand: [], //品牌
             manufacturer: []
@@ -88,28 +90,12 @@ export default {
                 this.manufacturer = res.data.data.glsms_asset ? res.data.data.glsms_asset.manufacturer : []
             })
         },
-        tabFind() {
-            let postParams = [
-                {
-                    params: {
-                        tab_code: '1593'
-                    },
-                    tableName: 'glsms_asset' //视图名称
-                }
-            ]
-            let data = {
-                major: '弱电',
-                plazaId: '1001145'
-            }
-            queryTab({ data, postParams }).then(res => {
-                console.log(res.data.data)
-            })
-        },
         // 查询tab页
         tabSyatem(item) {
             this.systemId = item.id
             this.everySystem = item.children
             this.systemName = item.name
+            this.smsxt = item.smsxt
         },
         emitFloor(item) {
             this.floorInfo.floorId = item
@@ -117,19 +103,14 @@ export default {
         },
         dialogVisible(eve) {
             console.log(eve)
-
             this.$refs.dialog.showModal(eve)
             // this.dialogInfo = eve
         }
     },
     mounted() {
         this.query()
-        this.tabFind()
         this.everySystem = this.system[0].children
         this.$refs.floorMap.init(1)
-        // getFloorList({ plazaId: '964' }).then(res => {
-        //     console.log('12313', res)
-        // })
     }
 }
 </script>
@@ -146,7 +127,7 @@ export default {
         min-width: 1300px;
         .eq-system {
             padding: 12px 23px;
-            color: #1f2429;
+
             background: #fff;
             font-size: 16px;
             cursor: pointer;

+ 122 - 0
src/views/equipment/table/djspTable.vue

@@ -0,0 +1,122 @@
+<!-- 电井商铺 -->
+<template>
+    <div class='djsp-list'>
+        <div class='eq-list-top'>
+            <el-input
+                placeholder='请按照电井间、商铺编号搜索'
+                size='small'
+                @change='getList'
+                prefix-icon='el-icon-search'
+                v-model='keyword'
+                style='width:310px;margin-right:12px'
+            ></el-input>
+            <Select @change='getList' width='120' tipPlace='top' caption='楼层 :' :selectdata='floorSelect'></Select>
+        </div>
+        <el-table :data='tableData' style='width: 100%' @row-click='innerVisible = true'>
+            <el-table-column prop='floor' label='楼层' width='120'></el-table-column>
+            <el-table-column prop='welldes' label='电井间' width='160'></el-table-column>
+            <el-table-column prop='meterbox' label='商铺电表数'></el-table-column>
+            <el-table-column prop='shopsnum' label='商铺编号'></el-table-column>
+        </el-table>
+        <div class='foot'>
+            <el-pagination
+                background
+                layout='prev, pager, next'
+                :total='total'
+                :page-size='size'
+                @prev-click='pageChanged'
+                @next-click='pageChanged'
+                @current-change='pageChanged'
+            ></el-pagination>
+        </div>
+    </div>
+</template>
+<script>
+import Select from '@/components/Select/Select.vue'
+import EqDetail from './eqDetaileDialog'
+import { queryEquipmentList } from '@/api/equipmentList.js'
+import { mapGetters } from 'vuex'
+
+export default {
+    components: { Select, EqDetail },
+    data() {
+        return {
+            dataSelect2: [
+                { id: 'test1', name: '选择项' },
+                { id: 'test2', name: '单平米' },
+                { id: 'test3', name: '下级分项' },
+                { id: 'test4', name: '滑动平均滑动平均' }
+            ],
+            tableData: [],
+            total: 0,
+            currentPage: 1,
+            size: 10,
+            floorSelect: [],
+            innerVisible: false, //详情弹框
+            keyword: ''
+        }
+    },
+    computed: {
+        ...mapGetters(['floorsArr'])
+    },
+    props: ['major'],
+    methods: {
+        pageChanged(page) {
+            this.currentPage = page
+            this.getList()
+        },
+        init() {
+            this.floorSelect = []
+            if (this.floorsArr.length > 0) {
+                this.floorsArr.forEach(e => {
+                    let obj = {
+                        id: e,
+                        name: e
+                    }
+                    this.floorSelect.push(obj)
+                })
+            }
+        },
+        getList() {
+            let postParams = {
+                // tab_code: this.param
+            }
+            let data = {
+                page: this.currentPage,
+                size: this.size,
+                plazaId: this.$store.state.plazaId,
+                major: this.major,
+                keyword: this.keyword
+            }
+            queryEquipmentList({ data, postParams }).then(res => {
+                console.log(res)
+                this.tableData = res.data.data
+                this.total = res.data.count
+            })
+        }
+    },
+
+    mounted() {
+        this.init()
+        // this.getList()
+    }
+}
+</script>
+<style lang="less" scoped>
+.djsp-list {
+    .eq-list-top {
+        display: flex;
+    }
+    .foot {
+        position: absolute;
+        height: 32px;
+        right: 26px;
+        bottom: 20px;
+    }
+    td {
+        overflow: hidden;
+        text-overflow: ellipsis;
+        white-space: nowrap;
+    }
+}
+</style>

+ 127 - 15
src/views/equipment/table/eqDetaileDialog.vue

@@ -1,4 +1,6 @@
+
 <template>
+    <!-- 详情页面 -->
     <div class='gdqd-dialog'>
         <div class='top'></div>
         <div class='gdqd-dialog-top'>
@@ -13,9 +15,9 @@
             <Select width='224' style='margin-right:12px' tipPlace='top' caption='管理归属' size='small' :selectdata='dataSelect2'></Select>
             <Select width='224' tipPlace='top' caption='设备状态' size='small' :selectdata='dataSelect2'></Select>
         </div>
-        <el-table :data='tableData' style='width: 100%'>
+        <el-table :data='tableData' :border='true' style='width: 100%;amrgin-bottom:30px'>
             <el-table-column type='index' label='序号' width='50'></el-table-column>
-            <el-table-column prop='sbjc' label='设备简称'></el-table-column>
+            <el-table-column prop='sbjc' label='设备简称' width='140'></el-table-column>
             <el-table-column prop='sbbh' label='设备编号'></el-table-column>
             <el-table-column prop='sl' label='数量'></el-table-column>
             <el-table-column prop='glgs' label='管理归属'></el-table-column>
@@ -23,15 +25,28 @@
             <el-table-column prop='brand' label='品牌'></el-table-column>
             <el-table-column prop='sbxh' label='型号'></el-table-column>
             <el-table-column prop='floor' label='楼层'></el-table-column>
-            <el-table-column prop='azwz' label='安装位置'></el-table-column>
-            <el-table-column prop='manufacturer' label='生产厂商'></el-table-column>
-            <el-table-column prop='fws' label='服务商'></el-table-column>
+            <el-table-column prop='azwz' label='安装位置' resizable></el-table-column>
+            <el-table-column prop='manufacturer' label='生产厂商' width='240'></el-table-column>
+            <el-table-column prop='fws' label='服务商' width='240'></el-table-column>
         </el-table>
+        <div class='foot'>
+            <el-pagination
+                background
+                layout='prev, pager, next'
+                :total='total'
+                :page-size='size'
+                @prev-click='pageChanged'
+                @next-click='pageChanged'
+                @current-change='pageChanged'
+            ></el-pagination>
+        </div>
     </div>
 </template>
 <script>
 import Select from '@/components/Select/Select.vue'
 import { mapGetters } from 'vuex'
+import { queryAsset } from '@/api/equipmentList.js'
+import { querySelect, queryTab } from '@/api/public.js'
 export default {
     data() {
         return {
@@ -42,34 +57,131 @@ export default {
                 { id: 'test3', name: '下级分项' },
                 { id: 'test4', name: '滑动平均滑动平均' }
             ],
-            input: ''
+            input: '',
+            page: 1,
+            size: 10,
+            total: 1,
+            keyword: '',
+            floorSelect: []
         }
     },
     components: {
         Select
     },
     computed: {
-        ...mapGetters(['floorSelect'])
+        ...mapGetters(['floorsArr'])
+    },
+    props: ['row', 'major'],
+    mounted() {
+        this.queryTableList()
+        this.init()
+        this.tabFind()
     },
-    mounted() {},
     methods: {
-        open() {
-            this.visible = true
+        //下拉框查询
+        tabFind() {
+            let postParams = [
+                {
+                    params: {
+                        type_code: this.row.type_code
+                    },
+                    tableName: 'glsms_asset' //视图名称
+                }
+            ]
+
+            let data = {
+                major: this.major,
+                plazaId: this.$store.state.plazaId
+            }
+            queryTab({ data, postParams }).then(res => {
+                console.log(res)
+            })
+        },
+
+        pageChanged(page) {
+            this.page = page
+            this.queryTableList()
+        },
+        queryTableList() {
+            let major
+            if (this.major.slice(0, 2) == 'GD') {
+                major = '供电'
+            } else if (this.major.slice(0, 2) == 'XF') {
+                major = '消防'
+            } else if (this.major.slice(0, 2) == 'GPS') {
+                major = '给排水'
+            } else if (this.major.slice(0, 2) == 'DT') {
+                major = '电梯'
+            } else if (this.major.slice(0, 2) == 'RQ') {
+                major = '燃气'
+            } else {
+                major = this.major
+            }
+            let data = {
+                major: major,
+                plazaId: this.$store.state.plazaId,
+                page: this.page,
+                size: this.size,
+                keyword: this.keyword
+            }
+            let postParams = {
+                type_code: this.row.type_code,
+                manufacturer: this.row.manufacturer,
+                sbxh: this.row.sbxh,
+                // floor: '--',
+                brand: '--'
+            }
+            queryAsset({ data, postParams }).then(res => {
+                console.log(res)
+                this.tableData = res.data.data
+                this.total = res.data.count
+            })
+        },
+        init() {
+            this.floorSelect = []
+            if (this.floorsArr.length > 0) {
+                this.floorsArr.forEach(e => {
+                    let obj = {
+                        id: e,
+                        name: e
+                    }
+                    this.floorSelect.push(obj)
+                })
+            }
+        }
+    },
+    watch: {
+        'row.type_code': {
+            handler(newV, oldV) {
+                if (newV != oldV) {
+                    this.queryTableList()
+                    this.init()
+                    this.tabFind()
+                }
+            },
+            deep: true
         }
     }
 }
 </script>
 <style lang="less" scoped>
 .gdqd-dialog {
-    .top {
-    }
+    padding: 16px 24px 40px;
     .gdqd-dialog-top {
         display: flex;
+        margin-bottom: 20px;
+    }
+    .foot {
+        position: absolute;
+        height: 32px;
+        right: 26px;
+    }
+    td {
+        overflow: hidden;
+        text-overflow: ellipsis;
+        white-space: nowrap;
     }
 }
 </style>
 <style lang="less">
-.gdqd-dialog {
-    padding: 16px 24px 24px;
-}
 </style>

+ 12 - 5
src/views/equipment/table/eqListTable.vue

@@ -12,7 +12,7 @@
             ></el-input>
             <Select @change='getList' width='120' tipPlace='top' caption='楼层 :' :selectdata='floorSelect'></Select>
         </div>
-        <el-table :data='tableData' style='width: 100%' @row-click='innerVisible = true'>
+        <el-table :data='tableData' style='width: 100%' @row-click='rowHandle'>
             <el-table-column prop='sbxh' label='序号' width='120'></el-table-column>
             <el-table-column prop='sbjbm' label='设备编号' width='160'></el-table-column>
             <el-table-column prop='sl' label='数量'></el-table-column>
@@ -33,8 +33,9 @@
                 @current-change='pageChanged'
             ></el-pagination>
         </div>
-        <el-dialog width='1200px' style='height:80%' title='设备清单' :visible.sync='innerVisible' append-to-body>
-            <eq-detail ref='qdDialog'></eq-detail>
+        <!-- 标准表格详情钻取表 -->
+        <el-dialog width='1260px' title='标准设备展开清单' style='height:900px!important;overflow: hidden;' :visible.sync='innerVisible' append-to-body>
+            <eq-detail ref='qdDialog' :row='row' :major='major'></eq-detail>
         </el-dialog>
     </div>
 </template>
@@ -60,7 +61,8 @@ export default {
             size: 10,
             floorSelect: [],
             innerVisible: false, //详情弹框
-            keyword: ''
+            keyword: '',
+            row: {}
         }
     },
     computed: {
@@ -68,6 +70,11 @@ export default {
     },
     props: ['param', 'major'],
     methods: {
+        rowHandle(row) {
+            console.log(row)
+            this.innerVisible = true
+            this.row = row
+        },
         pageChanged(page) {
             this.currentPage = page
             this.getList()
@@ -128,8 +135,8 @@ export default {
     }
     td {
         overflow: hidden;
-        text-overflow: ellipsis;
         white-space: nowrap;
+        text-overflow: ellipsis;
     }
 }
 </style>

+ 3 - 4
src/views/equipment/table/lookPageTable.vue

@@ -1,4 +1,4 @@
-<!-- 设备清单的有select的表格 -->
+<!-- 查看图纸-->
 <template>
     <div class='look-page'>
         <div class='eq-list-top'>
@@ -23,7 +23,7 @@
             <el-pagination
                 background
                 layout='prev, pager, next'
-                :total='total/pageSize'
+                :total='total'
                 :page-size='size'
                 @prev-click='pageChanged'
                 @next-click='pageChanged'
@@ -37,11 +37,10 @@ import { queryEquipmentList } from '@/api/equipmentList.js'
 export default {
     data() {
         return {
-            pageSize: 10,
             tableData: [{ index: 1 }],
             total: 0,
             currentPage: 1,
-            size: 10
+            size: 11
         }
     },
     props: ['major'],

+ 5 - 1
src/views/equipment/table/otherTable.vue

@@ -1,4 +1,4 @@
-<!-- 设备清单的有select的表格 -->
+<!-- 设备设施其他事项 -->
 <template>
     <div class='qt-list'>
         <div class='eq-list-top'>
@@ -34,6 +34,7 @@
 </template>
 <script>
 import { queryEquipmentList, queryWbsms } from '@/api/equipmentList.js'
+import { mapGetters } from 'vuex'
 export default {
     data() {
         return {
@@ -51,6 +52,9 @@ export default {
         }
     },
     props: ['major', 'systemName'],
+    computed: {
+        ...mapGetters(['floorsArr'])
+    },
     methods: {
         onSearch() {},
         pageChanged(page, size) {

+ 53 - 0
src/views/equipment/table/recordDialog.vue

@@ -0,0 +1,53 @@
+<template>
+    <!-- 记录事项 -->
+    <div class='detail-dialog'>
+        <el-dialog title='维修维保记录事项' :visible.sync='visible'>
+            <div class='bottom-table'>
+                <el-table :data='tableData' style='width: 100%'>
+                    <el-table-column label='位置' prop='position' width='50'></el-table-column>
+                    <el-table-column prop='equipment' label='设备' width='140'></el-table-column>
+                    <el-table-column prop='thing' label='记录事项' :show-overflow-tooltip='true'></el-table-column>
+                </el-table>
+            </div>
+        </el-dialog>
+    </div>
+</template>
+<script>
+export default {
+    data() {
+        return {
+            visible: false,
+            tableData: [
+                { name: '消防检测 电气安', type: '政府', thing: '1)检测结论2)检测主要项目及标准3)不合格项的具体内容及二次复检的安排' },
+                { name: '消防检测 电气安', type: '政府', thing: '1)检测结论2)检测主要项目及标准3)不合格项的具体内容及二次复检的安排' },
+                { name: '消防检测 电气安', type: '政府', thing: '1)检测结论2)检测主要项目及标准3)不合格项的具体内容及二次复检的安排' },
+                { name: '消防检测 电气安', type: '政府', thing: '1)检测结论2)检测主要项目及标准3)不合格项的具体内容及二次复检的安排' },
+                { name: '消防检测 电气安', type: '政府', thing: '1)检测结论2)检测主要项目及标准3)不合格项的具体内容及二次复检的安排' },
+                { name: '消防检测 电气安', type: '政府', thing: '1)检测结论2)检测主要项目及标准3)不合格项的具体内容及二次复检的安排' }
+            ]
+        }
+    },
+    methods: {
+        open() {
+            this.visible = true
+        }
+    }
+}
+</script>
+<style lang="less" scoped>
+.detail-dialog {
+    .bottom {
+        padding: 0 30px 14px 30px;
+        p {
+            font-size: 14px;
+            font-family: PingFangSC-Regular, PingFang SC;
+            font-weight: 400;
+            color: rgba(96, 106, 120, 1);
+            line-height: 22px;
+        }
+        .bottom-table {
+            margin-top: 12px;
+        }
+    }
+}
+</style>

+ 15 - 6
src/views/equipment/table/standTable.vue

@@ -12,9 +12,10 @@
             ></el-input>
             <Select @change='getList' width='120' tipPlace='top' caption='楼层 :' :selectdata='floorSelect'></Select>
         </div>
-        <el-table :data='tableData' style='width: 100%' @row-click='innerVisible = true'>
+        <el-table :data='tableData' style='width: 100%' @row-click='rowHandle'>
             <el-table-column type='index' label='序号' width='80'></el-table-column>
-            <el-table-column prop='sbjc' label='设备简称' width='160'></el-table-column>
+            <el-table-column prop='type_name' label='设备简称' width='160'></el-table-column>
+            <!-- sbjc -->
             <el-table-column prop='sl' label='数量'></el-table-column>
             <el-table-column prop='brand' label='品牌'></el-table-column>
             <el-table-column prop='sbxh' label='型号'></el-table-column>
@@ -32,8 +33,9 @@
                 @current-change='pageChanged'
             ></el-pagination>
         </div>
-        <el-dialog width='1200px' style='height:80%' title='设备清单' :visible.sync='innerVisible' append-to-body>
-            <eq-detail ref='qdDialog'></eq-detail>
+        <!-- 标准表格详情钻取表 -->
+        <el-dialog width='1260px' style='height:900px;overflow: hidden;' title='标准设备展开清单' :visible.sync='innerVisible' append-to-body>
+            <eq-detail ref='qdDialog' :row='row' :major='major'></eq-detail>
         </el-dialog>
     </div>
 </template>
@@ -51,10 +53,11 @@ export default {
             tableData: [],
             total: 0,
             currentPage: 1,
-            size: 10,
+            size: 11,
             keyword: '',
             floorSelect: [],
-            floor: ''
+            floor: '',
+            row: {}
         }
     },
     props: ['major', 'param'],
@@ -63,6 +66,11 @@ export default {
         ...mapGetters(['floorsArr'])
     },
     methods: {
+        rowHandle(row) {
+            console.log(row)
+            this.innerVisible = true
+            this.row = row
+        },
         pageChanged(page, size) {
             this.currentPage = page
             this.getList()
@@ -131,6 +139,7 @@ export default {
         position: absolute;
         height: 32px;
         right: 26px;
+        bottom: 20px;
     }
     td {
         overflow: hidden;

+ 64 - 0
src/views/equipment/table/tjBuildTable.vue

@@ -0,0 +1,64 @@
+<!-- 建筑立面图 -->
+<template>
+    <div class='build-list'>
+        <el-table :data='tableData' style='width: 100%' @row-click='innerVisible = true'>
+            <el-table-column prop='floor' label='楼层' width='120'></el-table-column>
+            <el-table-column prop='welldes' label='电井间' width='160'></el-table-column>
+            <el-table-column prop='meterbox' label='商铺电表数'></el-table-column>
+            <el-table-column prop='shopsnum' label='商铺编号'></el-table-column>
+        </el-table>
+        <div>
+            <img src alt />
+        </div>
+    </div>
+</template>
+<script>
+import { queryEquipmentList } from '@/api/equipmentList.js'
+import { mapGetters } from 'vuex'
+export default {
+    components: { Select, EqDetail },
+    data() {
+        return {
+            tableData: []
+        }
+    },
+    computed: {
+        ...mapGetters(['floorsArr'])
+    },
+    methods: {
+        getList() {
+            let postParams = {
+                tab_code: this.param
+            }
+            let data = {
+                plazaId: this.$store.state.plazaId,
+                major: this.major
+            }
+            queryEquipmentList({ data, postParams }).then(res => {
+                console.log(res)
+                this.tableData = res.data.data
+                this.total = res.data.count
+            })
+        }
+    },
+    mounted() {}
+}
+</script>
+<style lang="less" scoped>
+.build-list {
+    .eq-list-top {
+        display: flex;
+    }
+    .foot {
+        position: absolute;
+        height: 32px;
+        right: 26px;
+        bottom: 20px;
+    }
+    td {
+        overflow: hidden;
+        text-overflow: ellipsis;
+        white-space: nowrap;
+    }
+}
+</style>

+ 15 - 12
src/views/equipment/table/tjTable.vue

@@ -1,4 +1,5 @@
 <template>
+    <!-- 土建清单 -->
     <div class='tj-list'>
         <div class='eq-list-top'>
             <el-input
@@ -31,7 +32,8 @@
     </div>
 </template>
 <script>
-import { queryEquipmentList } from '@/api/equipmentList.js'
+import { queryMaterialList } from '@/api/equipmentList.js'
+import { mapGetters } from 'vuex'
 export default {
     data() {
         return {
@@ -39,30 +41,31 @@ export default {
             tableData: [],
             total: 0,
             currentPage: 1,
-            size: 10,
+            size: 11,
             keyword: ''
         }
     },
-    props: ['major', 'param'],
+    props: ['param'],
+    computed: {
+        ...mapGetters(['floorsArr'])
+    },
     methods: {
         pageChanged(page, size) {
             this.currentPage = page
             this.getList()
         },
         getList() {
-            let postParams = {
-                tab_code: this.param
-            }
-            let data = {
+            let getParams = {
                 page: this.currentPage,
                 size: this.size,
-                plazaId: this.$store.state.plazaId,
-                major: this.major,
+                // plazaId: this.$store.state.plazaId,
+                plazaId: '1000303',
+                // major: this.major,
                 keyword: this.keyword
             }
-            queryEquipmentList({ data, postParams }).then(res => {
-                this.tableData = res.data.data
-                this.total = res.data.count
+            queryMaterialList({ getParams }).then(res => {
+                this.tableData = res.data
+                this.total = res.count
             })
         }
     },

+ 0 - 30
src/views/equipment/table/wbDailogTable.vue

@@ -1,30 +0,0 @@
-<template>
-    <div class='wb-dialog-Table'>
-        <el-dialog title='综合记录事项' :visible.sync='visible'>
-            <el-table :data='tableData' style='width: 100%'>
-                <el-table-column label='位置' prop='position' width='50'></el-table-column>
-                <el-table-column prop='equipment' label='设备' width='140'></el-table-column>
-                <el-table-column prop='thing' label='记录事项' :show-overflow-tooltip='true'></el-table-column>
-            </el-table>
-        </el-dialog>
-    </div>
-</template>
-<script>
-export default {
-    data() {
-        return {
-            visible: false,
-            tableData: []
-        }
-    },
-    methods: {
-        open() {
-            this.visible = true
-        }
-    }
-}
-</script>
-<style lang="less" scoped>
-.wb-dialog-Table {
-}
-</style>

+ 47 - 24
src/views/equipment/table/wbTable.vue

@@ -1,16 +1,24 @@
-<!-- 设备清单的有select的表格 -->
+<!-- 维保 -->
 <template>
     <div class='wb-list'>
         <div class='eq-list-top'>
-            <a-input-search placeholder style='width: 192px;margin-bottom:12px;height:32px;' @search='onSearch' />
+            <a-input-search
+                placeholder='按照设备名称、设备编号、重要事项记录、描述、任务编号等搜索'
+                style='width: 192px;margin-bottom:12px;height:32px;margin-right:12px'
+                @search='onSearch'
+            />
+            <el-date-picker size='small' v-model='startDate' type='date' placeholder='选择填报时间' @change='getList' style='margin-right:12px'></el-date-picker>
+            <el-date-picker size='small' v-model='endDate' type='date' placeholder='选择验收时间' @change='getList' style='margin-right:12px'></el-date-picker>
+            <Select @change='getList' width='120' tipPlace='top' caption='是否更换配件信息 :' :selectdata='floorSelect'></Select>
+            <Select @change='getList' width='120' tipPlace='top' caption='楼层 :' :selectdata='floorSelect'></Select>
         </div>
         <el-table :data='tableData' style='width: 100%'>
             <el-table-column type='index' label='序号' width='80'></el-table-column>
-            <el-table-column prop='sbjc' label='设备名称' width='160'></el-table-column>
+            <el-table-column prop='sbjc' label='设备名称'></el-table-column>
             <el-table-column prop='sbjbm' label='设备编码'></el-table-column>
-            <el-table-column prop='matters' label='重要事项记录'></el-table-column>
+            <el-table-column prop='matters' label='重要事项记录' width='160'></el-table-column>
             <el-table-column prop='description' label='描述'></el-table-column>
-            <el-table-column label='更换配件信息'>
+            <el-table-column label='更换配件信息' align='center'>
                 <el-table-column prop='ischangepj' label='是/否更换' width='120'></el-table-column>
                 <el-table-column prop='model' label='配件名称型号' width='120'></el-table-column>
                 <el-table-column prop='address' label='数量' width='300'></el-table-column>
@@ -26,7 +34,7 @@
             <el-pagination
                 background
                 layout='prev, pager, next'
-                :total='total/pageSize'
+                :total='total'
                 :page-size='size'
                 @prev-click='pageChanged'
                 @next-click='pageChanged'
@@ -36,7 +44,8 @@
     </div>
 </template>
 <script>
-import { queryEquipmentList, queryWbsms } from '@/api/equipmentList.js'
+import { queryWbsms } from '@/api/equipmentList.js'
+import { mapGetters } from 'vuex'
 export default {
     data() {
         return {
@@ -44,10 +53,16 @@ export default {
             tableData: [],
             total: 0,
             currentPage: 1,
-            size: 10
+            size: 10,
+            floorSelect: [],
+            startDate: '',
+            endDate: ''
         }
     },
-    props: ['major', 'systemName', 'param'],
+    props: ['smsxt', 'major'],
+    computed: {
+        ...mapGetters(['floorsArr'])
+    },
     methods: {
         onSearch() {},
         pageChanged(page, size) {
@@ -56,24 +71,12 @@ export default {
             this.getList()
         },
         getList() {
-            // let postParams = {}
-            // let data = {
-            //     page: this.currentPage,
-            //     size: this.size,
-            //     plazaId: this.$store.state.plazaId,
-            //    major: this.major,
-
-            // }
-            // queryEquipmentList({ data, postParams }).then(res => {
-            //     console.log(res)
-            //     this.tableData = res.data.data
-            //     this.total = res.data.count
-            // })
             let getParams = {
                 data: {
-                    system: this.systemName,
+                    smsxt: this.smsxt,
                     tab: this.major,
-                    plazaId: this.$store.state.plazaId,
+                    // plazaId: this.$store.state.plazaId,
+                    plazaId: '1000303',
                     page: this.currentPage,
                     size: this.size
                 }
@@ -82,9 +85,29 @@ export default {
                 this.tableData = res.data || []
                 this.total = res.count
             })
+        },
+        init() {
+            this.floorSelect = []
+            if (this.floorsArr.length > 0) {
+                this.floorsArr.forEach(e => {
+                    let obj = {
+                        id: e,
+                        name: e
+                    }
+                    this.floorSelect.push(obj)
+                })
+            }
+        }
+    },
+    watch: {
+        smsxt(newV, oldV) {
+            if (newV !== oldV) {
+                this.getList()
+            }
         }
     },
     mounted() {
+        this.init()
         this.getList()
     }
 }

+ 132 - 0
src/views/equipment/table/wxTable.vue

@@ -0,0 +1,132 @@
+<!-- 维修-->
+<template>
+    <div class='wb-list'>
+        <div class='eq-list-top'>
+            <a-input-search
+                placeholder='按照设备名称、设备编号、重要事项记录、描述、任务编号等搜索'
+                style='width: 192px;margin-bottom:12px;height:32px;margin-right:12px'
+                @search='onSearch'
+            />
+            <el-date-picker size='small' v-model='startDate' type='date' placeholder='选择填报时间' @change='getList' style='margin-right:12px'></el-date-picker>
+            <el-date-picker size='small' v-model='endDate' type='date' placeholder='选择验收时间' @change='getList' style='margin-right:12px'></el-date-picker>
+            <Select @change='getList' width='120' tipPlace='top' caption='是否更换配件信息 :' :selectdata='floorSelect'></Select>
+            <Select @change='getList' width='120' tipPlace='top' caption='楼层 :' :selectdata='floorSelect'></Select>
+        </div>
+        <el-table :data='tableData' style='width: 100%'>
+            <el-table-column type='index' label='序号' width='80'></el-table-column>
+            <el-table-column prop='sbjc' label='设备名称' width='160'></el-table-column>
+            <el-table-column prop='sbjbm' label='设备编码'></el-table-column>
+            <el-table-column prop='matters' label='重要事项记录'></el-table-column>
+            <el-table-column prop='description' label='描述'></el-table-column>
+            <el-table-column label='更换配件信息'>
+                <el-table-column prop='ischangepj' label='是/否更换' width='120'></el-table-column>
+                <el-table-column prop='model' label='配件名称型号' width='120'></el-table-column>
+                <el-table-column prop='address' label='数量' width='300'></el-table-column>
+                <el-table-column prop='cost' label='费用(万元)' width='120'></el-table-column>
+                <el-table-column prop='source' label='费用出处' width='120'></el-table-column>
+            </el-table-column>
+            <el-table-column prop='brand' label='现场照片'></el-table-column>
+            <el-table-column prop='startDate' label='填报时间'></el-table-column>
+            <el-table-column prop='enddate' label='验收时间'></el-table-column>
+            <el-table-column prop='wonum' label='工单编号'></el-table-column>
+        </el-table>
+        <div class='foot'>
+            <el-pagination
+                background
+                layout='prev, pager, next'
+                :total='total'
+                :page-size='size'
+                @prev-click='pageChanged'
+                @next-click='pageChanged'
+                @current-change='pageChanged'
+            ></el-pagination>
+        </div>
+    </div>
+</template>
+<script>
+import { queryWx } from '@/api/equipmentList.js'
+import { mapGetters } from 'vuex'
+export default {
+    data() {
+        return {
+            pageSize: 10,
+            tableData: [],
+            total: 0,
+            currentPage: 1,
+            size: 10,
+            floorSelect: [],
+            startDate: '',
+            endDate: ''
+        }
+    },
+    computed: {
+        ...mapGetters(['floorsArr'])
+    },
+    props: ['smsxt', 'major'],
+    methods: {
+        onSearch() {},
+        pageChanged(page, size) {
+            this.currentPage = page
+            this.size = size
+            this.getList()
+        },
+        getList() {
+            let getParams = {
+                data: {
+                    smsxt: this.smsxt,
+                    tab: this.major,
+                    // plazaId: this.$store.state.plazaId,
+                    plazaId: '1000303',
+                    page: this.currentPage,
+                    size: this.size
+                }
+            }
+            queryWx(getParams).then(res => {
+                this.tableData = res.data || []
+                this.total = res.count
+            })
+        },
+        init() {
+            this.floorSelect = []
+            if (this.floorsArr.length > 0) {
+                this.floorsArr.forEach(e => {
+                    let obj = {
+                        id: e,
+                        name: e
+                    }
+                    this.floorSelect.push(obj)
+                })
+            }
+        }
+    },
+    watch: {
+        smsxt(newV, oldV) {
+            if (newV !== oldV) {
+                this.init()
+                this.getList()
+            }
+        }
+    },
+    mounted() {
+        this.init()
+        this.getList()
+    }
+}
+</script>
+<style lang="less" scoped>
+.wb-list {
+    .eq-list-top {
+        display: flex;
+    }
+    .foot {
+        position: absolute;
+        height: 32px;
+        right: 26px;
+    }
+    td {
+        overflow: hidden;
+        text-overflow: ellipsis;
+        white-space: nowrap;
+    }
+}
+</style>

+ 18 - 24
src/views/equipment/table/zwTable.vue

@@ -1,4 +1,4 @@
-<!-- 设备清单的有select的表格 -->
+<!--专维-->
 <template>
     <div class='zw-list'>
         <div class='eq-list-top'>
@@ -41,7 +41,7 @@
 </template>
 <script>
 import Select from '@/components/Select/Select.vue'
-import { queryEquipmentList } from '@/api/equipmentList.js'
+import { queryZw } from '@/api/equipmentList.js'
 import { mapGetters } from 'vuex'
 export default {
     components: { Select },
@@ -56,7 +56,8 @@ export default {
             tableData: [],
             total: 0,
             currentPage: 1,
-            size: 10
+            size: 10,
+            floorSelect: []
         }
     },
     computed: {
@@ -79,34 +80,27 @@ export default {
                 plazaId: this.$store.state.plazaId,
                 major: this.major
             }
-            queryEquipmentList({ data, postParams }).then(res => {
+            queryZw({ data, postParams }).then(res => {
                 console.log(res)
                 this.tableData = res.data.data
                 this.total = res.data.count
             })
-        },
-        init() {
-            this.floorSelect = []
-            if (this.floorsArr.length > 0) {
-                this.floorsArr.forEach(e => {
-                    let obj = {
-                        id: e,
-                        name: e
-                    }
-                    this.floorSelect.push(obj)
-                })
-            }
-        }
-    },
-    watch: {
-        param(newV, oldV) {
-            if (newV !== oldV) {
-                this.getList()
-            }
         }
+        // init() {
+        //     this.floorSelect = []
+        //     if (this.floorsArr.length > 0) {
+        //         this.floorsArr.forEach(e => {
+        //             let obj = {
+        //                 id: e,
+        //                 name: e
+        //             }
+        //             this.floorSelect.push(obj)
+        //         })
+        //     }
+        // }
     },
     mounted() {
-        this.init()
+        // this.init()
         this.getList()
     }
 }