|
@@ -24,10 +24,7 @@
|
|
|
<div class="indexlayout-top-menu">
|
|
|
<!-- :class="{'active': getTopMenuActive === route.path}" -->
|
|
|
<!-- el-scrollbar -->
|
|
|
- <el-scrollbar
|
|
|
- class="horizontal-scrollbar"
|
|
|
- style="overflow: hidden; height: 100%"
|
|
|
- >
|
|
|
+ <el-scrollbar class="horizontal-scrollbar" style="overflow: hidden; height: 100%">
|
|
|
<template v-for="route in permission_routes">
|
|
|
<app-link
|
|
|
v-if="!route.hidden"
|
|
@@ -37,7 +34,13 @@
|
|
|
:class="{ active: getTopMenuActive === route.path }"
|
|
|
>
|
|
|
<div
|
|
|
- style="display: flex; align-items: center; justify-content: center; flex-direction: column; height: 76px;"
|
|
|
+ style="
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+ flex-direction: column;
|
|
|
+ height: 76px;
|
|
|
+ "
|
|
|
>
|
|
|
<i :class="[route.meta.icon, 'menuSize']"></i>
|
|
|
<span style="line-height: 1.2">{{ route.meta.title }}</span>
|
|
@@ -48,7 +51,7 @@
|
|
|
</div>
|
|
|
<div class="right-menu">
|
|
|
<el-tooltip
|
|
|
- style="display: flex;"
|
|
|
+ style="display: flex"
|
|
|
effect="dark"
|
|
|
v-if="tenantForm.tenantId == 1"
|
|
|
content="点击进入商城系统"
|
|
@@ -59,7 +62,7 @@
|
|
|
</div>
|
|
|
</el-tooltip>
|
|
|
<el-tooltip
|
|
|
- style="display: flex;"
|
|
|
+ style="display: flex"
|
|
|
effect="dark"
|
|
|
v-if="tenantForm.tenantId == 1"
|
|
|
content="点击进入OA系统"
|
|
@@ -119,21 +122,17 @@
|
|
|
</div>
|
|
|
</el-popover> -->
|
|
|
<el-tooltip
|
|
|
- style="display: flex;"
|
|
|
+ style="display: flex"
|
|
|
effect="dark"
|
|
|
content="点击查看系统日志"
|
|
|
placement="bottom"
|
|
|
>
|
|
|
- <div
|
|
|
- class="msginfo right-position"
|
|
|
- v-permission="'/journal'"
|
|
|
- @click="gotoRecode"
|
|
|
- >
|
|
|
+ <div class="msginfo right-position" v-permission="'/journal'" @click="gotoRecode">
|
|
|
<i class="icon_admin_message operationSize"></i>
|
|
|
</div>
|
|
|
</el-tooltip>
|
|
|
<el-tooltip
|
|
|
- style="display: flex;"
|
|
|
+ style="display: flex"
|
|
|
effect="dark"
|
|
|
content="点击打开聊天"
|
|
|
placement="bottom"
|
|
@@ -149,7 +148,7 @@
|
|
|
placement="top-start"
|
|
|
width="300"
|
|
|
trigger="hover"
|
|
|
- style="display: flex;"
|
|
|
+ style="display: flex"
|
|
|
>
|
|
|
<div class="popover-container">
|
|
|
<el-tag
|
|
@@ -165,11 +164,7 @@
|
|
|
</span>
|
|
|
</el-popover>
|
|
|
</div>
|
|
|
- <el-dropdown
|
|
|
- class="avatar-container"
|
|
|
- trigger="hover"
|
|
|
- style="margin-left: 12px"
|
|
|
- >
|
|
|
+ <el-dropdown class="avatar-container" trigger="hover" style="margin-left: 12px">
|
|
|
<div class="avatar-wrapper">
|
|
|
<img
|
|
|
v-if="$store.getters.avatar"
|
|
@@ -212,20 +207,16 @@
|
|
|
@click="onRenew"
|
|
|
v-if="
|
|
|
$helpers.permission('/ productService') &&
|
|
|
- $helpers.permission('/serviceRenew')
|
|
|
+ $helpers.permission('/serviceRenew')
|
|
|
"
|
|
|
>
|
|
|
立即续费
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="serviceTime" v-if="tenantInfo.validRemaining > 0">
|
|
|
- 剩余{{ tenantInfo.validRemaining }}天({{
|
|
|
- tenantInfo.expiryDateEnd
|
|
|
- }})到期
|
|
|
- </div>
|
|
|
- <div class="serviceTime" v-else>
|
|
|
- 已过期
|
|
|
+ 剩余{{ tenantInfo.validRemaining }}天({{ tenantInfo.expiryDateEnd }})到期
|
|
|
</div>
|
|
|
+ <div class="serviceTime" v-else>已过期</div>
|
|
|
</div>
|
|
|
<!-- divided -->
|
|
|
<el-dropdown-item v-if="tenantStatus" @click.native="onTenantChange">
|
|
@@ -244,22 +235,14 @@
|
|
|
<i class="icon_admin_account userSize"></i>
|
|
|
<span class="dropdown-text">账号设置</span>
|
|
|
</el-dropdown-item>
|
|
|
- <el-dropdown-item
|
|
|
- style="border-top: 1px solid #E5E5E5;"
|
|
|
- @click.native="logout"
|
|
|
- >
|
|
|
+ <el-dropdown-item style="border-top: 1px solid #e5e5e5" @click.native="logout">
|
|
|
<i class="icon_admin_exit userSize"></i>
|
|
|
<span class="dropdown-text">安全退出</span>
|
|
|
</el-dropdown-item>
|
|
|
</el-dropdown-menu>
|
|
|
</el-dropdown>
|
|
|
</div>
|
|
|
- <el-dialog
|
|
|
- title="修改密码"
|
|
|
- width="500px"
|
|
|
- append-to-body
|
|
|
- :visible.sync="resetVisible"
|
|
|
- >
|
|
|
+ <el-dialog title="修改密码" width="500px" append-to-body :visible.sync="resetVisible">
|
|
|
<el-form
|
|
|
:model="resetForm"
|
|
|
label-position="right"
|
|
@@ -276,8 +259,8 @@
|
|
|
{
|
|
|
pattern: /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,20}$/,
|
|
|
message: '密码为6-20位数字和字母组合',
|
|
|
- trigger: 'blur'
|
|
|
- }
|
|
|
+ trigger: 'blur',
|
|
|
+ },
|
|
|
]"
|
|
|
prop="password"
|
|
|
>
|
|
@@ -295,8 +278,8 @@
|
|
|
{
|
|
|
pattern: /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,20}$/,
|
|
|
message: '密码为6-20位数字和字母组合',
|
|
|
- trigger: 'blur'
|
|
|
- }
|
|
|
+ trigger: 'blur',
|
|
|
+ },
|
|
|
]"
|
|
|
prop="password2"
|
|
|
>
|
|
@@ -309,9 +292,7 @@
|
|
|
</el-form-item>
|
|
|
<el-form-item
|
|
|
label="验证码"
|
|
|
- :rules="[
|
|
|
- { required: true, message: '验证码不能为空', trigger: 'blur' }
|
|
|
- ]"
|
|
|
+ :rules="[{ required: true, message: '验证码不能为空', trigger: 'blur' }]"
|
|
|
prop="authCode"
|
|
|
style=""
|
|
|
>
|
|
@@ -320,9 +301,7 @@
|
|
|
style="width: 180px"
|
|
|
autocomplete="off"
|
|
|
></el-input>
|
|
|
- <el-button :disabled="isDisable" @click="getCode">{{
|
|
|
- btnName
|
|
|
- }}</el-button>
|
|
|
+ <el-button :disabled="isDisable" @click="getCode">{{ btnName }}</el-button>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
<div slot="footer" class="dialog-footer">
|
|
@@ -346,9 +325,7 @@
|
|
|
>
|
|
|
<el-form-item
|
|
|
label="选择机构"
|
|
|
- :rules="[
|
|
|
- { required: true, message: '请选择机构', trigger: 'change' }
|
|
|
- ]"
|
|
|
+ :rules="[{ required: true, message: '请选择机构', trigger: 'change' }]"
|
|
|
prop="tenantId"
|
|
|
>
|
|
|
<el-select
|
|
@@ -416,7 +393,7 @@ export default {
|
|
|
phone: "",
|
|
|
authCode: "",
|
|
|
password: "",
|
|
|
- password2: ""
|
|
|
+ password2: "",
|
|
|
},
|
|
|
isDisable: false, // 是否允许发送验证码
|
|
|
timerCount: 60,
|
|
@@ -425,17 +402,17 @@ export default {
|
|
|
tenantVisible: false,
|
|
|
tenantName: tenantConfig.tenantName || null,
|
|
|
tenantForm: {
|
|
|
- tenantId: Number(tenantConfig.tenantId) || null
|
|
|
+ tenantId: Number(tenantConfig.tenantId) || null,
|
|
|
},
|
|
|
tenantList: [],
|
|
|
tenantLogo: tenantConfig.tenantLogo || null,
|
|
|
- noReadNum: 0
|
|
|
+ noReadNum: 0,
|
|
|
};
|
|
|
},
|
|
|
|
|
|
components: {
|
|
|
AppLink,
|
|
|
- userModel
|
|
|
+ userModel,
|
|
|
// instructions,
|
|
|
// Breadcrumb,
|
|
|
// Hamburger
|
|
@@ -447,7 +424,7 @@ export default {
|
|
|
"name",
|
|
|
"positionName",
|
|
|
"permission_routes",
|
|
|
- "tenantInfo"
|
|
|
+ "tenantInfo",
|
|
|
]),
|
|
|
getTopMenuActive() {
|
|
|
let route = this.$route;
|
|
@@ -458,10 +435,25 @@ export default {
|
|
|
// 判断是否是平台账号 true 是
|
|
|
const baseTenantId = sessionStorage.getItem("baseTenantId");
|
|
|
return baseTenantId < 0 ? true : false;
|
|
|
- }
|
|
|
+ },
|
|
|
},
|
|
|
mounted() {
|
|
|
- this.$bus.$on("getShowNums", obj => {
|
|
|
+ // this.$bus.$on("resetPwd", () => {
|
|
|
+ // this.resetPassWord();
|
|
|
+ // });
|
|
|
+ console.log(this.$store.getters.pwdflag, "getpwdflag");
|
|
|
+ if (this.$store.getters.pwdflag) {
|
|
|
+ this.$confirm("当前账号存在安全风险是否修改密码", "提示", {
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning",
|
|
|
+ })
|
|
|
+ .then(() => {
|
|
|
+ this.resetPassWord();
|
|
|
+ })
|
|
|
+ .catch(() => {});
|
|
|
+ }
|
|
|
+ this.$bus.$on("getShowNums", (obj) => {
|
|
|
this.noReadNum = obj;
|
|
|
});
|
|
|
// 手动加入
|
|
@@ -485,7 +477,7 @@ export default {
|
|
|
page: 1,
|
|
|
rows: 999,
|
|
|
payState: 1,
|
|
|
- state: 1
|
|
|
+ state: 1,
|
|
|
});
|
|
|
this.tenantList = res.data?.rows || [];
|
|
|
this.tenantVisible = true;
|
|
@@ -495,12 +487,12 @@ export default {
|
|
|
this.$router.push("/productService");
|
|
|
},
|
|
|
submitTenant() {
|
|
|
- this.$refs["tenantForm"].validate(res => {
|
|
|
+ this.$refs["tenantForm"].validate((res) => {
|
|
|
if (res) {
|
|
|
const tenantForm = this.tenantForm;
|
|
|
let tenantName = null;
|
|
|
let tenantLogo = null;
|
|
|
- this.tenantList.forEach(item => {
|
|
|
+ this.tenantList.forEach((item) => {
|
|
|
if (item.id == tenantForm.tenantId) {
|
|
|
tenantName = item.name;
|
|
|
tenantLogo = item.logo;
|
|
@@ -516,13 +508,10 @@ export default {
|
|
|
tenantConfig.tenantId = tenantForm.tenantId;
|
|
|
tenantConfig.tenantName = tenantName;
|
|
|
tenantConfig.tenantLogo = tenantLogo;
|
|
|
- sessionStorage.setItem(
|
|
|
- "tenantConfig",
|
|
|
- JSON.stringify(tenantConfig)
|
|
|
- );
|
|
|
+ sessionStorage.setItem("tenantConfig", JSON.stringify(tenantConfig));
|
|
|
this.$router.push({
|
|
|
path: "/redirect",
|
|
|
- query: this.$route.fullPath
|
|
|
+ query: this.$route.fullPath,
|
|
|
});
|
|
|
// } else {
|
|
|
// this.$router.push({
|
|
@@ -557,14 +546,14 @@ export default {
|
|
|
this.$message.error("两次密码必须相同");
|
|
|
return;
|
|
|
}
|
|
|
- this.$refs["pwdForm"].validate(res => {
|
|
|
+ this.$refs["pwdForm"].validate((res) => {
|
|
|
if (res) {
|
|
|
// 发请求
|
|
|
resetPassword({
|
|
|
authCode: this.resetForm.authCode,
|
|
|
mobile: this.$store.getters.phone,
|
|
|
- newPassword: this.resetForm.password
|
|
|
- }).then(res => {
|
|
|
+ newPassword: this.resetForm.password,
|
|
|
+ }).then((res) => {
|
|
|
if (res.code == 200) {
|
|
|
// 修改成功
|
|
|
this.$message.success("修改成功");
|
|
@@ -589,9 +578,9 @@ export default {
|
|
|
"/api-web/code/sendSms",
|
|
|
qs.stringify({ mobile: this.$store.getters.phone })
|
|
|
)
|
|
|
- .then(res => {
|
|
|
+ .then((res) => {
|
|
|
if (res.data.code == 200) {
|
|
|
- let timer = setInterval(res => {
|
|
|
+ let timer = setInterval((res) => {
|
|
|
if (this.timerCount <= 0) {
|
|
|
clearInterval(timer);
|
|
|
this.isDisable = false;
|
|
@@ -626,7 +615,7 @@ export default {
|
|
|
gotoChart() {
|
|
|
// 初始化未读数
|
|
|
this.$bus.$emit("openChart", true);
|
|
|
- }
|
|
|
+ },
|
|
|
},
|
|
|
watch: {
|
|
|
resetVisible(val) {
|
|
@@ -635,11 +624,11 @@ export default {
|
|
|
phone: "",
|
|
|
authCode: "",
|
|
|
password: "",
|
|
|
- password2: ""
|
|
|
+ password2: "",
|
|
|
};
|
|
|
}
|
|
|
- }
|
|
|
- }
|
|
|
+ },
|
|
|
+ },
|
|
|
};
|
|
|
</script>
|
|
|
|
|
@@ -647,10 +636,10 @@ export default {
|
|
|
.navbar_tag {
|
|
|
margin: 0 5px 8px;
|
|
|
}
|
|
|
-::v-deep .el-scrollbar__thumb{
|
|
|
- background-color: rgba(255,255,255,.3);
|
|
|
- &:hover{
|
|
|
- background-color: rgba(255,255,255,.3);
|
|
|
+::v-deep .el-scrollbar__thumb {
|
|
|
+ background-color: rgba(255, 255, 255, 0.3);
|
|
|
+ &:hover {
|
|
|
+ background-color: rgba(255, 255, 255, 0.3);
|
|
|
}
|
|
|
}
|
|
|
.indexlayout-top-menu {
|
|
@@ -856,8 +845,7 @@ export default {
|
|
|
.avatar-wrapper {
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
- background: url("../../assets/images/user_tips.png") no-repeat right
|
|
|
- center;
|
|
|
+ background: url("../../assets/images/user_tips.png") no-repeat right center;
|
|
|
background-size: 45%;
|
|
|
width: 100%;
|
|
|
.user-avatar {
|