Browse Source

Merge branch 'smswb_dev' of http://39.106.8.246:3003/web/wanda-bm-guide into smswb_dev

YaolongHan 4 years ago
parent
commit
aca7e38cba

BIN
node_modules.zip


+ 4 - 0
src/api/equipmentList.js

@@ -29,6 +29,10 @@ export function queryWbsms({ data, getParams }) {
 export function queryWx({ data, getParams }) {
     return httputils.getJson(`/data/sms_wx/query`, data, getParams)
 }
+// 设备设施-维修专业事项
+export function queryWxzy({ data, getParams }) {
+    return httputils.getJson(`/data/sms_wxzy/query`, data, getParams)
+}
 
 // 设备设施-专维
 export function queryZw({ data, getParams }) {

+ 7 - 3
src/api/room.js

@@ -38,9 +38,13 @@ export function queryWxjf({ getParams }) {
     return httputils.getJson(`/data/sms_wx/query`, getParams)
 }
 
-// 机房-维保记录
-export function queryWb({ data, postParams }) {
-    return httputils.fetchJson(`/data/sms_wbzy/query`, data, postParams)
+//机房-维保记录
+// export function queryWb2({ data, postParams }) {
+//     return httputils.fetchJson(`/data/sms_wbzy/query`, data, postParams)
+// }
+//设备设施-日常维保
+export function queryWb({ getParams }) {
+    return httputils.getJson(`/data/sms_wbzy/query`, getParams)
 }
 // 查询位置属于哪个系统
 export function querySystem({ getParams }) {

+ 136 - 38
src/utils/plugins/components.js

@@ -30,15 +30,20 @@ var system = [
                     id: "GDWB",
                     children: [
                         {
-                            label: "配电室内",
+                            label: "配电室内重要维保事项",
                             id: "GDWB1",
                             param: { tab_code: "1592", diff: "in" },
                         },
                         {
-                            label: "配电室外",
+                            label: "配电室外重要维保事项",
                             id: "GDWB2",
                             param: { tab_code: "1593", diff: "out" },
                         },
+                        {
+                            label: "日常维保事项",
+                            id: "RB",
+                            param: { tab_code: "rb", diff: "ourct2" },
+                        },
                     ],
                 },
                 {
@@ -46,15 +51,20 @@ var system = [
                     id: "GDWX",
                     children: [
                         {
-                            label: "配电室内",
+                            label: "配电室内重要维修事项",
                             id: "GDWX1",
                             param: { tab_code: "1592", diff: "in" },
                         },
                         {
-                            label: "配电室外",
+                            label: "配电室外重要维修事项",
                             id: "GDWX2",
                             param: { tab_code: "1593", diff: "out" },
                         },
+                        {
+                            label: "日常维修事项",
+                            id: "RX",
+                            param: { tab_code: "rx", diff: "rc" },
+                        },
                     ],
                 },
                 {
@@ -135,15 +145,20 @@ var system = [
                     label: "维保事项",
                     children: [
                         {
-                            label: "冷源机房内",
+                            label: "冷源机房内重要维保事项",
                             id: "NTWB1",
                             param: { tab_code: "1592", diff: "in" },
                         },
                         {
-                            label: "冷源机房外",
+                            label: "冷源机房外重要维保事项",
                             id: "NTWB2",
                             param: { tab_code: "1593", diff: "out" },
                         },
+                        {
+                            label: "日常维保事项",
+                            id: "RB",
+                            param: { tab_code: "rb", diff: "rb" },
+                        },
                     ],
                     id: "NTWB",
                 },
@@ -151,15 +166,20 @@ var system = [
                     label: "维修事项",
                     children: [
                         {
-                            label: "冷源机房内",
+                            label: "冷源机房内重要维修事项",
                             id: "NTWX1",
                             param: { tab_code: "1592", diff: "in" },
                         },
                         {
-                            label: "冷源机房外",
+                            label: "冷源机房外重要维修事项",
                             id: "NTWX2",
                             param: { tab_code: "1593", diff: "out" },
                         },
+                        {
+                            label: "日常维修事项",
+                            id: "RX",
+                            param: { tab_code: "rx", diff: "rx" },
+                        },
                     ],
                     id: "NTWX",
                 },
@@ -237,15 +257,20 @@ var system = [
                     id: "XFWB",
                     children: [
                         {
-                            label: "中控室/消防泵房内",
+                            label: "中控室/消防泵房内重要维保事项",
                             id: "XFWB1",
                             param: { tab_code: "1573", diff: "in" },
                         },
                         {
-                            label: "中控室/消防泵房外",
+                            label: "中控室/消防泵房外重要维保事项",
                             id: "XFWB2",
                             param: { tab_code: "1572", diff: "out" },
                         },
+                        {
+                            label: "日常维保事项",
+                            id: "RB",
+                            param: { tab_code: "rb", diff: "rb" },
+                        },
                     ],
                 },
                 {
@@ -253,15 +278,20 @@ var system = [
                     id: "XFWX",
                     children: [
                         {
-                            label: "中控室/消防泵房内",
+                            label: "中控室/消防泵房内重要维修事项",
                             id: "XFWX1",
                             param: { tab_code: "1573", diff: "in" },
                         },
                         {
-                            label: "中控室/消防泵房外",
+                            label: "中控室/消防泵房外重要维修事项",
                             id: "XFWX2",
                             param: { tab_code: "1572", diff: "out" },
                         },
+                        {
+                            label: "日常维修事项",
+                            id: "RX",
+                            param: { tab_code: "rx", diff: "rx" },
+                        },
                     ],
                 },
                 {
@@ -343,15 +373,20 @@ var system = [
                     id: "RDWB",
                     children: [
                         {
-                            label: "慧云机房内",
+                            label: "慧云机房内重要维保事项",
                             id: "RDWB1",
                             param: { tab_code: "1592", diff: "in" },
                         },
                         {
-                            label: "慧云机房外",
+                            label: "慧云机房外重要维保事项",
                             id: "RDWB2",
                             param: { tab_code: "1593", diff: "out" },
                         },
+                        {
+                            label: "日常维保事项",
+                            id: "RB",
+                            param: { tab_code: "rb", diff: "rb" },
+                        },
                     ],
                 },
                 {
@@ -359,15 +394,20 @@ var system = [
                     id: "RDWX",
                     children: [
                         {
-                            label: "慧云机房内",
+                            label: "慧云机房内重要维修事项",
                             id: "RDWX1",
                             param: { tab_code: "1592", diff: "in" },
                         },
                         {
-                            label: "慧云机房外",
+                            label: "慧云机房外重要维修事项",
                             id: "RDWX2",
                             param: { tab_code: "1593", diff: "out" },
                         },
+                        {
+                            label: "日常维修事项",
+                            id: "RX",
+                            param: { tab_code: "rx", diff: "rx" },
+                        },
                     ],
                 },
                 {
@@ -429,15 +469,20 @@ var system = [
                     id: "GSWB",
                     children: [
                         {
-                            label: "给水系统",
+                            label: "给水系统重要维保事项",
                             id: "GSWB1",
                             param: { tab_code: "gps01", diff: "gs" },
                         },
                         {
-                            label: "排水系统",
+                            label: "排水系统重要维保事项",
                             id: "GSWB2",
                             param: { tab_code: "gps02", diff: "ps" },
                         },
+                        {
+                            label: "日常维保事项",
+                            id: "RB",
+                            param: { tab_code: "rb", diff: "rb" },
+                        },
                     ],
                 },
                 {
@@ -445,15 +490,20 @@ var system = [
                     id: "GSWX",
                     children: [
                         {
-                            label: "给水系统",
+                            label: "给水系统重要维修事项",
                             id: "GSWX1",
                             param: { tab_code: "1592", diff: "gs" },
                         },
                         {
-                            label: "排水系统",
+                            label: "排水系统重要维修事项",
                             id: "GSWX2",
                             param: { tab_code: "1593", diff: "ps" },
                         },
+                        {
+                            label: "日常维修事项",
+                            id: "RX",
+                            param: { tab_code: "rx", diff: "rx" },
+                        },
                     ],
                 },
                 {
@@ -516,18 +566,34 @@ var system = [
                     param: { tab_code: "dt01" },
                 },
                 {
-                    label: "维修及维保事项",
-                    id: "DTWX",
+                    label: "维保事项",
+                    id: "DTWB",
                     children: [
                         {
-                            label: "维保事项",
+                            label: "重要维保事项",
                             id: "DTWB1",
                             param: { tab_code: "dt01" },
                         },
                         {
-                            label: "维修事项",
-                            id: "DTWX2",
-                            param: { tab_code: "dt02" },
+                            label: "日常维保事项",
+                            id: "RB",
+                            param: { tab_code: "rb" },
+                        },
+                    ],
+                },
+                {
+                    label: "维修事项",
+                    id: "DTWX",
+                    children: [
+                        {
+                            label: "重要维修事项",
+                            id: "DTWX1",
+                            param: { tab_code: "dt01" },
+                        },
+                        {
+                            label: "日常维修事项",
+                            id: "RX",
+                            param: { tab_code: "rx" },
                         },
                     ],
                 },
@@ -576,18 +642,34 @@ var system = [
                     param: { tab_code: "rq01" },
                 },
                 {
-                    label: "维修及维保事项",
-                    id: "RQWX",
+                    label: "维保事项",
+                    id: "RQWB",
                     children: [
                         {
-                            label: "维保事项",
+                            label: "重要维保事项",
                             id: "RQWB1",
                             param: { tab_code: "1592" },
                         },
                         {
-                            label: "维修事项",
-                            id: "RQWX2",
-                            param: { tab_code: "1593" },
+                            label: "日常维保事项",
+                            id: "RB",
+                            param: { tab_code: "rb" },
+                        },
+                    ],
+                },
+                {
+                    label: "维修事项",
+                    id: "RQWX",
+                    children: [
+                        {
+                            label: "重要维修事项",
+                            id: "RQWX1",
+                            param: { tab_code: "1592" },
+                        },
+                        {
+                            label: "日常维修事项",
+                            id: "RX",
+                            param: { tab_code: "rx" },
                         },
                     ],
                 },
@@ -656,18 +738,34 @@ var system = [
                     param: { tab_code: "tj01" },
                 },
                 {
-                    label: "维修及维保事项",
-                    id: "TJWX",
+                    label: "维保事项",
+                    id: "TJWB",
                     children: [
                         {
-                            label: "维保事项",
+                            label: "重要维保事项",
                             id: "TJWB1",
                             param: { tab_code: "1592" },
                         },
                         {
-                            label: "维修事项",
-                            id: "TJWX2",
-                            param: { tab_code: "1593" },
+                            label: "日常维保事项",
+                            id: "RB",
+                            param: { tab_code: "rb" },
+                        },
+                    ],
+                },
+                {
+                    label: "维修事项",
+                    id: "TJWX",
+                    children: [
+                        {
+                            label: "重要维修事项",
+                            id: "TJWX1",
+                            param: { tab_code: "1592" },
+                        },
+                        {
+                            label: "日常维修事项",
+                            id: "RX",
+                            param: { tab_code: "rx" },
                         },
                     ],
                 },

+ 33 - 9
src/views/equipment/eqDialog.vue

@@ -28,6 +28,8 @@
                 <standTable
                     v-else-if='dialogInfo.id.slice(2,4)=="QD"'
                     :param='param'
+                    :smsxt='smsxt'
+                    :diff='diff'
                     :major='dialogInfo.id'
                     :InfoName='`${systemName}-${dialogInfo.label}`'
                 ></standTable>
@@ -51,6 +53,8 @@
                             v-if='value.id.slice(0,4)=="RDQD"'
                             :InfoName='`${systemName}-${dialogInfo.label}`'
                             :param='param'
+                            :smsxt='smsxt'
+                            :diff='diff'
                             ref='list1'
                             major='弱电'
                         ></tableList>
@@ -58,13 +62,19 @@
                             v-else-if='value.id.slice(0,4)=="NTQD"'
                             :InfoName='`${systemName}-${dialogInfo.label}`'
                             :param='param'
+                            :smsxt='smsxt'
+                            :diff='diff'
                             ref='list2'
                             major='暖通'
                         ></tableList>
-                        <!-- 维保表格 -->
-                        <wb-table v-else-if='value.id.slice(2,4)=="WB"' :smsxt='smsxt' :tabLabel='tabLabel' :diff='diff' :major='dialogInfo.id'></wb-table>
-                        <!-- 维修的表格 -->
-                        <wx-table v-else-if='value.id.slice(2,4)=="WX"' :smsxt='smsxt' :tabLabel='tabLabel' :diff='diff' :major='dialogInfo.id'></wx-table>
+                        <!-- 重要维保表格 -->
+                        <wb-table v-else-if='value.id.slice(2,4)=="WB"' :smsxt='smsxt' :tabLabel='tabLabel' :assetnum='""' :diff='diff' :size='10'></wb-table>
+                        <!-- 日常维保表格 -->
+                        <rcwb-table v-else-if='value.id=="RB"' :smsxt='smsxt' :tabLabel='tabLabel' :diff='diff' :assetnum='""' :size='10'></rcwb-table>
+                        <!-- 重要维修的表格 -->
+                        <wx-table v-else-if='value.id.slice(2,4)=="WX"' :smsxt='smsxt' :tabLabel='tabLabel' :assetnum='""' :diff='diff' :size='10'></wx-table>
+                        <!-- 日常维修的表格 -->
+                        <rcwx-table v-else-if='value.id=="RX"' :smsxt='smsxt' :tabLabel='tabLabel' :diff='diff' :assetnum='""' :size='10'></rcwx-table>
                         <!-- 专维 -->
                         <zw-table v-else-if='value.id.slice(2,4)=="ZW"' :smsxt='smsxt' :tabLabel='tabLabel' :diff='difference' :major='dialogInfo.id'></zw-table>
                         <!-- 其他 -->
@@ -108,11 +118,13 @@
 import tableList from './table/eqListTable'
 import tjTable from './table/tjTable'
 import wbTable from './table/wbTable'
+import rcwbTable from './table/rcwbTable'
 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 rcwxTable from './table/rcwxTable'
 import recordDialog from './table/recordDialog'
 import djspTable from './table/djspTable'
 import { queryPic, queryTab } from '@/api/public.js'
@@ -137,7 +149,21 @@ export default {
         }
     },
     mounted() {},
-    components: { tableList, tjTable, wbTable, zwTable, lookPage, standTable, otherTable, wxTable, recordDialog, djspTable, fenbuPic },
+    components: {
+        tableList,
+        tjTable,
+        wbTable,
+        zwTable,
+        lookPage,
+        rcwbTable,
+        rcwxTable,
+        standTable,
+        otherTable,
+        wxTable,
+        recordDialog,
+        djspTable,
+        fenbuPic,
+    },
     methods: {
         //打开弹窗
         showModal(item) {
@@ -173,14 +199,12 @@ export default {
             console.log(tab)
             if (this.param) {
                 this.param = tab.name
-            } else if (this.smsxt) {
-                this.smsxt = tab.name
             }
             this.activeName = tab.name
             //原理图的tab怎么传typecode
             if (this.dialogInfo.children.length > 0) {
-                this.dialogInfo.children.forEach(el=>{
-                    if(tab.label == el.label){
+                this.dialogInfo.children.forEach((el) => {
+                    if (tab.label == el.label) {
                         this.typecode = el.param.type_code
                     }
                 })

+ 240 - 138
src/views/equipment/table/eqDetaileDialog.vue

@@ -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>

+ 2 - 4
src/views/equipment/table/eqListTable.vue

@@ -88,7 +88,7 @@
             :visible.sync='innerVisible'
             append-to-body
         >
-            <eq-detail ref='qdDialog' :row='row' :major='major' :sonpage='sonpage'></eq-detail>
+            <eq-detail ref='qdDialog' :row='row' :major='major' :smsxt='smsxt' :diff='diff'></eq-detail>
         </el-dialog>
     </div>
 </template>
@@ -106,7 +106,6 @@ export default {
             tableData: [],
             total: 0,
             currentPage: 1,
-            sonpage: 1,
             size: 10,
             innerVisible: false, //详情弹框
             keyword: '',
@@ -122,7 +121,7 @@ export default {
     computed: {
         ...mapGetters(['floorSelect']),
     },
-    props: ['param', 'major', 'systemName', 'InfoName'],
+    props: ['param', 'major', 'systemName', 'InfoName','smsxt','diff'],
     methods: {
         indexMethod(index) {
             return (this.currentPage - 1) * this.size + index + 1
@@ -131,7 +130,6 @@ export default {
             this.type_name = row.type_name
             this.innerVisible = true
             this.row = row
-            this.sonpage = 1
         },
         pageChanged(page) {
             this.currentPage = page

+ 104 - 5
src/views/equipment/table/inputDIalog.vue

@@ -13,7 +13,7 @@
             style='width:280px;height:250px;background:rgba(255,255,255,1);margin-top:40px;
             box-shadow:0px 2px 10px 0px rgba(31,35,41,0.1);border:1px solid rgba(228,229,231,1);z-index:9999;
             position:absolute;'
-            :style='`right:${type === 1 ? "40px" : "0"};`'
+            :style='`right:${type === 1 ? "40px" : "0"};height:${type === 6 || type === 5? "420px":"250px"}`'
         >
             <el-form style=' padding:20px 24px;' v-if='type==1'>
                 <p style='margin:0 0 8px 0'>生产厂商</p>
@@ -50,6 +50,7 @@
                 </el-select>
                 <p style='margin:16px 0 8px 0'>验收日期</p>
                 <el-date-picker
+                    clearable
                     style='width:232px'
                     v-model='inputForm.yssjwcsj'
                     value-format='yyyyMMdd'
@@ -60,6 +61,84 @@
                     end-placeholder
                 ></el-date-picker>
             </el-form>
+            <el-form style=' padding: 20px 24px;' v-if='type==5'>
+                <p style='margin:16px 0 8px 0'>要求完成日期</p>
+                <el-date-picker
+                    clearable
+                    style='width:232px'
+                    v-model='inputForm.reportdate'
+                    value-format='yyyyMMdd'
+                    type='daterange'
+                    size='small'
+                    range-separator='-'
+                    start-placeholder
+                    end-placeholder
+                ></el-date-picker>
+                <p style='margin:16px 0 8px 0'>实际完工日期</p>
+                <el-date-picker
+                    clearable
+                    style='width:232px'
+                    v-model='inputForm.real'
+                    value-format='yyyyMMdd'
+                    type='daterange'
+                    size='small'
+                    range-separator='-'
+                    start-placeholder
+                    end-placeholder
+                ></el-date-picker>
+                <p style='margin:16px 0 8px 0'>位置名称编号</p>
+                <el-input
+                    placeholder='搜索位置名称编号'
+                    size='small'
+                    clearable
+                    prefix-icon='el-icon-search'
+                    v-model='inputForm.locationName'
+                    style='width:232px;margin-right:12px'
+                ></el-input>
+            </el-form>
+            <el-form style=' padding: 20px 24px;' v-if='type==6'>
+                <p style='margin:16px 0 8px 0'>任务完成日期</p>
+                <el-date-picker
+                    clearable
+                    style='width:232px'
+                    v-model='inputForm.complete'
+                    value-format='yyyyMMdd'
+                    type='daterange'
+                    size='small'
+                    range-separator='-'
+                    start-placeholder
+                    end-placeholder
+                ></el-date-picker>
+                <p style='margin:16px 0 8px 0'>异常工单编号</p>
+                <p>
+                    <el-input clearable placeholder='异常工单编号' size='small' prefix-icon='el-icon-search' v-model='inputForm.bill' style='width:232px;'></el-input>
+                </p>
+                <p style='margin:16px 0 8px 0'>异常工单填报日期</p>
+                <el-date-picker
+                    clearable
+                    value-format='yyyyMMdd'
+                    type='daterange'
+                    size='small'
+                    v-model='inputForm.ycgdtbsj'
+                    style='width:232px'
+                    range-separator='-'
+                    start-placeholder
+                    end-placeholder
+                ></el-date-picker>
+
+                <p style='margin:16px 0 8px 0'>异常工单验收日期</p>
+                <el-date-picker
+                    clearable
+                    value-format='yyyyMMdd'
+                    type='daterange'
+                    size='small'
+                    style='width:232px'
+                    range-separator='-'
+                    start-placeholder
+                    end-placeholder
+                    v-model='inputForm.ycgdyssj'
+                ></el-date-picker>
+            </el-form>
             <div style='position:absolute;bottom:24px;right:24px;z-index:9999'>
                 <el-button @click='dialogFormVisible = false' size='small'>取 消</el-button>
                 <el-button type='primary' @click='confirm' size='small'>确 定</el-button>
@@ -82,8 +161,17 @@ export default {
                 wonum: '',
                 ssfasm: '',
                 status: '1',
-                yssjwcsj: ''
-            }
+                yssjwcsj: '',
+                //6
+                complete: '',
+                bill: '',
+                ycgdtbsj: '',
+                ycgdyssj: '',
+                //5
+                reportdate: '',
+                real: '',
+                locationName: '',
+            },
         }
     },
     props: ['type', 'statusOption'],
@@ -100,13 +188,24 @@ export default {
                 this.$emit('confirm', this.inputForm.wonum)
             } else if (this.type == 4) {
                 this.$emit('confirm', this.inputForm.status, this.inputForm.yssjwcsj)
+            } else if (this.type == 6) {
+                this.$emit('confirm', this.inputForm.complete, this.inputForm.bill, this.inputForm.ycgdtbsj, this.inputForm.ycgdyssj)
+            } else if (this.type == 5) {
+                this.$emit('confirm', this.inputForm.reportdate, this.inputForm.real, this.inputForm.locationName)
             }
             this.dialogFormVisible = false
             this.inputForm.status = ''
             this.inputForm.yssjwcsj = ''
-        }
+            this.inputForm.complete = ''
+            this.inputForm.bill = ''
+            this.inputForm.ycgdtbsj = ''
+            this.inputForm.ycgdyssj = ''
+            this.inputForm.reportdate = ''
+            this.inputForm.real = ''
+            this.inputForm.locationName = ''
+        },
     },
-    mounted() {}
+    mounted() {},
 }
 </script>
 

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

@@ -190,7 +190,7 @@ export default {
             }
             querySelect({ data, postParams }).then(res => {
                 //console.log(res)
-                let handleresults = res.data.data.sms_qtsx.handleresults
+                let handleresults = res.data.data?res.data.data.sms_qtsx.handleresults:[]
                 this.handleOption = []
                 this.handleOption.push({
                     id: '1',

+ 448 - 0
src/views/equipment/table/rcwbTable.vue

@@ -0,0 +1,448 @@
+<!-- 维保 -->
+<template>
+    <div class='rcwb-list'>
+        <div class='eq-list-top'>
+            <el-input
+                @keyup.enter.native='getList'
+                @blur='getList'
+                clearable
+                placeholder='搜索设备名称编号'
+                size='small'
+                prefix-icon='el-icon-search'
+                v-model='sbjc'
+                style='margin-right:12px;width:192px;'
+            ></el-input>
+            <el-input
+                @keyup.enter.native='getList'
+                @blur='getList'
+                clearable
+                placeholder='搜索事项记录描述'
+                size='small'
+                prefix-icon='el-icon-search'
+                v-model='matters'
+                style='margin-right:12px;width:192px;'
+            ></el-input>
+            <el-input
+                @keyup.enter.native='getList'
+                @blur='getList'
+                clearable
+                placeholder='搜索任务编号'
+                size='small'
+                prefix-icon='el-icon-search'
+                v-model='rwbh'
+                style='margin-right:12px;width:192px;'
+            ></el-input>
+            <Select
+                @change='getList'
+                width='160'
+                tipPlace='top'
+                v-model='status'
+                caption='任务状态:'
+                v-if='status.length>=0'
+                :selectdata='statusOption'
+                :placeholder='""'
+            ></Select>
+            <Select
+                @change='getList'
+                width='160'
+                tipPlace='top'
+                v-model='ischange'
+                caption='是否正常:'
+                :selectdata='changeOption'
+                :placeholder='""'
+                style='margin-right:12px'
+            ></Select>
+            <div class='picker-box'>
+                <span class='picker-span'>任务开始日期:</span>
+                <el-date-picker
+                    style='width:222px'
+                    v-model='reportdate'
+                    value-format='yyyyMMdd'
+                    type='daterange'
+                    @change='getList'
+                    size='mini'
+                    range-separator='-'
+                    start-placeholder
+                    end-placeholder
+                ></el-date-picker>
+            </div>
+            <input-dialog :type='6' @confirm='confirm'></input-dialog>
+        </div>
+        <div ref='tableBox' style='height: calc(100% - 115px);'>
+            <el-table :data='tableData' :max-height='tableMaxHeight' :border='true' style='width: 100%' @row-click='innerTable'>
+                <el-table-column type='index' label='序号' width='60' :index='indexMethod'></el-table-column>
+                <el-table-column prop label='设备名称' show-overflow-tooltip resizable min-width='434'>
+                    <template slot-scope='{row}'>{{row.sbmc||'--'}}</template>
+                </el-table-column>
+                <el-table-column prop label='设备内码' :show-overflow-tooltip='true' width='80'>
+                    <template slot-scope='{row}'>{{row.assetnum||'--'}}</template>
+                </el-table-column>
+                <el-table-column prop label='核心维保事项记录' :show-overflow-tooltip='true' min-width='225'>
+                    <template slot-scope='{row}'>{{row.matters||'--'}}</template>
+                </el-table-column>
+                <el-table-column prop label='现场照片' :show-overflow-tooltip='true' width='80'>
+                    <template slot-scope='{row}'>
+                        <div
+                            v-if='row.glsmsImage'
+                            style='cursor:pointer;color: #0091ff;'
+                            @click.stop='clickPic(row.glsmsImage)'
+                        >{{row.glsmsImage.length+'张'}}</div>
+                        <div v-else>{{'--'}}</div>
+                    </template>
+                </el-table-column>
+                <el-table-column prop label='维保任务' align='center'>
+                    <el-table-column prop label='任务编号' :show-overflow-tooltip='true'>
+                        <template slot-scope='{row}'>
+                            <div style='cursor:pointer;color: #0091ff;'>{{row.wb_gzglid||'--'}}</div>
+                        </template>
+                    </el-table-column>
+                    <el-table-column prop label='维保任务名称' :show-overflow-tooltip='true' min-width='360'>
+                        <template slot-scope='{row}'>{{row.wbrwmc || '--'}}</template>
+                    </el-table-column>
+                    <el-table-column prop label='任务状态' :show-overflow-tooltip='true'>
+                        <template slot-scope='{row}'>{{row.status||'--'}}</template>
+                    </el-table-column>
+                    <el-table-column prop label='开始时间' :show-overflow-tooltip='true' width='130'>
+                        <template slot-scope='{row}'>{{row.sjkssj?formatterTime(row.sjkssj):'--'}}</template>
+                    </el-table-column>
+                    <el-table-column prop label='完成时间' :show-overflow-tooltip='true' width='130'>
+                        <template slot-scope='{row}'>{{row.sjwcsj?formatterTime(row.sjwcsj):'--'}}</template>
+                    </el-table-column>
+                    <el-table-column prop label='执行耗时(天)' :show-overflow-tooltip='true' min-width='130' :sortable='true'>
+                        <template slot-scope='{row}'>{{row.sjcxsjt||'--'}}</template>
+                    </el-table-column>
+                </el-table-column>
+                <el-table-column prop label='是否正常' :show-overflow-tooltip='true' width='80'>
+                    <template slot-scope='{row}'>{{row.zt||'--'}}</template>
+                </el-table-column>
+                <el-table-column prop label='异常工单' align='center'>
+                    <el-table-column prop label='异常工单编号' :show-overflow-tooltip='true' min-width='110'>
+                        <template slot-scope='{row}'>
+                            <div @click='ycgd(row)'>{{row.wonum||'--'}}</div>
+                        </template>
+                    </el-table-column>
+                    <el-table-column prop label='描述' :show-overflow-tooltip='true' width='900'>
+                        <template slot-scope='{row}'>{{row.description||'--'}}</template>
+                    </el-table-column>
+                    <el-table-column prop label='填报时间' :show-overflow-tooltip='true' width='130'>
+                        <template slot-scope='{row}'>{{row.reportdate?formatterTime(row.reportdate):'--'}}</template>
+                    </el-table-column>
+                    <el-table-column prop label='验收时间' :show-overflow-tooltip='true' width='130'>
+                        <template slot-scope='{row}'>{{row.sjjssj?formatterTime(row.sjjssj):'--'}}</template>
+                    </el-table-column>
+                </el-table-column>
+            </el-table>
+        </div>
+        <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>
+            <pic-large :imgUrl='imgUrl' ref='picLargeOpen'></pic-large>
+        </div>
+    </div>
+</template>
+<script>
+import { queryWb } from '@/api/room.js'
+import { mapGetters } from 'vuex'
+import { Select } from 'meri-design'
+import inputDialog from './inputDIalog'
+import { formatterTime, number_format } from '@/utils/format.js'
+import { querySelect } from '@/api/public.js'
+export default {
+    components: { Select, inputDialog },
+    data() {
+        return {
+            tableData: [],
+            total: 0,
+            currentPage: 1,
+            reportdate: '',
+            ischange: '全部',
+            sbjc: '',
+            formatterTime,
+            number_format,
+            changeOption: [
+                {
+                    id: '2',
+                    name: '全部',
+                },
+                {
+                    id: '1',
+                    name: '是',
+                },
+                {
+                    id: ' 0',
+                    name: '否',
+                },
+            ],
+            statusOption: [],
+            status: '全部',
+            rwbh: '',
+            imgUrl: [],
+            allArr: [
+                {
+                    id: '全部',
+                    name: '全部',
+                },
+            ],
+            matters: '',
+            bill: '',
+            ycgdtbsj: '',
+            complete: '',
+            ycgdyssj: '',
+            tableMaxHeight: 0,
+        }
+    },
+    props: ['smsxt', 'diff', 'tabLabel', 'size', 'assetnum'],
+    computed: {
+        ...mapGetters(['floorSelect', 'plazaId']),
+    },
+    methods: {
+        //序号的方法
+        indexMethod(index) {
+            return (this.currentPage - 1) * this.size + index + 1
+        },
+        //工单详情
+        innerTable(row) {
+            if (row.apptype == '外委' || row.apptype == '自维') {
+                if (row.wb_gzglid) {
+                    window.open(`http://gcgl.wanda.cn/maximo/ui/?event=loadapp&value=WB_GZGL&uniqueid=${row.wb_gzglid}`)
+                }
+            } else if (row.apptype == '安全维保') {
+                window.open(`http://gcgl.wanda.cn/maximo/ui/?event=loadapp&value=AQ_WB_GZGL&uniqueid=${row.wb_gzglid}`)
+            }
+        },
+        // 工单
+        ycgd(row) {
+            if (row.apptype == '外委' || row.apptype == '自维') {
+                if (row.wb_gzglid) {
+                    window.open(`http://gcgl.wanda.cn/maximo/ui/?event=loadapp&value=WB_GZGL&uniqueid=${row.wb_gzglid}`)
+                }
+            } else if (row.apptype == '安全维保') {
+                window.open(`http://gcgl.wanda.cn/maximo/ui/?event=loadapp&value=WB_GZGL&uniqueid=${row.wb_gzglid}`)
+            }
+        },
+        //多余输入框监听
+        confirm(complete, bill, ycgdtbsj, ycgdyssj) {
+            this.complete = complete
+            this.bill = bill
+            this.ycgdtbsj = ycgdtbsj
+            this.ycgdyssj = ycgdyssj
+            this.getList()
+        },
+        pageChanged(page) {
+            this.currentPage = page
+            this.getList()
+        },
+        // 下拉框数据
+        changeSelect() {
+            this.department = []
+            let postParams = [
+                {
+                    columnName: { status: 'status', zt: 'zt' },
+                    tableName: 'sms_wbzy',
+                },
+            ]
+            let data = {
+                plazaId: this.plazaId,
+            }
+            querySelect({ data, postParams }).then((res) => {
+                let status = [],
+                    zt = [],
+                    arr = [],
+                    arr1 = []
+
+                status = res.data.data.sms_wbzy.status ? res.data.data.sms_wbzy.status : []
+                zt = res.data.data.sms_wbzy.zt ? res.data.data.sms_wbzy.zt : []
+                if (status.length > 0) {
+                    status.forEach((el) => {
+                        let obj = {
+                            id: el.key,
+                            name: el.value,
+                        }
+                        arr.push(obj)
+                    })
+                    this.statusOption = this.allArr.concat(arr)
+                }
+                if (zt.length > 0) {
+                    zt.forEach((el) => {
+                        let obj = {
+                            id: el.key,
+                            name: el.value == '正常' ? '是' : '否',
+                        }
+                        arr1.push(obj)
+                    })
+                    this.changeOption = this.allArr.concat(arr1)
+                }
+            })
+        },
+        getList() {
+            let data = {
+                smsxt: this.smsxt,
+                plazaId: this.plazaId,
+                page: this.currentPage,
+                size: this.size,
+                orderBy: 'wb_gzglid,0;assetnum,1;reportedby,0;',
+            }
+            //下拉
+            if (this.ischange && this.ischange != '全部') {
+                data.zt = this.ischange
+            }
+            if (this.status && this.status != '全部') {
+                data.status = this.status
+            }
+            //工单填报时间
+            if (this.ycgdtbsj) {
+                data.reportdateStartDate = this.ycgdtbsj[0] + '000000'
+                data.reportdateEndDate = this.ycgdtbsj[1] + '000000'
+            }
+            //工单验收时间
+            if (this.ycgdyssj) {
+                data.sjjssjStartDate = this.ycgdyssj[0] + '000000'
+                data.sjjssjEndDate = this.ycgdyssj[1] + '000000'
+            }
+            //任务开始时间
+            if (this.reportdate) {
+                data.sjkssjStartDate = this.reportdate[0] + '000000'
+                data.sjkssjEndDate = this.reportdate[1] + '000000'
+            }
+            //任务完成时间
+            if (this.complete) {
+                data.sjwcsjStartDate = this.complete[0] + '000000'
+                data.sjwcsjEndDate = this.complete[1] + '000000'
+            }
+            //输入框
+            data.keyword = ''
+            if (this.sbjc) {
+                data.keyword += `${this.sbjc}:sbmc,assetnum;`
+            }
+            if (this.matters) {
+                data.keyword += `${this.matters}:description,matters;`
+            }
+            if (this.rwbh) {
+                data.keyword += `${this.rwbh}:wb_gzglid;`
+            }
+            if (this.bill) {
+                data.keyword += `${this.bill}:wonum;`
+            }
+            if (data.keyword == '') {
+                delete data.keyword
+            }
+            queryWb({ getParams: data }).then((res) => {
+                this.total = res.count
+                this.tableData = res.data ? res.data : []
+            })
+        },
+        clickPic(row) {
+            this.imgUrl = []
+            if (row) {
+                row.forEach((el) => {
+                    let obj = {
+                        name: el.description,
+                        url: el.url,
+                    }
+                    this.imgUrl.push(obj)
+                })
+            }
+            this.$refs.picLargeOpen.open(this.imgUrl)
+        },
+        startMethods() {
+            this.changeSelect()
+            this.getList()
+            this.$nextTick(() => {
+                // 页面渲染完成后的回调
+                this.tableMaxHeight = this.$refs.tableBox.offsetHeight
+            })
+        },
+    },
+    watch: {
+        diff(newV, oldV) {
+            if (newV !== oldV) {
+                this.getList()
+            }
+        },
+        tabLabel(newV, oldV) {
+            if (newV !== oldV) {
+                this.changeSelect()
+                this.getList()
+                this.$nextTick(() => {
+                    // 页面渲染完成后的回调
+                    this.tableMaxHeight = this.$refs.tableBox.offsetHeight
+                })
+            }
+        },
+        ischange() {
+            this.getList()
+        },
+    },
+    mounted() {
+        this.startMethods()
+    },
+}
+</script>
+<style lang="less" scoped>
+.rcwb-list {
+    .eq-list-top {
+        display: flex;
+        margin-bottom: 12px;
+        .picker-box {
+            display: flex;
+            align-items: center;
+            background: #fff;
+            padding: 0 6px;
+            border: 1px solid #dcdfe6;
+            border-radius: 4px;
+            height: 32px;
+            box-sizing: border-box;
+            margin-right: 12px;
+            .picker-span {
+                margin-right: 6px;
+                color: rgba(0, 0, 0, 0.65);
+            }
+        }
+    }
+    td {
+        overflow: hidden;
+        text-overflow: ellipsis;
+        white-space: nowrap;
+    }
+    .foot {
+        height: 32px;
+        display: flex;
+        justify-content: flex-end;
+        margin-top: 28px;
+    }
+}
+</style>
+<style lang="less" >
+.rcwb-list {
+    .picker-box {
+        .el-input__inner {
+            border: none;
+        }
+        .el-range-editor.el-input__inner {
+            padding: 3px 0px;
+        }
+        .el-icon-date {
+            display: none;
+        }
+        .el-range__close-icon {
+            position: absolute;
+            right: 0px;
+            top: 2px;
+        }
+        .el-range-editor--mini .el-range-input {
+            font-size: 14px;
+            color: rgb(31, 36, 41);
+        }
+    }
+    /deep/.el-table td {
+        cursor: pointer;
+    }
+}
+</style>

+ 357 - 0
src/views/equipment/table/rcwxTable.vue

@@ -0,0 +1,357 @@
+<!-- 维修-->
+<template>
+    <div class='rcwx-list'>
+        <div class='eq-list-top'>
+            <el-input
+                placeholder='搜索设备名称编号'
+                size='small'
+                @keyup.enter.native='getList'
+                @blur='getList'
+                clearable
+                prefix-icon='el-icon-search'
+                v-model='sbjc'
+                style='width:192px;margin-right:12px'
+            ></el-input>
+            <el-input
+                placeholder='搜索描述'
+                size='small'
+                clearable
+                @keyup.enter.native='getList'
+                @blur='getList'
+                prefix-icon='el-icon-search'
+                v-model='matters'
+                style='width:192px;margin-right:12px'
+            ></el-input>
+            <el-input
+                placeholder='搜索工单编号'
+                size='small'
+                clearable
+                @keyup.enter.native='getList'
+                @blur='getList'
+                prefix-icon='el-icon-search'
+                v-model='wonum2'
+                style='width:192px;margin-right:12px'
+            ></el-input>
+            <Select
+                @change='getList'
+                style='margin-right:12px;'
+                v-model='source'
+                width='180'
+                tipPlace='top'
+                caption='报修来源:'
+                :selectdata='sourceOption'
+            ></Select>
+            <el-input
+                placeholder='搜索执行人'
+                size='small'
+                clearable
+                @keyup.enter.native='getList'
+                @blur='getList'
+                prefix-icon='el-icon-search'
+                v-model='people'
+                style='width:192px;margin-right:12px'
+            ></el-input>
+            <input-dialog :type='5' @confirm='confirm'></input-dialog>
+        </div>
+        <div ref='tableBox' style='height: calc(100% - 115px);'>
+            <el-table :data='tableData' :max-height='tableMaxHeight' :border='true' style='width: 100%' @row-click='innerTable'>
+                <el-table-column type='index' label='序号' width='60' :index='indexMethod'></el-table-column>
+                <el-table-column prop='sbmc' label='设备名称' show-overflow-tooltip resizable min-width='460'>
+                    <template slot-scope='{row}'>{{row.sbmc || '--'}}</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='description' label='问题描述' show-overflow-tooltip resizable min-width='340'>
+                    <template slot-scope='{row}'>{{row.description || '--'}}</template>
+                </el-table-column>
+                <el-table-column prop='description' label='工单编号' show-overflow-tooltip resizable min-width='340'>
+                    <template slot-scope='{row}'>{{row.wonum || '--'}}</template>
+                </el-table-column>
+                <el-table-column prop='description' label='报修来源' show-overflow-tooltip resizable min-width='340'>
+                    <template slot-scope='{row}'>{{row.bxfwlymc || '--'}}</template>
+                </el-table-column>
+                <el-table-column prop='description' label='执行人' show-overflow-tooltip resizable min-width='340'>
+                    <template slot-scope='{row}'>{{row.lead || '--'}}</template>
+                </el-table-column>
+                <el-table-column prop='reportdate' label='要求完成时间' width='140'>
+                    <template slot-scope='{row}'>{{row.schedfinish?formatterTime(row.schedfinish): '--'}}</template>
+                </el-table-column>
+                <el-table-column prop='sjjssj' label='实际完工时间' width='140'>
+                    <template slot-scope='{row}'>{{row.wotjyssj?formatterTime(row.wotjyssj): '--'}}</template>
+                </el-table-column>
+                <el-table-column prop='matters' label='位置名称' width='180' show-overflow-tooltip resizable>
+                    <template slot-scope='{row}'>{{row.wzjc || '--'}}</template>
+                </el-table-column>
+                <el-table-column prop='description' label='位置内码' show-overflow-tooltip resizable min-width='340'>
+                    <template slot-scope='{row}'>{{row.location || '--'}}</template>
+                </el-table-column>
+                <el-table-column prop='brand' label='保修照片' width='80'>
+                    <template slot-scope='{row}'>
+                        <div
+                            v-if='row.glsmsImage'
+                            style='cursor:pointer;color: #0091ff;'
+                            @click.stop='clickPic(row.glsmsImage)'
+                        >{{row.glsmsImage.length+'张'}}</div>
+                        <div v-else>{{'--'}}</div>
+                    </template>
+                </el-table-column>
+                <el-table-column prop='brand' label='完工照片' width='80'>
+                    <template slot-scope='{row}'>
+                        <div
+                            v-if='row.glsmsImage'
+                            style='cursor:pointer;color: #0091ff;'
+                            @click.stop='clickPic(row.glsmsImage)'
+                        >{{row.glsmsImage.length+'张'}}</div>
+                        <div v-else>{{'--'}}</div>
+                    </template>
+                </el-table-column>
+            </el-table>
+        </div>
+        <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>
+            <pic-large :imgUrl='imgUrl' ref='picLargeOpen'></pic-large>
+        </div>
+    </div>
+</template>
+<script>
+import { queryWxzy } from '@/api/equipmentList.js'
+import { mapGetters } from 'vuex'
+import inputDialog from './inputDIalog'
+import { Select } from 'meri-design'
+import { querySelect } from '@/api/public.js'
+import { formatterTime, number_format } from '@/utils/format.js'
+export default {
+    components: { Select, inputDialog },
+    data() {
+        return {
+            tableData: [],
+            total: 0,
+            currentPage: 1,
+            reportdate: '',
+            sjjssj: '',
+            sbjc: '',
+            matters: '',
+            wonum2: '',
+            wonum: '',
+            sourceOption: [],
+            source: '全部',
+            formatterTime,
+            number_format,
+            imgUrl: [],
+            people: '',
+            locationName: '',
+            keyword: '',
+            tableMaxHeight: 0,
+        }
+    },
+    computed: {
+        ...mapGetters(['floorSelect']),
+    },
+    props: ['smsxt', 'diff', 'tabLabel', 'size', 'assetnum'],
+    methods: {
+        //序号的方法
+        indexMethod(index) {
+            return (this.currentPage - 1) * this.size + index + 1
+        },
+        innerTable(row) {
+            if (row.workorderid) {
+                window.open(`http://gcgl.wanda.cn/maximo/ui/?event=loadapp&value=JXWO&uniqueid=${row.workorderid}`)
+            }
+        },
+        //跳转工单编号
+        staff(row) {
+            if (row.wonum) {
+                window.open(`http://gcgl.wanda.cn/maximo/ui/?event=loadapp&value=JXWO&uniqueid=${row.wonum}`)
+            }
+        },
+        //多余输入框监听
+        confirm(reportdate, real, locationName) {
+            this.reportdate = reportdate
+            this.sjjssj = real
+            this.locationName = locationName
+            this.getList()
+        },
+        pageChanged(page) {
+            this.currentPage = page
+            this.getList()
+        },
+        getList() {
+            let getParams = {
+                data: {
+                    smsxt: this.smsxt,
+                    // diff: this.diff,
+                    plazaId: this.$store.state.plazaId,
+                    page: this.currentPage,
+                    size: this.size,
+                },
+            }
+            //下拉
+            if (this.reportdate) {
+                getParams.data.schedfinishStartDate = this.reportdate[0] + '000000'
+                getParams.data.schedfinishEndDate = this.reportdate[1] + '000000'
+            }
+            if (this.real) {
+                getParams.data.wotjyssjStartDate = this.real[0] + '000000'
+                getParams.data.wotjyssjEndDate = this.real[1] + '000000'
+            }
+            if (this.source && this.source != '全部') {
+                getParams.data.bxfwlymc = this.source
+            }
+            //输入框搜索
+            getParams.data.keyword = ''
+            if (this.sbjc) {
+                getParams.data.keyword += `${this.sbjc}:sbmc,assetnum;`
+            }
+            if (this.matters) {
+                getParams.data.keyword += `${this.matters}:description,matters;`
+            }
+            if (this.locationName) {
+                getParams.data.keyword += `${this.locationName}:wzjc`
+            }
+            if (getParams.data.keyword == '') {
+                delete getParams.data.keyword
+            }
+            queryWxzy(getParams).then((res) => {
+                this.tableData = res.data || []
+                this.total = res.count
+            })
+        },
+        clickPic(row) {
+            this.imgUrl = []
+            if (row) {
+                row.forEach((el) => {
+                    let obj = {
+                        name: el.description,
+                        url: el.url,
+                    }
+                    this.imgUrl.push(obj)
+                })
+            }
+            this.$refs.picLargeOpen.open(this.imgUrl)
+        },
+        startMethods() {
+            this.tabFind()
+            this.getList()
+            this.$nextTick(() => {
+                // 页面渲染完成后的回调
+                this.tableMaxHeight = this.$refs.tableBox.offsetHeight
+            })
+        },
+        //下拉框查询
+        tabFind() {
+            let postParams = [
+                {
+                    columnName: { bxfwly: 'bxfwlymc' },
+                    params: {
+                        smsxt: this.smsxt,
+                    },
+                    tableName: 'sms_wxzy', //视图名称
+                },
+            ]
+            let data = {
+                plazaId: this.$store.state.plazaId,
+            }
+            querySelect({ data, postParams }).then((res) => {
+                //console.log(res)
+                let bxfwlymc = res.data && res.data.data && res.data.data.sms_zxzy ? res.data.data.sms_zxzy.bxfwlymc : []
+                this.sourceOption = []
+                this.sourceOption.push({
+                    name: '全部',
+                    id: '1',
+                })
+                bxfwlymc.forEach((el) => {
+                    this.sourceOption.push({
+                        name: el.value,
+                        id: el.key,
+                    })
+                })
+            })
+        },
+    },
+    watch: {
+        diff(newV, oldV) {
+            if (newV !== oldV) {
+                this.startMethods()
+            }
+        },
+        tabLabel(newV, oldV) {
+            if (newV !== oldV) {
+                this.startMethods()
+            }
+        },
+    },
+    mounted() {
+        this.startMethods()
+    },
+}
+</script>
+<style lang="less" scoped>
+.rcwx-list {
+    .eq-list-top {
+        display: flex;
+        margin-bottom: 12px;
+        .picker-box {
+            display: flex;
+            align-items: center;
+            background: #fff;
+            padding: 0 6px;
+            border: 1px solid #dcdfe6;
+            border-radius: 4px;
+            height: 32px;
+            box-sizing: border-box;
+            margin-right: 12px;
+            .picker-span {
+                margin-right: 6px;
+                color: rgba(0, 0, 0, 0.65);
+            }
+        }
+    }
+    td {
+        overflow: hidden;
+        text-overflow: ellipsis;
+        white-space: nowrap;
+    }
+    .foot {
+        height: 32px;
+        display: flex;
+        justify-content: flex-end;
+        margin-top: 28px;
+    }
+}
+</style>
+<style lang="less" >
+.rcwx-list {
+    .picker-box {
+        .el-input__inner {
+            border: none;
+        }
+        .el-range-editor.el-input__inner {
+            padding: 3px 0px;
+        }
+        .el-icon-date {
+            display: none;
+        }
+        .el-range__close-icon {
+            position: absolute;
+            right: 0px;
+            top: 2px;
+        }
+        .el-range-editor--mini .el-range-input {
+            font-size: 14px;
+            color: rgb(31, 36, 41);
+        }
+    }
+    /deep/.el-table td {
+        cursor: pointer;
+    }
+}
+</style>

+ 3 - 5
src/views/equipment/table/standTable.vue

@@ -80,7 +80,7 @@
         </div>
         <!-- 标准表格详情钻取表 -->
         <el-dialog width='90%' style='height:900px;overflow: hidden;' :title='`${InfoName}-${type_name}`' :visible.sync='innerVisible' append-to-body>
-            <eq-detail ref='qdDialog' :row='row' :major='major' :sonpage='sonpage'></eq-detail>
+            <eq-detail ref='qdDialog' :row='row' :major='major' :smsxt='smsxt' :diff='diff'></eq-detail>
         </el-dialog>
     </div>
 </template>
@@ -99,7 +99,6 @@ export default {
             tableData: [],
             total: 0,
             currentPage: 1,
-            sonpage: 1,
             size: 10,
             keyword: '',
             floor: '1',
@@ -111,7 +110,7 @@ export default {
             floorAllSelect: [],
         }
     },
-    props: ['major', 'param', 'InfoName'],
+    props: ['major', 'param', 'InfoName','smsxt','diff'],
     components: { EqDetail, Select },
     computed: {
         ...mapGetters(['floorSelect']),
@@ -124,9 +123,8 @@ export default {
             this.type_name = row.type_name
             this.innerVisible = true
             this.row = row
-            this.sonpage = 1
         },
-        pageChanged(page, size) {
+        pageChanged(page) {
             this.currentPage = page
             this.getList()
         },

+ 1 - 2
src/views/equipment/table/tjTable.vue

@@ -59,7 +59,6 @@ import { mapGetters } from 'vuex'
 export default {
     data() {
         return {
-            pageSize: 10,
             tableData: [],
             total: 0,
             currentPage: 1,
@@ -77,7 +76,7 @@ export default {
         indexMethod(index) {
             return (this.currentPage - 1) * this.size + index + 1
         },
-        pageChanged(page, size) {
+        pageChanged(page) {
             this.currentPage = page
             this.getList()
         },

+ 9 - 7
src/views/equipment/table/wbTable.vue

@@ -147,7 +147,6 @@ export default {
             tableData: [],
             total: 0,
             currentPage: 1,
-            size: 10,
             sjjssj: '',
             reportdate: '',
             ischange: '2',
@@ -175,7 +174,7 @@ export default {
             tableMaxHeight: 0
         }
     },
-    props: ['smsxt', 'major', 'diff', 'tabLabel'],
+    props: ['smsxt', 'diff', 'tabLabel','size','assetnum'],
     computed: {
         ...mapGetters(['floorSelect'])
     },
@@ -269,6 +268,13 @@ export default {
                 })
             }
             this.$refs.picLargeOpen.open(this.imgUrl)
+        },
+        startMethods(){
+            this.getList()
+            this.$nextTick(() => {
+                // 页面渲染完成后的回调
+                this.tableMaxHeight = this.$refs.tableBox.offsetHeight
+            })
         }
     },
     watch: {
@@ -292,11 +298,7 @@ export default {
         }
     },
     mounted() {
-        this.getList()
-        this.$nextTick(() => {
-            // 页面渲染完成后的回调
-            this.tableMaxHeight = this.$refs.tableBox.offsetHeight
-        })
+       this.startMethods()
     }
 }
 </script>

+ 9 - 7
src/views/equipment/table/wxTable.vue

@@ -147,7 +147,6 @@ export default {
             tableData: [],
             total: 0,
             currentPage: 1,
-            size: 10,
             reportdate: '',
             sjjssj: '',
             ischange: '2',
@@ -178,7 +177,7 @@ export default {
     computed: {
         ...mapGetters(['floorSelect']),
     },
-    props: ['smsxt', 'major', 'diff', 'tabLabel'],
+    props: ['smsxt', 'diff', 'tabLabel', 'size', 'assetnum'],
     methods: {
         //序号的方法
         indexMethod(index) {
@@ -259,6 +258,13 @@ export default {
             }
             this.$refs.picLargeOpen.open(this.imgUrl)
         },
+        startMethods() {
+            this.getList()
+            this.$nextTick(() => {
+                // 页面渲染完成后的回调
+                this.tableMaxHeight = this.$refs.tableBox.offsetHeight
+            })
+        },
     },
     watch: {
         diff(newV, oldV) {
@@ -285,11 +291,7 @@ export default {
         },
     },
     mounted() {
-        this.getList()
-        this.$nextTick(() => {
-            // 页面渲染完成后的回调
-            this.tableMaxHeight = this.$refs.tableBox.offsetHeight
-        })
+        this.startMethods()
     },
 }
 </script>

+ 3 - 4
src/views/room/index.vue

@@ -752,7 +752,6 @@ export default {
         },
         // 机房维保记录
         Index4() {
-            let postParams = {}
             let data = {
                 location: this.location,
                 plazaId: this.plazaId,
@@ -818,11 +817,11 @@ export default {
                     data.keyword = `${this.ycgdbhInput5}:wonum`
                 }
             }
-            queryWb({ data, postParams }).then((res) => {
+            queryWb({getParams:data}).then((res) => {
                 //console.log('维保', res)
                 this.loading4 = false
-                this.total4 = res.data.count
-                this.table5 = res.data.data ? res.data.data : []
+                this.total4 = res.count
+                this.table5 = res.data ? res.data : []
             })
         },
         confirm() {