Browse Source

Merge branch 'develop' of git.sagacloud.cn:web/wanda-bm-guide into develop

guoxiaohuan 4 years ago
parent
commit
7d11311a0d

+ 34 - 3
package-lock.json

@@ -2093,6 +2093,37 @@
             "integrity": "sha1-JDkOatYThrCnRyZXVNKhchnehiw=",
             "dev": true
         },
+        "axios": {
+            "version": "0.19.2",
+            "resolved": "http://192.168.200.80:8081/repository/npm-saga/axios/-/axios-0.19.2.tgz",
+            "integrity": "sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==",
+            "requires": {
+                "follow-redirects": "1.5.10"
+            },
+            "dependencies": {
+                "debug": {
+                    "version": "3.1.0",
+                    "resolved": "http://192.168.200.80:8081/repository/npm-saga/debug/-/debug-3.1.0.tgz",
+                    "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+                    "requires": {
+                        "ms": "2.0.0"
+                    }
+                },
+                "follow-redirects": {
+                    "version": "1.5.10",
+                    "resolved": "http://192.168.200.80:8081/repository/npm-saga/follow-redirects/-/follow-redirects-1.5.10.tgz",
+                    "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==",
+                    "requires": {
+                        "debug": "3.1.0"
+                    }
+                },
+                "ms": {
+                    "version": "2.0.0",
+                    "resolved": "http://192.168.200.80:8081/repository/npm-saga/ms/-/ms-2.0.0.tgz",
+                    "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+                }
+            }
+        },
         "babel-eslint": {
             "version": "10.0.3",
             "resolved": "https://registry.npm.taobao.org/babel-eslint/download/babel-eslint-10.0.3.tgz?cache=0&sync_timestamp=1575991707525&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbabel-eslint%2Fdownload%2Fbabel-eslint-10.0.3.tgz",
@@ -10651,9 +10682,9 @@
             "dev": true
         },
         "vuex": {
-            "version": "3.1.2",
-            "resolved": "https://registry.npm.taobao.org/vuex/download/vuex-3.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvuex%2Fdownload%2Fvuex-3.1.2.tgz",
-            "integrity": "sha1-ooY/QAWqc/JYflXD+t8/AfacfU0="
+            "version": "3.4.0",
+            "resolved": "http://192.168.200.80:8081/repository/npm-saga/vuex/-/vuex-3.4.0.tgz",
+            "integrity": "sha512-ajtqwEW/QhnrBZQsZxCLHThZZaa+Db45c92Asf46ZDXu6uHXgbfVuBaJ4gzD2r4UX0oMJHstFwd2r2HM4l8umg=="
         },
         "warning": {
             "version": "3.0.0",

+ 3 - 2
package.json

@@ -11,16 +11,17 @@
         "@saga-web/base": "2.1.9",
         "@saga-web/big": "1.0.6",
         "@saga-web/draw": "2.1.80",
-        "@saga-web/graphy": "2.1.52",
         "@saga-web/feng-map": "1.0.4",
+        "@saga-web/graphy": "2.1.52",
         "ant-design-vue": "^1.4.10",
+        "axios": "^0.19.2",
         "core-js": "^3.4.4",
         "element-ui": "^2.13.2",
         "quill": "^1.3.7",
         "vue": "^2.6.10",
         "vue-quill-editor": "^3.0.6",
         "vue-router": "^3.1.3",
-        "vuex": "^3.1.2"
+        "vuex": "^3.4.0"
     },
     "devDependencies": {
         "@vue/cli-plugin-babel": "^4.1.0",

+ 6 - 0
src/api/equipmentList.js

@@ -0,0 +1,6 @@
+// 设备设施设备清单接口
+import httputils from "@/api/httputils"
+
+export function queryEquipmentList({ getParams }) {
+    return httputils.getJson(`/api/plaza/floor`, getParams)
+}

+ 183 - 0
src/api/httputils.js

@@ -0,0 +1,183 @@
+import axios from "axios"
+import store from "@/store"
+import { MessageBox } from "element-ui"
+
+var CancelToken = axios.CancelToken
+var cancel
+
+// 创建axios实例
+const axiosservice = axios.create({
+    timeout: 30000, // 请求超时时间
+    retry: 4, //重新请求次数
+    retryDelay: 1000, //重新请求的间隔
+    credentials: true, // 接口每次请求会跨域携带cookie
+    cancelToken: new CancelToken(function executor(c) {
+        // executor 函数接收一个 cancel 函数作为参数
+        cancel = c
+    }),
+})
+
+axiosservice.interceptors.request.use(
+    (config) => {
+        config.withCredentials = true // 允许携带token ,这个是解决跨域产生的相关问题
+        let token = store.getters["token"]
+        if (token) {
+            config.headers = {
+                "sso-token": token,
+            }
+        }
+        return config
+    },
+    (error) => {
+        return Promise.reject(error)
+    }
+)
+
+axiosservice.interceptors.response.use(
+    function(res) {
+        //在这里对返回的数据进行处理
+        //console.log('axios interceptors res = ', res.status, res)
+        let resp = res.data
+        if (resp.result === "unauthc") {
+            store.commit("logined", false)
+            MessageBox.confirm("未登陆或登陆信息已失效, 是否重新登陆?", "提示", {
+                confirmButtonText: "确定",
+                cancelButtonText: "取消",
+                type: "error",
+            })
+                .then((resp) => {
+                    //console.log('--------------------------- confirm', resp)
+                    //router.push('/login')
+                    window.location.reload()
+                })
+                .catch((error) => {
+                    //console.log('--------------------------- cancel', error)
+                    console.log("")
+                })
+        } else if (resp.result == "unauthorization") {
+            MessageBox.alert("无权操作", { title: "警告", type: "error" })
+        }
+        //console.log('axios interceptors resp2 = ', resp.success, resp.errorCode, resp.errorMessage, res)
+        return res
+    },
+    function(err) {
+        //Do something with response error
+        console.log("axios interceptors err = ", err)
+        return Promise.reject(err)
+    }
+)
+
+/* 下载方法 */
+function downFile(blob, fileName) {
+    // 非IE下载
+    if ("download" in document.createElement("a")) {
+        let link = document.createElement("a")
+        link.href = window.URL.createObjectURL(blob) // 创建下载的链接
+        link.download = fileName // 下载后文件名
+        link.style.display = "none"
+        document.body.appendChild(link)
+        link.click() // 点击下载
+        window.URL.revokeObjectURL(link.href) // 释放掉blob对象
+        document.body.removeChild(link) // 下载完成移除元素
+    } else {
+        // IE10+下载
+        window.navigator.msSaveBlob(blob, fileName)
+    }
+}
+
+export default {
+    //获取cookie
+    getCookie(name) {
+        var arr,
+            reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)")
+        if ((arr = document.cookie.match(reg))) {
+            return unescape(arr[2])
+        } else {
+            /* 如果没有参数,那么就获取本域下的所有cookie */
+            return document.cookie
+        }
+    },
+
+    async getJson(url, params) {
+        try {
+            let response = await axiosservice({
+                url,
+                params,
+                method: "get",
+            })
+            return response.data
+        } catch (err) {
+            throw err
+        }
+    },
+    async postJson(url, data) {
+        try {
+            let response = await axiosservice({
+                url,
+                data,
+                method: "post",
+            })
+            return response.data
+        } catch (err) {
+            throw err
+        }
+    },
+    async fetchJson(url, params, data) {
+        try {
+            let response = await axiosservice({
+                url,
+                params,
+                data,
+                method: "post",
+            })
+            return response
+        } catch (err) {
+            throw err
+        }
+    },
+    async postupload(url, data) {
+        try {
+            let response = await axiosservice({
+                url,
+                data,
+                method: "post",
+                headers: {
+                    "Content-Type": "multipart/form-data",
+                },
+            })
+            return response.data
+        } catch (err) {
+            throw err
+        }
+    },
+    download(url, requestData) {
+        // 响应类型:arraybuffer, blob
+        axiosservice
+            .post(url, requestData, { responseType: "blob" })
+            .then((resp) => {
+                let headers = resp.headers
+                let contentType = headers["content-type"]
+
+                console.log("响应头信息", headers)
+                if (!resp.data) {
+                    console.error("响应异常:", resp)
+                    return false
+                } else {
+                    console.log("下载文件:", resp)
+                    const blob = new Blob([resp.data], { type: contentType })
+
+                    const contentDisposition = resp.headers["content-disposition"]
+                    let fileName = "unknown"
+                    if (contentDisposition) {
+                        fileName = window.decodeURI(resp.headers["content-disposition"].split("=")[1])
+                    }
+                    console.log("文件名称:", fileName)
+                    downFile(blob, fileName)
+                }
+            })
+            .catch(function(error) {
+                console.log(error)
+            })
+    },
+    axios: axiosservice,
+}

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

@@ -8,7 +8,7 @@
                     <div v-if='value.id.slice(2,4)=="YL"' style='width:100%;height:600px;overflow:hidden'>
                         <rotation :rotationImg='rotationImg'></rotation>
                     </div>
-                    <tableList v-else></tableList>
+                    <tableList ref='list' v-else></tableList>
                 </el-tab-pane>
             </el-tabs>
         </el-dialog>
@@ -27,9 +27,14 @@ export default {
             rotationImg: [require('@/assets/imgs/eq.jpg'), require('@/assets/imgs/survey_pop2.png'), require('@/assets/imgs/survey_pop1.png')]
         }
     },
-    mounted() {},
+    mounted() {
+        // this.init()
+    },
     components: { tableList },
     methods: {
+        init() {
+            this.$refs.list.getList()
+        },
         showModal(item) {
             this.visible = true
             this.dialogInfo = item

+ 1 - 0
src/views/equipment/index.vue

@@ -76,6 +76,7 @@ export default {
     mounted() {
         this.everySystem = this.system[0].children
         this.$refs.floorMap.init()
+        // this.$refs.dialog.init()
     }
 }
 </script>

+ 7 - 1
src/views/equipment/table/eqListTable.vue

@@ -15,6 +15,7 @@
     </div>
 </template>
 <script>
+import { queryEquipmentList } from '@/api/equipmentList.js'
 export default {
     components: {},
     data() {
@@ -58,7 +59,12 @@ export default {
     },
     methods: {
         handleChange() {},
-        onSearch() {}
+        onSearch() {},
+        getList() {
+            queryEquipmentList().then(res => {
+                console.log(res)
+            })
+        }
     },
     mounted() {}
 }

+ 8 - 8
vue.config.js

@@ -2,25 +2,25 @@ module.exports = {
     devServer: {
         proxy: {
             "/api": {
-                target: "http://localhost:3000",
+                target: "http://192.168.200.87:9003",
                 changeOrigin: true,
                 secure: false,
                 pathRewrite: {
-                    "^/api": ''
-                }
+                    "^/api": "",
+                },
             },
             "/wanda": {
                 target: "http://map.wanda.cn/editor/fmap/1001724_29",
                 changeOrigin: true,
                 pathRewrite: {
-                    "^/wanda": ""
-                }
-            }
+                    "^/wanda": "",
+                },
+            },
         },
         // 关闭esline
         overlay: {
             warnings: false,
-            errors: false
+            errors: false,
         },
     },
-}
+}