Browse Source

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

fujunwen 4 năm trước cách đây
mục cha
commit
aaeb6f000a

+ 54 - 4
README.md

@@ -2,25 +2,25 @@
 
 ## Project setup
 
-```
+``` 
 npm install
 ```
 
 ### Compiles and hot-reloads for development
 
-```
+``` 
 npm run serve
 ```
 
 ### Compiles and minifies for production
 
-```
+``` 
 npm run build
 ```
 
 ### Lints and fixes files
 
-```
+``` 
 npm run lint
 ```
 
@@ -39,3 +39,53 @@ See [Configuration Reference](https://cli.vuejs.org/config/).
 ### 机房区域-图片预览
 
 #### <pic-large :imgUrl='imgUrl'></pic-large> imgUrl 图片数组
+
+### 打包发版
+
+1. 阿里云
+
+阿里与打包
+
+``` shell
+ npm run build:aly
+```
+
+``` shell 
+node version # 在打包后的wandaBmGuide文件夹中生成version.txt git版本信息文件
+
+``` 
+阿里云发版
+
+``` shell
+npm run publish 
+```
+
+2. 测试环境
+
+打包
+
+``` shell
+npm run build:wanda_dev
+```
+
+``` shell 
+node version # 在打包后的wandaBmGuide文件夹中生成version.txt git版本信息文件
+
+``` 
+发版
+远程跳板机进行发版
+
+3. 生产环境
+
+打包
+
+``` shell
+npm run build:wanda_build
+```
+
+``` shell 
+node version # 在打包后的wandaBmGuide文件夹中生成version.txt git版本信息文件
+
+```
+发版
+远程跳板机进行发版

+ 12 - 2
package.json

@@ -2,12 +2,21 @@
     "name": "wandaspecificationofsanming",
     "version": "0.1.0",
     "private": true,
+    "remote": {
+        "host": "60.205.177.43",
+        "path": "/root/apps/web/wandaBmGuide",
+        "user": "root",
+        "password": "WWW.sagacloud.mail@2020",
+        "local": "wandaBmGuide"
+    },
     "scripts": {
         "serve": "cross-env NODE_ENV=serve vue-cli-service serve --open",
         "build:aly": "cross-env NODE_ENV=aly_dev vue-cli-service build",
         "build:wanda_dev": "cross-env NODE_ENV=wanda_dev vue-cli-service build",
         "build:wanda_build": "cross-env NODE_ENV=wanda_build vue-cli-service build",
-        "lint": "vue-cli-service lint"
+        "lint": "vue-cli-service lint",
+        "version": "node version.js",
+        "publish": "node publish.js"
     },
     "dependencies": {
         "@mapbox/geojson-merge": "^1.1.1",
@@ -60,6 +69,7 @@
         "typescript": "~3.8.3",
         "vue-property-decorator": "^8.4.2",
         "vue-svg-loader": "^0.15.0",
-        "vue-template-compiler": "^2.6.10"
+        "vue-template-compiler": "^2.6.10",
+        "node-ssh": "^6.0.0"
     }
 }

+ 28 - 0
publish.js

@@ -0,0 +1,28 @@
+const Client = require('node-ssh')
+const ssh = new Client()
+
+ssh.connect({
+    host: process.env.npm_package_remote_host,
+    port: '22',
+    username: process.env.npm_package_remote_user,
+    password: process.env.npm_package_remote_password,
+}).then(() => {
+    const failedList = []
+    ssh.putDirectory(process.env.npm_package_remote_local, process.env.npm_package_remote_path, {
+        recursive: true,
+        concurrency: 1,
+        tick: function(localPath, remotePath, error) {
+            if (error) {
+                failedList.push(localPath)
+            }
+        },
+    }).then((status) => {
+        if (failedList.length > 0) {
+            console.log('发布失败')
+            console.log('failed transfers', failedList.join(', '))
+        } else {
+            console.log(status ? '发布成功' : '发布失败')
+        }
+        ssh.dispose()
+    })
+})

+ 2 - 2
src/App.vue

@@ -18,8 +18,8 @@ export default {
             canvasID: '',
             key: '23f30a832a862c58637a4aadbf50a566',
             appName: '万达可视化系统',
-            mapServerURL: `http://map.wanda.cn/editor`,
-            mapthemeUrl: `http://map.wanda.cn/editor/webtheme`,
+            mapServerURL: `http://mapapp.wanda.cn/editor`,
+            mapthemeUrl: `http://mapapp.wanda.cn/editor/webtheme`,
             isMounted: false,
             plazaIds: '',
         }

+ 2 - 2
src/assets/css/rotation.css

@@ -35,7 +35,7 @@
   width: 106px;
   height: 32px;
   background: linear-gradient(180deg, #369cf7 0%, #025baa 50%);
-  opacity: 0.5;
+  /* opacity: 0.5; */
   font-size: 14px;
   color: #ffffff;
   display: flex;
@@ -43,7 +43,7 @@
   justify-content: center;
   cursor: pointer;
   border-radius: 4px;
-  cursor: not-allowed;
+  /* cursor: not-allowed; */
 }
 .overview .view-title .view-button img {
   display: inline-block;

+ 2 - 2
src/assets/css/rotation.less

@@ -34,7 +34,7 @@
             width: 106px;
             height: 32px;
             background: linear-gradient(180deg, rgba(54, 156, 247, 1) 0%, rgba(2, 91, 170, 1) 50%);
-            opacity: 0.5;
+            // opacity: 0.5;
             font-size: 14px;
             color: #ffffff;
             display: flex;
@@ -42,7 +42,7 @@
             justify-content: center;
             cursor: pointer;
             border-radius: 4px;
-            cursor: not-allowed;
+            // cursor: not-allowed;
             img {
                 display: inline-block;
                 height: 16px;

+ 1 - 1
src/components/floorMap/index.vue

@@ -126,7 +126,7 @@ export default {
         return {
             appName: '万达可视化系统',
             key: '23f30a832a862c58637a4aadbf50a566',
-            mapServerURL: `http://map.wanda.cn/editor`,
+            mapServerURL: `http://mapapp.wanda.cn/editor`,
             canvasWidth: 600,
             canvasHeight: 800,
             loading: false, // 限制重复查询

+ 2 - 1
src/store/index.js

@@ -8,7 +8,8 @@ import router from '../router'
 Vue.use(Vuex)
 export default new Vuex.Store({
     state: {
-        ssoToken: 'admin:liujiandong',
+        // 阿里云环境,开发环境使用 admin:liujiandong ,测试环境,生产环境使用null
+        ssoToken: ['aly_dev', 'serve'].includes(process.env.NODE_ENV) ? 'admin:liujiandong' : null,
         // ssoToken: '',
         // ssoToken: null,
         plazaName: '',

+ 2 - 1
src/utils/format.js

@@ -24,7 +24,8 @@ const number_format = (number, decimals, dec_point, thousands_sep) => {
         s = "",
         toFixedFix = function(n, prec) {
             var k = Math.pow(10, prec)
-            return "" + Math.ceil(n * k) / k
+            // TODO: 四舍五入 还是进位
+            return "" + Math.round(n * k) / k
         }
 
     s = (prec ? toFixedFix(n, prec) : "" + Math.round(n)).split(".")

+ 6 - 0
src/utils/plugins/components.js

@@ -743,6 +743,12 @@ var system = [
                     ],
                 },
                 {
+                    label: '主要材料清单',
+                    id: 'TJQD',
+                    children: [],
+                    param: { tab_code: '' },
+                },
+                {
                     label: '维保事项',
                     id: 'TJWB',
                     children: [

+ 8 - 5
src/views/equipment/eqDialog.vue

@@ -5,9 +5,12 @@
             <!-- 除了清单和原理页面,别的都有记录事项detailDialog页面 -->
             <div slot='title' class='header-title' v-if='Object.keys(dialogInfo).length>0'>
                 <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"' -->
-                <!-- v-if='dialogInfo.id.slice(2,4)!="QD" && dialogInfo.id.slice(2,4)!="YL" && dialogInfo.id.slice(0,4)!="GJSP" && dialogInfo.label !== "查看图纸"' -->
+                <!-- icon图标,显示规则 -->
+                <!-- // title右侧 icon入口
+                // 1. 主要设备清单, 系统原理图 不显示 icon
+                // 2. 供电系统 楼层电井(间)控制商铺范围清单(GJSP)不显示icon
+                // 3. 查看图纸 不显示icon
+                // 4. 点开 主要设备维保事项/维修事项, 专维及其他事项 中的日常维保事项,日常维修事项 不显示 icon-->
                 <img v-if='showImg' src='../../assets/imgs/zy2.png' @click='visibalBox' class='title-img' alt />
             </div>
             <!-- 没有tab的页面 -->
@@ -17,7 +20,7 @@
                     <rotation :key='`rotaion_${rotationKey}`' type='3' v-if='rotationImg.length>0' :size='sizePic' :rotationImg='rotationImg'></rotation>
                 </div>
                 <!-- 土建装饰主要材料清单 -->
-                <!-- <tj-table v-else-if='dialogInfo.id.slice(0,4)=="TJQD"' :param='param'></tj-table> -->
+                <tj-table v-else-if='dialogInfo.id.slice(0,4)=="TJQD"' :param='param'></tj-table>
                 <!-- 主要设备清单 标准设备表格 -->
                 <!-- 内部设备清单 -->
                 <standTable
@@ -236,7 +239,7 @@ export default {
     methods: {
         //打开弹窗
         showModal(item) {
-            // console.log(item)
+            console.log(item)
             this.visible = true
             this.dialogInfo = item
             if (Object.keys(this.dialogInfo).length > 0 && this.dialogInfo.children.length > 0) {

+ 25 - 25
src/views/equipment/index.vue

@@ -14,15 +14,15 @@
                 <ul v-for='(eve,index) in everySystem' :key='"o"+index'>
                     <li class='li-style' :class='{"is-active": eve.id}' @click='dialogVisible(eve)'>
                         <span class='circle'></span>
-                        <el-button
+                        <!-- <el-button
                             type='text'
                             disabled
                             class='hanzi2'
                             title='数字化移交系统上线后可用'
                             v-if='eve.label=="查看图纸"'
                             style='text-align:left'
-                        >{{eve.label}}</el-button>
-                        <span class='hanzi' v-else>{{eve.label}}</span>
+                        >{{eve.label}}</el-button>-->
+                        <span class='hanzi'>{{eve.label}}</span>
                     </li>
                 </ul>
             </div>
@@ -164,30 +164,30 @@ export default {
             // console.log('dialogVisible')
             console.log(eve)
             // 点击后显示弹窗组件
-            if (eve.label != '查看图纸') {
-                this.ShowDialog = true
-                this.$nextTick(() => {
-                    this.$refs.dialog.showModal(eve)
-                })
-                // pvuv接口记录
-                // 发送pvUv
-                const data = {
-                    plazaId: this.plazaId,
-                }
+            // if (eve.label != '查看图纸') {
+            this.ShowDialog = true
+            this.$nextTick(() => {
+                this.$refs.dialog.showModal(eve)
+            })
+            // pvuv接口记录
+            // 发送pvUv
+            const data = {
+                plazaId: this.plazaId,
+            }
 
-                let postParams = {
-                    type: 'modal',
-                    target: eve.id,
-                    parameter: eve.label,
-                }
-                getPvUv(data, postParams)
-                    .then((res) => {
-                        console.log('pvuv', res)
-                    })
-                    .catch((res) => {
-                        console.log('error', res)
-                    })
+            let postParams = {
+                type: 'modal',
+                target: eve.id,
+                parameter: eve.label,
             }
+            getPvUv(data, postParams)
+                .then((res) => {
+                    console.log('pvuv', res)
+                })
+                .catch((res) => {
+                    console.log('error', res)
+                })
+            // }
         },
         /**
          * 关闭弹窗后,重新渲染 楼层组件

+ 132 - 35
src/views/equipment/table/lookPageTable.vue

@@ -2,37 +2,44 @@
 <template>
     <div class='look-page'>
         <div class='eq-list-top'>
+            <Select @change='getList(true)' v-model='floor' width='160' tipPlace='top' caption='楼层 :' :selectdata='floorData'></Select>
             <el-input
-                placeholder='搜索文件名'
+                placeholder='搜索文件名/上传文件名'
                 size='small'
-                @keyup.enter.native='getList'
-                @blur="getList"
+                @keyup.enter.native='getList(true)'
+                @blur='getList(true)'
                 clearable
                 prefix-icon='el-icon-search'
                 v-model='keyword'
-                style='width:192px;margin-right:12px'
+                style='width:220px;margin-left:12px'
             ></el-input>
-            <Select @change='getList' v-model='floor' width='180' tipPlace='top' caption='楼层 :' :selectdata='floorSelect'></Select>
-            <!-- <Select @change='getList' v-model='fileType' width='180' tipPlace='top' caption='文件类型:' :selectdata='files'></Select> -->
         </div>
         <el-table :data='tableData' style='width: 100%' :border='true'>
             <el-table-column type='index' label='序号' width='60' :index='indexMethod'></el-table-column>
-            <el-table-column prop='lb' label='分类' width='300' show-overflow-tooltip resizable>
-                <template slot-scope='{row}'>{{row.assetnum || '--'}}</template>
+            <el-table-column prop='lb' label='楼层' width='100' show-overflow-tooltip resizable>
+                <template slot-scope='{row}'>{{row.floor || '--'}}</template>
             </el-table-column>
-            <el-table-column prop='sl' label='文件名称' show-overflow-tooltip resizable>
-                <template slot-scope='{row}'>{{row.assetnum || '--'}}</template>
+            <el-table-column prop='lb' label='文件目录' width='300' show-overflow-tooltip resizable>
+                <template slot-scope='{row}'>{{row.fileDir || '--'}}</template>
             </el-table-column>
-            <el-table-column prop='assetnum' label='文件类型' width='70' show-overflow-tooltip resizable>
-                <template slot-scope='{row}'>{{row.assetnum || '--'}}</template>
+            <el-table-column prop='sl' label='文件名' show-overflow-tooltip resizable>
+                <template slot-scope='{row}'>{{row.fileName || '--'}}</template>
+            </el-table-column>
+            <el-table-column prop='assetnum' label='文件类型' width='100' show-overflow-tooltip resizable>
+                <template slot-scope='{row}'>{{row.fileType || '--'}}</template>
             </el-table-column>
             <el-table-column prop='assetnum' label='上传文件名'>
-                <template slot-scope='{row}'>{{row.assetnum || '--'}}</template>
+                <template slot-scope='{row}'>{{row.uploadFileName || '--'}}</template>
             </el-table-column>
-            <el-table-column label='操作' width='70'>
+            <el-table-column label='操作' width='170'>
                 <template slot-scope='{row}'>
+                    <el-button type='text' size='mini' @click='handlePreview(row)'>
+                        <!-- <i class='el-icon-download'></i> -->
+                        预览
+                    </el-button>
                     <el-button type='text' size='mini' @click='handleDown(row)'>
-                        <i class='el-icon-download'></i>预览
+                        <!-- <i class='el-icon-download'></i> -->
+                        下载{{row.fileSize? `(${row.fileSize})` :''}}
                     </el-button>
                 </template>
             </el-table-column>
@@ -43,6 +50,7 @@
                 layout='prev, pager, next'
                 :total='total'
                 :page-size='size'
+                :current-page='page'
                 @prev-click='pageChanged'
                 @next-click='pageChanged'
                 @current-change='pageChanged'
@@ -53,51 +61,140 @@
 <script>
 import { queryEquipmentList } from '@/api/equipmentList.js'
 import { mapGetters } from 'vuex'
+import { random } from 'lodash'
 export default {
     data() {
         return {
-            tableData: [{ index: 1 }],
+            tableData: [],
+            floorData: [],
             total: 0,
-            currentPage: 1,
+            page: 1,
             size: 11,
             keyword: '',
-            floor: '',
+            floor: 'all',
             fileType: '',
-            files: []
+            files: [],
         }
     },
     props: ['major'],
     computed: {
-        ...mapGetters(['floorSelect'])
+        ...mapGetters(['floorSelect']),
     },
     methods: {
         //序号的方法
         indexMethod(index) {
-            return (this.currentPage - 1) * this.size + index + 1
+            return (this.page - 1) * this.size + index + 1
         },
+        /**
+         * 分页器选择页码
+         */
         pageChanged(page, size) {
-            this.currentPage = page
+            this.page = page
             this.getList()
         },
-        getList() {
+        /**
+         * 获取查看图纸列表
+         * @param { Boolean } initPage 是否重置页码, true是 false 否
+         *                    更改楼层,搜索文件名时,重置页码
+         */
+        getList(initPage) {
+            // 重置页码
+            if (initPage) {
+                this.total = 0
+                this.page = 1
+            }
             let postParams = {}
+            const { page, size, keyword, floor } = this
             let data = {
-                page: this.currentPage,
-                size: this.size,
-                plazaId: this.$store.state.plazaId,
-                major: this.major
+                page,
+                size,
+            }
+            console.log(data)
+            // 楼层不为全部时,上送楼层字段
+            if (floor !== 'all') {
+                postParams.floor = floor
+            }
+            // 搜索文件名/上传文件名
+            if (keyword) {
+                data.keyword = `${keyword}:fileName,uploadFileName;`
+            }
+            /**
+             * 模拟数据
+             */
+            let mockData = [
+                {
+                    floor: 'F1',
+                    fileDir: '03-MEP机电/02-EL电气',
+                    fileId: '123',
+                    fileName: 'F01层结构',
+                    fileType: 'pdf',
+                    fileSize: '99.2M',
+                    uploadFileName: '万达广场 地库电梯井施工图.dwg',
+                    fireUrl: 'xxxxx',
+                },
+                {
+                    floor: 'B2',
+                    fileDir: 'dist/test2',
+                    fileId: '123',
+                    fileName: '文件2',
+                    fileType: 'cad',
+                    fileSize: '1.3M',
+                    uploadFileName: '上传文件2',
+                    fireUrl: 'xxxxx',
+                },
+            ]
+            initPage && (this.total = random(15, 90))
+            let max = this.size - 2
+            if (this.page === Math.ceil(this.total / this.size)) {
+                max = (this.total % this.size) - 2
+            }
+            for (let index = 0; index < max; index++) {
+                mockData.push({})
+            }
+            this.tableData = mockData
+        },
+        /**
+         * 预览
+         */
+        handlePreview(row) {
+            window.open('http://szhyj.wanda.cn/dwg/index.html?fileId=123456')
+        },
+        /**
+         * 下载
+         */
+        handleDown(row) {
+            window.open('http://mapapp.wanda.cn/editor/fmap/1000772_54/1000772_54.fmap')
+        },
+        /**
+         * 页面窗口变化,更新 size值
+         * 不会实时重新渲染页面列表,只是适配不同宽度浏览器使用
+         */
+        handleResize() {
+            let width = document.body.clientWidth
+            if (width >= 1920) {
+                this.size = 15
+            } else if (width >= 1600) {
+                this.size = 14
+            } else {
+                this.size = 13
             }
-            queryEquipmentList({ data, postParams }).then(res => {
-                //console.log(res)
-                this.tableData = res.data.data
-                this.total = res.data.count
-            })
         },
-        handleDown() {}
+    },
+    created() {
+        // 楼层筛选下拉菜单
+        this.floorData = [{ id: 'all', name: '全部' }, ...this.floorSelect]
     },
     mounted() {
-        // this.getList()
-    }
+        // 根据分辨率更改size值
+        this.handleResize()
+        // 查询列表
+        this.getList()
+        // 监听resize事件
+        window.addEventListener('resize', this.handleResize)
+        this.$once('hook:beforeDestroy', () => {
+            window.removeEventListener('resize', this.handleResize)
+        })
+    },
 }
 </script>
 <style lang="less" scoped>

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

@@ -55,7 +55,7 @@
                     </el-table-column>
                 </el-table-column>
                 <el-table-column prop='zfje' label='金额(万元)' width='80' align='right'>
-                    <template slot-scope='{row}'>{{number_format(row.zfje,2) || '--'}}</template>
+                    <template slot-scope='{row}'>{{row.zfje || '--'}}</template>
                 </el-table-column>
                 <el-table-column prop='handledate' label='处理日期' width='130'>
                     <template slot-scope='{row}'>{{row.handledate?formatter(row.handledate): '--'}}</template>

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

@@ -62,7 +62,7 @@ export default {
             tableData: [],
             total: 0,
             currentPage: 1,
-            size: 13,
+            size: 10,
             lb: '',
             brand: ''
         }

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

@@ -90,7 +90,7 @@
                         <template slot-scope='{row}'>{{row.sl>=0?row.sl:'--'}}</template>
                     </el-table-column>
                     <el-table-column prop='cost' label='费用(万元)' show-overflow-tooltip resizable width='80' align='right'>
-                        <template slot-scope='{row}'>{{number_format(row.cost,2) || '--'}}</template>
+                        <template slot-scope='{row}'>{{row.cost || '--'}}</template>
                     </el-table-column>
                     <el-table-column prop='source' label='费用出处' show-overflow-tooltip resizable width='100'>
                         <template slot-scope='{row}'>{{row.source|| '--'}}</template>

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

@@ -3,7 +3,7 @@
     <div class='wx-list'>
         <div class='eq-list-top'>
             <el-input
-                placeholder='搜索设备名称或内码'
+                placeholder='搜索名称或内码'
                 size='small'
                 @keyup.enter.native='pageChanged(1)'
                 @blur='pageChanged(1)'
@@ -67,11 +67,12 @@
         <div ref='tableBox'>
             <el-table :data='tableData' :border='true' style='width: 100%' @row-click='innerTable'>
                 <el-table-column type='index' label='序号' width='60' :index='indexMethod'></el-table-column>
-                <el-table-column prop='sbmc' label='设备名称' show-overflow-tooltip resizable min-width='460'>
-                    <template slot-scope='{row}'>{{row.sbmc || '--'}}</template>
+                <!-- TODO: 设备/位置名称,内码修改ß -->
+                <el-table-column prop='sbmc' label='设备名称/位置名称' show-overflow-tooltip resizable min-width='460'>
+                    <template slot-scope='{row}'>{{row.sbmc || row.wzjc || '--'}}</template>
                 </el-table-column>
-                <el-table-column prop='assetnum' label='设备内码' show-overflow-tooltip resizable width='80'>
-                    <template slot-scope='{row}'>{{row.assetnum || '--'}}</template>
+                <el-table-column prop='assetnum' label='设备内码/位置内码' show-overflow-tooltip resizable width='140'>
+                    <template slot-scope='{row}'>{{row.assetnum || row.location || '--'}}</template>
                 </el-table-column>
                 <el-table-column prop='matters' label='事项类型' width='180' show-overflow-tooltip resizable>
                     <template slot-scope='{row}'>{{row.matters || '--'}}</template>
@@ -90,7 +91,7 @@
                         <template slot-scope='{row}'>{{row.sl>=0?row.sl:'--'}}</template>
                     </el-table-column>
                     <el-table-column prop='cost' label='费用(万元)' width='80' align='right' show-overflow-tooltip resizable>
-                        <template slot-scope='{row}'>{{number_format(row.cost,2) || '--'}}</template>
+                        <template slot-scope='{row}'>{{row.cost || '--'}}</template>
                     </el-table-column>
                     <el-table-column prop='source' label='费用出处' show-overflow-tooltip resizable width='100'>
                         <template slot-scope='{row}'>{{row.source || '--'}}</template>
@@ -243,7 +244,8 @@ export default {
             //输入框搜索
             getParams.data.keyword = ''
             if (this.sbjc) {
-                getParams.data.keyword += `${this.sbjc}:sbmc,assetnum;`
+                // TODO: 位置名称,位置内码
+                getParams.data.keyword += `${this.sbjc}:sbmc,assetnum,wzjc,location;`
             }
             if (this.matters) {
                 getParams.data.keyword += `${this.matters}:description,matters;`

+ 3 - 3
src/views/equipment/table/zwTable.vue

@@ -96,10 +96,10 @@
                     <template slot-scope='{row}'>{{row.status || '--'}}</template>
                 </el-table-column>
                 <el-table-column prop='zfje' label='结算金额(元)' show-overflow-tooltip resizable width='105'>
-                    <template slot-scope='{row}'>{{number_format(row.zfje,2)|| '--'}}</template>
+                    <template slot-scope='{row}'>{{row.zfje || '--'}}</template>
                 </el-table-column>
-                <el-table-column prop='xlcfwz' label='资料存放位置' show-overflow-tooltip resizable width='100'>
-                    <template slot-scope='{row}'>{{row.xlcfwz || '--'}}</template>
+                <el-table-column prop='zlcfwz' label='资料存放位置' show-overflow-tooltip resizable width='200'>
+                    <template slot-scope='{row}'>{{row.zlcfwz || '--'}}</template>
                 </el-table-column>
             </el-table>
         </div>

+ 2 - 2
src/views/other/gcfzDialog.vue

@@ -68,7 +68,7 @@ export default {
         },
         changeEmit(val) {
             console.log(val)
-            if (val.floors && val.floors != '全部') {
+            if (val.floors) {
                 this.floors = val.floors
             }
             if (val.searVal) {
@@ -88,7 +88,7 @@ export default {
                 page: this.page,
                 size: this.size,
             }
-            if (this.floors) {
+            if (this.floors !== '全部') {
                 getParams.floor = this.floors
             }
             if (this.searVal) {

+ 10 - 2
src/views/other/zhsxOtherTable2.vue

@@ -138,7 +138,15 @@ export default {
             return (this.page - 1) * this.size + index + 1
         },
         // 第三方
-        dsfjc() {
+        /**
+         *@param { boolean } resetPage 是否重置页码,分页时不重置页码, 下拉菜单会传数组,下方判断时用 !== false
+         */
+        dsfjc(resetPage) {
+            // console.log(resetPage)
+            if (resetPage !== false) {
+                this.page = 1
+                this.total = 0
+            }
             let getParams = {
                 plazaId: this.$store.state.plazaId,
                 page: this.page,
@@ -167,7 +175,7 @@ export default {
         },
         pageChanged(page) {
             this.page = page
-            this.dsfjc()
+            this.dsfjc(false)
         },
         //第三方任务
         innerTable(row) {

+ 3 - 3
src/views/overview/index.vue

@@ -258,9 +258,9 @@ export default {
             }
         },
         findxmzl() {
-            // if (this.shuzihuayijiao) {
-            //     window.open(`${this.shuzihuayijiao}`, true)
-            // }
+            if (this.shuzihuayijiao) {
+                window.open(`${this.shuzihuayijiao}`, true)
+            }
         },
         query() {
             let plazaId = this.$route.query.plazaId ? this.$route.query.plazaId : this.plazaId

+ 47 - 8
src/views/room/detail.vue

@@ -217,14 +217,49 @@ export default {
         row: {
             deep: true,
             handler: function (newV, oldV) {
+                // 不需要初始化了,在room3.vue页面中,执行了key修改,会重新渲染页面
+                // this.initPage()
                 if (newV != oldV) {
                     this.queryDetail()
                     this.query()
                 }
             },
+            immediate: true,
         },
     },
     methods: {
+        /**
+         * 初始化页面数据
+         */
+        initPage() {
+            this.dialogFormVisible = false
+            this.sb_status = []
+            this.sbglgs = []
+            this.input = ''
+            this.floorStr = ''
+            this.sbglgsStr = '全部'
+            this.statusStr = '全部'
+            this.loadingDetail = true
+            this.totalDetail = 0
+            this.pageDetail = 1
+            this.sizeDetail = 10
+            this.detailData = []
+            this.keyword = ''
+            this.form = {
+                wbsxjlInput5: '',
+                rwbhInput5: '',
+                ycgdbhInput5: '',
+                ssmsInput5: '',
+            }
+            this.mcbhChange = ''
+            this.ssppbh = ''
+            this.allArr = [
+                {
+                    id: '全部',
+                    name: '全部',
+                },
+            ]
+        },
         innerTable(row) {
             console.log(row)
             if (row.assetuid) {
@@ -234,6 +269,9 @@ export default {
         indexMethod(index) {
             return (this.page - 1) * this.size + index + 1
         },
+        /**
+         * 显示筛选条件
+         */
         show() {
             this.dialogFormVisible = !this.dialogFormVisible
         },
@@ -288,9 +326,9 @@ export default {
 
             if (this.form.wbsxjlInput5) {
                 if (data.keyword) {
-                    data.keyword = `${data.keyword + ';' + this.form.wbsxjlInput5}:wzqy`
+                    data.keyword = `${data.keyword + ';' + this.form.wbsxjlInput5}:wzjc`
                 } else {
-                    data.keyword = `${this.form.wbsxjlInput5}:wzqy`
+                    data.keyword = `${this.form.wbsxjlInput5}:wzjc`
                 }
             }
             if (this.form.rwbhInput5) {
@@ -316,9 +354,9 @@ export default {
             }
             if (this.mcbhChange) {
                 if (data.keyword) {
-                    data.keyword = `${data.keyword + ';' + this.mcbhChange}:type_name,sbbh`
+                    data.keyword = `${data.keyword + ';' + this.mcbhChange}:type_name,assetnum`
                 } else {
-                    data.keyword = `${this.mcbhChange}:type_name,sbbh`
+                    data.keyword = `${this.mcbhChange}:type_name,assetnum`
                 }
             }
             if (this.ssppbh) {
@@ -352,11 +390,11 @@ export default {
             }
             querySelect({ data, postParams }).then((res) => {
                 //console.log('管理归属', res)
+                let sb_status = [],
+                    arr = [],
+                    arr1 = [],
+                    sbglgs = []
                 if (res.data.data) {
-                    let sb_status = [],
-                        arr = [],
-                        arr1 = [],
-                        sbglgs = []
                     this.sb_status = []
                     this.sbglgs = []
                     sb_status = res.data.data.sms_asset ? res.data.data.sms_asset.sb_status : []
@@ -386,6 +424,7 @@ export default {
             })
         },
         confirm() {
+            this.dialogFormVisible = false
             this.queryDetail()
         },
     },

+ 4 - 2
src/views/room/room3.vue

@@ -37,13 +37,13 @@
                 layout='prev, pager, next'
                 :total='total'
                 :page-size='size'
-                :current-page.sync="page"
+                :current-page.sync='page'
                 @prev-click='pageChanged'
                 @next-click='pageChanged'
                 @current-change='pageChanged'
             ></el-pagination>
         </div>
-        <el-dialog width='90%' :title='`${systemName}-${row.type_name}`' :visible.sync='innerVisible' append-to-body>
+        <el-dialog width='90%' :title='`${systemName}-${row.type_name}`' :key='dialogKey' :visible.sync='innerVisible' append-to-body>
             <detail v-if='row' :row='row' :location='location' :floorChange='floorChange'></detail>
         </el-dialog>
     </div>
@@ -61,6 +61,7 @@ export default {
             innerVisible: false,
             row: {},
             tableMaxHeight: 0,
+            dialogKey: `dialog_${new Date().getTime()}`,
         }
     },
 
@@ -76,6 +77,7 @@ export default {
             this.$emit('Index2Emit', page)
         },
         innerTable(row) {
+            this.dialogKey = `dialog_${new Date().getTime()}`
             this.row = row
             this.innerVisible = true
         },

+ 55 - 0
version.js

@@ -0,0 +1,55 @@
+/** 自动记录版本信息**/
+const fs = require('fs')
+const buildPath = process.env.npm_package_remote_local //'wandaBmGuide' //放置 version.txt的路径
+const execSync = require('child_process').execSync //同步子进程
+const date = new Date() // Date对象
+
+// 获取时间函数
+const getDate = (df, tf) => {
+    const dArr = [
+        date.getFullYear(),
+        date.getMonth() > 9 ? String(date.getMonth() + 1) : String('0' + (date.getMonth() + 1)),
+        date.getDate() > 9 ? String(date.getDate()) : String('0' + date.getDate()),
+    ]
+    const tArr = [date.getHours(), date.getMinutes() > 9 ? String(date.getMinutes() + 1) : String('0' + date.getMinutes())]
+    return `${dArr.join(df)}${tf ? ' ' : ''}${tArr.join(tf)}`
+}
+//写入最新的版本信息
+const branch = execSync('git symbolic-ref --short -q HEAD')
+    .toString()
+    .trim() // 分支
+const commit = execSync('git show -s --format=%h')
+    .toString()
+    .trim() //版本号
+const message = execSync('git show -s --format=%s')
+    .toString()
+    .trim() //说明
+const name = execSync('git show -s --format=%cn')
+    .toString()
+    .trim() //姓名
+const email = execSync('git show -s --format=%ce')
+    .toString()
+    .trim() //邮箱
+//const date = execSync('git show -s --format=%cd').toString().trim(); //日期
+const versionStr = `git:${commit}<${branch}>\n作者:${name}<${email}>\n日期:${getDate('-', ':')}\n说明:${message}\n`
+fs.writeFile(`${buildPath}/version.txt`, versionStr, (err) => {
+    if (err) console.err('写入失败', err)
+})
+
+// 打包文件命名
+const distName = `打包命名:${buildPath}_${getDate('', '')}_git_${commit}`
+
+// 程序运行结束
+console.info(
+    '\x1B[32m%s\x1b[0m',
+    [
+        distName,
+        versionStr,
+        '██████╗ ███████╗██████╗ ███████╗ █████╗  ██████╗██╗   ██╗',
+        '██╔══██╗██╔════╝██╔══██╗██╔════╝██╔══██╗██╔════╝╚██╗ ██╔╝',
+        '██████╔╝█████╗  ██████╔╝███████╗███████║██║  ███╗╚████╔╝ ',
+        '██╔═══╝ ██╔══╝  ██╔══██╗╚════██║██╔══██║██║   ██║ ╚██╔╝  ',
+        '██║     ███████╗██║  ██║███████║██║  ██║╚██████╔╝  ██║   ',
+        '╚═╝     ╚══════╝╚═╝  ╚═╝╚══════╝╚═╝  ╚═╝ ╚═════╝   ╚═╝   ',
+    ].join('\n')
+)

+ 5 - 5
vue.config.js

@@ -4,8 +4,8 @@ module.exports = {
         port: 8090,
         proxy: {
             '/data': {
-                target: "http://60.205.177.43",
-                // target: 'http://10.199.143.126',
+                target: "http://60.205.177.43", //阿里云
+                // target: 'http://10.199.143.126', //生产环境
                 // target: 'http://192.168.200.11:9003', //yll
                 // target: 'http://localhost:6040/data/',
                 changeOrigin: true,
@@ -25,7 +25,7 @@ module.exports = {
             // },
             // 万达蜂鸟服务
             "/wdfn": {
-                target: "http://map.wanda.cn",
+                target: "http://mapapp.wanda.cn",
                 changeOrigin: true,
                 pathRewrite: {
                     "^/wdfn": "/editor",
@@ -34,8 +34,8 @@ module.exports = {
             // 图例库服务
             "/serve": {
                 // target: 'http://192.168.200.87:8088',
-            //    target: 'http://10.199.143.129:8080',
-                target: 'http://60.205.177.43:8080',
+                target: 'http://60.205.177.43:8080', //阿里云
+            //    target: 'http://10.199.143.129:8080',    //生产环境
                 changeOrigin: true,
                 pathRewrite: {
                     "^/serve": "",