优化代码
This commit is contained in:
parent
42bb8f6445
commit
966a17123f
|
@ -1 +0,0 @@
|
||||||
如果使用的是RuoYi-Vue3前端,那么需要覆盖一下此目录的模板index.vue.vm、index-tree.vue.vm文件到上级vue目录。
|
|
|
@ -11,14 +11,14 @@ import ThemePicker from "@/components/ThemePicker";
|
||||||
export default {
|
export default {
|
||||||
name: "App",
|
name: "App",
|
||||||
components: { ThemePicker },
|
components: { ThemePicker },
|
||||||
metaInfo() {
|
metaInfo() {
|
||||||
return {
|
return {
|
||||||
title: this.$store.state.settings.dynamicTitle && this.$store.state.settings.title,
|
title: this.$store.state.settings.dynamicTitle && this.$store.state.settings.title,
|
||||||
titleTemplate: title => {
|
titleTemplate: title => {
|
||||||
return title ? `${title} - ${process.env.VUE_APP_TITLE}` : process.env.VUE_APP_TITLE
|
return title ? `${title} - ${process.env.VUE_APP_TITLE}` : process.env.VUE_APP_TITLE
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
<style scoped>
|
<style scoped>
|
||||||
|
|
|
@ -168,7 +168,7 @@ export default {
|
||||||
// 删除图片
|
// 删除图片
|
||||||
handleDelete(file) {
|
handleDelete(file) {
|
||||||
const findex = this.fileList.map(f => f.name).indexOf(file.name);
|
const findex = this.fileList.map(f => f.name).indexOf(file.name);
|
||||||
if(findex > -1) {
|
if (findex > -1) {
|
||||||
this.fileList.splice(findex, 1);
|
this.fileList.splice(findex, 1);
|
||||||
this.$emit("input", this.listToString(this.fileList));
|
this.$emit("input", this.listToString(this.fileList));
|
||||||
}
|
}
|
||||||
|
|
|
@ -57,9 +57,9 @@ export default {
|
||||||
if (menu.hidden !== true) {
|
if (menu.hidden !== true) {
|
||||||
// 兼容顶部栏一级菜单内部跳转
|
// 兼容顶部栏一级菜单内部跳转
|
||||||
if (menu.path === "/") {
|
if (menu.path === "/") {
|
||||||
topMenus.push(menu.children[0]);
|
topMenus.push(menu.children[0]);
|
||||||
} else {
|
} else {
|
||||||
topMenus.push(menu);
|
topMenus.push(menu);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,34 +1,34 @@
|
||||||
/**
|
/**
|
||||||
* v-dialogDragWidth 可拖动弹窗高度(右下角)
|
* v-dialogDragWidth 可拖动弹窗高度(右下角)
|
||||||
* Copyright (c) 2019 ruoyi
|
* Copyright (c) 2019 ruoyi
|
||||||
*/
|
*/
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
bind(el) {
|
bind(el) {
|
||||||
const dragDom = el.querySelector('.el-dialog');
|
const dragDom = el.querySelector('.el-dialog');
|
||||||
const lineEl = document.createElement('div');
|
const lineEl = document.createElement('div');
|
||||||
lineEl.style = 'width: 6px; background: inherit; height: 10px; position: absolute; right: 0; bottom: 0; margin: auto; z-index: 1; cursor: nwse-resize;';
|
lineEl.style = 'width: 6px; background: inherit; height: 10px; position: absolute; right: 0; bottom: 0; margin: auto; z-index: 1; cursor: nwse-resize;';
|
||||||
lineEl.addEventListener('mousedown',
|
lineEl.addEventListener('mousedown',
|
||||||
function(e) {
|
function(e) {
|
||||||
// 鼠标按下,计算当前元素距离可视区的距离
|
// 鼠标按下,计算当前元素距离可视区的距离
|
||||||
const disX = e.clientX - el.offsetLeft;
|
const disX = e.clientX - el.offsetLeft;
|
||||||
const disY = e.clientY - el.offsetTop;
|
const disY = e.clientY - el.offsetTop;
|
||||||
// 当前宽度 高度
|
// 当前宽度 高度
|
||||||
const curWidth = dragDom.offsetWidth;
|
const curWidth = dragDom.offsetWidth;
|
||||||
const curHeight = dragDom.offsetHeight;
|
const curHeight = dragDom.offsetHeight;
|
||||||
document.onmousemove = function(e) {
|
document.onmousemove = function(e) {
|
||||||
e.preventDefault(); // 移动时禁用默认事件
|
e.preventDefault(); // 移动时禁用默认事件
|
||||||
// 通过事件委托,计算移动的距离
|
// 通过事件委托,计算移动的距离
|
||||||
const xl = e.clientX - disX;
|
const xl = e.clientX - disX;
|
||||||
const yl = e.clientY - disY
|
const yl = e.clientY - disY
|
||||||
dragDom.style.width = `${curWidth + xl}px`;
|
dragDom.style.width = `${curWidth + xl}px`;
|
||||||
dragDom.style.height = `${curHeight + yl}px`;
|
dragDom.style.height = `${curHeight + yl}px`;
|
||||||
};
|
};
|
||||||
document.onmouseup = function(e) {
|
document.onmouseup = function(e) {
|
||||||
document.onmousemove = null;
|
document.onmousemove = null;
|
||||||
document.onmouseup = null;
|
document.onmouseup = null;
|
||||||
};
|
};
|
||||||
}, false);
|
}, false);
|
||||||
dragDom.appendChild(lineEl);
|
dragDom.appendChild(lineEl);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,30 +1,30 @@
|
||||||
/**
|
/**
|
||||||
* v-dialogDragWidth 可拖动弹窗宽度(右侧边)
|
* v-dialogDragWidth 可拖动弹窗宽度(右侧边)
|
||||||
* Copyright (c) 2019 ruoyi
|
* Copyright (c) 2019 ruoyi
|
||||||
*/
|
*/
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
bind(el) {
|
bind(el) {
|
||||||
const dragDom = el.querySelector('.el-dialog');
|
const dragDom = el.querySelector('.el-dialog');
|
||||||
const lineEl = document.createElement('div');
|
const lineEl = document.createElement('div');
|
||||||
lineEl.style = 'width: 5px; background: inherit; height: 80%; position: absolute; right: 0; top: 0; bottom: 0; margin: auto; z-index: 1; cursor: w-resize;';
|
lineEl.style = 'width: 5px; background: inherit; height: 80%; position: absolute; right: 0; top: 0; bottom: 0; margin: auto; z-index: 1; cursor: w-resize;';
|
||||||
lineEl.addEventListener('mousedown',
|
lineEl.addEventListener('mousedown',
|
||||||
function (e) {
|
function (e) {
|
||||||
// 鼠标按下,计算当前元素距离可视区的距离
|
// 鼠标按下,计算当前元素距离可视区的距离
|
||||||
const disX = e.clientX - el.offsetLeft;
|
const disX = e.clientX - el.offsetLeft;
|
||||||
// 当前宽度
|
// 当前宽度
|
||||||
const curWidth = dragDom.offsetWidth;
|
const curWidth = dragDom.offsetWidth;
|
||||||
document.onmousemove = function (e) {
|
document.onmousemove = function (e) {
|
||||||
e.preventDefault(); // 移动时禁用默认事件
|
e.preventDefault(); // 移动时禁用默认事件
|
||||||
// 通过事件委托,计算移动的距离
|
// 通过事件委托,计算移动的距离
|
||||||
const l = e.clientX - disX;
|
const l = e.clientX - disX;
|
||||||
dragDom.style.width = `${curWidth + l}px`;
|
dragDom.style.width = `${curWidth + l}px`;
|
||||||
};
|
};
|
||||||
document.onmouseup = function (e) {
|
document.onmouseup = function (e) {
|
||||||
document.onmousemove = null;
|
document.onmousemove = null;
|
||||||
document.onmouseup = null;
|
document.onmouseup = null;
|
||||||
};
|
};
|
||||||
}, false);
|
}, false);
|
||||||
dragDom.appendChild(lineEl);
|
dragDom.appendChild(lineEl);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -13,8 +13,8 @@
|
||||||
<item v-if="item.meta" :icon="item.meta && item.meta.icon" :title="item.meta.title" />
|
<item v-if="item.meta" :icon="item.meta && item.meta.icon" :title="item.meta.title" />
|
||||||
</template>
|
</template>
|
||||||
<sidebar-item
|
<sidebar-item
|
||||||
v-for="child in item.children"
|
v-for="(child, index) in item.children"
|
||||||
:key="child.path"
|
:key="child.path + index"
|
||||||
:is-nest="true"
|
:is-nest="true"
|
||||||
:item="child"
|
:item="child"
|
||||||
:base-path="resolvePath(child.path)"
|
:base-path="resolvePath(child.path)"
|
||||||
|
|
|
@ -60,7 +60,7 @@ export default {
|
||||||
},
|
},
|
||||||
// 添加tab页签
|
// 添加tab页签
|
||||||
openPage(title, url, params) {
|
openPage(title, url, params) {
|
||||||
var obj = { path: url, meta: { title: title } }
|
const obj = { path: url, meta: { title: title } }
|
||||||
store.dispatch('tagsView/addView', obj);
|
store.dispatch('tagsView/addView', obj);
|
||||||
return router.push({ path: url, query: params });
|
return router.push({ path: url, query: params });
|
||||||
},
|
},
|
||||||
|
|
|
@ -15,10 +15,8 @@ export function checkPermi(value) {
|
||||||
return all_permission === permission || permissionDatas.includes(permission)
|
return all_permission === permission || permissionDatas.includes(permission)
|
||||||
})
|
})
|
||||||
|
|
||||||
if (!hasPermission) {
|
return hasPermission;
|
||||||
return false
|
|
||||||
}
|
|
||||||
return true
|
|
||||||
} else {
|
} else {
|
||||||
console.error(`need roles! Like checkPermi="['system:user:add','system:user:edit']"`)
|
console.error(`need roles! Like checkPermi="['system:user:add','system:user:edit']"`)
|
||||||
return false
|
return false
|
||||||
|
@ -40,10 +38,8 @@ export function checkRole(value) {
|
||||||
return super_admin === role || permissionRoles.includes(role)
|
return super_admin === role || permissionRoles.includes(role)
|
||||||
})
|
})
|
||||||
|
|
||||||
if (!hasRole) {
|
return hasRole;
|
||||||
return false
|
|
||||||
}
|
|
||||||
return true
|
|
||||||
} else {
|
} else {
|
||||||
console.error(`need roles! Like checkRole="['admin','editor']"`)
|
console.error(`need roles! Like checkRole="['admin','editor']"`)
|
||||||
return false
|
return false
|
||||||
|
|
|
@ -65,10 +65,7 @@ export function validEmail(email) {
|
||||||
* @returns {Boolean}
|
* @returns {Boolean}
|
||||||
*/
|
*/
|
||||||
export function isString(str) {
|
export function isString(str) {
|
||||||
if (typeof str === 'string' || str instanceof String) {
|
return typeof str === 'string' || str instanceof String;
|
||||||
return true
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue