浏览代码

feat title右侧icon逻辑初步修改

yunxing 4 年之前
父节点
当前提交
5311b37535
共有 2 个文件被更改,包括 301 次插入56 次删除
  1. 285 15
      src/views/equipment/eqDialog.vue
  2. 16 41
      src/views/equipment/table/recordDialog.vue

+ 285 - 15
src/views/equipment/eqDialog.vue

@@ -7,13 +7,8 @@
                 <span class='title-name'>{{systemName}}-{{dialogInfo.label}}</span>
                 <!-- 2020-7-12 查看图纸时 隐藏图标(查看入口) -->
                 <!-- v-if='dialogInfo.id.slice(2,4)!="QD" && dialogInfo.id.slice(2,4)!="YL" && dialogInfo.id.slice(0,4)!="GJSP"' -->
-                <img
-                    v-if='dialogInfo.id.slice(2,4)!="QD" && dialogInfo.id.slice(2,4)!="YL" && dialogInfo.id.slice(0,4)!="GJSP" && dialogInfo.label !== "查看图纸"'
-                    src='../../assets/imgs/zy2.png'
-                    @click='visibalBox'
-                    style='margin-top:-4px;'
-                    alt
-                />
+                <!-- v-if='dialogInfo.id.slice(2,4)!="QD" && dialogInfo.id.slice(2,4)!="YL" && dialogInfo.id.slice(0,4)!="GJSP" && dialogInfo.label !== "查看图纸"' -->
+                <img v-if='showImg' src='../../assets/imgs/zy2.png' @click='visibalBox' style='margin-top:-4px;' alt />
             </div>
             <!-- 没有tab的页面 -->
             <div v-if='Object.keys(dialogInfo).length>0 && dialogInfo.children.length==0' style='padding-top:16px;height:100%'>
@@ -78,15 +73,53 @@
                             :size='10'
                         ></wb-table>
                         <!-- 日常维保表格 -->
-                        <rcwb-table :key='`rcwb${key}`' v-else-if='value.id=="RB"' :smsxt='smsxt' :tabLabel='tabLabel' :diff='diff' :assetnum='""' :size='10'></rcwb-table>
+                        <rcwb-table
+                            :key='`rcwb${key}`'
+                            v-else-if='value.id=="RB"'
+                            :smsxt='smsxt'
+                            :tabLabel='tabLabel'
+                            :diff='diff'
+                            :assetnum='""'
+                            :size='10'
+                        ></rcwb-table>
                         <!-- 重要维修的表格 -->
-                        <wx-table :key='`wx${key}`' v-else-if='value.id.slice(2,4)=="WX"' :smsxt='smsxt' :tabLabel='tabLabel' :assetnum='""' :diff='diff' :size='10'></wx-table>
+                        <wx-table
+                            :key='`wx${key}`'
+                            v-else-if='value.id.slice(2,4)=="WX"'
+                            :smsxt='smsxt'
+                            :tabLabel='tabLabel'
+                            :assetnum='""'
+                            :diff='diff'
+                            :size='10'
+                        ></wx-table>
                         <!-- 日常维修的表格 -->
-                        <rcwx-table :key='`rcwx${key}`' v-else-if='value.id=="RX"' :smsxt='smsxt' :tabLabel='tabLabel' :diff='diff' :assetnum='""' :size='10'></rcwx-table>
+                        <rcwx-table
+                            :key='`rcwx${key}`'
+                            v-else-if='value.id=="RX"'
+                            :smsxt='smsxt'
+                            :tabLabel='tabLabel'
+                            :diff='diff'
+                            :assetnum='""'
+                            :size='10'
+                        ></rcwx-table>
                         <!-- 专维 -->
-                        <zw-table :key='`zw${key}`' v-else-if='value.id.slice(2,4)=="ZW"' :smsxt='smsxt' :tabLabel='tabLabel' :diff='difference' :major='dialogInfo.id'></zw-table>
+                        <zw-table
+                            :key='`zw${key}`'
+                            v-else-if='value.id.slice(2,4)=="ZW"'
+                            :smsxt='smsxt'
+                            :tabLabel='tabLabel'
+                            :diff='difference'
+                            :major='dialogInfo.id'
+                        ></zw-table>
                         <!-- 其他 -->
-                        <other-table :key='`other${key}`' v-else-if='value.id.slice(2,4)=="QT"' ref='qtList' :tabLabel='tabLabel' :smsxt='smsxt' :major='dialogInfo.id'></other-table>
+                        <other-table
+                            :key='`other${key}`'
+                            v-else-if='value.id.slice(2,4)=="QT"'
+                            ref='qtList'
+                            :tabLabel='tabLabel'
+                            :smsxt='smsxt'
+                            :major='dialogInfo.id'
+                        ></other-table>
                     </el-tab-pane>
                     <template v-for='(value,index) in dialogInfo.children'>
                         <template v-for='(eve,index1) in tabCount'>
@@ -118,7 +151,7 @@
                 </el-tabs>
             </div>
         </el-dialog>
-        <!--记录表格 -->
+        <!--记录表格,点击弹窗title右侧小图标,展示的表格 -->
         <record-dialog ref='Dialog'></record-dialog>
     </div>
 </template>
@@ -137,6 +170,7 @@ import recordDialog from './table/recordDialog'
 import djspTable from './table/djspTable'
 import { queryPic, queryTab } from '@/api/public.js'
 import fenbuPic from './fenbuPic'
+import { system as systemData } from '@/utils/plugins/components.js'
 export default {
     props: ['systemName', 'smsxt', 'info'],
     data() {
@@ -155,8 +189,223 @@ export default {
             imgInfo: {},
             showFenbuPic: false, //显示楼层分布组件
             key: 1, //弹窗key值,重新渲染table组件
+            //  code字典,打开主要设备维保/维修事项;专维及其他事项 三个tab 中, title右侧小图标使用
+            /** 最后取值 -1:不显示右侧图标; 1:   2:   ...  */
+            codeDict: [
+                {
+                    /** 供电系统 */
+                    1001: [
+                        {
+                            主要设备维保事项: {
+                                配电室内重要维保: 1,
+                                配电室外重要维保: 2,
+                                日常维保事项: -1,
+                            },
+                        },
+                        {
+                            主要设备维修事项: {
+                                配电室内重要维修: 1,
+                                配电室外重要维修: 2,
+                                日常维修事项: -1,
+                            },
+                        },
+                        {
+                            专维及其他事项: {
+                                专项维修: 1,
+                                其他事项: 1,
+                            },
+                        },
+                    ],
+                },
+                {
+                    /** 暖通系统 */
+                    1002: [
+                        {
+                            主要设备维保事项: {
+                                冷源机房内重要维保: 1,
+                                冷源机房外重要维保: 2,
+                                日常维保事项: -1,
+                            },
+                        },
+                        {
+                            主要设备维修事项: {
+                                冷源机房内重要维修: 1,
+                                冷源机房外重要维修: 2,
+                                日常维修事项: -1,
+                            },
+                        },
+                        {
+                            专维及其他事项: {
+                                专项维修: 1,
+                                其他事项: 1,
+                            },
+                        },
+                    ],
+                },
+                {
+                    /** 消防系统 */
+                    1003: [
+                        {
+                            主要设备维保事项: {
+                                '中控室/消防泵房内重要维保': 1,
+                                '中控室/消防泵房外重要维保': 2,
+                                日常维保事项: -1,
+                            },
+                        },
+                        {
+                            主要设备维修事项: {
+                                '中控室/消防泵房内重要维修': 1,
+                                '中控室/消防泵房外重要维修': 2,
+                                日常维修事项: -1,
+                            },
+                        },
+                        {
+                            专维及其他事项: {
+                                专项维修: 1,
+                                其他事项: 1,
+                            },
+                        },
+                    ],
+                },
+                {
+                    /** 弱电系统 */
+                    1004: [
+                        {
+                            主要设备维保事项: {
+                                慧云机房内重要维保: 1,
+                                慧云机房外重要维保: 2,
+                                日常维保事项: -1,
+                            },
+                        },
+                        {
+                            主要设备维修事项: {
+                                慧云机房内重要维修: 1,
+                                慧云机房外重要维修: 2,
+                                日常维修事项: -1,
+                            },
+                        },
+                        {
+                            专维及其他事项: {
+                                专项维修: 1,
+                                其他事项: 1,
+                            },
+                        },
+                    ],
+                },
+                {
+                    /** 给排水 */
+                    1005: [
+                        {
+                            主要设备维保事项: {
+                                给水系统重要维保: 1,
+                                排水系统重要维保: 2,
+                                日常维保事项: -1,
+                            },
+                        },
+                        {
+                            主要设备维修事项: {
+                                给水系统重要维修: 1,
+                                排水系统重要维修: 2,
+                                日常维修事项: -1,
+                            },
+                        },
+                        {
+                            专维及其他事项: {
+                                给水系统专项维修: 1,
+                                排水系统专项维修: 1,
+                                其他事项: 1,
+                            },
+                        },
+                    ],
+                },
+                {
+                    /** 电梯系统 */
+                    1006: [
+                        {
+                            主要设备维保事项: {
+                                重要维保事项: 1,
+                                日常维保事项: 2,
+                            },
+                        },
+                        {
+                            主要设备维修事项: {
+                                重要维修事项: 1,
+                                日常维修事项: 2,
+                            },
+                        },
+                        {
+                            专维及其他事项: {
+                                专项维修: 1,
+                                其他事项: 1,
+                            },
+                        },
+                    ],
+                },
+                {
+                    /** 燃气系统 */
+                    1007: [
+                        {
+                            主要设备维保事项: {
+                                重要维保事项: 1,
+                                日常维保事项: 1,
+                            },
+                        },
+                        {
+                            主要设备维修事项: {
+                                重要维修事项: 1,
+                                日常维修事项: 1,
+                            },
+                        },
+                        {
+                            专维及其他事项: {
+                                专项维修: 1,
+                                其他事项: 1,
+                            },
+                        },
+                    ],
+                },
+                {
+                    /** 土建装饰 */
+                    1008: [
+                        {
+                            维保事项: {
+                                重要维保事项: 1,
+                                日常维保事项: 1,
+                            },
+                        },
+                        {
+                            维修事项: {
+                                重要维修事项: 1,
+                                日常维修事项: 1,
+                            },
+                        },
+                        {
+                            专维及其他事项: {
+                                专项维修: 1,
+                                其他事项: 1,
+                            },
+                        },
+                    ],
+                },
+            ],
         }
     },
+    computed: {
+        showImg: function () {
+            let arr = ['QD', 'YL', 'GJSP']
+            //  供电,暖通,消防,弱电,给排水系统的 记录表格中的 日常维保/维修事项 页签,  不显示icon
+            let flag = true
+            let system = ['1001', '1002', '1003', '1004', '1005']
+            let labelArr = ['日常维保事项', '日常维修事项']
+            if (system.indexOf(this.smsxt) !== -1 && labelArr.indexOf(this.tabLabel) !== -1) {
+                flag = false
+            } else {
+                flag = true
+            }
+            // TODO: title右侧 icon入口
+            return arr.indexOf(this.dialogInfo.id.slice(2, 4)) === -1 && this.dialogInfo.label !== '查看图纸'  //&& flag
+        },
+    },
     mounted() {},
     components: {
         tableList,
@@ -243,9 +492,30 @@ export default {
             }
             this.tabLabel = tab.label
         },
-
+        /**
+         * @description 点击title右侧小图标,显示记录表格,
+         *
+         */
         visibalBox() {
-            this.$refs.Dialog.open(this.smsxt)
+            // 进入记录表格弹窗,没有tabLable时,默认使用第一个table的label
+            if (!this.tabLabel && this?.dialogInfo?.children) {
+                this.tabLabel = this.dialogInfo.children[0].label
+            }
+            const system_code = this.smsxt
+            // 主要设备维修事项 XFWX 1003
+            // 中控室/消防泵房内重要维修
+            // 子系统
+            let system = systemData.filter((v) => v.smsxt === this.smsxt)[0]
+            // 子系统tab --> 维修 维保,专维
+            let tabData = system.children.filter((v) => v.label === this.dialogInfo.label)[0]
+            // 获取到diff
+            const diff = tabData.children.filter((v) => v.label === this.tabLabel)[0].param.diff
+            // 打开记录表格
+            /**
+             * @param { string } system_code 八大系统code
+             * @param { string } diff 记录表格,筛选使用
+             */
+            this.$refs.Dialog.open({ system_code, diff })
         },
         //系统原理图接口
         initImage(typecode) {

+ 16 - 41
src/views/equipment/table/recordDialog.vue

@@ -36,7 +36,7 @@ export default {
             visible: false,
             major: '',
             tabName: '',
-            tableData: []
+            tableData: [],
         }
     },
     computed: {
@@ -53,75 +53,50 @@ export default {
             } else {
                 return 600
             }
-        }
+        },
     },
     methods: {
-        open(smsxt) {
-            // console.log(major)
-            // if (major.slice(2, 4) == 'WX') {
-            //     this.tabName = '维修'
-            // } else if (major.slice(2, 4) == 'WB') {
-            //     this.tabName = '维保'
-            // } else if (major.slice(2, 4) == 'ZW') {
-            //     this.tabName = '专维'
-            // } else if (major.slice(2, 4) == 'QT') {
-            //     this.tabName = '其他'
-            // }
-            // if (major.slice(0, 2) == 'GD') {
-            //     this.major = '供电系统'
-            // } else if (major.slice(0, 2) == 'XF') {
-            //     this.major = '消防系统'
-            // } else if (major.slice(0, 2) == 'GPS') {
-            //     this.major = '给排水系统'
-            // } else if (major.slice(0, 2) == 'DT') {
-            //     this.major = '电梯系统'
-            // } else if (major.slice(0, 2) == 'RQ') {
-            //     this.major = '燃气系统'
-            // } else if (major.slice(0, 2) == 'RD') {
-            //     this.major = '弱电系统'
-            // } else if (major.slice(0, 2) == 'NT') {
-            //     this.major = '暖通系统'
-            // } else if (major.slice(0, 2) == 'TJ') {
-            //     this.major = '土建装饰'
-            // }
+        open({ system_code, diff }) {
             this.visible = true
-            this.getRecordList(smsxt)
+            this.getRecordList({ system_code, diff })
         },
         objectSpanMethod({ row, column, rowIndex, columnIndex }) {
             if (columnIndex === 0) {
                 if (row.col0Count > 0) {
                     return {
                         rowspan: row.col0Count,
-                        colspan: 1
+                        colspan: 1,
                     }
                 }
                 return {
                     rowspan: 0,
-                    colspan: 0
+                    colspan: 0,
                 }
             }
         },
-        getRecordList(smsxt) {
+        getRecordList({ system_code, diff }) {
             let getParams = {
-                system_code: smsxt,
-                plazaId: this.$store.state.plazaId
+                system_code,
+                // TODO: 添加diff字段
+                // diff,
+                plazaId: this.$store.state.plazaId,
             }
-            queryRecord({ getParams }).then(res => {
+            queryRecord({ getParams }).then((res) => {
                 this.tableData = []
-                res.data.forEach(i => {
+                res.data.forEach((i) => {
                     i.children.forEach((j, index) => {
                         this.tableData.push({
                             smswz: i.smswz,
                             smsasset: j.smsasset,
                             col0Count: index === 0 ? i.children.length : 0,
-                            children: j.children
+                            children: j.children,
                         })
                     })
                 })
             })
-        }
+        },
     },
-    mounted() {}
+    mounted() {},
 }
 </script>
 <style lang="less" scoped>