65 lines
1.4 KiB
Vue
65 lines
1.4 KiB
Vue
<template>
|
|
<el-config-provider :size="config.size" :zIndex="config.zIndex" :button="config.button">
|
|
<router-view></router-view>
|
|
</el-config-provider>
|
|
</template>
|
|
|
|
<script>
|
|
import colorTool from '@/utils/color'
|
|
|
|
const debounce = (fn,delay)=>{
|
|
let timer = null;
|
|
return function (){
|
|
let context=this;
|
|
let args = arguments;
|
|
clearImmediate(timer);
|
|
timer=setTimeout(function(){
|
|
fn.apply(context,args);
|
|
},delay)
|
|
}
|
|
}
|
|
const _ResizeObserver=window.ResizeObserver;
|
|
window.ResizeObserver=class ResizeObserver extends _ResizeObserver{
|
|
constructor(callback) {
|
|
callback=debounce(callback,16);
|
|
super(callback)
|
|
}
|
|
}
|
|
|
|
export default {
|
|
name: 'App',
|
|
data() {
|
|
return {
|
|
config: {
|
|
size: "default",
|
|
zIndex: 2000,
|
|
button: {
|
|
autoInsertSpace: false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
computed: {
|
|
|
|
},
|
|
created() {
|
|
|
|
//设置主题颜色
|
|
const app_color = this.$config.COLOR || this.$tool.data.get('APP_COLOR')
|
|
if(app_color){
|
|
document.documentElement.style.setProperty('--el-color-primary', app_color);
|
|
for (let i = 1; i <= 9; i++) {
|
|
document.documentElement.style.setProperty(`--el-color-primary-light-${i}`, colorTool.lighten(app_color,i/10));
|
|
}
|
|
for (let i = 1; i <= 9; i++) {
|
|
document.documentElement.style.setProperty(`--el-color-primary-dark-${i}`, colorTool.darken(app_color,i/10));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss">
|
|
@import '@/style/style.scss';
|
|
</style>
|