Commit d08b627d authored by co_dengxiongwen's avatar co_dengxiongwen

页面调整

parent cba62dc3
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
img.login-code(:src="captchaPath" @click="getCaptcha()" alt="") img.login-code(:src="captchaPath" @click="getCaptcha()" alt="")
el-row.checkbox el-row.checkbox
el-col(:span='24' ) el-col(:span='24' )
el-checkbox(v-model="formLogin.remember" checked) 自动登陆 el-checkbox(v-model="formLogin.remember" checked) 记住密码
el-button(size="default" @click="submit" class='login-btn' :loading="loginLoad") 立即登录 el-button(size="default" @click="submit" class='login-btn' :loading="loginLoad") 立即登录
div.lFooter() Copyright (C) 2009-2010. 四川旷谷信息工程有限公司 蜀ICP备12026813号-1 电话:86-028-68937037 传真:86-028-68937039 div.lFooter() Copyright (C) 2009-2010. 四川旷谷信息工程有限公司 蜀ICP备12026813号-1 电话:86-028-68937037 传真:86-028-68937039
</template> </template>
...@@ -36,71 +36,70 @@ ...@@ -36,71 +36,70 @@
/* eslint-disable */ /* eslint-disable */
// 动态背景js // 动态背景js
// require("particles.js"); // require("particles.js");
import config from "./config/default"; import config from './config/default'
import { mapActions } from "vuex"; import { mapActions } from 'vuex'
import util from "@/libs/util.js"; import util from '@/libs/util.js'
import { getPermissions } from "@/util"; import { getPermissions } from '@/util'
const Base64 = require('js-base64').Base64 const Base64 = require('js-base64').Base64
import httpRequest from '@/plugin/axios' import httpRequest from '@/plugin/axios'
import bcrypt from '@/util/bcrypt.js' import bcrypt from '@/util/bcrypt.js'
export default { export default {
data () { data() {
return { return {
loginLoad:false, loginLoad: false,
// 快速选择用户 // 快速选择用户
dialogVisible: false, dialogVisible: false,
users: [ users: [
{ {
name: "管理员", name: '管理员',
username: "admin", username: 'admin',
password: "admin" password: 'admin'
}, },
{ {
name: "编辑", name: '编辑',
username: "editor", username: 'editor',
password: "editor" password: 'editor'
}, },
{ {
name: "用户1", name: '用户1',
username: "user1", username: 'user1',
password: "user1" password: 'user1'
} }
], ],
// 表单 // 表单
formLogin: { formLogin: {
username: "", username: '',
password: "", password: '',
remember: '', remember: '',
uuid: "", uuid: '',
code: "qweqwe" code: 'qweqwe'
}, },
// 校验 // 校验
rules: { rules: {
username: [ username: [
{ required: true, message: "请输入用户名", trigger: "blur" } { required: true, message: '请输入用户名', trigger: 'blur' }
], ],
password: [{ required: true, message: "请输入密码", trigger: "blur" }], password: [{ required: true, message: '请输入密码', trigger: 'blur' }],
code: [{ required: true, message: "请输入验证码", trigger: "blur" }] code: [{ required: true, message: '请输入验证码', trigger: 'blur' }]
}, },
captchaPath: "" captchaPath: ''
}; }
}, },
created () { created() {
//this.getCookie(); //this.getCookie();
let u = util.cookies.get("username") let u = util.cookies.get('username')
let p = util.cookies.get("password") let p = util.cookies.get('password')
if(u && p){ if (u && p) {
this.formLogin.username =bcrypt.decrypt(u); this.formLogin.username = bcrypt.decrypt(u)
this.formLogin.password = bcrypt.decrypt(p); this.formLogin.password = bcrypt.decrypt(p)
} }
this.getCaptcha(); this.getCaptcha()
this.$parent.getDateList();
}, },
mounted () { mounted() {
// 初始化例子插件 // 初始化例子插件
//particlesJS("login", config); //particlesJS("login", config);
}, },
beforeDestroy () { beforeDestroy() {
// 销毁 particlesJS // 销毁 particlesJS
// thanks https://github.com/d2-projects/d2-admin/issues/65 // thanks https://github.com/d2-projects/d2-admin/issues/65
// ref https://github.com/VincentGarreau/particles.js/issues/63 // ref https://github.com/VincentGarreau/particles.js/issues/63
...@@ -110,44 +109,43 @@ export default { ...@@ -110,44 +109,43 @@ export default {
//} //}
}, },
methods: { methods: {
...mapActions("d2admin/account", ["login"]), ...mapActions('d2admin/account', ['login']),
...mapActions('d2admin/page', ['closeAll']), ...mapActions('d2admin/page', ['closeAll']),
// getType(){ // getType(){
// let type // let type
// httpRequest({ url: httpRequest.adornUrl('/sysSystem/getSystem'), method: 'get' }).then((e) => { // httpRequest({ url: httpRequest.adornUrl('/sysSystem/getSystem'), method: 'get' }).then((e) => {
// console.log(e, '类型') // console.log(e, '类型')
// }) // })
// return type // return type
// }, // },
/** /**
* 获取uuid * 获取uuid
*/ */
getUUID () { getUUID() {
return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, c => { return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {
return (c === "x" return (c === 'x'
? (Math.random() * 16) | 0 ? (Math.random() * 16) | 0
: "r&0x3" | "0x8" : 'r&0x3' | '0x8'
).toString(16); ).toString(16)
}); })
}, },
// 获取验证码 // 获取验证码
getCaptcha () { getCaptcha() {
this.formLogin.uuid = this.getUUID(); this.formLogin.uuid = this.getUUID()
this.captchaPath = this.$http.adornUrl( this.captchaPath = this.$http.adornUrl(
`/captcha.jpg?uuid=${this.formLogin.uuid}` `/captcha.jpg?uuid=${this.formLogin.uuid}`
); )
}, },
/** /**
* @description 接收选择一个用户快速登录的事件 * @description 接收选择一个用户快速登录的事件
* @param {Object} user 用户信息 * @param {Object} user 用户信息
*/ */
handleUserBtnClick (user) { handleUserBtnClick(user) {
this.formLogin.username = user.username; this.formLogin.username = user.username
this.formLogin.password = user.password; this.formLogin.password = user.password
this.submit(); this.submit()
}, },
/* setCookie(c_name, c_pwd, exdays) { /* setCookie(c_name, c_pwd, exdays) {
var exdate = new Date(); var exdate = new Date();
...@@ -181,18 +179,17 @@ export default { ...@@ -181,18 +179,17 @@ export default {
*/ */
// 提交登录信息 // 提交登录信息
clearCookie: function () { clearCookie: function () {
util.cookies.set("username", ""); util.cookies.set('username', '')
util.cookies.set("password", ""); util.cookies.set('password', '')
}, },
submit () { submit() {
// 防止重复提交 // 防止重复提交
if(this.loginLoad) return if (this.loginLoad) return
// 登录关闭所有tab // 登录关闭所有tab
this.closeAll() this.closeAll()
let u = bcrypt.encrypt(this.formLogin.username.trim()) let u = bcrypt.encrypt(this.formLogin.username.trim())
let p = bcrypt.encrypt(this.formLogin.password.trim()) let p = bcrypt.encrypt(this.formLogin.password.trim())
this.$refs.loginForm.validate(valid => { this.$refs.loginForm.validate((valid) => {
if (valid) { if (valid) {
// this.login({ // this.login({
// vm: this, // vm: this,
...@@ -205,28 +202,28 @@ export default { ...@@ -205,28 +202,28 @@ export default {
// 获取数据列表 // 获取数据列表
this.loginLoad = true this.loginLoad = true
this.$http({ this.$http({
url: this.$http.authUrl("/oauth/token"), url: this.$http.authUrl('/oauth/token'),
method: "post", method: 'post',
headers: { headers: {
'Content-Type': 'application/x-www-form-urlencoded' 'Content-Type': 'application/x-www-form-urlencoded'
}, },
data: { data: {
grant_type: "password", grant_type: 'password',
username: u, username: u,
password: p, password: p,
scope: "all" scope: 'all'
} }
}) })
.then(data => { .then((data) => {
if (data.access_token) { if (data.access_token) {
// 登录 // 登录
// 注意 这里的演示没有传验证码 // 注意 这里的演示没有传验证码
// 具体需要传递的数据请自行修改代码 // 具体需要传递的数据请自行修改代码
util.cookies.set("authorization", data.access_token); util.cookies.set('authorization', data.access_token)
this.$http({ this.$http({
url: this.$http.adornUrl("/sys/login"), url: this.$http.adornUrl('/sys/login'),
method: "post", method: 'post',
data: { data: {
uuid: this.formLogin.uuid, uuid: this.formLogin.uuid,
username: u, username: u,
...@@ -234,7 +231,7 @@ export default { ...@@ -234,7 +231,7 @@ export default {
captcha: this.formLogin.code captcha: this.formLogin.code
} }
}) })
.then(res => { .then((res) => {
if (res.msg == 'success') { if (res.msg == 'success') {
this.$message.success({ this.$message.success({
message: '登录成功', message: '登录成功',
...@@ -249,88 +246,96 @@ export default { ...@@ -249,88 +246,96 @@ export default {
// util.cookies.set("token", res.token); // util.cookies.set("token", res.token);
sessionStorage.setItem('uuid', res.uuid) sessionStorage.setItem('uuid', res.uuid)
sessionStorage.setItem('token', res.token) sessionStorage.setItem('token', res.token)
localStorage.setItem("userId",res.userId) localStorage.setItem('userId', res.userId)
// 存储登陆用户权限信息 // 存储登陆用户权限信息
sessionStorage.setItem("permissions", res.permissions); sessionStorage.setItem('permissions', res.permissions)
localStorage.setItem("sysSystem",res.sysSystem) localStorage.setItem('sysSystem', res.sysSystem)
localStorage.setItem("sysSign",JSON.parse(res.sysSystem || '{}').code) localStorage.setItem(
localStorage.setItem("stationId",JSON.parse(res.sysSystem || '{}').code) 'sysSign',
localStorage.setItem("lineId",JSON.parse(res.sysSystem || '{}').lineId) JSON.parse(res.sysSystem || '{}').code
)
localStorage.setItem(
'stationId',
JSON.parse(res.sysSystem || '{}').code
)
localStorage.setItem(
'lineId',
JSON.parse(res.sysSystem || '{}').lineId
)
//设置被接管 //设置被接管
let takeover = res.takeover let takeover = res.takeover
if(takeover && takeover.status === 1){ if (takeover && takeover.status === 1) {
// 弹出提示框 // 弹出提示框
this.$store.dispatch('d2admin/takeover/setTakeover', takeover) this.$store.dispatch(
} else if(takeover && takeover.status === 2 ){ 'd2admin/takeover/setTakeover',
sessionStorage.setItem('takeover',true) takeover
)
} else if (takeover && takeover.status === 2) {
sessionStorage.setItem('takeover', true)
} }
// 设置 vuex 用户信息 // 设置 vuex 用户信息
this.$store.dispatch( this.$store.dispatch(
"d2admin/user/set", 'd2admin/user/set',
{ {
name: this.formLogin.username, name: this.formLogin.username,
userName:res.userName userName: res.userName
}, },
{ root: true } { root: true }
); )
// 用户登录后从持久化数据加载一系列的设置 // 用户登录后从持久化数据加载一系列的设置
this.$store.dispatch("d2admin/account/load"); this.$store.dispatch('d2admin/account/load')
// 获取最新权限信息 // 获取最新权限信息
getPermissions(); getPermissions()
// 更新路由 尝试去获取 cookie 里保存的需要重定向的页面完整地址 // 更新路由 尝试去获取 cookie 里保存的需要重定向的页面完整地址
const path = util.cookies.get("redirect"); const path = util.cookies.get('redirect')
// 根据是否存有重定向页面判断如何重定向 // 根据是否存有重定向页面判断如何重定向
this.$http({ this.$http({
url: this.$http.adornUrl('/sys/menu/nav'), url: this.$http.adornUrl('/sys/menu/nav'),
method: "get" method: 'get'
}).then((e)=>{ }).then((e) => {
this.$router.replace({path:'/'}) this.$router.replace({ path: '/' })
}) })
// this.$router.replace(path ? { path } : { name: "index" }); // this.$router.replace(path ? { path } : { name: "index" });
// 删除 cookie 中保存的重定向页面 // 删除 cookie 中保存的重定向页面
util.cookies.remove("redirect"); util.cookies.remove('redirect')
if (this.formLogin.remember) { if (this.formLogin.remember) {
//传入账号名,密码,和保存天数3个参数 //传入账号名,密码,和保存天数3个参数
//this.setCookie(this.formLogin.username, this.formLogin.password, 7); //this.setCookie(this.formLogin.username, this.formLogin.password, 7);
util.cookies.set("username", u); util.cookies.set('username', u)
util.cookies.set("password", p); util.cookies.set('password', p)
} else { } else {
console.log("清空Cookie"); console.log('清空Cookie')
//清空Cookie //清空Cookie
this.clearCookie(); this.clearCookie()
} }
this.$parent.getDateList();
} else { } else {
sessionStorage.removeItem("uuid") sessionStorage.removeItem('uuid')
sessionStorage.removeItem("token") sessionStorage.removeItem('token')
this.$message.danger('账号或密码错误') this.$message.danger('账号或密码错误')
} }
}) })
.catch(err => { .catch((err) => {
this.loginLoad = false this.loginLoad = false
this.getCaptcha(); this.getCaptcha()
}); })
} }
}) })
.catch(err => { .catch((err) => {
this.loginLoad = false this.loginLoad = false
this.getCaptcha(); this.getCaptcha()
}); })
} else { } else {
// 登录表单校验失败 // 登录表单校验失败
// this.$message.error("表单校验失败"); // this.$message.error("表单校验失败");
} }
}); })
} }
} }
}; }
</script> </script>
<style lang="scss" > <style lang="scss">
@import "./style.scss"; @import './style.scss';
</style> </style>
<template lang="pug">
el-container(style="height:77.6vh")
el-aside( width="18vw" v-loading="leftLoading" style="z-index:1000;box-shadow: 2px 0 8px 0 rgba(0, 0, 0, 0.2);")
div.tree_warp
div.title_warp
span.title-bold(style='padding-right:150px;margin-left:20px;z-index:1001;') 角色列表
el-button(type='primary' v-if="isAuth('sys:role:save')" size='mini' icon='el-icon-plus' @click="addOrUpdateHandle('')") 新增
div.tree_content(v-for='item in tableData' :key='item.roleId' @click='chooseRole(item)' :class="{'isActive': ids == item.roleId}" )
el-tooltip(v-if="item.roleName.replace(/[\u0391-\uFFE5]/g,'aa').length>14" :content="item.roleName" effect="light" placement="top")
div.role_name {{item.roleName | ellipsis}}
div.role_name(v-else) {{item.roleName | ellipsis}}
div(style="width:50%;text-align:right;padding-right:20px")
el-button(v-if="isAuth('sys:role:update')" plain type='primary' size='mini' @click="addOrUpdateHandle(item)") 编辑
el-button(v-if="isAuth('sys:role:delete')" plain type='primary' size='mini' style="margin-left:10px;" @click="delRole(item.roleId)") 删除
el-container(style="height:77vh")
el-header(style='height:42px;line-height:42px;background: #f4f4f4;z-index:1001;border:1px solid rgba(196, 196, 196, 1);')
template()
span.title-bold.title-left-color {{roleName ? roleName : '权限详情'}}&emsp;
el-checkbox(v-model="checked" @change="checkAll") 全选
el-main().box_main
el-card.tableCard( style='overflow:auto;box-sizing:border-box;' v-loading.fullscreen.lock="rightLoading")
div(v-loading="rightLoading1" class='div_tree')
el-tree(ref="tree" @check-change="handleNodeClick" :render-content="renderContent" @node-expand="handleNodeExpand" :default-expanded-keys="expandedKeys" :props="defaultProps" :data="videoData" show-checkbox node-key="menu_id")
div(style="margin-top:20px;")
el-button(type='primary' size='medium' v-if="isAuth('sys:role:update')" @click="saveRoleMenu" v-prevent-re-click) 保存
add-or-update( v-if="addOrUpdateVisible" ref="addOrUpdate" @reFreshDataList="reFreshDataList")
</template>
<script>
import AddOrUpdate from './role-add-or-update'
// import Vue from 'vue'
export default {
data() {
return {
rightLoading: false,
clickFlag: false,
ids: '',
leftLoading: false,
rightLoading1: false,
selection: '',
expandedKeys: [],
addOrUpdateVisible: false,
tableData: [],
checked: false,
isIndeterminate: true,
roleName: '',
activeNames: ['1'], //手风琴
videoData: [],
totalCount: 0,
checkTotalCount: 0,
defaultProps: {
children: 'children',
label: 'name'
}
}
},
filters: {
ellipsis(value) {
// console.log(value)
if (!value) return ''
let len = value.length
let realLength = 0
for (var i = 0; i < len; i++) {
let charCode = value.charCodeAt(i)
if (charCode >= 0 && charCode <= 128) {
realLength += 1
} else {
realLength += 2
}
if (realLength > 14) {
return value.slice(0, i) + '...'
}
}
return value
}
},
components: {
AddOrUpdate
},
watch: {
checkTotalCount() {
// console.log('全部:', this.totalCount, '选中:', this.checkTotalCount)
if (this.checkTotalCount === this.totalCount) {
this.checked = true
} else {
this.checked = false
}
}
},
created() {
//查询角色信息
this.getAllRole()
this.getMenu()
},
mounted() {
var legLast = document.querySelectorAll('.is-leaf')
console.log('====log:', document)
for (let i = 0; i < legLast.length; i++) {
console.log('====log:===', legLast[i].html)
}
},
methods: {
reFreshDataList() {
this.getAllRole()
this.getMenu()
},
// 新增或修改
addOrUpdateHandle(item) {
this.addOrUpdateVisible = true
this.$nextTick(() => {
this.$refs.addOrUpdate.init(item)
})
},
saveRoleMenu() {
let checkedKeys = this.$refs.tree
.getCheckedKeys()
.concat(this.$refs.tree.getHalfCheckedKeys())
// console.log(checkedKeys)
let checkedRow = this.selection
if (!checkedRow) {
this.$message({
type: 'warning',
message: '请先选择角色!',
duration: 1000
})
return
}
this.clickFlag = true
this.rightLoading = true
// console.log("checkedKeys", checkedKeys);
// console.log("checkedRow", checkedRow);
this.$http({
url: this.$http.adornUrl(`/sys/menu/updateRoleMenu`),
method: 'post',
data: {
roleId: checkedRow,
menuIds: checkedKeys
}
}).then((data) => {
if (data && data.code === 0) {
this.$message({
message: '操作成功',
type: 'success',
duration: 1500
})
} else {
this.$message.error(data.msg)
}
this.reFreshDataList()
this.clickFlag = false
this.rightLoading = false
})
},
checkAll() {
if (!this.checked) {
this.$nextTick(() => {
this.$refs.tree.setCheckedKeys([])
})
this.checkTotalCount = 0
} else {
this.$nextTick(() => {
if (this.videoData) {
this.expandedKeys = this.videoData.map((item) => {
return item.menu_id
})
this.$refs.tree.setCheckedKeys(this.expandedKeys)
}
})
this.checkTotalCount = this.expandedKeys.length
}
},
handleNodeClick() {
this.checkTotalCount = this.$refs.tree.getCheckedKeys().length
},
handleNodeExpand(data) {
for (let m = 0; m < data.children.length; m++) {
this.$refs.tree.store.nodesMap[data.children[m].menu_id].expanded = true
}
},
renderContent(h, { node, data }) {
let nodeName = data.name
if (node.level == 3) {
return (<span class='lastLevel' style='font-size:11px;font-weight:100'>{nodeName}</span>)
} else {
return (<span style='font-size:14px;font-weight:600'>{nodeName}</span>)
}
    },
chooseRole(res) {
this.clickFlag = false
this.ids = res.roleId
this.selection = res.roleId
this.roleName = res.roleName
this.$http({
url: this.$http.adornUrl(`/sys/menu/getRoleMenu`),
method: 'get',
params: this.$http.adornParams({
roleId: res.roleId
})
}).then((data) => {
if (data && data.code === 0) {
let list = data.list.map((item) => {
return item.menu_id
})
this.$nextTick(() => {
this.$refs.tree.setCheckedKeys(list)
if (this.videoData) {
this.expandedKeys = this.videoData.map((item) => {
return item.menu_id
})
}
})
//this.checkTotalCount = data.count
}
})
},
getAllRole() {
this.leftLoading = true
this.$http({
url: this.$http.adornUrl(`/sys/role/getRoleList`),
method: 'get',
params: this.$http.adornParams()
}).then((data) => {
if (data && data.code === 0) {
this.tableData = data.list
// let row = this.$refs.roleTable.data[0]
// this.$refs.roleTable.setCurrentRow(row)
// this.chooseRole(row)
}
this.leftLoading = false
}).then(() => {
this.$nextTick(() => {
this.chooseRole(this.tableData[0])
})
})
},
getMenu() {
this.rightLoading1 = true
this.$http({
url: this.$http.adornUrl(`/sys/menu/getMenu`),
method: 'get',
params: this.$http.adornParams()
}).then((data) => {
if (data && data.code === 0) {
this.videoData = data.result
// console.log(data.size, 'size')
this.totalCount = data.size
// this.totalCount = this.videoData.length
// this.videoData.forEach(e => {
// if (e.children != null && e.children.length > 0) {
// this.totalCount += e.children.length
// e.children.forEach(j => {
// if (j.children != null && j.children.length > 0) {
// this.totalCount += j.children.length
// }
// })
// }
// })
}
this.rightLoading1 = false
})
},
delRole(roleId) {
this.$confirm('确认删除此角色?', '警告', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.leftLoading = true
let roleIds = [roleId]
this.$http({
url: this.$http.adornUrl(`/sys/role/delete`),
method: 'POST',
data: roleIds
}).then((data) => {
if (data && data.code === 0) {
this.$message({
message: '操作成功',
type: 'success',
duration: 1500
})
} else {
this.$message.error(data.msg)
}
this.getMenu()
this.getAllRole()
this.leftLoading = false
})
})
}
}
}
</script>
<style lang="scss" scoped>
.item {
margin-bottom: 18px;
}
.is-leaf > span:nth-child(0){
font-size:11px;
font-weight: 100;
}
.tree_warp {
overflow: auto;
height: 100%;
box-sizing: border-box;
background: #f4f4f4;
/*border-right: 1px solid rgba(195, 195, 195, 1);*/
/*box-shadow: 2px 0 8px 0 rgba(0, 0, 0, 0.2);*/
/*box-shadow: 2px 0 8px 0 red;*/
.title_warp {
height: 42px;
line-height: 42px;
background: #eef8ff;
color: #333333;
}
.tree_content {
display: flex;
height: 40px;
line-height: 40px;
background: #fff;
border-top-left-radius: 20px;
border-bottom-left-radius: 20px;
margin: 10px 10px 0 20px;
// float: right;
.role_name {
margin-left: 20px;
width: 50%;
margin-left: 20px;
font-size: 14px;
font-family: Microsoft YaHei;
font-weight: 400;
color: rgba(51, 51, 51, 1);
display: inline-block;
}
}
}
.isActive {
background: #eef8ff !important;
}
.el-tree-node__content {
height: 40px;
.el-tree-node__expand-icon {
position: relative;
left: 126px;
}
}
</style>
<style lang="scss">
.div_tree {
background: #F6F7FB;
border: 1px solid #EDEEF1;
.el-tree-node__expand-icon.el-icon-caret-right:before{
//position:absolute;
//top:1x;
//margin-left:120px;
//display: none;
}
.el-tree-node__expand-icon.el-icon-caret-right:after{
//display: inline-block;
}
.el-tree-node .el-tree-node__content {
// .el-tree-node__label {
// font-size: 14px;
// }
height: 40px;
border-bottom:1px solid #EDEEF1;
span.el-tree-node__label {
font-size: 14px;
font-family: Microsoft YaHei;
height: 17px;
font-weight: bold;
}
}
.el-tree-node__children .el-tree-node__children .el-tree-node__content {
float: left;
}
.el-tree-node__children{
//margin-top: -40px;
//margin-left: 10%;
}
}
</style>
...@@ -230,7 +230,6 @@ service.interceptors.response.use( ...@@ -230,7 +230,6 @@ service.interceptors.response.use(
sessionStorage.removeItem('token') sessionStorage.removeItem('token')
sessionStorage.removeItem('uuid') sessionStorage.removeItem('uuid')
if (this) { if (this) {
this.$parent.getDateList()
//清空接管提示框 //清空接管提示框
this.$store.dispatch('d2admin/takeover/setTakeover', null) this.$store.dispatch('d2admin/takeover/setTakeover', null)
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment