From b6d6d4c374b21dd2f289eb5430bb8eddca2902a7 Mon Sep 17 00:00:00 2001
From: heyujie <516346543@qq.com>
Date: 星期三, 10 三月 2021 15:06:18 +0800
Subject: [PATCH] 默认应用不展示卸载按钮,前进后退到默认应用也要相应改变
---
src/pages/settings/components/BasicSetting.vue | 97 +++++++++++++++++++++++++++++++++---------------
1 files changed, 67 insertions(+), 30 deletions(-)
diff --git a/src/pages/settings/components/BasicSetting.vue b/src/pages/settings/components/BasicSetting.vue
index 1100cdf..b720c44 100644
--- a/src/pages/settings/components/BasicSetting.vue
+++ b/src/pages/settings/components/BasicSetting.vue
@@ -8,7 +8,7 @@
type="border-card"
>
<!-- 鏈満淇℃伅 -->
- <el-tab-pane label="鏈満淇℃伅" name="first">
+ <el-tab-pane label="鏈満淇℃伅" name="sysInfo" v-if="isShow('settings:sysInfo')">
<el-menu
:default-openeds="openeds"
background-color="#fff"
@@ -79,20 +79,24 @@
<el-menu-item-group class="item-group desc-info">
<el-row :gutter="gutter">
<el-col :span="12" class="flex-box">
- <div class="xiangqin-label">ID</div>
+ <div class="xiangqin-label">璁惧ID</div>
<div class="xiangqing-info">{{sysinfo.server_id}}</div>
</el-col>
- <el-col :span="12" class="flex-box">
+ <!-- <el-col :span="12" class="flex-box">
<div class="xiangqin-label">璁惧缂栧彿</div>
<div class="xiangqing-info">{{sysinfo.deviceNum}}</div>
- </el-col>
+ </el-col>-->
<el-col :span="12" class="flex-box">
<div class="xiangqin-label">璁惧鍨嬪彿</div>
- <div class="xiangqing-info">{{sysinfo.deviceType}}</div>
+ <div class="xiangqing-info">{{sysinfo.deviceModel}}</div>
</el-col>
<el-col :span="12" class="flex-box">
- <div class="xiangqin-label">璁惧搴忓垪鍙�</div>
- <div class="xiangqing-info">{{sysinfo.deviceSerialNum}}</div>
+ <div class="xiangqin-label">璁惧绫诲瀷</div>
+ <div class="xiangqing-info">{{sysinfo.deviceDesc}}</div>
+ </el-col>
+ <el-col :span="12" class="flex-box">
+ <div class="xiangqin-label">閫氶亾涓暟</div>
+ <div class="xiangqing-info">{{sysinfo.channelCount}}</div>
</el-col>
<el-col :span="12" class="flex-box">
<div class="xiangqin-label">涓绘帶鐗堟湰</div>
@@ -101,14 +105,6 @@
<el-col :span="12" class="flex-box">
<div class="xiangqin-label">web鐗堟湰</div>
<div class="xiangqing-info">{{sysinfo.webVersion}}</div>
- </el-col>
- <el-col :span="12" class="flex-box">
- <div class="xiangqin-label">閫氶亾涓暟</div>
- <div class="xiangqing-info">{{sysinfo.channelCount}}</div>
- </el-col>
- <el-col :span="12" class="flex-box">
- <div class="xiangqin-label">纭洏涓暟</div>
- <div class="xiangqing-info">{{sysinfo.diskCount}}</div>
</el-col>
<el-col :span="12" class="flex-box">
<div class="xiangqin-label">纭洏淇℃伅</div>
@@ -179,7 +175,7 @@
</el-tab-pane>
<!-- 鏃堕棿閰嶇疆 -->
- <el-tab-pane label="鏃堕棿閰嶇疆" name="second">
+ <el-tab-pane label="鏃堕棿閰嶇疆" name="timeSet" v-if="isShow('settings:timeSet')">
<el-form label-width="100px">
<el-form-item label="璁惧鏃堕棿">
<!-- <el-input v-model="equipmentTime" placeholder="璇疯緭鍏�" size="small"></el-input> -->
@@ -232,6 +228,7 @@
style="position: absolute; left: 330px;"
:disabled="syncType === '2'"
@click="testNTP"
+ :loading="ntpTestLoading"
>娴嬭瘯</el-button>
</el-form-item>
@@ -268,7 +265,7 @@
</el-tab-pane>
<!-- 闆嗙兢绠$悊 -->
- <el-tab-pane label="闆嗙兢绠$悊" name="third">
+ <el-tab-pane label="闆嗙兢绠$悊" name="cluster" v-if="isShow('settings:cluster')">
<cluster-management></cluster-management>
</el-tab-pane>
<!-- <el-tab-pane label="澶栭儴璁块棶" name="fourth">
@@ -311,11 +308,11 @@
</el-submenu>
</el-menu>
</el-tab-pane>-->
- <el-tab-pane label="鏉冮檺绠$悊" name="user">
- <authority-management v-if="activeName === 'user'"></authority-management>
+ <el-tab-pane label="鏉冮檺绠$悊" name="permission" v-if="isShow('settings:permission')">
+ <authority-management v-if="activeName === 'permission'"></authority-management>
</el-tab-pane>
- <el-tab-pane label="骞挎挱璁剧疆" name="radio">
- <radio-set v-if="activeName === 'radio'"></radio-set>
+ <el-tab-pane label="骞挎挱璁剧疆" name="broadcast" v-if="isShow('settings:broadcast')">
+ <radio-set v-if="activeName === 'broadcast'"></radio-set>
</el-tab-pane>
</el-tabs>
</div>
@@ -341,6 +338,7 @@
import ClusterManagement from "./ClusterManagement";
import AuthorityManagement from "./AuthorityManagement";
import RadioSet from "./RadioSet";
+import config from '../../../../package.json'
export default {
name: "BasicSettings",
@@ -359,7 +357,18 @@
}))
})
return options
- }
+ },
+ isAdmin() {
+ if (
+ sessionStorage.getItem("userInfo") &&
+ sessionStorage.getItem("userInfo") !== ""
+ ) {
+ let loginName = JSON.parse(sessionStorage.getItem("userInfo")).username;
+ return loginName === "superadmin" || loginName === "basic";
+ }
+
+ return false;
+ },
},
directives: {
focus: {
@@ -373,7 +382,7 @@
loading: true,
loadingText: "",
gutter: 10,
- activeName: "first",
+ activeName: "sysInfo",
timezone: "",
syncType: "1",
ntpServer: "",
@@ -469,8 +478,23 @@
cityOptions: [],
countyOptions: []
},
+ webPort: 0,
+ ntpTestLoading: false,
+ buttonAuthority: sessionStorage.getItem("buttonAuthoritys") || [],
};
- webPort: 0;
+ },
+ created() {
+ if (this.isShow("settings:sysInfo")) {
+ this.activeName = "sysInfo";
+ } else if (this.isShow("settings:timeSet")) {
+ this.activeName = "timeSet";
+ } else if (this.isShow("settings:cluster")) {
+ this.activeName = "cluster";
+ } else if (this.isShow("settings:permission")) {
+ this.activeName = "permission";
+ } else if (this.isShow("settings:broadcast")) {
+ this.activeName = "broadcast";
+ }
},
mounted() {
this.$nextTick(() => {
@@ -487,6 +511,9 @@
clearInterval(this.browserTimer);
},
methods: {
+ isShow(authority) {
+ return this.isAdmin || this.buttonAuthority.indexOf("," + authority + ",") > -1
+ },
initSysinfo() {
this.loadingText = "姝e湪鑾峰彇璁惧淇℃伅...";
getDevInfo().then(rsp => {
@@ -504,7 +531,7 @@
let devInfo = this.sysinfo.deviceInfo;
this.sysinfo.cpuInfo = devInfo.cpu[0].modelName;
- this.sysinfo.disks = devInfo.disk;
+ this.sysinfo.disks = "( " + devInfo.disk + ") ";
this.sysinfo.mem = (devInfo.mem.total / 1024 / 1024 / 1024).toFixed(2) + "GB";
// this.sysinfo.arch = devInfo.host.kernelArch;
this.sysinfo.uptime = this.secondsFormat(devInfo.host.uptime);
@@ -515,6 +542,8 @@
}
this.webPort = this.sysinfo.server_port;
+
+ this.sysinfo.webVersion = 'V' + config.version;
}
this.loading = false;
@@ -529,11 +558,13 @@
var second = s - day * 24 * 3600 - hour * 3600 - minute * 60;
return day + "澶�" + hour + "鏃�" + minute + "鍒�" + second + "绉�";
},
- initClockConf() {
+ initClockConf(ntpTest = false) {
getClockInfo().then(rsp => {
if (rsp && rsp.success) {
this.timezone = rsp.data.time_zone;
- this.syncType = rsp.data.ntp ? "1" : "2";
+ if (!ntpTest) {
+ this.syncType = rsp.data.ntp ? "1" : "2";
+ }
if (rsp.data.ntp) {
this.ntpServer = rsp.data.ntp_server;
this.timeInterval = rsp.data.interval;
@@ -594,7 +625,7 @@
if (this.sysinfo.ip !== this.originNetConfig.ip) {
let newUri = location.protocol + "//" + this.sysinfo.ip + ":" + this.sysinfo.server_port;
var changeIPTimer = setTimeout(() => {
- this.$alert('<strong>鎮ㄥ凡淇敼浜嗘湇鍔″櫒ip, 璇烽噸鏂扮櫥褰�</strong><a href="' + newUri + '"> ' + newUri + '<a/>', '鎻愮ず', {
+ this.$alert('<strong>鎮ㄥ凡淇敼浜嗘湇鍔″櫒ip, 璇烽噸鏂扮櫥褰�</strong><a target="_parent" href="' + newUri + '"> ' + newUri + '<a/>', '鎻愮ず', {
dangerouslyUseHTMLString: true
});
}, 10000)
@@ -640,7 +671,7 @@
if (this.sysinfo.server_port !== this.webPort) {
let newUri = location.protocol + "//" + this.sysinfo.ip + ":" + this.sysinfo.server_port;
var changeIPTimer = setTimeout(() => {
- this.$alert('<strong>鎮ㄥ凡淇敼浜嗘湇鍔″櫒绔彛, 璇烽噸鏂扮櫥褰�</strong><a href="' + newUri + '"> ' + newUri + '<a/>', '鎻愮ず', {
+ this.$alert('<strong>鎮ㄥ凡淇敼浜嗘湇鍔″櫒绔彛, 璇烽噸鏂扮櫥褰�</strong><a target="_parent" href="' + newUri + '"> ' + newUri + '<a/>', '鎻愮ず', {
dangerouslyUseHTMLString: true
});
}, 5000)
@@ -653,7 +684,6 @@
});
},
checkTimeZone(val) {
- debugger;
},
submitClock() {
@@ -690,9 +720,12 @@
message: "璁剧疆鎴愬姛"
});
}
+
+ this.initClockConf();
})
},
testNTP() {
+ this.ntpTestLoading = true;
testNTPserver({ server: this.ntpServer }).then(rsp => {
if (rsp && rsp.success) {
this.$notify({
@@ -705,11 +738,15 @@
message: "鏃堕棿鍚屾澶辫触"
});
}
+ this.ntpTestLoading = false;
+ this.initClockConf(true);
+
}).catch(err => {
this.$notify({
type: "error",
message: "鏃堕棿鍚屾澶辫触,璇锋鏌ユ湇鍔″櫒ip"
});
+ this.ntpTestLoading = false;
})
},
submitAlarm() {
--
Gitblit v1.8.0