From 5ee0d36e051d591f930ba93ba660e45f10710c3f Mon Sep 17 00:00:00 2001
From: ZZJ <zzjdsg2300@163.com>
Date: 星期四, 05 五月 2022 13:30:31 +0800
Subject: [PATCH] bug修复
---
src/views/equipmentManagement/index.vue | 3
src/views/register/components/BaseInfo.vue | 44 ++--
vue.config.js | 1
src/views/equipmentManagement/equipmentDetail/components/UnbindBox.vue | 2
src/views/hashrate/CameraManage/index.vue | 17 +
src/views/product/components/ProductContent.vue | 1
src/views/index/index.vue | 25 ++
src/components/Connect.vue | 1
src/components/Footer.vue | 2
src/components/giantTree/zTree/ztree.vue | 33 ++-
src/api/search.ts | 30 +-
src/views/search/Searching.vue | 13
src/views/equipmentManagement/equipmentList/components/Content.vue | 38 +--
src/api/login.js | 2
src/views/equipmentManagement/equipmentList/components/FormList.vue | 9
src/views/productDetail/index.vue | 18 -
src/views/search/components/LeftNav.vue | 2
src/components/IndexHeader.vue | 30 +-
src/components/wasmPlayer/index.vue | 2
src/components/subComponents/PwInput.vue | 59 ++++++
src/views/equipmentManagement/equipmentDetail/components/SettingBox.vue | 8
src/components/giantTree/index.vue | 1
src/main.ts | 4
src/views/register/components/ResetPassword.vue | 10
src/views/manageCenter/index.vue | 2
src/views/register/components/SelectType.vue | 4
src/views/search/components/wasmPlayer/index.vue | 2
src/scripts/httpRequest.ts | 25 --
src/scripts/component.js | 7
src/components/Header.vue | 3
src/views/connectUs/components/consult.vue | 2
src/scripts/validate.js | 25 +-
src/views/login/components/loginForm.vue | 10
src/assets/css/element-variables.scss | 33 +++
src/views/equipmentManagement/equipmentList/components/AddBox.vue | 15 +
src/Pool/VideoPhotoData.ts | 2
36 files changed, 312 insertions(+), 173 deletions(-)
diff --git a/src/Pool/VideoPhotoData.ts b/src/Pool/VideoPhotoData.ts
index e86de54..e73e50d 100644
--- a/src/Pool/VideoPhotoData.ts
+++ b/src/Pool/VideoPhotoData.ts
@@ -287,7 +287,7 @@
// });
let taskNames = [];
this.tasks = [];
- rsp.data.forEach((d: any) => {
+ rsp.data.aggs.forEach((d: any) => {
if (taskNames.indexOf(d.name) < 0) {
taskNames.push(d.name);
this.tasks.push(d)
diff --git a/src/api/login.js b/src/api/login.js
index 14e0413..e824ffa 100644
--- a/src/api/login.js
+++ b/src/api/login.js
@@ -145,7 +145,7 @@
//鑱旂郴鎴戜滑
export const saveConnectUs = (data) => {
return request({
- url: "/saas/api-i/saasIndex/saveConnectUs",
+ url: "/cloud/api-i/saasIndex/saveConnectUs",
method: "post",
data,
});
diff --git a/src/api/search.ts b/src/api/search.ts
index 94cdfef..74c4dee 100644
--- a/src/api/search.ts
+++ b/src/api/search.ts
@@ -3,7 +3,7 @@
// 妫�绱㈤〉闈㈡暟鎹垪琛�
export const getSearchList = (query: any) => {
return request({
- url: "/data/api-v/es/esSearch",
+ url: "/saas/api-s/es/search",
method: "post",
data: query
});
@@ -21,7 +21,7 @@
// 妫�绱㈤〉闈㈡爣绛炬煡璇�
export const getTagList = (query: any) => {
return request({
- url: "/data/api-v/es/tagList",
+ url: "/saas/api-s/es/tagList",
method: "post",
data: query
});
@@ -30,25 +30,27 @@
// 妫�绱㈤〉闈换鍔″垪琛ㄦ煡璇�
export const getTaskList = (query: any) => {
return request({
- url: "/data/api-v/task/aggregateTaskList",
- method: "get",
- params: query
- });
-};
-
-// 瀛楀吀鏌ヨ锛堝竷闃茬瓑绾э級
-export const getAlarmLevel = (query: any) => {
- return request({
- url: "/saas/api-s/dictionary/findByType",
- method: "get",
+ url: "/saas/api-s/es/aggTaskList",
+ method: "post",
data: query
});
};
+// 鑾峰彇鏍囩瀛楀吀
+// param:type
+
+export const getAlarmLevel = (query: any) => {
+ return request({
+ url: '/saas/api-s/dictionary/findByType',
+ method: "get",
+ params: query
+ })
+}
+
//
export const findPerson = (query: any) => {
return request({
- url: "/data/api-v/es/queryEsCompareData",
+ url: "/saas/api-s/es/queryEsCompareData",
method: "post",
data: query
});
diff --git a/src/assets/css/element-variables.scss b/src/assets/css/element-variables.scss
new file mode 100644
index 0000000..cdceab1
--- /dev/null
+++ b/src/assets/css/element-variables.scss
@@ -0,0 +1,33 @@
+/**
+* I think element-ui's default theme color is too light for long-term use.
+* So I modified the default color and you can modify it to your liking.
+**/
+
+/* theme color */
+// $--color-primary: #3D68E1;
+$--color-primary: #0064FF;
+$--color-success: #13ce66;
+$--color-warning: #ff8725;
+$--color-danger: #f52323;
+$--color-info: #EAEAEA;
+$--color-themeBlue: #0064FF;
+
+$--button-font-weight: 400;
+
+// $--color-text-regular: #1f2d3d;
+
+$--border-color-light: #dfe4ed;
+$--border-color-lighter: #e6ebf5;
+
+$--table-border:1px solid #dfe6ec;
+
+/* icon font path, required */
+$--font-path: '~element-ui/lib/theme-chalk/fonts';
+
+@import "~element-ui/packages/theme-chalk/src/index";
+
+// the :export directive is the magic sauce for webpack
+// https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass
+:export {
+ theme: $--color-primary;
+}
\ No newline at end of file
diff --git a/src/components/Connect.vue b/src/components/Connect.vue
index f4914e4..7377522 100644
--- a/src/components/Connect.vue
+++ b/src/components/Connect.vue
@@ -88,6 +88,7 @@
background: #ffffff;
box-shadow: 0px 4px 12px rgba(0, 51, 128, 0.18);
border-radius: 8px;
+ z-index: 2;
.tele,
.advice {
diff --git a/src/components/Footer.vue b/src/components/Footer.vue
index a0b128a..382c817 100644
--- a/src/components/Footer.vue
+++ b/src/components/Footer.vue
@@ -8,7 +8,7 @@
<span class="label">娉曞緥澹版槑</span>
<span class="label">闅愮鏀跨瓥</span>
<span class="label">寤夋涓炬姤</span>
- <span class="label">鑱旂郴鎴戜滑</span>
+ <span class="label" @click="$router.push('/connectUs')">鑱旂郴鎴戜滑</span>
<span class="label">鍔犲叆鎴戜滑</span>
</div>
</div>
diff --git a/src/components/Header.vue b/src/components/Header.vue
index 319c3d8..8aa2dc4 100644
--- a/src/components/Header.vue
+++ b/src/components/Header.vue
@@ -7,7 +7,7 @@
<div class="right">
<div class="link"><router-link to="/">棣栭〉</router-link></div>
- <div class="link">鑱旂郴鎴戜滑</div>
+ <div class="link" @click="$router.push('/connectUs')">鑱旂郴鎴戜滑</div>
<div class="link">鍏充簬鎴戜滑</div>
</div>
</div>
@@ -48,6 +48,7 @@
.link {
margin-right: 20px;
+ cursor: pointer;
}
}
}
diff --git a/src/components/IndexHeader.vue b/src/components/IndexHeader.vue
index 9f17990..badc01c 100644
--- a/src/components/IndexHeader.vue
+++ b/src/components/IndexHeader.vue
@@ -6,17 +6,11 @@
<router-link to="/">
<img class="logo" src="/images/index/LOGO.png" alt="" />
</router-link>
- <router-link to="/">
- <div class="title">宸ヤ笟鐗╄仈缃戝钩鍙�</div>
- </router-link>
- <div class="label"><router-link to="/">棣栭〉</router-link></div>
+ <div class="title" @click="$router.push('/')">宸ヤ笟鐗╄仈缃戝钩鍙�</div>
+ <div class="label" @click="$router.push('/')">棣栭〉</div>
<div class="label">浜戞湇鍔�</div>
- <div class="label">
- <router-link to="/manageCenter">绠$悊涓績</router-link>
- </div>
- <div class="label">
- <router-link to="/product">搴旂敤鍟嗗煄</router-link>
- </div>
+ <div class="label" @click="$router.push('/manageCenter')">绠$悊涓績</div>
+ <div class="label" @click="$router.push('/product')">搴旂敤鍟嗗煄</div>
</div>
<!-- 宸︿晶 -->
@@ -37,11 +31,19 @@
</el-input>
<!-- 鏈櫥褰曟儏鍐� -->
- <div class="headerLogin" v-if="!userInfo">
- <router-link to="/login"> 鐧诲綍</router-link>
+ <div
+ class="headerLogin"
+ v-if="!userInfo"
+ @click="$router.push('/login')"
+ >
+ 鐧诲綍
</div>
- <div class="register" v-if="!userInfo">
- <router-link to="/register"> 鍏嶈垂娉ㄥ唽 </router-link>
+ <div
+ class="register"
+ v-if="!userInfo"
+ @click="$router.push('/register')"
+ >
+ 鍏嶈垂娉ㄥ唽
</div>
<!-- 宸茬櫥褰曟儏鍐� -->
diff --git a/src/components/giantTree/index.vue b/src/components/giantTree/index.vue
index 13ad53d..502fc00 100644
--- a/src/components/giantTree/index.vue
+++ b/src/components/giantTree/index.vue
@@ -404,6 +404,7 @@
}
.tree-menu {
// max-width: 350px;
+ min-height: 92px;
overflow-x: auto;
overflow-y: hidden;
margin-bottom: 4px;
diff --git a/src/components/giantTree/zTree/ztree.vue b/src/components/giantTree/zTree/ztree.vue
index c66a40c..c6a3b0f 100644
--- a/src/components/giantTree/zTree/ztree.vue
+++ b/src/components/giantTree/zTree/ztree.vue
@@ -152,10 +152,11 @@
!this.readonly &&
!this.gb28181
) {
- const btn = document.createElement("i");
+ const btn = document.createElement("a");
btn.id = `${treeid}_${treeNode.id}_btn`;
btn.classList.add("addIcon");
btn.classList.add("iconfont");
+ btn.title = "鏂板";
// btn.innerText = '鍒犻櫎';
btn.addEventListener("click", (e) => {
e.stopPropagation();
@@ -175,10 +176,11 @@
!treeNode.children &&
!this.gb28181
) {
- const btn = document.createElement("i");
+ const btn = document.createElement("a");
btn.id = `${treeid}_${treeNode.id}_btn`;
btn.classList.add("delIcon");
btn.classList.add("iconfont");
+ btn.title = "鍒犻櫎";
// btn.innerText = '鍒犻櫎';
btn.addEventListener("click", (e) => {
e.stopPropagation();
@@ -196,10 +198,11 @@
treeNode.isParent &&
!this.readonly
) {
- const btn = document.createElement("i");
+ const btn = document.createElement("a");
btn.id = `${treeid}_${treeNode.id}_btn`;
btn.classList.add("editIcon");
btn.classList.add("iconfont");
+ btn.title = "缂栬緫";
// btn.innerText = '鍒犻櫎';
btn.addEventListener("click", (e) => {
e.stopPropagation();
@@ -217,10 +220,11 @@
!this.readonly &&
!this.gb28181
) {
- const btn = document.createElement("i");
+ const btn = document.createElement("a");
btn.id = `${treeid}_${treeNode.id}_btn`;
btn.classList.add("iconfont");
btn.classList.add("addCameraIcon");
+ btn.title = "娣诲姞鎽勫儚鏈�";
// btn.innerText = '鍒犻櫎';
btn.addEventListener("click", (e) => {
e.stopPropagation();
@@ -239,10 +243,11 @@
!this.readonly &&
!this.gb28181
) {
- const btn = document.createElement("i");
+ const btn = document.createElement("a");
btn.id = `${treeid}_${treeNode.id}_btn`;
btn.classList.add("iconfont");
btn.classList.add("importIcon");
+ btn.title = "瀵煎叆鎽勫儚鏈�";
// btn.innerText = '鍒犻櫎';
btn.addEventListener("click", (e) => {
e.stopPropagation();
@@ -259,12 +264,13 @@
!item.querySelector(".icontupian1") &&
treeNode.type == "camera"
) {
- const btn = document.createElement("i");
+ const btn = document.createElement("a");
btn.id = `${treeid}_${treeNode.id}_btn`;
btn.classList.add("iconfont");
btn.classList.add("icontupian1");
btn.classList.add("primary");
btn.classList.add("icon-fix");
+ btn.title = "鏌ョ湅搴曞浘";
// btn.innerText = '鍒犻櫎';
btn.addEventListener("click", (e) => {
e.stopPropagation();
@@ -405,6 +411,11 @@
text-align: left;
white-space: nowrap;
outline: 0;
+
+ .iconfont {
+ padding: 0;
+ padding-top: 3px;
+ }
}
.ztree li ul {
margin: 0;
@@ -474,7 +485,7 @@
color: #5f5f5f;
}
-.ztree li i.icon-fix {
+.ztree li a.icon-fix {
font-size: 15px;
margin-left: 3px;
margin-right: 5px;
@@ -482,10 +493,10 @@
top: 2px;
}
-.ztree li i.primary {
+.ztree li a.primary {
color: #3d68e1;
}
-.ztree li i.danger {
+.ztree li a.danger {
color: #f7493c;
}
@@ -522,7 +533,7 @@
background-position: 0 -14px;
}
.ztree li span.button.chk.checkbox_false_part {
- background-position: 0 -28px;
+ background-position: -14px 0;
}
.ztree li span.button.chk.checkbox_false_part_focus {
background-position: 0 -42px;
@@ -537,7 +548,7 @@
background-position: -14px -14px;
}
.ztree li span.button.chk.checkbox_true_part {
- background-position: -14px -28px;
+ background-position: -14px 0;
}
.ztree li span.button.chk.checkbox_true_part_focus {
background-position: -14px -42px;
diff --git a/src/components/subComponents/PwInput.vue b/src/components/subComponents/PwInput.vue
new file mode 100644
index 0000000..d1ba79f
--- /dev/null
+++ b/src/components/subComponents/PwInput.vue
@@ -0,0 +1,59 @@
+<template>
+ <el-input
+ :placeholder="placeholder"
+ class="PwInput"
+ :type="[flag ? 'text' : 'password']"
+ v-model="inputVal"
+ @input="input"
+ autocomplete="off"
+ >
+ <i slot="prefix" class="iconfont" v-if="showPreIcon"></i>
+
+ <i
+ slot="suffix"
+ class="iconfont showPass"
+ autocomplete="auto"
+ @click="flag = !flag"
+ >
+ {{ flag ? "" : "" }}
+ </i>
+ </el-input>
+</template>
+
+<script>
+export default {
+ props: {
+ value: {},
+ showPreIcon: {},
+ placeholder: {
+ default: "璇疯緭鍏ュ瘑鐮�",
+ },
+ },
+ data() {
+ return {
+ flag: false,
+ inputVal: this.value,
+ };
+ },
+ methods: {
+ input() {
+ this.$emit("input", this.inputVal);
+ },
+ },
+ watch: {
+ value(val) {
+ this.inputVal = val;
+ },
+ },
+};
+</script>
+
+<style lang="scss" >
+.PwInput {
+ .showPass {
+ margin-top: 8px;
+ font-size: 24px;
+ cursor: pointer;
+ }
+}
+</style>
\ No newline at end of file
diff --git a/src/components/wasmPlayer/index.vue b/src/components/wasmPlayer/index.vue
index 9f43bdf..f9f9f3e 100644
--- a/src/components/wasmPlayer/index.vue
+++ b/src/components/wasmPlayer/index.vue
@@ -74,6 +74,7 @@
<i
class="el-icon-download jsmodern-video-download"
@click="downLoad"
+ style="margin: 9px 0 0 15px"
></i>
</section>
@@ -819,6 +820,7 @@
}
.video-error {
+ text-align: center;
position: absolute;
top: 35%;
left: 30%;
diff --git a/src/main.ts b/src/main.ts
index 9359c6e..7363b3e 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -12,9 +12,10 @@
import VueAwesomeSwiper from "vue-awesome-swiper";
import ToggleButton from 'vue-js-toggle-button';
-import ImageShow from './scripts/component.js'
+import {ImageShow,PwInput} from './scripts/component.js'
import "swiper/dist/css/swiper.css";
+import './assets/css/element-variables.scss'
@@ -27,6 +28,7 @@
Vue.use(VueAwesomeSwiper as any);
Vue.use(ToggleButton)
Vue.use(ImageShow)
+Vue.use(PwInput)
diff --git a/src/scripts/component.js b/src/scripts/component.js
index b0924d3..ae74329 100644
--- a/src/scripts/component.js
+++ b/src/scripts/component.js
@@ -1,9 +1,14 @@
// 寮曞叆缁勪欢
import ImageShow from "@/components/subComponents/ImageShow.vue";
+import PwInput from "@/components/subComponents/PwInput.vue";
// 鍒涘缓涓┖瀵硅薄
// 璁剧疆瀹夎鏂规硶
ImageShow.install = function(Vue) {
Vue.component("ImageShow", ImageShow);
};
+
+PwInput.install = function(Vue) {
+ Vue.component("PwInput", PwInput);
+};
// 瀵煎嚭瀵硅薄
-export default ImageShow;
+export { ImageShow, PwInput };
diff --git a/src/scripts/httpRequest.ts b/src/scripts/httpRequest.ts
index 848eba0..97b48e4 100644
--- a/src/scripts/httpRequest.ts
+++ b/src/scripts/httpRequest.ts
@@ -138,26 +138,7 @@
case 500:
errJson = error.response.data
break
- // case 501:
- // errJson.status = error.response.status;
- // errJson.message = "鏈嶅姟鏈疄鐜�(501)";
- // break;
- // case 502:
- // errJson.status = error.response.status;
- // errJson.message = "缃戠粶閿欒(502)";
- // break;
- // case 503:
- // errJson.status = error.response.status;
- // errJson.message = "鏈嶅姟涓嶅彲鐢�(503)";
- // break;
- // case 504:
- // errJson.status = error.response.status;
- // errJson.message = "缃戠粶瓒呮椂(504)";
- // break;
- // case 505:
- // errJson.status = error.response.status;
- // errJson.message = "HTTP鐗堟湰涓嶅彈鏀寔(505)";
- // break;
+
default:
errJson.status = error.response.status
errJson.message = `杩炴帴鍑洪敊(${error.response.status})!`
@@ -174,6 +155,10 @@
if(error.response&&error.response.data&&!error.response.data.success ) {
errJson.message =error.response.data.msg
}
+
+ if(error.response.status == 401) {
+ return
+ }
Notification({
title: '閿欒',
diff --git a/src/scripts/validate.js b/src/scripts/validate.js
index 742d89a..527cab9 100644
--- a/src/scripts/validate.js
+++ b/src/scripts/validate.js
@@ -9,23 +9,21 @@
return validMap.indexOf(str.trim()) >= 0;
}
-/* 鏍¢獙6鍒�20浣嶅瓧姣嶅拰鏁板瓧鐨勭敤鎴峰悕锛屼笉鑳戒互鏁板瓧寮�澶� */
+/* 鏍¢獙5鍒�20浣嶅瓧姣嶅拰鏁板瓧鐨勭敤鎴峰悕锛屼笉鑳戒互鏁板瓧寮�澶� */
export function validUser(str) {
- const reg = /^[a-zA-Z0-9]{5,20}$/;
+ const reg = /^[a-zA-Z][a-zA-Z0-9]{4,20}$/;
return reg.test(str);
}
/* 6鍒�14浣嶇殑鏁板瓧鍜屽瓧姣嶄互鍙婃爣鐐圭鍙风殑鑷冲皯涓ょ缁勫悎 */
export function validPassword(str) {
- const reg =
- /^(?!^[0-9]+$)(?!^[a-z]+$)(?!^[A-Z]+$)(?!^[\x21-\x2f\x3a-\x40\x5b-\x60\x7B-\x7F]+$)[a-z0-9A-Z\x21-\x2f\x3a-\x40\x5b-\x60\x7B-\x7F]{6,14}$/;
+ const reg = /^(?!^[0-9]+$)(?!^[a-z]+$)(?!^[A-Z]+$)(?!^[\x21-\x2f\x3a-\x40\x5b-\x60\x7B-\x7F]+$)[a-z0-9A-Z\x21-\x2f\x3a-\x40\x5b-\x60\x7B-\x7F]{6,14}$/;
return reg.test(str);
}
/* 鍚堟硶uri */
export function validURL(url) {
- const reg =
- /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/;
+ const reg = /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/;
return reg.test(url);
}
@@ -53,16 +51,14 @@
* @returns {boolean}
*/
export function validEmail(rule, value, callback) {
- const re =
- /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
+ const re = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
if (re.test(value)) {
return callback();
}
return callback(new Error("杈撳叆鐨勯偖绠遍敊璇�"));
}
export function emailNotRequired(rule, value, callback) {
- const re =
- /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
+ const re = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
if (value != "") {
if (re.test(value)) {
return callback();
@@ -89,8 +85,7 @@
return callback(new Error("杈撳叆涓嶅彲浠ヤ负绌�"));
}
- const re =
- /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/;
+ const re = /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/;
if (re.test(value)) {
return callback();
}
@@ -105,8 +100,7 @@
if (value == "" || typeof value == undefined) {
callback(new Error("璇疯緭鍏ョ鍙e��"));
} else {
- const re =
- /^([0-9]|[1-9]\d|[1-9]\d{2}|[1-9]\d{3}|[1-5]\d{4}|6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])$/;
+ const re = /^([0-9]|[1-9]\d|[1-9]\d{2}|[1-9]\d{3}|[1-5]\d{4}|6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])$/;
const rsCheck = re.test(value);
if (!rsCheck) {
callback(new Error("璇疯緭鍏ュ湪[0-65535]涔嬮棿鐨勭鍙e��"));
@@ -119,7 +113,6 @@
//鏍¢獙鍩熷悕
export function vaildHost(str) {
- let re =
- /^(?=^.{3,255}$)(http(s)?:\/\/)?(www\.)?[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+(:\d+)*(\/\w+\.\w+)*$/;
+ let re = /^(?=^.{3,255}$)(http(s)?:\/\/)?(www\.)?[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+(:\d+)*(\/\w+\.\w+)*$/;
return re.test(str);
}
diff --git a/src/views/connectUs/components/consult.vue b/src/views/connectUs/components/consult.vue
index ecf226d..a549429 100644
--- a/src/views/connectUs/components/consult.vue
+++ b/src/views/connectUs/components/consult.vue
@@ -107,13 +107,11 @@
},
//鑾峰彇楠岃瘉鐮�
getCode() {
- let loginName = JSON.parse(sessionStorage.getItem("userInfo")).username;
this.codeDisabled = true;
this.getValidStr();
this.timer = setInterval(this.getValidStr, 1000);
getVerifyCode({
phoneNum: this.formData.phoneNum,
- username: loginName,
}).then(() => {
this.gotCode = true;
});
diff --git a/src/views/equipmentManagement/equipmentDetail/components/SettingBox.vue b/src/views/equipmentManagement/equipmentDetail/components/SettingBox.vue
index 3e02336..47e1f70 100644
--- a/src/views/equipmentManagement/equipmentDetail/components/SettingBox.vue
+++ b/src/views/equipmentManagement/equipmentDetail/components/SettingBox.vue
@@ -7,7 +7,7 @@
<el-select
v-model="every"
placeholder="璇烽�夋嫨"
- popper-class="industrySelect"
+ popper-class="equipmentSelect"
>
<el-option
v-for="item in periodOptions"
@@ -35,7 +35,7 @@
<el-select
v-model="cronValueObj.week"
placeholder="璇烽�夋嫨"
- popper-class="industrySelect"
+ popper-class="equipmentSelect"
>
<el-option
v-for="item in weeks"
@@ -52,7 +52,7 @@
<el-select
v-model="cronValueObj.day"
placeholder="璇烽�夋嫨"
- popper-class="industrySelect"
+ popper-class="equipmentSelect"
>
<el-option
v-for="item in days"
@@ -400,7 +400,7 @@
</style>
<style lang="scss">
-.industrySelect.el-select-dropdown.el-popper {
+.equipmentSelect.el-select-dropdown.el-popper {
margin: 0;
.el-scrollbar {
diff --git a/src/views/equipmentManagement/equipmentDetail/components/UnbindBox.vue b/src/views/equipmentManagement/equipmentDetail/components/UnbindBox.vue
index cc12cf9..79ed391 100644
--- a/src/views/equipmentManagement/equipmentDetail/components/UnbindBox.vue
+++ b/src/views/equipmentManagement/equipmentDetail/components/UnbindBox.vue
@@ -53,7 +53,7 @@
duration: 2500,
offset: 57,
});
- this.$emit("close");
+ this.$emit("reflash");
} else {
this.$notify({
type: "error",
diff --git a/src/views/equipmentManagement/equipmentList/components/AddBox.vue b/src/views/equipmentManagement/equipmentList/components/AddBox.vue
index 24e66fe..bcdfb74 100644
--- a/src/views/equipmentManagement/equipmentList/components/AddBox.vue
+++ b/src/views/equipmentManagement/equipmentList/components/AddBox.vue
@@ -250,21 +250,30 @@
},
async submit() {
+ let res = {};
if (this.addObj.type == "cluster") {
- const res = await addCluster({
+ res = await addCluster({
clusterPwd: this.auth_password,
clusterId: this.addObj.id,
});
} else {
- const res = await addDeviceToUser({
+ res = await addDeviceToUser({
clusterPwd: this.auth_password,
deviceId: this.addObj.id,
clusterId: this.addObj.cid,
});
}
+
+ if (res && res.success) {
+ this.$notify({
+ type: "success",
+ message: "娣诲姞鎴愬姛",
+ });
+ this.close();
+ }
},
showBox(type, id, cid) {
- console.log(cid);
+ this.auth_password = "";
this.showPasswordBox = true;
this.addObj = {
type,
diff --git a/src/views/equipmentManagement/equipmentList/components/Content.vue b/src/views/equipmentManagement/equipmentList/components/Content.vue
index 8194efc..f3ef7b6 100644
--- a/src/views/equipmentManagement/equipmentList/components/Content.vue
+++ b/src/views/equipmentManagement/equipmentList/components/Content.vue
@@ -34,6 +34,9 @@
import AMapLoader from "@amap/amap-jsapi-loader";
import InfoCard from "@/views/equipmentManagement/equipmentList/components/InfoCard";
import FormList from "@/views/equipmentManagement/equipmentList/components/FormList";
+
+import bus from "@/plugin/bus";
+
export default {
created() {
window._AMapSecurityConfig = {
@@ -41,9 +44,16 @@
};
},
mounted() {
- this.searchingBtn();
- //DOM鍒濆鍖栧畬鎴愯繘琛屽湴鍥惧垵濮嬪寲
+ this.initMap("");
+ bus.$on("refleshNode", (node) => {
+ this.nodes = node;
+ this.initNode();
+ });
},
+ beforeDestroy() {
+ bus.$off("refleshNode");
+ },
+
components: {
InfoCard, //璁惧淇℃伅寮瑰眰
FormList, //琛ㄦ牸
@@ -59,6 +69,7 @@
center: [116.06157, 39.66157], //鍦板浘涓績
activeNode: null, //閫変腑鐨勫湴鍥捐妭鐐�
geocoder: {},
+ myMaker: null,
};
},
@@ -91,6 +102,9 @@
},
//鍒濆鍖栬妭鐐�
initNode() {
+ if (this.myMaker) {
+ this.myMaker.destroy();
+ }
this.nodes.filter((item, index) => {
//鏌ヨ琛屾斂浣嶇疆
this.geocoder.getAddress([item.lon, item.lat], (status, result) => {
@@ -123,6 +137,7 @@
});
this.map.add(marker);
+ this.myMaker = marker;
});
});
},
@@ -143,25 +158,6 @@
this.isFull = false;
}
this.initMap(status);
- },
-
- // 鏌ヨ鍒楄〃
- searchingBtn() {
- let param = {
- page: 1,
- size: 999,
- // startTime: this.searchTime[0],
- // endTime: this.searchTime[1],
- inputText: "",
- };
- findDevList(param)
- .then((res) => {
- this.nodes = res.data.list;
- this.initMap("");
- })
- .catch((err) => {
- console.log(err);
- });
},
},
};
diff --git a/src/views/equipmentManagement/equipmentList/components/FormList.vue b/src/views/equipmentManagement/equipmentList/components/FormList.vue
index 01bd855..d643815 100644
--- a/src/views/equipmentManagement/equipmentList/components/FormList.vue
+++ b/src/views/equipmentManagement/equipmentList/components/FormList.vue
@@ -186,6 +186,9 @@
import UnbindBox from "@/views/equipmentManagement/equipmentDetail/components/UnbindBox";
import QuitClusterBox from "@/views/equipmentManagement/equipmentList/components/QuitClusterBox";
import JoinClusterBox from "@/views/equipmentManagement/equipmentList/components/JoinClusterBox";
+
+import bus from "@/plugin/bus";
+
export default {
components: {
AddBox,
@@ -277,6 +280,8 @@
if (res.data.total <= this.size) {
this.page = 1;
}
+
+ bus.$emit("refleshNode", this.dataList);
})
.catch((err) => {
console.log(err);
@@ -296,7 +301,6 @@
//瑙g粦鎸夐挳
Untying(row) {
- console.log(row);
this.unbindId = row.devId;
this.isShowUnbind = true;
},
@@ -322,6 +326,7 @@
//鍏抽棴鏂板寮圭獥
closeAddBox() {
this.isShowAdd = false;
+ this.searchingBtn();
},
// 鍏抽棴瑙g粦寮圭獥
closeUnbindBox() {
@@ -330,6 +335,7 @@
//瑙g粦鎴愬姛鍥炶皟
reflash() {
+ console.log("1111");
this.isShowUnbind = false;
this.searchingBtn();
},
@@ -367,6 +373,7 @@
padding: 60px 0 30px 0;
font-size: 14px;
border-bottom: 1px solid #e9ebee;
+ background-color: #fff;
.left,
.right,
diff --git a/src/views/equipmentManagement/index.vue b/src/views/equipmentManagement/index.vue
index dd75b8c..5484ec2 100644
--- a/src/views/equipmentManagement/index.vue
+++ b/src/views/equipmentManagement/index.vue
@@ -25,6 +25,9 @@
methods: {
checkpermission() {
const userInfo = JSON.parse(sessionStorage.getItem("userInfo"));
+ if (!userInfo) {
+ this.$router.push("/login");
+ }
const val = userInfo.permissions.find((item) => {
return item == "deviceMng";
});
diff --git a/src/views/hashrate/CameraManage/index.vue b/src/views/hashrate/CameraManage/index.vue
index 8e4bb27..9396978 100644
--- a/src/views/hashrate/CameraManage/index.vue
+++ b/src/views/hashrate/CameraManage/index.vue
@@ -123,6 +123,7 @@
},
},
created() {
+ console.log("------------");
this.getCluster();
this.TreeDataPool.readonly = false;
@@ -186,6 +187,22 @@
const res = await getClusterDevList();
if (res && res.success) {
this.clusterData = res.data.clusterList;
+ if (res.data.clusterList <= 0 && res.data.devList <= 0) {
+ this.$confirm(
+ "绯荤粺妫�娴嬪埌鎮ㄨ繕鏈坊鍔犺澶�, 璇峰湪璁惧绠$悊椤甸潰缁存姢",
+ "鎻愮ず",
+ {
+ confirmButtonText: "璺宠浆",
+ cancelButtonText: "鍙栨秷",
+ type: "warning",
+ }
+ )
+ .then(() => {
+ this.$router.push("/manageCenter");
+ })
+ .catch(() => {});
+ }
+
res.data.clusterList.forEach((item) => {
this.clusterArr.push({
label: item.cluster_name,
diff --git a/src/views/index/index.vue b/src/views/index/index.vue
index 909df1d..2be6e4e 100644
--- a/src/views/index/index.vue
+++ b/src/views/index/index.vue
@@ -89,7 +89,7 @@
</div>
</div>
- <Connect v-if="showConnect"></Connect>
+ <Connect></Connect>
<!-- 椤靛熬 -->
<Footer></Footer>
@@ -405,16 +405,33 @@
//娣诲姞婊氬姩鐩戝惉
scrollListener() {
//椤甸潰婊戝姩瑙﹀彂浜嬩欢 (婊氬姩鏉$Щ鍔ㄥ垯璋冪敤鏄惁鏄剧ず杩斿洖椤堕儴鎸夐挳浜嬩欢)
+ var a = document.documentElement.clientHeight; // 婊氬姩瀹瑰櫒鐨勫彲瑙嗛珮
+ var b = document.documentElement.scrollTop; // 婊氬姩鏉¤窛绂婚《閮ㄧ殑楂樺害
+ var c = document.documentElement.scrollHeight; // 婊氬姩瀹瑰櫒鐨勬暣涓珮搴�
- if (document.documentElement.scrollTop < 1100) {
- this.showConnect = false;
- } else {
+ if (c === a + b) {
+ //褰撴粴鍔ㄥ鍣ㄧ殑鍙楂�+婊氬姩瀹瑰櫒婊氬姩浜嗙殑楂樺害锛堟粴鍔ㄦ潯椤堕儴璺濈婊氬姩瀹瑰櫒椤堕儴鐨勮窛绂伙級 = 婊氬姩瀹瑰櫒鐨勬暣涓珮搴︽椂锛岃鏄庢粴鍔ㄦ潯鍒板簳浜�
this.showConnect = true;
+ } else {
+ this.showConnect = false;
}
//妫�鏌ユ粴鍔ㄦ潯鏄惁鍦ㄩ《閮紝鎺у埗杩斿洖椤堕儴鎸夐挳鐨勯殣钘忓拰鏄剧ず
},
},
+ beforeRouteLeave(to, from, next) {
+ let userInfo = sessionStorage.getItem("userInfo");
+ if (
+ !userInfo &&
+ to.path !== "/login" &&
+ to.path !== "/register" &&
+ to.path !== "/connectUs"
+ ) {
+ next({ path: "/login" });
+ } else {
+ next();
+ }
+ },
};
</script>
diff --git a/src/views/login/components/loginForm.vue b/src/views/login/components/loginForm.vue
index b1ac15a..b334c4b 100644
--- a/src/views/login/components/loginForm.vue
+++ b/src/views/login/components/loginForm.vue
@@ -12,22 +12,22 @@
>
<el-form-item prop="loginName">
<el-input
- v-model="user.loginName"
+ v-model.trim="user.loginName"
placeholder="璇疯緭鍏ユ墜鏈哄彿 / 鐢ㄦ埛鍚�"
>
<i slot="prefix" class="iconfont"></i>
</el-input>
</el-form-item>
<el-form-item prop="password" class="password-form-item">
- <el-input
+ <PwInput v-model="user.password" :showPreIcon="true"> </PwInput>
+ <!-- <el-input
show-password
@keyup.enter.native="userLogin"
v-model="user.password"
autocomplete="off"
placeholder="璇疯緭鍏ュ瘑鐮�"
>
- <i slot="prefix" class="iconfont"></i>
- </el-input>
+ </el-input> -->
</el-form-item>
<el-form-item>
<el-button
@@ -239,7 +239,7 @@
this.codeDisabled = true;
this.getValidStr();
this.timer = setInterval(this.getValidStr, 1000);
- makeVerifyCode({ phoneNum: this.phone.phoneNum, type:0 })
+ makeVerifyCode({ phoneNum: this.phone.phoneNum, type: 0 })
.then(() => {
this.gotCode = true;
})
diff --git a/src/views/manageCenter/index.vue b/src/views/manageCenter/index.vue
index b5e1305..5242a6c 100644
--- a/src/views/manageCenter/index.vue
+++ b/src/views/manageCenter/index.vue
@@ -5,7 +5,7 @@
<div class="centerTitle">
<div class="heart">
- <div class="welcome">{{ userName }},娆㈣繋鎮ㄨ礉鎬濈绠$悊涓績.</div>
+ <div class="welcome">{{ userName }}, 娆㈣繋鎮ㄥ洖鍒拌礉鎬濈绠$悊涓績銆�</div>
<div class="time">{{ timeMsg }}</div>
</div>
</div>
diff --git a/src/views/product/components/ProductContent.vue b/src/views/product/components/ProductContent.vue
index cbf0428..5b4436e 100644
--- a/src/views/product/components/ProductContent.vue
+++ b/src/views/product/components/ProductContent.vue
@@ -191,6 +191,7 @@
.Content {
position: relative;
width: 1280px;
+ min-height: calc(100vh - 148px);
margin: 0 auto;
.searchCard {
diff --git a/src/views/productDetail/index.vue b/src/views/productDetail/index.vue
index 28ba0de..9523177 100644
--- a/src/views/productDetail/index.vue
+++ b/src/views/productDetail/index.vue
@@ -57,20 +57,10 @@
publishStatus: 1,
productType: 0,
};
- findAllCenterProduct(param)
- .then((res) => {
- this.data.data = res.data.list[0];
- this.showData = true;
- })
- .catch((err) => {
- console.log(err);
- this.$notify({
- type: "error",
- message: "鏌ヨ浜у搧澶辫触",
- duration: 2500,
- offset: 57,
- });
- });
+ findAllCenterProduct(param).then((res) => {
+ this.data.data = res.data.list[0];
+ this.showData = true;
+ });
},
},
};
diff --git a/src/views/register/components/BaseInfo.vue b/src/views/register/components/BaseInfo.vue
index 1a0fbad..a72ead8 100644
--- a/src/views/register/components/BaseInfo.vue
+++ b/src/views/register/components/BaseInfo.vue
@@ -13,26 +13,24 @@
</el-form-item>
<el-form-item prop="password">
- <el-input show-password v-model="user.password" placeholder="瀵嗙爜">
- </el-input>
+ <PwInput show-password v-model="user.password" placeholder="瀵嗙爜">
+ </PwInput>
</el-form-item>
<el-form-item prop="repassword">
- <el-input
- show-password
- v-model="user.repassword"
- placeholder="纭瀵嗙爜"
- >
- </el-input>
+ <PwInput show-password v-model="user.repassword" placeholder="纭瀵嗙爜">
+ </PwInput>
</el-form-item>
<el-form-item prop="phoneNum">
- <div class="phoneNum">
+ <div class="phoneNum" :class="{ isFocus: phoneFocus }">
<el-input
placeholder="鎵嬫満鍙�"
v-model="user.phoneNum"
class="input-with-select"
+ @focus="phoneFocus = true"
+ @blur="phoneFocus = false"
>
- <div slot="prepend" class="teleSlot">+86(涓浗)</div>
</el-input>
+ <div slot="prepend" class="teleSlot">+86(涓浗)</div>
</div>
</el-form-item>
<el-form-item prop="verifyCode">
@@ -176,6 +174,7 @@
isWrong: false,
countdown: 60,
gotCode: false,
+ phoneFocus: false,
};
},
methods: {
@@ -324,11 +323,22 @@
&.is-error ::v-deep .el-input__inner:focus {
border-color: #ff4b33;
}
+
+ .PwInput {
+ ::v-deep .iconfont {
+ margin-right: 5px;
+ font-size: 18px;
+ }
+ }
}
::v-deep .el-input__inner {
padding: 10px 20px;
border-color: #c0c5cc;
+
+ &:focus {
+ border-color: #0065ff;
+ }
&::-webkit-input-placeholder {
font-size: 14px;
@@ -337,19 +347,13 @@
}
.phoneNum {
- ::v-deep .el-input-group__prepend {
- margin: 0 4px;
- padding: 0pt;
- background-color: rgba($color: #fff, $alpha: 0);
- border-right: none;
- border-color: #c0c5cc;
- }
-
+ position: relative;
::v-deep .el-input__inner {
- border-left: none;
+ padding-left: 120px;
}
-
.teleSlot {
+ position: absolute;
+ top: 7px;
width: 103px;
height: 28px;
line-height: 28px;
diff --git a/src/views/register/components/ResetPassword.vue b/src/views/register/components/ResetPassword.vue
index ffcab2b..135a0b1 100644
--- a/src/views/register/components/ResetPassword.vue
+++ b/src/views/register/components/ResetPassword.vue
@@ -15,7 +15,7 @@
<div class="phoneNum">
<el-input
placeholder="璇疯緭鍏ユ敞鍐屾墜鏈哄彿"
- v-model="formData.phoneNum"
+ v-model.trim="formData.phoneNum"
class="input-with-select"
>
</el-input>
@@ -43,22 +43,22 @@
</el-form-item>
<el-form-item prop="password">
- <el-input
+ <PwInput
show-password
v-model="formData.password"
placeholder="璇疯缃�6-14浣嶇櫥褰曞瘑鐮�"
>
- </el-input>
+ </PwInput>
<div class="iconfont"></div>
</el-form-item>
<el-form-item prop="repassword">
- <el-input
+ <PwInput
show-password
v-model="formData.repassword"
placeholder="纭瀵嗙爜"
>
- </el-input>
+ </PwInput>
<div class="iconfont"></div>
</el-form-item>
diff --git a/src/views/register/components/SelectType.vue b/src/views/register/components/SelectType.vue
index ad6bf1f..5c8aeb6 100644
--- a/src/views/register/components/SelectType.vue
+++ b/src/views/register/components/SelectType.vue
@@ -12,7 +12,7 @@
v-model="info.type"
style="float: left; margin-top: 15px"
>
- <el-radio :label="1">涓汉寮�鍙戣��</el-radio>
+ <el-radio :label="1">涓汉</el-radio>
<el-radio :label="2">鍏徃</el-radio>
</el-radio-group>
</el-form-item>
@@ -29,7 +29,7 @@
<el-form-item label="鑱旂郴浜�" prop="contact" v-show="info.type == '2'">
<el-input v-model="info.contact" placeholder="璇疯緭鍏�"></el-input>
</el-form-item>
- <el-form-item label="閭">
+ <el-form-item label="閭" prop="email">
<el-input
v-model="info.email"
clearable
diff --git a/src/views/search/Searching.vue b/src/views/search/Searching.vue
index a1fc267..f9bd1de 100644
--- a/src/views/search/Searching.vue
+++ b/src/views/search/Searching.vue
@@ -89,9 +89,9 @@
></el-option>
</el-select>
</p>
- <p class="p-level" style="width: 18%">
+ <p class="p-level" style="width: 18%; margin-right: 20px">
<b>浜嬩欢绛夌骇锛�</b>
- <!-- <el-select
+ <el-select
v-model="alarmValues"
multiple
@change="searchingBtn"
@@ -107,9 +107,9 @@
:label="item.name"
:value="item.value"
></el-option>
- </el-select> -->
+ </el-select>
</p>
- <p class="p-date" style="width: 19%; vertical-align: top">
+ <p class="p-date" style="width: 22%; vertical-align: top">
<el-date-picker
size="mini"
v-model="searchTime"
@@ -808,7 +808,7 @@
};
</script>
-<style lang="scss">
+<style lang="scss" >
.searching-box {
width: 100%;
height: 100% !important;
@@ -984,9 +984,6 @@
right: 0px;
bottom: 15px;
}
-}
-.search {
- background-color: #eee;
}
</style>
<style lang="scss" scoped>
diff --git a/src/views/search/components/LeftNav.vue b/src/views/search/components/LeftNav.vue
index 3fd4403..9907514 100644
--- a/src/views/search/components/LeftNav.vue
+++ b/src/views/search/components/LeftNav.vue
@@ -340,7 +340,7 @@
import bus from "@/plugin/bus";
// import TreeMenu from "@/components/treeMenu/index";
-import TreeMenu from "./giantTree/index";
+import TreeMenu from "@/components/giantTree/index";
import LocalVedioList from "./LocalVedioList";
import FileUpload from "./FileUpload/index";
import XLSX from "xlsx";
diff --git a/src/views/search/components/wasmPlayer/index.vue b/src/views/search/components/wasmPlayer/index.vue
index 1124b3f..2a7fec6 100644
--- a/src/views/search/components/wasmPlayer/index.vue
+++ b/src/views/search/components/wasmPlayer/index.vue
@@ -74,6 +74,7 @@
<i
class="el-icon-download jsmodern-video-download"
@click="downLoad"
+ style="margin: 9px 0 0 15px"
></i>
</section>
@@ -812,6 +813,7 @@
}
.video-error {
+ text-align: center;
position: absolute;
top: 35%;
left: 30%;
diff --git a/vue.config.js b/vue.config.js
index 703743d..719e360 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -15,6 +15,7 @@
"/api": {
// target: "http://192.168.20.10:7004",
target: "http://192.168.20.174:7070",
+ // target: "http://192.168.20.117:7080",
// secure: false,
changeOrigin: true,
},
--
Gitblit v1.8.0