Browse Source

机房、其他事项

guoxiaohuan 4 years ago
parent
commit
7670113908

File diff suppressed because it is too large
+ 0 - 12723
package-lock.json


+ 4 - 3
package.json

@@ -22,16 +22,17 @@
         "vue-cookie": "^1.1.4",
         "vue-quill-editor": "^3.0.6",
         "vue-router": "^3.1.3",
-        "vuex": "^3.4.0"
+        "vuex": "^3.4.0",
+        "moment": "^2.24.0"
     },
     "devDependencies": {
         "@typescript-eslint/eslint-plugin": "^2.26.0",
         "@typescript-eslint/parser": "^2.26.0",
         "@vue/cli-plugin-babel": "^4.1.0",
-        "@vue/cli-plugin-eslint": "^4.4.1",
+        "@vue/cli-plugin-eslint": "^4.1.0",
         "@vue/cli-plugin-router": "^4.1.0",
-        "@vue/cli-plugin-typescript": "^4.3.0",
         "@vue/cli-plugin-vuex": "^4.1.0",
+        "@vue/cli-plugin-typescript": "^4.3.0",
         "@vue/cli-service": "^4.1.0",
         "@vue/eslint-config-typescript": "^5.0.2",
         "babel-eslint": "^10.0.3",

+ 4 - 4
src/api/other.js

@@ -4,8 +4,8 @@ export function queryGlams({ getParams }) {
     return httputils.getJson(`/api/data/v_glsms_zhsxjl/query`, getParams)
 }
 // 第三方检测事项
-export function queryDsfrw({ data, getParams }) {
-    return httputils.getJson(`/api/data/v_glsms_dsfrw/query`, data, getParams)
+export function queryDsfrw({ getParams }) {
+    return httputils.getJson(`/api/data/v_glsms_dsfrw/query`, getParams)
 }
 //综合事项管理-综合记录事项弹框
 export function xx({ getParams }) {
@@ -18,6 +18,6 @@ export function querygcfzyfhz({ getParams }) {
 }
 
 // 辅助用房管理-广场辅助用房调改变更记录
-export function queryfzyfchange({ data, getParams }) {
-    return httputils.getJson(`/api/data/v_glsms_fzyfchange/query`, data, getParams)
+export function queryfzyfchange({ getParams }) {
+    return httputils.getJson(`/api/data/v_glsms_fzyfchange/query`, getParams)
 }

+ 23 - 0
src/api/room.js

@@ -0,0 +1,23 @@
+import httputils from '@/api/httputils'
+
+// 机房-机房布置图
+export function xx({ getParams }) {
+    return httputils.getJson(`/api/data/v_glsms_zhsxjl/query`, getParams)
+}
+
+// 机房-配电室低压柜及出线明细表
+export function queryDygjcxline({ getParams }) {
+    return httputils.getJson(`/api/data/glsms_dygjcxline/query`, getParams)
+}
+// 机房-机房内核心设备
+export function queryHxsb({ data, postParams }) {
+    return httputils.fetchJson(`/api/data/glsms_asset/query`, data, postParams)
+}
+// 机房-维修记录
+export function xxx({ getParams }) {
+    return httputils.getJson(`/api/data/v_glsms_zhsxjl/query`, getParams)
+}
+// 机房-维保记录
+export function xxxx({ getParams }) {
+    return httputils.getJson(`/api/data/v_glsms_zhsxjl/query`, getParams)
+}

+ 4 - 4
src/components/floorMap/floorBase.vue

@@ -5,7 +5,7 @@
         <div class='canvas-container' ref='graphy'>
             <canvas id='canvas' :width='canvasWidth' :height='canvasHeight' tabindex='0'></canvas>
         </div>
-        <computerTable ref='computerTable'></computerTable>
+        <room-box ref='boxRoom'></room-box>
     </div>
 </template>
 <script>
@@ -13,7 +13,7 @@ import { SFengParser } from '@saga-web/feng-map'
 import { SFloorParser } from '@saga-web/big'
 import { FloorView } from '@/lib/FloorView'
 import { FloorScene } from '@/lib/FloorScene'
-import computerTable from '../../views/equipment/table/computerTable'
+import RoomBox from '../../views/room/index'
 export default {
     data() {
         return {
@@ -28,7 +28,7 @@ export default {
             loading: true
         }
     },
-    components: { computerTable },
+    components: { RoomBox },
     methods: {
         init(floorid) {
             this.clearGraphy()
@@ -65,7 +65,7 @@ export default {
         listChange(item, ev) {
             let name = ev[0][0].data.Name
             if (name.slice(name.length - 2, name.length) == '机房') {
-                this.$refs.computerTable.open(name)
+                this.$refs.boxRoom.open(name)
             }
         }
     },

+ 176 - 81
src/main.js

@@ -1,89 +1,184 @@
-var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
-    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
-    return new (P || (P = Promise))(function (resolve, reject) {
-        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
-        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
-        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-    });
-};
-var __generator = (this && this.__generator) || function (thisArg, body) {
-    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
-    return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
-    function verb(n) { return function (v) { return step([n, v]); }; }
-    function step(op) {
-        if (f) throw new TypeError("Generator is already executing.");
-        while (_) try {
-            if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
-            if (y = 0, t) op = [op[0] & 2, t.value];
-            switch (op[0]) {
-                case 0: case 1: t = op; break;
-                case 4: _.label++; return { value: op[1], done: false };
-                case 5: _.label++; y = op[1]; op = [0]; continue;
-                case 7: op = _.ops.pop(); _.trys.pop(); continue;
-                default:
-                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
-                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
-                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
-                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
-                    if (t[2]) _.ops.pop();
-                    _.trys.pop(); continue;
+var __awaiter =
+    (this && this.__awaiter) ||
+    function(thisArg, _arguments, P, generator) {
+        function adopt(value) {
+            return value instanceof P
+                ? value
+                : new P(function(resolve) {
+                      resolve(value)
+                  })
+        }
+        return new (P || (P = Promise))(function(resolve, reject) {
+            function fulfilled(value) {
+                try {
+                    step(generator.next(value))
+                } catch (e) {
+                    reject(e)
+                }
+            }
+            function rejected(value) {
+                try {
+                    step(generator['throw'](value))
+                } catch (e) {
+                    reject(e)
+                }
+            }
+            function step(result) {
+                result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected)
             }
-            op = body.call(thisArg, _);
-        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
-        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
+            step((generator = generator.apply(thisArg, _arguments || [])).next())
+        })
     }
-};
-import Vue from 'vue';
-import App from './App.vue';
-import router from './router';
-import store from './store';
-Vue.config.productionTip = false;
-import design from 'ant-design-vue';
-import 'ant-design-vue/dist/antd.css';
-Vue.use(design);
-import ElementUI from 'element-ui';
-import 'element-ui/lib/theme-chalk/index.css';
-Vue.use(ElementUI);
-import VueQuillEditor from 'vue-quill-editor';
-import 'quill/dist/quill.core.css';
-import 'quill/dist/quill.snow.css';
-import 'quill/dist/quill.bubble.css';
-Vue.use(VueQuillEditor);
-import WdEditor from '@/components/Editor';
-Vue.use(WdEditor);
-import Rotation from '@/components/Rotation';
-Vue.use(Rotation);
-import PicLarge from '@/components/PicLarge';
-Vue.use(PicLarge);
-import Legend from '@/components/Legend';
-Vue.use(Legend);
-import cookies from 'vue-cookie';
-Vue.use(cookies);
+var __generator =
+    (this && this.__generator) ||
+    function(thisArg, body) {
+        var _ = {
+                label: 0,
+                sent: function() {
+                    if (t[0] & 1) throw t[1]
+                    return t[1]
+                },
+                trys: [],
+                ops: [],
+            },
+            f,
+            y,
+            t,
+            g
+        return (
+            (g = { next: verb(0), throw: verb(1), return: verb(2) }),
+            typeof Symbol === 'function' &&
+                (g[Symbol.iterator] = function() {
+                    return this
+                }),
+            g
+        )
+        function verb(n) {
+            return function(v) {
+                return step([n, v])
+            }
+        }
+        function step(op) {
+            if (f) throw new TypeError('Generator is already executing.')
+            while (_)
+                try {
+                    if (
+                        ((f = 1),
+                        y &&
+                            (t = op[0] & 2 ? y['return'] : op[0] ? y['throw'] || ((t = y['return']) && t.call(y), 0) : y.next) &&
+                            !(t = t.call(y, op[1])).done)
+                    )
+                        return t
+                    if (((y = 0), t)) op = [op[0] & 2, t.value]
+                    switch (op[0]) {
+                        case 0:
+                        case 1:
+                            t = op
+                            break
+                        case 4:
+                            _.label++
+                            return { value: op[1], done: false }
+                        case 5:
+                            _.label++
+                            y = op[1]
+                            op = [0]
+                            continue
+                        case 7:
+                            op = _.ops.pop()
+                            _.trys.pop()
+                            continue
+                        default:
+                            if (!((t = _.trys), (t = t.length > 0 && t[t.length - 1])) && (op[0] === 6 || op[0] === 2)) {
+                                _ = 0
+                                continue
+                            }
+                            if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) {
+                                _.label = op[1]
+                                break
+                            }
+                            if (op[0] === 6 && _.label < t[1]) {
+                                _.label = t[1]
+                                t = op
+                                break
+                            }
+                            if (t && _.label < t[2]) {
+                                _.label = t[2]
+                                _.ops.push(op)
+                                break
+                            }
+                            if (t[2]) _.ops.pop()
+                            _.trys.pop()
+                            continue
+                    }
+                    op = body.call(thisArg, _)
+                } catch (e) {
+                    op = [6, e]
+                    y = 0
+                } finally {
+                    f = t = 0
+                }
+            if (op[0] & 5) throw op[1]
+            return { value: op[0] ? op[1] : void 0, done: true }
+        }
+    }
+import Vue from 'vue'
+import App from './App.vue'
+import router from './router'
+import store from './store'
+Vue.config.productionTip = false
+import design from 'ant-design-vue'
+import 'ant-design-vue/dist/antd.css'
+Vue.use(design)
+import ElementUI from 'element-ui'
+import 'element-ui/lib/theme-chalk/index.css'
+Vue.use(ElementUI)
+import VueQuillEditor from 'vue-quill-editor'
+import 'quill/dist/quill.core.css'
+import 'quill/dist/quill.snow.css'
+import 'quill/dist/quill.bubble.css'
+Vue.use(VueQuillEditor)
+import WdEditor from '@/components/Editor'
+Vue.use(WdEditor)
+import Rotation from '@/components/Rotation'
+Vue.use(Rotation)
+import PicLarge from '@/components/PicLarge'
+Vue.use(PicLarge)
+import Legend from '@/components/Legend'
+Vue.use(Legend)
+import cookies from 'vue-cookie'
+Vue.use(cookies)
+import moment from 'moment'
+Vue.prototype.$moment = moment
+moment.locale('zh-cn')
+
 //////////模拟传入参数
-var username = 'aiyu6';
+var username = 'aiyu6'
 /////////////////
 // 在跳入路由之前要请求获取权限信息
-router.beforeEach(function (to, from, next) { return __awaiter(void 0, void 0, void 0, function () {
-    return __generator(this, function (_a) {
-        switch (_a.label) {
-            case 0:
-                if (!!store.state.isrequestAuth) return [3 /*break*/, 3];
-                return [4 /*yield*/, store.dispatch('getUserInfo', username)];
-            case 1:
-                _a.sent();
-                return [4 /*yield*/, store.dispatch('getFloors')];
-            case 2:
-                _a.sent();
-                _a.label = 3;
-            case 3:
-                next();
-                return [2 /*return*/];
-        }
-    });
-}); });
+router.beforeEach(function(to, from, next) {
+    return __awaiter(void 0, void 0, void 0, function() {
+        return __generator(this, function(_a) {
+            switch (_a.label) {
+                case 0:
+                    if (!!store.state.isrequestAuth) return [3 /*break*/, 3]
+                    return [4 /*yield*/, store.dispatch('getUserInfo', username)]
+                case 1:
+                    _a.sent()
+                    return [4 /*yield*/, store.dispatch('getFloors')]
+                case 2:
+                    _a.sent()
+                    _a.label = 3
+                case 3:
+                    next()
+                    return [2 /*return*/]
+            }
+        })
+    })
+})
 new Vue({
     router: router,
     store: store,
-    render: function (h) { return h(App); },
-}).$mount('#app');
+    render: function(h) {
+        return h(App)
+    },
+}).$mount('#app')

+ 11 - 0
src/store/index.js

@@ -14,9 +14,11 @@ export default new Vuex.Store({
         },
         plazaId: '1001145',
         floorsArr: [], //楼层数组
+        floorSelect: [], //楼层下拉框
     },
     getters: {
         floorsArr: (state) => state.floorsArr,
+        floorSelect: (state) => state.floorSelect,
     },
     mutations: {
         // 设置是否登陆校验
@@ -33,6 +35,15 @@ export default new Vuex.Store({
         },
         SETFLOORS(state, data) {
             state.floorsArr = data
+            if (data.length > 0) {
+                data.forEach((e) => {
+                    let obj = {
+                        id: e,
+                        name: e,
+                    }
+                    state.floorSelect.push(obj)
+                })
+            }
         },
     },
     //   const params = {

+ 0 - 101
src/views/equipment/table/computerTable.vue

@@ -1,101 +0,0 @@
-<!-- 设备清单的有select的表格 -->
-<template>
-    <div class='compute-list'>
-        <el-dialog :title='`${systemName}`' :visible.sync='visible' :fullscreen='true'>
-            <div class='eq-list-top'>
-                <a-input-search v-model='keyword' placeholder style='width: 192px;margin-bottom:12px;height:32px;' @search='getList' />
-            </div>
-            <el-table :data='tableData' style='width: 100%'>
-                <el-table-column type='index' label='序号' width='80'></el-table-column>
-                <el-table-column prop='lb' label='抽屉编码' width='160'></el-table-column>
-                <el-table-column prop='sl' label='出现规格'></el-table-column>
-                <el-table-column prop='unit' label='楼层'></el-table-column>
-                <el-table-column prop='brand' label='电井编码'></el-table-column>
-                <el-table-column prop='brand' label='电箱编码'></el-table-column>
-                <el-table-column prop='brand' label='供电容量(KW)'></el-table-column>
-                <el-table-column prop='brand' label='控制回路'></el-table-column>
-            </el-table>
-            <div class='foot'>
-                <el-pagination
-                    background
-                    layout='prev, pager, next'
-                    :total='total/pageSize'
-                    :page-size='size'
-                    @prev-click='pageChanged'
-                    @next-click='pageChanged'
-                    @current-change='pageChanged'
-                ></el-pagination>
-            </div>
-        </el-dialog>
-    </div>
-</template>
-<script>
-import { queryEquipmentList } from '@/api/equipmentList.js'
-export default {
-    data() {
-        return {
-            pageSize: 10,
-            tableData: [],
-            total: 0,
-            currentPage: 1,
-            size: 10,
-            visible: false,
-            keyword: '',
-            systemName: ''
-        }
-    },
-
-    methods: {
-        open(name) {
-            this.visible = true
-            this.systemName = name
-        },
-        pageChanged(page, size) {
-            this.currentPage = page
-            this.size = size
-            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
-            })
-        }
-    }
-    // mounted() {
-    //     this.getList()
-    // }
-}
-</script>
-<style lang="less" scoped>
-.compute-list {
-    .eq-list-top {
-        display: flex;
-    }
-    .foot {
-        position: absolute;
-        height: 32px;
-        right: 26px;
-    }
-    td {
-        overflow: hidden;
-        text-overflow: ellipsis;
-        white-space: nowrap;
-    }
-}
-</style>
-<style lang="less">
-.compute-list {
-    .el-dialog {
-        padding-left: 20px;
-    }
-}
-</style>

+ 3 - 18
src/views/equipment/table/eqDetaileDialog.vue

@@ -42,34 +42,19 @@ export default {
                 { id: 'test3', name: '下级分项' },
                 { id: 'test4', name: '滑动平均滑动平均' }
             ],
-            input: '',
-            floorSelect: [] //楼层下拉框
+            input: ''
         }
     },
     components: {
         Select
     },
     computed: {
-        ...mapGetters(['floorsArr'])
-    },
-    mounted() {
-        this.init()
+        ...mapGetters(['floorSelect'])
     },
+    mounted() {},
     methods: {
         open() {
             this.visible = true
-        },
-        init() {
-            this.floorSelect = []
-            if (this.floorsArr.length > 0) {
-                this.floorsArr.forEach(e => {
-                    let obj = {
-                        id: e,
-                        name: e
-                    }
-                    this.floorSelect.push(obj)
-                })
-            }
         }
     }
 }

+ 36 - 0
src/views/other/gcfz1.vue

@@ -0,0 +1,36 @@
+<template>
+    <el-table
+        :header-cell-style='{background:"rgba(245,246,247,1)",fontFamily:"MicrosoftYaHei",color:"rgba(100,108,115,1)",lineHeight:"16px",fontSize:"12px"}'
+        v-loading='loading'
+        :data='hztjTable'
+        style='width: 100%'
+    >
+        <el-table-column label='序号' type='index'></el-table-column>
+        <el-table-column prop label='楼层'>
+            <template slot-scope='{row}'>{{row.floor||'--'}}</template>
+        </el-table-column>
+        <el-table-column prop label='总间数'>
+            <template slot-scope='{row}'>{{row.roomsl||'--'}}</template>
+        </el-table-column>
+        <el-table-column prop label='面积(㎡)'>
+            <template slot-scope='{row}'>{{row.area||'--'}}</template>
+        </el-table-column>
+        <el-table-column prop label='工程经理(签字)'>
+            <template slot-scope='{row}'>{{'--'}}</template>
+        </el-table-column>
+        <el-table-column prop label='记录日期'>
+            <template slot-scope='{row}'>{{row.changedate||'--'}}</template>
+        </el-table-column>
+    </el-table>
+</template>
+<script>
+export default {
+    data() {
+        return {}
+    },
+    props: ['hztjTable', 'loading'],
+    methods: {}
+}
+</script>
+<style lang="less">
+</style>

+ 111 - 0
src/views/other/gcfz2.vue

@@ -0,0 +1,111 @@
+<template>
+    <div class='gcfz2'>
+        <div class='table-2-input'>
+            <el-date-picker size='small' v-model='dateVal' type='date' style='margin-right:12px;width:140px' placeholder='记录日期'></el-date-picker>
+            <Select width='130' tipPlace='top' caption='楼层:' size='small' style='margin-right:12px' :selectdata='floorSelect' :placeholder='"请选择"'></Select>
+            <el-input placeholder='请按照区域搜索' size='small' style='width:200px' prefix-icon='el-icon-search' v-model='searVal'></el-input>
+        </div>
+        <div class='table-2-table'>
+            <el-table
+                :header-cell-style='{background:"rgba(245,246,247,1)",fontFamily:"MicrosoftYaHei",color:"rgba(100,108,115,1)",lineHeight:"16px",fontSize:"12px"}'
+                v-loading='loading'
+                :data='bgjlTable'
+                style='width: 100%'
+            >
+                <el-table-column label='序号' type='index' width='50'></el-table-column>
+                <el-table-column prop label='楼层' width='130'>
+                    <template slot-scope='{row}'>{{row.floor||'--'}}</template>
+                </el-table-column>
+                <el-table-column prop label='库存变化' align='center'>
+                    <el-table-column prop label='新增(间)'>
+                        <template slot-scope='{row}'>{{row.xzkf||'--'}}</template>
+                    </el-table-column>
+                    <el-table-column prop label='减少(间)'>
+                        <template slot-scope='{row}'>{{row.jskf||'--'}}</template>
+                    </el-table-column>
+                </el-table-column>
+                <el-table-column prop label='区域(㎡)'>
+                    <template slot-scope='{row}'>{{row.region||'--'}}</template>
+                </el-table-column>
+                <el-table-column prop label='面积(㎡)'>
+                    <template slot-scope='{row}'>{{row.area||'--'}}</template>
+                </el-table-column>
+                <el-table-column prop label='调整后库房总数(间)' width='170'>
+                    <template slot-scope='{row}'>{{row.afterkf||'--'}}</template>
+                </el-table-column>
+                <el-table-column prop label='工程经理签字' width='130'>
+                    <template slot-scope='{row}'>{{'--'}}</template>
+                </el-table-column>
+                <el-table-column prop label='记录日期' width='130' :sortable='true'>
+                    <template slot-scope='{row}'>{{row.changedate||'--'}}</template>
+                </el-table-column>
+            </el-table>
+        </div>
+        <div class='table-2-p'>注:广场辅助用房使用信息变更时,需同步调整对应楼层辅助用房管理平面图</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>
+        </div>
+    </div>
+</template>
+<script>
+import Select from '@/components/Select/Select.vue'
+import { mapGetters } from 'vuex'
+
+export default {
+    data() {
+        return {
+            dateVal: '',
+            searVal: '',
+            dataSelect2: [
+                { id: 'test1', name: '选择项' },
+                { id: 'test2', name: '单平米' },
+                { id: 'test3', name: '下级分项' },
+                { id: 'test4', name: '滑动平均滑动平均' }
+            ]
+        }
+    },
+    computed: {
+        ...mapGetters(['floorSelect'])
+    },
+    props: ['bgjlTable', 'total', 'page', 'size', 'loading'],
+    components: { Select },
+    methods: {
+        pageChanged(page) {
+            this.page = page
+            this.$emit('queryChange')
+        }
+    }
+}
+</script>
+<style lang="less" scoped>
+.gcfz2 {
+    .table-2-input {
+        display: flex;
+        align-items: center;
+    }
+    .table-2-table {
+        margin-top: 10px;
+    }
+    .table-2-p {
+        height: 48px;
+        font-size: 14px;
+        font-family: MicrosoftYaHei;
+        color: rgba(31, 36, 41, 1);
+        line-height: 48px;
+    }
+    .foot {
+        height: 32px;
+        display: flex;
+        justify-content: flex-end;
+        margin-top: 28px;
+    }
+}
+</style>

+ 62 - 132
src/views/other/gcfzDialog.vue

@@ -1,145 +1,89 @@
 <template>
-    <!-- 设备设施的三级路由的tabs -->
     <div class='dialog-container'>
         <el-dialog v-if='Object.keys(dialogInfo).length>0' :title='`${systemName}-${dialogInfo.label}`' :visible.sync='visible' :fullscreen='true'>
             <div class='top'></div>
             <div v-if='dialogInfo.type==1' class='table-1'>
-                <el-table :data='tableData' style='width: 100%'>
-                    <el-table-column label='序号' type='index'></el-table-column>
-                    <el-table-column prop='floor' label='楼层'></el-table-column>
-                    <el-table-column prop='all' label='总间数'></el-table-column>
-                    <el-table-column prop='m' label='面积(㎡)'></el-table-column>
-                    <el-table-column prop='name' label='工程经理(签字)'></el-table-column>
-                    <el-table-column prop='date' label='记录日期'></el-table-column>
-                </el-table>
+                <gcfz-table1 v-if='hztjTable.length>=0' :loading='loading' :hztjTable='hztjTable'></gcfz-table1>
                 <p class='table1-p'>注:详细位置可在辅助用房管理平面图中查询</p>
             </div>
             <div v-if='dialogInfo.type==2' class='table-2'>
-                <div class='table-2-input'>
-                    <el-input placeholder='请搜索' size='mini' prefix-icon='el-icon-search' v-model='input'></el-input>
-                </div>
-                <div class='table-2-table'>
-                    <el-table :data='tableData' style='width: 100%'>
-                        <el-table-column label='序号' type='index' width='50'></el-table-column>
-                        <el-table-column prop='date' label='楼层' width='130'></el-table-column>
-                        <el-table-column prop='address1' label='库存变化' align='center'>
-                            <el-table-column prop='address1' label='新增(间)'></el-table-column>
-                            <el-table-column prop='address1' label='减少(间)'></el-table-column>
-                        </el-table-column>
-                        <el-table-column prop='address1' label='区域(㎡)'></el-table-column>
-                        <el-table-column prop='address2' label='面积(㎡)'></el-table-column>
-                        <el-table-column prop='address2' label='调整后库房总数(间)'></el-table-column>
-                        <el-table-column prop='date' label='工程经理签字' width='130'></el-table-column>
-                        <el-table-column prop='date' label='记录日期' width='130'></el-table-column>
-                    </el-table>
-                </div>
-                <div class='table-2-p'>注:广场辅助用房使用信息变更时,需同步调整对应楼层辅助用房管理平面图</div>
-                <div class='foot'>
-                    <el-pagination background layout='prev, pager, next' :total='100'></el-pagination>
-                </div>
+                <gcfz-table2
+                    v-if='bgjlTable.length>=0'
+                    :loading='loading'
+                    :total='total'
+                    :page='page'
+                    :size='size'
+                    :bgjlTable='bgjlTable'
+                    @queryChange='queryChange'
+                ></gcfz-table2>
             </div>
         </el-dialog>
     </div>
 </template>
 <script>
-import { queryfzyfchange, queryDsfrw } from '@/api/other.js'
+import Select from '@/components/Select/Select.vue'
+import gcfzTable1 from './gcfz1'
+import gcfzTable2 from './gcfz2'
+import { querygcfzyfhz, queryfzyfchange } from '@/api/other.js'
+
 export default {
     props: ['systemName'],
     data() {
         return {
             visible: false,
             dialogInfo: {},
-            input: '',
-            tableData: [
-                {
-                    floor: '2AA1',
-                    all: 3,
-                    m: 155.2,
-                    name: '辅导辅',
-                    date: '1212-45-25'
-                },
-                {
-                    floor: '2AA1',
-                    all: 3,
-                    m: 155.2,
-                    name: '辅导辅',
-                    date: '1212-45-25'
-                },
-                {
-                    floor: '2AA1',
-                    all: 3,
-                    m: 155.2,
-                    name: '辅导辅',
-                    date: '1212-45-25'
-                },
-                {
-                    floor: '2AA1',
-                    all: 3,
-                    m: 155.2,
-                    name: '辅导辅',
-                    date: '1212-45-25'
-                },
-                {
-                    floor: '2AA1',
-                    all: 3,
-                    m: 155.2,
-                    name: '辅导辅',
-                    date: '1212-45-25'
-                },
-                {
-                    floor: '2AA1',
-                    all: 3,
-                    m: 155.2,
-                    name: '辅导辅',
-                    date: '1212-45-25'
-                },
-                {
-                    floor: '2AA1',
-                    all: 3,
-                    m: 155.2,
-                    name: '辅导辅',
-                    date: '1212-45-25'
-                },
-                {
-                    floor: '2AA1',
-                    all: 3,
-                    m: 155.2,
-                    name: '辅导辅',
-                    date: '1212-45-25'
-                }
-            ]
+            loading: true,
+            hztjTable: [],
+            total: 0,
+            page: 1,
+            size: 10,
+            floor: '',
+            bgjlTable: []
         }
     },
     mounted() {
-        // this.query()
-        this.dsfrwQuery()
+        this.floor = this.$cookie.get('floorNow') || '1F'
     },
+    components: { Select, gcfzTable1, gcfzTable2 },
     methods: {
-        showModal(item) {
-            this.visible = true
-            this.dialogInfo = item
-            console.log(this.dialogInfo)
-        },
-        // 辅助用房管理-广场辅助用房调改变更记录
+        // 辅助用房管理-汇总统计报
         query() {
             let getParams = {
-                data: { plazaId: '1F', plazaId: '1001145' },
-                params: {}
+                plazaId: this.$store.state.plazaId
             }
-
-            queryfzyfchange(getParams).then(res => {
-                console.log('res', res)
+            querygcfzyfhz({ getParams }).then(res => {
+                if (res.result == 'success') {
+                    console.log('汇总统计报', res)
+                    this.loading = false
+                    this.hztjTable = res.data
+                }
             })
         },
-        // 第三方检测事项
-        dsfrwQuery() {
+        // 变更记录
+        queryChange() {
             let getParams = {
-                data: { plazaId: '1001145', page: 1, size: 10 },
-                params: {}
+                plazaId: this.$store.state.plazaId,
+                page: 1,
+                size: 10,
+                floor: this.floor
             }
-            queryDsfrw(getParams).then(res => {
-                console.log('res', res)
+            queryfzyfchange({ getParams }).then(res => {
+                if (res.result == 'success') {
+                    console.log('变更记录', res)
+                    this.total = res.count
+                    this.loading = false
+                    this.bgjlTable = res.data
+                }
             })
+        },
+        showModal(item) {
+            this.visible = true
+            this.dialogInfo = item
+            if (this.dialogInfo.type == 1) {
+                this.query()
+            } else {
+                this.queryChange()
+            }
         }
     }
 }
@@ -165,30 +109,16 @@ export default {
 .table-2 {
     position: relative;
     padding: 12px 12px 52px 12px;
-    .table-2-input {
-        display: flex;
-        justify-content: space-between;
-    }
-    .table-2-table {
-        margin-top: 10px;
-    }
-    .table-2-p {
-        height: 48px;
-        font-size: 14px;
-        font-family: MicrosoftYaHei;
-        color: rgba(31, 36, 41, 1);
-        line-height: 48px;
-    }
-    .foot {
-        position: absolute;
-        height: 32px;
-        right: 26px;
-        bottom: 20px;
-    }
 }
 </style>
 <style lang="less">
-.el-input {
-    width: 200px;
+.dialog-container {
+    .el-table td,
+    .el-table th {
+        padding: 8px 0;
+    }
+    .el-input--suffix .el-input__inner {
+        padding-right: 20px;
+    }
 }
 </style>

+ 5 - 9
src/views/other/index.vue

@@ -25,7 +25,9 @@
             </div>
         </div>
         <other-dialog ref='dialog' :systemName='systemName'></other-dialog>
+        <!-- 综合事项管理 -->
         <zhsx-other v-if='matterId==1&&everySystem.length>0' :everySystem='everySystem'></zhsx-other>
+        <!-- 辅助用房管理 -->
         <div class='qtfugl' v-if='matterId==2'>
             <img src='../../assets/imgs/matter_floorB2.png' alt />
         </div>
@@ -34,13 +36,12 @@
 </template>
 
 <script>
-import floorList from '@/components/floorList.vue'
-import OtherDialog from './otherDialog'
-import { matter, floors } from '@/utils/plugins/components.js'
 import ZhsxOther from './zhsxOther'
 import GcfzDialog from './gcfzDialog'
+import OtherDialog from './otherDialog'
 import { queryPic } from '@/api/public.js'
-import { queryGlams, querygcfzyfhz, queryfzyfchange } from '@/api/other.js'
+import floorList from '@/components/floorList.vue'
+import { matter, floors } from '@/utils/plugins/components.js'
 export default {
     data() {
         return {
@@ -61,14 +62,12 @@ export default {
         tabSyatem(item) {
             this.matterId = item.id
             this.everySystem = item.children
-            console.log(this.everySystem)
             this.systemName = item.name
         },
         emitFloor(item) {
             this.floorInfo = item
         },
         dialogVisible(item) {
-            console.log(item)
             this.$refs.gcfzDialog.showModal(item)
         },
         queryPicter() {
@@ -83,8 +82,6 @@ export default {
     },
     mounted() {
         this.everySystem = this.matter[0].children
-        this.queryPicter()
-        console.log(this.everySystem)
     }
 }
 </script>
@@ -133,7 +130,6 @@ export default {
             .circle {
                 width: 6px;
                 height: 6px;
-                // background: linear-gradient(180deg, rgba(54, 156, 247, 1) 0%, rgba(2, 91, 170, 1) 100%);
                 border-radius: 50%;
                 display: inline-block;
                 margin-right: 10px;

+ 22 - 252
src/views/other/zhsxOther.vue

@@ -5,78 +5,13 @@
             <div>
                 <el-tabs v-model='activeName' @tab-click='handleClick'>
                     <el-tab-pane v-for='(item,index) in everySystem' :key='index' :label='`${item.label}`' :name='`${item.type}`'>
+                        <!-- 综合记录事项 -->
                         <div v-if='item.type==1'>
-                            <div class='tab-top'>
-                                <el-date-picker
-                                    v-model='value1'
-                                    type='daterange'
-                                    size='small'
-                                    style='margin-right:12px;width:216px'
-                                    range-separator='-'
-                                    start-placeholder='开始日期'
-                                    end-placeholder='结束日期'
-                                ></el-date-picker>
-                                <Select
-                                    width='180'
-                                    tipPlace='top'
-                                    caption='政府部门'
-                                    size='small'
-                                    style='margin-right:12px'
-                                    :selectdata='dataSelect2'
-                                    :placeholder='"请选择"'
-                                ></Select>
-                                <el-input placeholder='请按照记录事项搜索' size='small' prefix-icon='el-icon-search' v-model='input'></el-input>
-                            </div>
-                            <el-table :data='tableData' style='width: 100%;margin-top:12px'>
-                                <el-table-column label='序号' type='index' width='50'></el-table-column>
-                                <el-table-column prop='name' sortable label='日期'></el-table-column>
-                                <el-table-column prop='type' label='政府部门'></el-table-column>
-                                <el-table-column prop='thing' label='记录事项' :show-overflow-tooltip='true'></el-table-column>
-                                <el-table-column prop='name' label='工作要求'></el-table-column>
-                                <el-table-column prop='type' label='整改要求'></el-table-column>
-                                <el-table-column prop='name' label='附件'></el-table-column>
-                            </el-table>
+                            <zhsx-other-table1 ref='tableZhsx1'></zhsx-other-table1>
                         </div>
+                        <!-- 第三方检测事项 -->
                         <div v-if='item.type==2'>
-                            <div class='tab-top'>
-                                <Select
-                                    width='146'
-                                    tipPlace='top'
-                                    caption='状态'
-                                    size='small'
-                                    style='margin-right:12px'
-                                    :selectdata='dataSelect2'
-                                    :placeholder='"请选择"'
-                                ></Select>
-                                <Select
-                                    width='146'
-                                    tipPlace='top'
-                                    caption='部门'
-                                    size='small'
-                                    style='margin-right:12px'
-                                    :selectdata='dataSelect2'
-                                    :placeholder='"请选择"'
-                                ></Select>
-                                <el-input placeholder='请按照任务名称搜索' size='small' prefix-icon='el-icon-search' v-model='input'></el-input>
-                            </div>
-                            <el-table :data='tableData' style='width: 100%;margin-top:12px'>
-                                <el-table-column label='序号' type='index' width='50'></el-table-column>
-                                <el-table-column prop='name' sortable label='任务名称'></el-table-column>
-                                <el-table-column prop='type' label='状态'></el-table-column>
-                                <el-table-column prop='thing' label='部门' :show-overflow-tooltip='true'></el-table-column>
-                                <el-table-column prop='name' 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>
+                            <zhsx-other-table2 ref='tableZhsx2'></zhsx-other-table2>
                         </div>
                     </el-tab-pane>
                 </el-tabs>
@@ -85,173 +20,37 @@
                 <img src='../../assets/imgs/zy1.png' alt />
             </div>
         </div>
-        <!-- <div class='zhsx-top'> -->
-        <!-- 第一版 暂时不要动 -->
-        <!-- <div class='zhsx-top-left'>
-                <span></span>
-                <span>综合事项记录</span>
-                <img src='../../assets/imgs/zy.svg' alt @click='zhsxLog()' />
-            </div>
-            <div class='zhsx-top-right'>
-                <el-date-picker
-                    v-model='value1'
-                    type='daterange'
-                    size='small'
-                    style='margin-right:12px'
-                    range-separator='至'
-                    start-placeholder='开始日期'
-                    end-placeholder='结束日期'
-                ></el-date-picker>
-                <Select
-                    width='224'
-                    tipPlace='top'
-                    caption='政府部门'
-                    size='small'
-                    style='margin-right:12px'
-                    :selectdata='dataSelect2'
-                    :placeholder='"请选择"'
-                ></Select>
-                <el-input placeholder='请按照记录事项搜索' size='small' prefix-icon='el-icon-search' v-model='input'></el-input>
-        </div>-->
-        <!-- </div> -->
-        <!-- <div class='zhsx-bottom'>
-            <el-table :data='tableData' style='width: 100%'>
-                <el-table-column label='序号' type='index' width='50'></el-table-column>
-                <el-table-column prop='date' sortable label='日期' width='130'></el-table-column>
-                <el-table-column prop='address1' label='政府部门' :show-overflow-tooltip='true'></el-table-column>
-                <el-table-column prop='address1' label='记录事项' :show-overflow-tooltip='true'></el-table-column>
-                <el-table-column prop='address2' label='工作要求'></el-table-column>
-                <el-table-column prop='address2' label='整改要求'></el-table-column>
-                <el-table-column prop='address2' label='附件'></el-table-column>
-            </el-table>
-            <div class='footer'>
-                <el-pagination background layout='prev, pager, next' :total='100'></el-pagination>
-            </div>
-        </div>-->
         <zhsx-dialog ref='Dialog'></zhsx-dialog>
     </div>
 </template>
 <script>
+import moment from 'moment'
 import Select from '@/components/Select/Select.vue'
 import ZhsxDialog from './zhsxDialog'
-import { queryGlams, querygcfzyfhz, queryfzyfchange } from '@/api/other.js'
+import zhsxOtherTable1 from './zhsxOtherTable1'
+import zhsxOtherTable2 from './zhsxOtherTable2'
 export default {
     data() {
         return {
-            activeName: '1',
-            input: '',
-            tableData: [
-                {
-                    date: '2016-05-01',
-                    name: '王小虎',
-                    address: '上海市普陀区金沙江路 1519 弄',
-                    address1: 'BI超市消防联动测试故障,要求2.5前完,再复查',
-                    address2: '陈卫国'
-                },
-                {
-                    date: '2016-05-03',
-                    name: '王小虎',
-                    address: '上海市普陀区金沙江路 1516 弄',
-                    address1: 'BI超市消防联动测试故障,要求2.5前完,再复查',
-                    address2: '陈卫国'
-                },
-                {
-                    date: '2016-05-02',
-                    name: '王小虎',
-                    address: '应急管理',
-                    address1: 'BI超市消防联动测试故障,要求2.5前完,再复查',
-                    address2: '陈卫国'
-                },
-                {
-                    date: '2016-05-04',
-                    name: '王小虎',
-                    address: '三明市梅列生态环境局',
-                    address1: 'BI超市消防联动测试故障,要求2.5前完,再复查',
-                    address2: '陈卫国'
-                },
-                {
-                    date: '2016-05-01',
-                    name: '王小虎',
-                    address: '上海市普陀区金沙江路 1519 弄',
-                    address1: 'BI超市消防联动测试故障,要求2.5前完,再复查',
-                    address2: '陈卫国'
-                },
-                {
-                    date: '2016-05-03',
-                    name: '王小虎',
-                    address: '上海市普陀区金沙江路 1516 弄',
-                    address1: 'BI超市消防联动测试故障,要求2.5前完,再复查',
-                    address2: '陈卫国'
-                },
-                {
-                    date: '2016-05-02',
-                    name: '王小虎',
-                    address: '应急管理',
-                    address1: 'BI超市消防联动测试故障,要求2.5前完,再复查',
-                    address2: '陈卫国'
-                },
-                {
-                    date: '2016-05-04',
-                    name: '王小虎',
-                    address: '三明市梅列生态环境局',
-                    address1: 'BI超市消防联动测试故障,要求2.5前完,再复查',
-                    address2: '陈卫国'
-                },
-                {
-                    date: '2016-05-01',
-                    name: '王小虎',
-                    address: '上海市普陀区金沙江路 1519 弄',
-                    address1: 'BI超市消防联动测试故障,要求2.5前完,再复查',
-                    address2: '陈卫国'
-                },
-                {
-                    date: '2016-05-03',
-                    name: '王小虎',
-                    address: '上海市普陀区金沙江路 1516 弄',
-                    address1: 'BI超市消防联动测试故障,要求2.5前完,再复查',
-                    address2: '陈卫国'
-                }
-            ],
-            value1: '',
-            dataSelect2: [
-                { id: 'test1', name: '选择项' },
-                { id: 'test2', name: '单平米' },
-                { id: 'test3', name: '下级分项' },
-                { id: 'test4', name: '滑动平均滑动平均' }
-            ],
-            currentPage: 1,
-            total: 1,
-            size: 10
+            activeName: '1'
         }
     },
     props: ['everySystem'],
-    components: { ZhsxDialog, Select },
+    components: { ZhsxDialog, Select, zhsxOtherTable1, zhsxOtherTable2 },
     methods: {
         zhsxLog() {
             this.$refs.Dialog.open()
         },
-        pageChanged(page, size) {
-            this.currentPage = page
-            this.getList()
-        },
         handleClick(tab) {
-            // this.param = tab.name
-            console.log(tab)
-        },
-        getTableData() {
-            let getParams = {
-                plazaId: this.$store.state.plazaId,
-                page: this.page,
-                size: this.size
+            if (tab.index == '0') {
+                this.$refs.tableZhsx1[0].getZhjl()
+            } else if (tab.index == '1') {
+                this.$refs.tableZhsx2[0].dsfjc()
             }
-            queryGlams({ getParams }).then(res => {
-                console.log(res)
-            })
         }
     },
     mounted() {
-        // this.getTableData()
-        console.log(this.everySystem)
+        this.$refs.tableZhsx1[0].getZhjl()
     }
 }
 </script>
@@ -261,43 +60,6 @@ export default {
     padding: 66px 50px 38px 50px;
     .zhsx-top {
         position: relative;
-        // display: flex;
-        // justify-content: space-between;
-        // align-items: center;
-        // border: 1px solid greenyellow;
-        // .zhsx-top-left {
-        //     display: flex;
-        //     align-items: center;
-        //     padding: 5px 0;
-        //     background: linear-gradient(270deg, rgba(199, 217, 234, 0) 0%, rgba(199, 217, 234, 1) 100%);
-        //     box-shadow: -6px 2px 8px 0px rgba(31, 36, 41, 0.1);
-        //     span:nth-of-type(1) {
-        //         display: inline-block;
-        //         width: 2px;
-        //         height: 16px;
-        //         background: rgba(2, 91, 170, 1);
-        //         margin-right: 8px;
-        //     }
-        //     span:nth-of-type(2) {
-        //         display: inline-block;
-        //         width: 107px;
-        //         height: 22px;
-        //         font-size: 16px;
-        //         font-family: MicrosoftYaHeiSemibold;
-        //         color: rgba(2, 91, 170, 1);
-        //         line-height: 21px;
-        //         font-weight: bold;
-        //     }
-        //     img {
-        //         width: 16px;
-        //         height: 16px;
-        //         margin-right: 10px;
-        //         cursor: pointer;
-        //     }
-        // }
-        // .zhsx-top-right {
-        //     display: flex;
-        // }
         .zhsx-img {
             position: absolute;
             width: 16px;
@@ -314,6 +76,7 @@ export default {
             align-items: center;
         }
     }
+
     .zhsx-bottom {
         margin-top: 12px;
         background: #ffffff;
@@ -384,5 +147,12 @@ export default {
     .el-tabs__header {
         margin: 0 0 12px;
     }
+    .el-table td,
+    .el-table th {
+        padding: 8px 0;
+    }
+    .el-input--suffix .el-input__inner {
+        padding-right: 20px;
+    }
 }
 </style>

+ 108 - 0
src/views/other/zhsxOtherTable1.vue

@@ -0,0 +1,108 @@
+<template>
+    <div class='tableZh'>
+        <div class='tab-top'>
+            <el-date-picker size='small' v-model='dateVal' type='date' style='margin-right:12px;width:140px' placeholder='日期'></el-date-picker>
+            <Select width='180' tipPlace='top' caption='政府部门' size='small' style='margin-right:12px' :selectdata='dataSelect2' :placeholder='"请选择"'></Select>
+            <el-input placeholder='请按照记录事项搜索' size='small' prefix-icon='el-icon-search' v-model='searVal' style='width:200px'></el-input>
+        </div>
+        <el-table
+            v-loading='loading'
+            :header-cell-style='{background:"rgba(245,246,247,1)",fontFamily:"MicrosoftYaHei",color:"rgba(100,108,115,1)",lineHeight:"16px",fontSize:"12px"}'
+            :data='zhjlTable'
+            style='width: 100%;margin-top:12px'
+        >
+            <el-table-column label='序号' type='index' width='50'></el-table-column>
+            <el-table-column prop sortable label='日期'>
+                <template slot-scope='{row}'>{{formatter(row.createdate)||'--'}}</template>
+            </el-table-column>
+            <el-table-column prop='type' label='政府部门'>
+                <template slot-scope='{row}'>{{row.department||'--'}}</template>
+            </el-table-column>
+            <el-table-column prop='thing' label='记录事项' :show-overflow-tooltip='true'>
+                <template slot-scope='{row}'>{{row.recordsx||'--'}}</template>
+            </el-table-column>
+            <el-table-column prop='name' label='工作要求'>
+                <template slot-scope='{row}'>{{row.workyq||'--'}}</template>
+            </el-table-column>
+            <el-table-column prop='type' label='整改要求'>
+                <template slot-scope='{row}'>{{row.zgyq||'--'}}</template>
+            </el-table-column>
+            <el-table-column prop='name' label='附件'>
+                <template slot-scope='{row}'>{{'--'}}</template>
+            </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 moment from 'moment'
+import Select from '@/components/Select/Select.vue'
+import { queryGlams } from '@/api/other.js'
+
+export default {
+    data() {
+        return {
+            dateVal: '',
+            loading: true,
+            zhjlTable: [],
+            dataSelect2: [
+                { id: 'test1', name: '选择项' },
+                { id: 'test2', name: '单平米' },
+                { id: 'test3', name: '下级分项' },
+                { id: 'test4', name: '滑动平均滑动平均' }
+            ],
+            searVal: '',
+            total: 0,
+            page: 1,
+            size: 10
+        }
+    },
+    components: { Select },
+    methods: {
+        formatter(date) {
+            return moment.unix(date / 1000).format('YYYY.MM.DD')
+        },
+        // 综合记录
+        getZhjl() {
+            let getParams = {
+                plazaId: this.$store.state.plazaId,
+                page: this.page,
+                size: this.size
+            }
+            queryGlams({ getParams }).then(res => {
+                if (res.result == 'success') {
+                    this.loading = false
+                    this.total = res.count
+                    this.zhjlTable = res.data
+                }
+                console.log('综合记录', res)
+            })
+        },
+        pageChanged(page) {
+            this.page = page
+            this.getZhjl()
+        }
+    },
+    mounted() {}
+}
+</script>
+<style lang="less">
+.tableZh {
+    .foot {
+        height: 32px;
+        display: flex;
+        justify-content: flex-end;
+        margin-top: 28px;
+    }
+}
+</style>

+ 99 - 0
src/views/other/zhsxOtherTable2.vue

@@ -0,0 +1,99 @@
+<template>
+    <div class='tableZh'>
+        <div class='tab-top'>
+            <Select width='146' tipPlace='top' caption='状态' size='small' style='margin-right:12px' :selectdata='dataSelect2' :placeholder='"请选择"'></Select>
+            <Select width='146' tipPlace='top' caption='部门' size='small' style='margin-right:12px' :selectdata='dataSelect2' :placeholder='"请选择"'></Select>
+            <Select width='180' tipPlace='top' caption='检测结论' size='small' style='margin-right:12px' :selectdata='dataSelect2' :placeholder='"请选择"'></Select>
+            <el-input placeholder='请按照任务名称搜索' size='small' prefix-icon='el-icon-search' v-model='searVal' style='width:200px'></el-input>
+        </div>
+        <el-table
+            row-key='id'
+            border
+            v-loading='loading'
+            :header-cell-style='{background:"rgba(245,246,247,1)",fontFamily:"MicrosoftYaHei",color:"rgba(100,108,115,1)",lineHeight:"16px",fontSize:"12px"}'
+            :data='dsfTable'
+            style='width: 100%;margin-top:12px'
+        >
+            <el-table-column label='序号' type='index' width='50'></el-table-column>
+            <el-table-column prop='name' :show-overflow-tooltip='true' sortable label='任务名称'>
+                <template slot-scope='{row}'>{{row.description||'--'}}</template>
+            </el-table-column>
+            <el-table-column prop='type' label='状态' width='90'>
+                <template slot-scope='{row}'>{{row.status2||'--'}}</template>
+            </el-table-column>
+            <el-table-column prop='thing' label='部门' min-width='90' :show-overflow-tooltip='true'>
+                <template slot-scope='{row}'>{{row.zgbm||'--'}}</template>
+            </el-table-column>
+            <el-table-column prop='name' :show-overflow-tooltip='true' label='检测结论'>
+                <template slot-scope='{row}'>{{row.conclusion||'--'}}</template>
+            </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 { queryDsfrw } from '@/api/other.js'
+
+export default {
+    data() {
+        return {
+            loading: true,
+            dataSelect2: [
+                { id: 'test1', name: '选择项' },
+                { id: 'test2', name: '单平米' },
+                { id: 'test3', name: '下级分项' },
+                { id: 'test4', name: '滑动平均滑动平均' }
+            ],
+            searVal: '',
+            dsfTable: [],
+            total: 0,
+            page: 1,
+            size: 10
+        }
+    },
+    components: { Select },
+    methods: {
+        // 第三方
+        dsfjc() {
+            let getParams = {
+                plazaId: this.$store.state.plazaId,
+                page: this.page,
+                size: this.size
+            }
+            queryDsfrw({ getParams }).then(res => {
+                if (res.result == 'success') {
+                    this.loading = false
+                    this.total = res.count
+                    this.dsfTable = res.data
+                }
+                console.log('第三方', res)
+            })
+        },
+        pageChanged(page) {
+            this.page = page
+            this.dsfjc()
+        }
+    }
+}
+</script>
+<style lang="less">
+.tableZh {
+    .foot {
+        height: 32px;
+        display: flex;
+        justify-content: flex-end;
+        margin-top: 28px;
+    }
+}
+</style>

+ 101 - 0
src/views/room/detail.vue

@@ -0,0 +1,101 @@
+<template>
+    <div class='gdqd-dialog'>
+        <div class='top'></div>
+        <div class='gdqd-dialog-top'>
+            <Select width='120' style='margin-right:12px' tipPlace='top' caption='楼层:' size='small' :selectdata='floorSelect'></Select>
+            <Select width='224' style='margin-right:12px' tipPlace='top' caption='管理归属' size='small' :selectdata='dataSelect2'></Select>
+            <Select width='224' style='margin-right:12px' tipPlace='top' caption='设备状态' size='small' :selectdata='dataSelect2'></Select>
+            <el-input placeholder='请输入设备简称、设备编号、品牌、型号、安装位置、生产厂商、服务商搜索' style='width:490px;' size='small' prefix-icon='el-icon-search' v-model='input'></el-input>
+        </div>
+        <el-table
+            v-loading='loading'
+            :data='tableData'
+            style='width:100%;margin-top:12px'
+            :header-cell-style='{background:"rgba(245,246,247,1)",fontFamily:"MicrosoftYaHei",color:"rgba(100,108,115,1)",lineHeight:"16px",fontSize:"12px"}'
+        >
+            <el-table-column type='index' label='序号' width='50'></el-table-column>
+            <el-table-column prop='sbjc' label='设备简称'>
+                <template slot-scope='{row}'>{{row.sbjc||'--'}}</template>
+            </el-table-column>
+            <el-table-column prop='sbbh' label='设备编号'>
+                <template slot-scope='{row}'>{{row.sbbh||'--'}}</template>
+            </el-table-column>
+            <el-table-column prop='sl' label='数量'>
+                <template slot-scope='{row}'>{{row.sl||'--'}}</template>
+            </el-table-column>
+            <el-table-column prop='sbglgs' label='管理归属'>
+                <template slot-scope='{row}'>{{row.sbglgs||'--'}}</template>
+            </el-table-column>
+            <el-table-column prop='sbstatus' label='设备状态'>
+                <template slot-scope='{row}'>{{row.sbstatus||'--'}}</template>
+            </el-table-column>
+            <el-table-column prop='brand' label='品牌'>
+                <template slot-scope='{row}'>{{row.brand||'--'}}</template>
+            </el-table-column>
+            <el-table-column prop='sbxh' label='型号'>
+                <template slot-scope='{row}'>{{row.sbxh||'--'}}</template>
+            </el-table-column>
+            <el-table-column prop='floor' label='楼层'>
+                <template slot-scope='{row}'>{{row.floor||'--'}}</template>
+            </el-table-column>
+            <el-table-column prop='wzqy' label='安装位置'>
+                <template slot-scope='{row}'>{{row.wzqy||'--'}}</template>
+            </el-table-column>
+            <el-table-column prop='manufacturer' label='生产厂商'>
+                <template slot-scope='{row}'>{{row.manufacturer||'--'}}</template>
+            </el-table-column>
+            <el-table-column prop='fws' label='服务商'>
+                <template slot-scope='{row}'>{{row.fws||'--'}}</template>
+            </el-table-column>
+        </el-table>
+    </div>
+</template>
+<script>
+import Select from '@/components/Select/Select.vue'
+import { mapGetters } from 'vuex'
+export default {
+    data() {
+        return {
+            loading: false,
+            tableData: [],
+            dataSelect2: [
+                { id: 'test1', name: '选择项' },
+                { id: 'test2', name: '单平米' },
+                { id: 'test3', name: '下级分项' },
+                { id: 'test4', name: '滑动平均滑动平均' }
+            ],
+            input: ''
+        }
+    },
+    components: {
+        Select
+    },
+    computed: {
+        ...mapGetters(['floorSelect'])
+    },
+    mounted() {},
+    methods: {
+        open() {
+            this.visible = true
+        }
+    }
+}
+</script>
+<style lang="less" scoped>
+.gdqd-dialog {
+    .top {
+    }
+    .gdqd-dialog-top {
+        display: flex;
+    }
+}
+</style>
+<style lang="less">
+.gdqd-dialog {
+    padding: 16px 24px 24px;
+    .el-table td,
+    .el-table th {
+        padding: 8px 0;
+    }
+}
+</style>

+ 261 - 0
src/views/room/index.vue

@@ -0,0 +1,261 @@
+/**
+*@author:Guoxiaohuan
+*@date:2020.06.08
+*@info 机房信息主页
+*/
+<template>
+    <div class='compute-box'>
+        <el-dialog :title='`${systemName}`||"机房"' :visible.sync='visible' :fullscreen='true'>
+            <div class='compute-span'></div>
+            <div class='compute-tab'>
+                <el-tabs v-model='activeName' @tab-click='handleClick'>
+                    <el-tab-pane label='机房布置图' name='1'>
+                        <room-table1></room-table1>
+                    </el-tab-pane>
+                    <el-tab-pane label='配电室低压柜及出线明细表' name='2'>
+                        <room-table2
+                            v-if='table2.length>=0'
+                            :table2='table2'
+                            :loading='loading1'
+                            :page='page1'
+                            :total='total1'
+                            :size='size1'
+                            @Index1='Index1'
+                        ></room-table2>
+                    </el-tab-pane>
+                    <el-tab-pane label='机房内核心设备' name='3'>
+                        <room-table3
+                            v-if='table3.length>=0'
+                            :table3='table3'
+                            :loading='loading2'
+                            :page='page2'
+                            :total='total2'
+                            :size='size2'
+                            @Index2Emit='Index2Emit'
+                        ></room-table3>
+                    </el-tab-pane>
+                    <el-tab-pane label='维修记录' name='4'>
+                        <room-table4
+                            v-if='table4.length>=0'
+                            :table4='table4'
+                            :loading='loading3'
+                            :page='page3'
+                            :total='total3'
+                            :size='size3'
+                            @Index3='Index3'
+                        ></room-table4>
+                    </el-tab-pane>
+                    <el-tab-pane label='维保记录' name='5'>
+                        <room-table5
+                            v-if='table5.length>=0'
+                            :table5='table5'
+                            :loading='loading4'
+                            :page='page4'
+                            :total='total4'
+                            :size='size4'
+                            @Index4='Index4'
+                        ></room-table5>
+                    </el-tab-pane>
+                </el-tabs>
+            </div>
+        </el-dialog>
+    </div>
+</template>
+<script>
+import { queryEquipmentList } from '@/api/equipmentList.js'
+import { queryDygjcxline, queryHxsb } from '@/api/room.js'
+import roomTable1 from './room1'
+import roomTable2 from './room2'
+import roomTable3 from './room3'
+import roomTable4 from './room4'
+import roomTable5 from './room5'
+
+export default {
+    data() {
+        return {
+            activeName: '1',
+            visible: false,
+            systemName: '',
+            loading: true,
+            loading1: true,
+            loading2: true,
+            loading3: true,
+            loading4: true,
+            table2: [],
+            table3: [],
+            table4: [],
+            table5: [],
+            //
+            total: 0,
+            page: 1,
+            size: 10,
+            //
+            total1: 0,
+            page1: 1,
+            size1: 10,
+            //
+            total2: 0,
+            page2: 1,
+            size2: 10,
+            //
+            total3: 0,
+            page3: 1,
+            size3: 10,
+            //
+            total4: 0,
+            page4: 1,
+            size4: 10
+        }
+    },
+    components: {
+        Detail,
+        roomTable1,
+        roomTable2,
+        roomTable3,
+        roomTable4,
+        roomTable5
+    },
+    methods: {
+        handleClick(tab) {
+            if (tab.index == '0') {
+                this.Index()
+            } else if (tab.index == '1') {
+                this.Index1()
+            } else if (tab.index == '2') {
+                this.Index2()
+            } else if (tab.index == '3') {
+                this.Index3()
+            } else {
+                this.Index4()
+            }
+        },
+        Index() {},
+        // 明细表
+        Index1() {
+            let getParams = {
+                location: '1198',
+                plazaId: this.$store.state.plazaId,
+                page: this.page1,
+                size: this.size1
+            }
+            queryDygjcxline({ getParams }).then(res => {
+                if (res.result == 'success') {
+                    this.loading1 = false
+                    this.total1 = res.count
+                    this.table2 = res.data
+                    console.log('明细表', res)
+                }
+            })
+        },
+        // 核心设备
+        Index2() {
+            let postParams = {}
+            let data = {
+                plazaId: this.$store.state.plazaId,
+                major: '弱电',
+                page: this.page2,
+                size: this.size2
+            }
+            queryHxsb({ data, postParams }).then(res => {
+                console.log('核心设备', res)
+                this.loading2 = false
+                this.total2 = res.data.count
+                this.table3 = res.data.data
+            })
+        },
+        Index2Emit(val) {
+            this.page2 = val
+            this.Index2()
+        },
+        Index3() {},
+        Index4() {},
+        open(name) {
+            this.visible = true
+            this.systemName = name
+        }
+    },
+    watch: {}
+}
+</script>
+<style lang="less" scoped>
+.compute-box {
+    .compute-span {
+        width: 100%;
+        height: 1px;
+        background: rgba(0, 0, 0, 0.06);
+        margin-bottom: 20px;
+    }
+}
+</style>
+<style lang="less">
+.compute-box {
+    .el-dialog {
+        padding: 16px 20px 20px;
+        .el-dialog__header {
+            padding: 0;
+            font-size: 16px;
+            font-family: PingFangSC-Medium, PingFang SC;
+            font-weight: 500;
+            color: rgba(0, 0, 0, 0.85);
+            line-height: 24px;
+            padding-bottom: 16px;
+        }
+    }
+    .compute-tab {
+        .el-dialog__title {
+            font-size: 16px;
+            font-family: PingFangSC-Medium, PingFang SC;
+            font-weight: 500;
+            color: rgba(0, 0, 0, 0.85);
+            line-height: 24px;
+        }
+        .el-dialog__body {
+            padding: 0 24px;
+        }
+        .el-tabs--bottom .el-tabs__item.is-bottom:nth-child(2),
+        .el-tabs--bottom .el-tabs__item.is-top:nth-child(2),
+        .el-tabs--top .el-tabs__item.is-bottom:nth-child(2),
+        .el-tabs--top .el-tabs__item.is-top:nth-child(2) {
+            padding-left: 16px;
+        }
+        .el-tabs--bottom .el-tabs__item.is-bottom:last-child,
+        .el-tabs--bottom .el-tabs__item.is-top:last-child,
+        .el-tabs--top .el-tabs__item.is-bottom:last-child,
+        .el-tabs--top .el-tabs__item.is-top:last-child {
+            padding-right: 16px;
+        }
+        .el-tabs__nav-wrap::after {
+            height: 0;
+        }
+        .el-tabs__item {
+            padding: 5px 16px;
+            height: 30px;
+            line-height: 22px;
+            font-size: 14px;
+            font-family: MicrosoftYaHei;
+            color: rgba(31, 36, 41, 1);
+            border: 1px solid rgba(195, 199, 203, 1);
+        }
+        .el-tabs,
+        .el-tabs__content {
+            height: 700px;
+        }
+        .el-tabs__active-bar {
+            background-color: transparent !important;
+        }
+        .is-active {
+            color: #025baa;
+            border-color: #025baa;
+        }
+        .compute-table {
+            .el-table td,
+            .el-table th {
+                padding: 8px 0;
+            }
+        }
+    }
+    .el-input--suffix .el-input__inner {
+        padding-right: 20px;
+    }
+}
+</style>

+ 37 - 0
src/views/room/room1.vue

@@ -0,0 +1,37 @@
+<template>
+    <div>机房布置图</div>
+</template>
+<script>
+import Select from '@/components/Select/Select.vue'
+
+export default {
+    props: ['table5', 'total', 'page', 'size', 'loading'],
+    data() {
+        return {}
+    },
+    components: { Select },
+    methods: {
+        pageChanged(page) {
+            this.page = page
+            this.$emit('Index')
+        }
+    }
+}
+</script>
+<style lang="less" scoped>
+</style>
+<style lang="less">
+.compute-item {
+    .compute-center {
+        display: flex;
+        align-items: center;
+        margin-bottom: 12px;
+    }
+    .foot {
+        height: 32px;
+        display: flex;
+        justify-content: flex-end;
+        margin-top: 28px;
+    }
+}
+</style>

+ 93 - 0
src/views/room/room2.vue

@@ -0,0 +1,93 @@
+<template>
+    <div class='compute-item'>
+        <div class='compute-center'>
+            <Select width='146' tipPlace='top' caption='楼层:' :selectdata='floorSelect' :placeholder='"请选择"' style='margin-right:12px'></Select>
+            <el-input placeholder='请输入抽屉编号、出线规格、电井编号、控制回路搜索' size='small' prefix-icon='el-icon-search' v-model='searVal' style='width:360px'></el-input>
+        </div>
+        <div class='compute-table'>
+            <el-table
+                v-loading='loading'
+                :data='table2'
+                style='width: 100%'
+                :header-cell-style='{background:"rgba(245,246,247,1)",fontFamily:"MicrosoftYaHei",color:"rgba(100,108,115,1)",lineHeight:"16px",fontSize:"12px"}'
+            >
+                <el-table-column type='index' label='序号' width='50'></el-table-column>
+                <el-table-column prop='a' label='抽屉编号'>
+                    <template slot-scope='{row}'>{{row.drawernum||'--'}}</template>
+                </el-table-column>
+                <el-table-column prop='a' label='出线规格'>
+                    <template slot-scope='{row}'>{{row.outspec||'--'}}</template>
+                </el-table-column>
+                <el-table-column prop='a' label='楼层'>
+                    <template slot-scope='{row}'>{{row.floor||'--'}}</template>
+                </el-table-column>
+                <el-table-column prop='a' label='电井编号'>
+                    <template slot-scope='{row}'>{{row.wellnum||'--'}}</template>
+                </el-table-column>
+                <el-table-column prop='brand' label='电箱编号'>
+                    <template slot-scope='{row}'>{{row.boxnum||'--'}}</template>
+                </el-table-column>
+                <el-table-column prop='brand' label='供电容量(kw)'>
+                    <template slot-scope='{row}'>{{row.capacitynum||'--'}}</template>
+                </el-table-column>
+                <el-table-column prop='brand' label='控制回路'>
+                    <template slot-scope='{row}'>{{row.control||'--'}}</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>
+        </div>
+    </div>
+</template>
+<script>
+import Select from '@/components/Select/Select.vue'
+import { mapGetters } from 'vuex'
+export default {
+    props: ['table2', 'total', 'page', 'size', 'loading'],
+    data() {
+        return {
+            dataSelect2: [
+                { id: 'test1', name: '选择项' },
+                { id: 'test2', name: '单平米' },
+                { id: 'test3', name: '下级分项' },
+                { id: 'test4', name: '滑动平均滑动平均' }
+            ],
+            searVal: ''
+        }
+    },
+    computed: {
+        ...mapGetters(['floorSelect'])
+    },
+    components: { Select },
+    methods: {
+        pageChanged(page) {}
+    },
+    mounted() {}
+}
+</script>
+<style lang="less" scoped>
+</style>
+<style lang="less">
+.compute-item {
+    .compute-center {
+        display: flex;
+        align-items: center;
+        margin-bottom: 12px;
+    }
+    .foot {
+        height: 32px;
+        display: flex;
+        justify-content: flex-end;
+        margin-top: 28px;
+    }
+}
+</style>

+ 94 - 0
src/views/room/room3.vue

@@ -0,0 +1,94 @@
+<template>
+    <div class='compute-item'>
+        <div class='compute-center'>
+            <Select width='146' tipPlace='top' caption='楼层:' :selectdata='floorSelect' :placeholder='"请选择"' style='margin-right:12px'></Select>
+            <el-input placeholder='请输入设备简称、品牌、型号、生产厂商搜索' size='small' prefix-icon='el-icon-search' v-model='searVal' style='width:310px'></el-input>
+        </div>
+        <div class='compute-table'>
+            <el-table
+                @row-click='innerVisible = true'
+                v-loading='loading'
+                :data='table3'
+                style='width: 100%'
+                :header-cell-style='{background:"rgba(245,246,247,1)",fontFamily:"MicrosoftYaHei",color:"rgba(100,108,115,1)",lineHeight:"16px",fontSize:"12px"}'
+            >
+                <el-table-column type='index' label='序号' width='50'></el-table-column>
+                <el-table-column prop='sbjc' :show-overflow-tooltip='true' label='设备简称'>
+                    <template slot-scope='{row}'>{{row.sbjc||'--'}}</template>
+                </el-table-column>
+                <el-table-column prop='sl' label='数量'>
+                    <template slot-scope='{row}'>{{row.sl||'--'}}</template>
+                </el-table-column>
+                <el-table-column prop='brand' label='品牌'>
+                    <template slot-scope='{row}'>{{row.brand||'--'}}</template>
+                </el-table-column>
+                <el-table-column prop='sbxh' label='型号'>
+                    <template slot-scope='{row}'>{{row.sbxh||'--'}}</template>
+                </el-table-column>
+                <el-table-column prop='floor' label='楼层'>
+                    <template slot-scope='{row}'>{{row.floor||'--'}}</template>
+                </el-table-column>
+                <el-table-column prop='manufacturer' :show-overflow-tooltip='true' label='生产厂商'>
+                    <template slot-scope='{row}'>{{row.manufacturer||'--'}}</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>
+        </div>
+        <el-dialog width='1200px' style='height:80%' title='设备清单' :visible.sync='innerVisible' append-to-body>
+            <detail></detail>
+        </el-dialog>
+    </div>
+</template>
+
+<script>
+import Select from '@/components/Select/Select.vue'
+import { mapGetters } from 'vuex'
+import Detail from './detail'
+
+export default {
+    props: ['table3', 'total', 'page', 'size', 'loading'],
+    data() {
+        return {
+            searVal: '',
+            innerVisible: true
+        }
+    },
+    computed: {
+        ...mapGetters(['floorSelect'])
+    },
+    components: { Select, Detail },
+    methods: {
+        pageChanged(page) {
+            this.$emit('Index2Emit', page)
+        }
+    },
+    mounted() {}
+}
+</script>
+<style lang="less" scoped>
+</style>
+<style lang="less">
+.compute-item {
+    .compute-center {
+        display: flex;
+        align-items: center;
+        margin-bottom: 12px;
+    }
+    .foot {
+        height: 32px;
+        display: flex;
+        justify-content: flex-end;
+        margin-top: 28px;
+    }
+}
+</style>

+ 89 - 0
src/views/room/room4.vue

@@ -0,0 +1,89 @@
+<template>
+    <div class='compute-item'>
+        <div class='compute-center'>
+            <el-date-picker size='small' v-model='value1' type='date' placeholder='填报时间' style='margin-right:12px;width:150px'></el-date-picker>
+            <el-date-picker size='small' v-model='value1' type='date' placeholder='验收时间' style='margin-right:12px;width:150px'></el-date-picker>
+            <Select width='146' tipPlace='top' caption='是否更换:' :selectdata='dataSelect2' :placeholder='"请选择"' style='margin-right:12px'></Select>
+            <el-input placeholder='请输入设备名称、设备编号、重要事项记录、描述工单编号搜索' size='small' prefix-icon='el-icon-search' v-model='searVal' style='width:410px'></el-input>
+        </div>
+        <div class='compute-table'>
+            <el-table
+                v-loading='loading'
+                :data='table4'
+                style='width: 100%'
+                :header-cell-style='{background:"rgba(245,246,247,1)",fontFamily:"MicrosoftYaHei",color:"rgba(100,108,115,1)",lineHeight:"16px",fontSize:"12px"}'
+            >
+                <el-table-column type='index' label='序号' width='50'></el-table-column>
+                <el-table-column prop='lb' label='设备名称'></el-table-column>
+                <el-table-column prop='sl' label='设备编号'></el-table-column>
+                <el-table-column prop='unit' label='重要事项记录' min-width='110'></el-table-column>
+                <el-table-column prop='brand' label='描述'></el-table-column>
+                <el-table-column prop='brand' label='更换配件信息' align='center'>
+                    <el-table-column prop='brand' label='是/否更换'></el-table-column>
+                    <el-table-column prop='brand' label='配件名称型号' min-width='110'></el-table-column>
+                    <el-table-column prop='brand' label='数量'></el-table-column>
+                    <el-table-column prop='brand' label='费用(万元)' min-width='100'></el-table-column>
+                    <el-table-column prop='brand' label='费用出处'></el-table-column>
+                </el-table-column>
+                <el-table-column prop='brand' label='现场照片'></el-table-column>
+                <el-table-column prop='brand' label='填报时间'></el-table-column>
+                <el-table-column prop='brand' label='验收时间'></el-table-column>
+                <el-table-column prop='brand' label='工单编号'></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>
+        </div>
+    </div>
+</template>
+<script>
+import Select from '@/components/Select/Select.vue'
+
+export default {
+    props: ['table4', 'total', 'page', 'size', 'loading'],
+    data() {
+        return {
+            value1: '',
+            dataSelect2: [
+                { id: 'test1', name: '选择项' },
+                { id: 'test2', name: '单平米' },
+                { id: 'test3', name: '下级分项' },
+                { id: 'test4', name: '滑动平均滑动平均' }
+            ],
+            searVal: ''
+        }
+    },
+    components: { Select },
+    methods: {
+        pageChanged(page) {
+            this.page = page
+            this.$emit('Index3')
+        }
+    }
+}
+</script>
+<style lang="less" scoped>
+</style>
+<style lang="less">
+.compute-item {
+    .compute-center {
+        display: flex;
+        align-items: center;
+        margin-bottom: 12px;
+    }
+    .foot {
+        height: 32px;
+        display: flex;
+        justify-content: flex-end;
+        margin-top: 28px;
+    }
+}
+</style>

+ 103 - 0
src/views/room/room5.vue

@@ -0,0 +1,103 @@
+<template>
+    <div class='compute-item'>
+        <div class='compute-center'>
+            <el-date-picker size='small' v-model='value1' type='date' style='margin-right:12px;width:140px' placeholder='开始时间'></el-date-picker>
+            <el-date-picker size='small' v-model='value1' type='date' style='margin-right:12px;width:140px' placeholder='完成时间'></el-date-picker>
+            <el-date-picker size='small' v-model='value1' type='date' style='margin-right:12px;width:140px' placeholder='填报时间'></el-date-picker>
+            <Select width='146' tipPlace='top' caption='是否正常:' :selectdata='dataSelect2' :placeholder='"请选择"' style='margin-right:12px'></Select>
+            <Select width='146' tipPlace='top' caption='任务状态:' :selectdata='dataSelect2' :placeholder='"请选择"' style='margin-right:12px'></Select>
+        </div>
+        <div class='compute-center'>
+            <el-input
+                placeholder='请输入设备名称、设备编号、核心维保事项记录、任务编号、异常工单编号、描述搜索'
+                size='small'
+                prefix-icon='el-icon-search'
+                v-model='searVal'
+                style='width:540px;'
+            ></el-input>
+        </div>
+        <div class='compute-table'>
+            <el-table
+                v-loading='loading'
+                :data='table5'
+                style='width: 100%'
+                :header-cell-style='{background:"rgba(245,246,247,1)",fontFamily:"MicrosoftYaHei",color:"rgba(100,108,115,1)",lineHeight:"16px",fontSize:"12px"}'
+            >
+                <el-table-column type='index' label='序号' width='50'></el-table-column>
+                <el-table-column prop='lb' label='设备名称'></el-table-column>
+                <el-table-column prop='sl' label='设备编号'></el-table-column>
+                <el-table-column prop='unit' label='核心维保事项记录' min-width='130'></el-table-column>
+                <el-table-column prop='brand' label='现场照片'></el-table-column>
+                <el-table-column prop='brand' label='维保任务' align='center'>
+                    <el-table-column prop='brand' label='任务编号'></el-table-column>
+                    <el-table-column prop='brand' label='维保任务名称' min-width='100'></el-table-column>
+                    <el-table-column prop='brand' label='任务状态'></el-table-column>
+                    <el-table-column prop='brand' label='开始时间'></el-table-column>
+                    <el-table-column prop='brand' label='完成时间'></el-table-column>
+                    <el-table-column prop='brand' label='执行耗时(天)' min-width='130' :sortable='true'></el-table-column>
+                </el-table-column>
+                <el-table-column prop='brand' label='是否正常'></el-table-column>
+                <el-table-column prop='brand' label='异常工单' align='center'>
+                    <el-table-column prop='brand' label='异常工单编号' min-width='110'></el-table-column>
+                    <el-table-column prop='brand' label='描述'></el-table-column>
+                    <el-table-column prop='brand' label='填报时间'></el-table-column>
+                    <el-table-column prop='brand' label='验收时间'></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>
+        </div>
+    </div>
+</template>
+<script>
+import Select from '@/components/Select/Select.vue'
+
+export default {
+    props: ['table5', 'total', 'page', 'size', 'loading'],
+    data() {
+        return {
+            value1: '',
+            dataSelect2: [
+                { id: 'test1', name: '选择项' },
+                { id: 'test2', name: '单平米' },
+                { id: 'test3', name: '下级分项' },
+                { id: 'test4', name: '滑动平均滑动平均' }
+            ],
+            searVal: ''
+        }
+    },
+    components: { Select },
+    methods: {
+        pageChanged(page) {
+            this.page = page
+            this.$emit('Index4')
+        }
+    }
+}
+</script>
+<style lang="less" scoped>
+</style>
+<style lang="less">
+.compute-item {
+    .compute-center {
+        display: flex;
+        align-items: center;
+        margin-bottom: 12px;
+    }
+    .foot {
+        height: 32px;
+        display: flex;
+        justify-content: flex-end;
+        margin-top: 28px;
+    }
+}
+</style>