配置针对vue文件eslint
This commit is contained in:
@@ -2,34 +2,33 @@
|
||||
* @Author: Kane
|
||||
* @Date: 2023-02-15 09:25:52
|
||||
* @LastEditors: Kane
|
||||
* @LastEditTime: 2023-03-03 10:00:54
|
||||
* @LastEditTime: 2023-03-17 14:31:14
|
||||
* @FilePath: /task_schedule/src/App.vue
|
||||
* @Description:
|
||||
* @Description:
|
||||
* 应用的框架:
|
||||
* 1、配置el-config-provider,配置为中文。
|
||||
*
|
||||
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
||||
* 1、配置el-config-provider,配置为中文。
|
||||
*
|
||||
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
||||
-->
|
||||
<template>
|
||||
<el-config-provider :locale="locale">
|
||||
<router-view></router-view>
|
||||
</el-config-provider>
|
||||
<el-config-provider :locale="locale">
|
||||
<router-view />
|
||||
</el-config-provider>
|
||||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
import zhCn from "element-plus/lib/locale/lang/zh-cn"; //element-plus语言组件
|
||||
import zhCn from "element-plus/lib/locale/lang/zh-cn"; // element-plus语言组件
|
||||
|
||||
export default {
|
||||
name: "App",
|
||||
components: {},
|
||||
setup()
|
||||
{
|
||||
const locale = zhCn;
|
||||
name: "App",
|
||||
components: {},
|
||||
setup()
|
||||
{
|
||||
const locale = zhCn;
|
||||
|
||||
return { locale, };
|
||||
},
|
||||
return { locale, };
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped></style>
|
||||
|
||||
|
@@ -4,12 +4,12 @@
|
||||
* @LastEditors: Kane
|
||||
* @FilePath: /task_schedule/src/components/ArchievementChartComponent.vue
|
||||
* @Description: 业绩图表组件
|
||||
*
|
||||
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
||||
*
|
||||
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
||||
-->
|
||||
<template>
|
||||
<div class="archievement-wrapper">
|
||||
<div id="chartWrapper"></div>
|
||||
<div id="chartWrapper" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -18,58 +18,58 @@ import { reactive, onMounted } from "vue";
|
||||
import * as echarts from "echarts";
|
||||
|
||||
export default {
|
||||
name: "ArchievementChartComponent",
|
||||
props: {
|
||||
chart_data: {
|
||||
type: Array,
|
||||
require: true,
|
||||
},
|
||||
name: "ArchievementChartComponent",
|
||||
props: {
|
||||
chartData: {
|
||||
type: Array,
|
||||
require: true,
|
||||
default: () => [],
|
||||
},
|
||||
setup(props)
|
||||
},
|
||||
setup (props)
|
||||
{
|
||||
const ui = reactive({
|
||||
chart_data: props.chartData,
|
||||
});
|
||||
|
||||
// 设置图表
|
||||
const initCharts = () =>
|
||||
{
|
||||
const ui = reactive({
|
||||
chart_data: props.chart_data,
|
||||
});
|
||||
const chartDom = document.getElementById("chartWrapper");
|
||||
const myChart = echarts.init(chartDom as HTMLDivElement);
|
||||
const option = {
|
||||
xAxis: {
|
||||
type: "category",
|
||||
data: ["一", "二", "三", "四", "五", "六", "七", "八", "九", "十", "十一", "十二",],
|
||||
},
|
||||
yAxis: {
|
||||
type: "value",
|
||||
data: [200, 400, 600, 800, 1000,],
|
||||
},
|
||||
series: [
|
||||
{
|
||||
data: props.chartData,
|
||||
type: "line",
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
//设置图表
|
||||
const initCharts = () =>
|
||||
{
|
||||
const chartDom = document.getElementById("chartWrapper");
|
||||
// @ts-ignore
|
||||
const myChart = echarts.init(chartDom);
|
||||
const option = {
|
||||
xAxis: {
|
||||
type: "category",
|
||||
data: ["一", "二", "三", "四", "五", "六", "七", "八", "九", "十", "十一", "十二",],
|
||||
},
|
||||
yAxis: {
|
||||
type: "value",
|
||||
data: [200, 400, 600, 800, 1000,],
|
||||
},
|
||||
series: [
|
||||
{
|
||||
data: props.chart_data,
|
||||
type: "line",
|
||||
},
|
||||
],
|
||||
};
|
||||
option && myChart.setOption(option);
|
||||
|
||||
option && myChart.setOption(option);
|
||||
window.onresize = function ()
|
||||
{
|
||||
// 自适应大小
|
||||
myChart.resize();
|
||||
};
|
||||
};
|
||||
|
||||
window.onresize = function ()
|
||||
{
|
||||
//自适应大小
|
||||
myChart.resize();
|
||||
};
|
||||
};
|
||||
onMounted(() =>
|
||||
{
|
||||
initCharts();
|
||||
});
|
||||
|
||||
onMounted(() =>
|
||||
{
|
||||
initCharts();
|
||||
});
|
||||
|
||||
return { ui, initCharts, };
|
||||
},
|
||||
return { ui, initCharts, };
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
@@ -105,4 +105,4 @@ export default {
|
||||
border-radius: 5px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</style>
|
||||
|
@@ -9,8 +9,11 @@
|
||||
-->
|
||||
<template>
|
||||
<div class="complete-rate-wrapper">
|
||||
<el-progress type="circle" :percentage="ui.percentage">
|
||||
<template #default="{ percentage }">
|
||||
<el-progress
|
||||
type="circle"
|
||||
:percentage="ui.percentage"
|
||||
>
|
||||
<template #default>
|
||||
<span class="percentage-label">{{ ui.indicator }}</span>
|
||||
<span class="percentage-value">{{ percentage }}%</span>
|
||||
</template>
|
||||
@@ -26,6 +29,7 @@ export default {
|
||||
percentage: {
|
||||
type: String,
|
||||
require: true,
|
||||
default:()=>"0",
|
||||
},
|
||||
indicator: {
|
||||
type: String,
|
||||
|
@@ -3,14 +3,17 @@
|
||||
* @Date: 2023-03-08 18:32:13
|
||||
* @LastEditors: Kane
|
||||
* @FilePath: /task_schedule/src/components/DishonorListComponent.vue
|
||||
* @Description:
|
||||
*
|
||||
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
||||
* @Description:
|
||||
*
|
||||
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
||||
-->
|
||||
<template>
|
||||
<div class="dishonorlist-wrapper">
|
||||
<div class="banner-wrapper">
|
||||
<img src="@/assets/img/ranking/stop.png" alt="">
|
||||
<img
|
||||
src="@/assets/img/ranking/stop.png"
|
||||
alt=""
|
||||
>
|
||||
<div class="title-wrapper">
|
||||
<span>"消7灭6"突围战</span>
|
||||
<span>二月入营坐席</span>
|
||||
@@ -21,18 +24,23 @@
|
||||
|
||||
<script lang="ts">
|
||||
export default {
|
||||
name: "DishonorListComponent",
|
||||
props: {
|
||||
month: {
|
||||
type: String,
|
||||
require: true,
|
||||
},
|
||||
dishonorPersons: {
|
||||
type: Array,
|
||||
require: true,
|
||||
},
|
||||
name: "DishonorListComponent",
|
||||
props: {
|
||||
month: {
|
||||
type: String,
|
||||
require: true,
|
||||
default: () => "本",
|
||||
},
|
||||
setup() { },
|
||||
dishonorPersons: {
|
||||
type: Array,
|
||||
require: true,
|
||||
default: () => [],
|
||||
},
|
||||
},
|
||||
setup ()
|
||||
{
|
||||
return {};
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
@@ -72,4 +80,4 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
</style>
|
||||
|
@@ -13,13 +13,19 @@
|
||||
<div class="reward-wrapper">
|
||||
<div class="leading-reward-wrapper">
|
||||
<div class="banner-wrapper">
|
||||
<img src="@/assets/img/ranking/medal.png" alt="领跑奖">
|
||||
<img
|
||||
src="@/assets/img/ranking/medal.png"
|
||||
alt="领跑奖"
|
||||
>
|
||||
<span>领跑奖</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="advance-reward-wrapper">
|
||||
<div class="banner-wrapper">
|
||||
<img src="@/assets/img/ranking/copper_medal.png" alt="飞跃奖">
|
||||
<img
|
||||
src="@/assets/img/ranking/copper_medal.png"
|
||||
alt="飞跃奖"
|
||||
>
|
||||
<span>飞跃奖</span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -34,17 +40,20 @@ export default {
|
||||
month: {
|
||||
type: String,
|
||||
require: true,
|
||||
default:()=>"本",
|
||||
},
|
||||
leadingReward: {
|
||||
type: String,
|
||||
require: true,
|
||||
default:()=>"",
|
||||
},
|
||||
advanceReward: {
|
||||
type: String,
|
||||
require: true,
|
||||
default:()=>"",
|
||||
},
|
||||
},
|
||||
setup(props)
|
||||
setup()
|
||||
{
|
||||
return {};
|
||||
},
|
||||
|
@@ -2,37 +2,36 @@
|
||||
* @Author: Kane
|
||||
* @Date: 2023-02-15 09:25:52
|
||||
* @LastEditors: Kane
|
||||
* @LastEditTime: 2023-03-03 15:50:08
|
||||
* @LastEditTime: 2023-03-17 12:07:48
|
||||
* @FilePath: /task_schedule/src/main.js
|
||||
* @Description:
|
||||
*
|
||||
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
||||
* @Description:
|
||||
*
|
||||
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
||||
*/
|
||||
import { createApp } from 'vue';
|
||||
import { createApp } from "vue";
|
||||
import { router } from "./router/index";
|
||||
import store from "@/store/index";
|
||||
|
||||
import App from './App.vue';
|
||||
import App from "./App.vue";
|
||||
|
||||
//css
|
||||
import './style.css';
|
||||
// css
|
||||
import "./style.css";
|
||||
import "./assets/css/index.scss";
|
||||
import("element-plus/dist/index.css");
|
||||
|
||||
|
||||
//element-plus
|
||||
// element-plus
|
||||
import ElementPlus from "element-plus";
|
||||
import * as ElementPlusIconsVue from "@element-plus/icons-vue";
|
||||
import("element-plus/dist/index.css");
|
||||
|
||||
const app = createApp(App);
|
||||
|
||||
//注册element-plus的图标
|
||||
// 注册element-plus的图标
|
||||
for (const [key, component,] of Object.entries(ElementPlusIconsVue))
|
||||
{
|
||||
app.component(key, component);
|
||||
app.component(key, component);
|
||||
}
|
||||
|
||||
app.use(ElementPlus);
|
||||
app.use(router);
|
||||
app.use(store);
|
||||
app.mount('#app');
|
||||
app.mount("#app");
|
||||
|
@@ -17,9 +17,9 @@ function loadStaffInfo(): StaffInfo
|
||||
|
||||
try
|
||||
{
|
||||
obj = JSON.parse(window.localStorage.getItem(STUFF_ITEM) ?? "{}");
|
||||
obj = JSON.parse( window.localStorage.getItem( STUFF_ITEM ) ?? "{}" );
|
||||
}
|
||||
catch (error)
|
||||
catch ( error )
|
||||
{
|
||||
obj = {};
|
||||
}
|
||||
@@ -31,16 +31,16 @@ function loadStaffInfo(): StaffInfo
|
||||
obj._department_code ?? "",
|
||||
obj._department_name ?? "",
|
||||
obj._section_office_code ?? "",
|
||||
obj._section_office_name ?? "");
|
||||
obj._section_office_name ?? "" );
|
||||
|
||||
return stuff;
|
||||
}
|
||||
|
||||
function saveStaffInfo(stuff: StaffInfo): void
|
||||
function saveStaffInfo( stuff: StaffInfo ): void
|
||||
{
|
||||
const json = JSON.stringify(stuff);
|
||||
const json = JSON.stringify( stuff );
|
||||
|
||||
window.localStorage.setItem(STUFF_ITEM, json);
|
||||
window.localStorage.setItem( STUFF_ITEM, json );
|
||||
};
|
||||
|
||||
export { loadStaffInfo, saveStaffInfo };
|
||||
|
@@ -19,27 +19,27 @@ const service: AxiosInstance = axios.create(
|
||||
|
||||
// 请求拦截
|
||||
service.interceptors.request.use(
|
||||
(config) =>
|
||||
( config ) =>
|
||||
{
|
||||
return config;
|
||||
},
|
||||
async (error) =>
|
||||
async ( error ) =>
|
||||
{
|
||||
console.log(error);
|
||||
console.log( error );
|
||||
|
||||
return await Promise.reject(error);
|
||||
return await Promise.reject( error );
|
||||
}
|
||||
);
|
||||
|
||||
// 响应拦截
|
||||
service.interceptors.response.use(
|
||||
(response) =>
|
||||
( response ) =>
|
||||
{
|
||||
return response;
|
||||
},
|
||||
async (error) =>
|
||||
async ( error ) =>
|
||||
{
|
||||
return await Promise.reject(error);
|
||||
return await Promise.reject( error );
|
||||
}
|
||||
);
|
||||
|
||||
|
@@ -15,15 +15,15 @@ type stringkey = Record<string, string>;
|
||||
* @param url 访问的url
|
||||
* @returns
|
||||
*/
|
||||
function getURLParams(url: string): Record<string, string>
|
||||
function getURLParams( url: string ): Record<string, string>
|
||||
{
|
||||
const arr = url.split("?");
|
||||
const params = arr[1].split("&");
|
||||
const arr = url.split( "?" );
|
||||
const params = arr[1].split( "&" );
|
||||
const obj: stringkey = {};
|
||||
|
||||
for (let i = 0; i < params.length; i++)
|
||||
for ( let i = 0; i < params.length; i++ )
|
||||
{
|
||||
const param = params[i].split("=");
|
||||
const param = params[i].split( "=" );
|
||||
|
||||
obj[param[0]] = param[1];
|
||||
}
|
||||
@@ -36,47 +36,47 @@ function getURLParams(url: string): Record<string, string>
|
||||
* @param url url字符串
|
||||
* @returns 返回包含url中参数作为key,值作为value的对象。
|
||||
*/
|
||||
function getParamsFromURL(url: string): stringkey
|
||||
function getParamsFromURL( url: string ): stringkey
|
||||
{
|
||||
const indexOfQuestionMark: number = url.indexOf("?");
|
||||
const indexOfSharp: number = url.indexOf("#");
|
||||
const indexOfQuestionMark: number = url.indexOf( "?" );
|
||||
const indexOfSharp: number = url.indexOf( "#" );
|
||||
const paramObj: stringkey = {};
|
||||
let paramString;
|
||||
|
||||
// url中没有问号,说明没有参数
|
||||
if (indexOfQuestionMark < 0)
|
||||
if ( indexOfQuestionMark < 0 )
|
||||
{
|
||||
return paramObj;
|
||||
}
|
||||
|
||||
// 检查是否有#号
|
||||
if (indexOfSharp < 0)
|
||||
if ( indexOfSharp < 0 )
|
||||
{
|
||||
// 没有#号,可以直接截取参数字符串
|
||||
paramString = url.substring(indexOfQuestionMark);
|
||||
// 没有#号,可以直接截取参数字符串
|
||||
paramString = url.substring( indexOfQuestionMark );
|
||||
}
|
||||
else
|
||||
{
|
||||
// 有#号,截取?和#之间的字符串
|
||||
// 有#号,截取?和#之间的字符串
|
||||
const end: number = indexOfQuestionMark < indexOfSharp ? indexOfSharp : url.length;
|
||||
|
||||
paramString = url.substring(indexOfQuestionMark + 1, end);
|
||||
paramString = url.substring( indexOfQuestionMark + 1, end );
|
||||
}
|
||||
|
||||
// 拆分属性
|
||||
const paramArray: string[] = paramString.split("&");
|
||||
const paramArray: string[] = paramString.split( "&" );
|
||||
|
||||
paramArray.forEach((item) =>
|
||||
paramArray.forEach( ( item ) =>
|
||||
{
|
||||
if (item.length === 0)
|
||||
if ( item.length === 0 )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
const param = item.split("=");
|
||||
const param = item.split( "=" );
|
||||
|
||||
paramObj[param[0]] = param[1] ?? "";
|
||||
});
|
||||
} );
|
||||
|
||||
return paramObj;
|
||||
}
|
||||
|
@@ -4,8 +4,8 @@
|
||||
* @LastEditors: Kane
|
||||
* @FilePath: /task_schedule/src/views/DesktopArchievement.vue
|
||||
* @Description: 显示在桌面上,展示任务量与业绩的view
|
||||
*
|
||||
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
||||
*
|
||||
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
||||
-->
|
||||
<template>
|
||||
<div class="view-wrapper">
|
||||
@@ -17,21 +17,35 @@
|
||||
</div>
|
||||
<div class="archievement-wrapper">
|
||||
<div class="total-archievement-rate-wrapper">
|
||||
<ArchievementCompleteRateComponent indicator="续保完成率" percentage=95 />
|
||||
<ArchievementCompleteRateComponent indicator="车非渗透率" percentage=95 />
|
||||
<ArchievementCompleteRateComponent
|
||||
indicator="续保完成率"
|
||||
percentage="95"
|
||||
/>
|
||||
<ArchievementCompleteRateComponent
|
||||
indicator="车非渗透率"
|
||||
percentage="95"
|
||||
/>
|
||||
</div>
|
||||
<div class="total-archievement-charts-wrapper">
|
||||
<ArchievementChart total_archievement="435220" :chart_data="ui.chartData" />
|
||||
<ArchievementChart
|
||||
total_archievement="435220"
|
||||
:chart_data="ui.chartData"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="reward-wrapper">
|
||||
<HonorListComponent month="二" leading-reward="王炜" advance-reward="王炜" />
|
||||
<DishonorListComponent month="二" :dishonorPersons="ui.dishonorPersons" />
|
||||
<HonorListComponent
|
||||
month="二"
|
||||
leading-reward="王炜"
|
||||
advance-reward="王炜"
|
||||
/>
|
||||
<DishonorListComponent
|
||||
month="二"
|
||||
:dishonor-persons="ui.dishonorPersons"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="right-wrapper">
|
||||
|
||||
</div>
|
||||
<div class="right-wrapper" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -76,8 +90,8 @@ export default {
|
||||
return archievement;
|
||||
});
|
||||
|
||||
//检查存储的登录信息,不存在则返回登录页面
|
||||
if (staffInfo.P13UID == "")
|
||||
// 检查存储的登录信息,不存在则返回登录页面
|
||||
if (staffInfo.P13UID === "")
|
||||
{
|
||||
ElMessage({
|
||||
message: "登录信息失效,请重新登录!",
|
||||
@@ -228,4 +242,4 @@ div {
|
||||
// border: 1px solid red;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
</style>
|
||||
</style>
|
||||
|
@@ -3,11 +3,11 @@
|
||||
* @Date: 2023-02-28 00:57:21
|
||||
* @LastEditors: Kane
|
||||
* @FilePath: /task_schedule/src/views/Login.vue
|
||||
* @Description:
|
||||
* @Description:
|
||||
* 登录页面,路由默认指向这个页面
|
||||
* 1、判断url中的参数,取得用户信息,根据用户的部门改变路由
|
||||
*
|
||||
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
||||
*
|
||||
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
||||
-->
|
||||
<template>
|
||||
<div class="page-wrapper">
|
||||
@@ -16,14 +16,26 @@
|
||||
<el-form ref="loginForm">
|
||||
<el-form-item>
|
||||
<label class="form-label">用户名</label>
|
||||
<el-input type="text" v-model.trim.lazy="ui.account" placeholder="请输入P13账号或P09工号"></el-input>
|
||||
<el-input
|
||||
v-model.trim.lazy="ui.account"
|
||||
type="text"
|
||||
placeholder="请输入P13账号或P09工号"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<label class="form-label">密码</label>
|
||||
<el-input type="password" v-model.trim.lazy="ui.password" placeholder="请输入P13密码"></el-input>
|
||||
<el-input
|
||||
v-model.trim.lazy="ui.password"
|
||||
type="password"
|
||||
placeholder="请输入P13密码"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" class="el-button-block" @click="onLogin">
|
||||
<el-button
|
||||
type="primary"
|
||||
class="el-button-block"
|
||||
@click="onLogin"
|
||||
>
|
||||
登录
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
@@ -47,7 +59,6 @@ export default {
|
||||
name: "LoginPage",
|
||||
setup()
|
||||
{
|
||||
|
||||
const router = useRouter();
|
||||
|
||||
const ui = reactive({
|
||||
@@ -73,11 +84,11 @@ export default {
|
||||
login(info)
|
||||
.then((response) =>
|
||||
{
|
||||
const data = response.data || { success: false, };
|
||||
const data = response.data && { success: false, };
|
||||
|
||||
if (data.success == true)
|
||||
if (data.success === true)
|
||||
{
|
||||
//提示登录成功,并保存到localStorage,然后路由跳转
|
||||
// 提示登录成功,并保存到localStorage,然后路由跳转
|
||||
ElMessage({
|
||||
message: data.message,
|
||||
type: "success",
|
||||
@@ -85,18 +96,18 @@ export default {
|
||||
});
|
||||
|
||||
const staffInfo = new StaffInfo(
|
||||
data.staff_info.p13uid || "",
|
||||
data.staff_info.code || "",
|
||||
data.staff_info.name || "",
|
||||
data.staff_info.department_code || "",
|
||||
data.staff_info.department_name || "",
|
||||
data.staff_info.section_office_code || "",
|
||||
data.staff_info.p13section_office_nameuid || ""
|
||||
data.staff_info.p13uid && "",
|
||||
data.staff_info.code && "",
|
||||
data.staff_info.name && "",
|
||||
data.staff_info.department_code && "",
|
||||
data.staff_info.department_name && "",
|
||||
data.staff_info.section_office_code && "",
|
||||
data.staff_info.p13section_office_nameuid && ""
|
||||
);
|
||||
|
||||
saveStaffInfo(staffInfo);
|
||||
|
||||
//跳转路由
|
||||
// 跳转路由
|
||||
router.push("/desktop_archievement");
|
||||
}
|
||||
else
|
||||
@@ -121,8 +132,8 @@ export default {
|
||||
{
|
||||
const staffInfo = loadStaffInfo();
|
||||
|
||||
//判断是否已经记录了P13账号,有则提示已登录,然后跳转路由
|
||||
if (staffInfo.P13UID != "")
|
||||
// 判断是否已经记录了P13账号,有则提示已登录,然后跳转路由
|
||||
if (staffInfo.P13UID !== "")
|
||||
{
|
||||
ElMessage({
|
||||
message: `已登录账号:${staffInfo.stuffName}`,
|
||||
@@ -130,7 +141,7 @@ export default {
|
||||
center: true,
|
||||
});
|
||||
|
||||
//跳转路由
|
||||
// 跳转路由
|
||||
router.push("/desktop_archievement");
|
||||
}
|
||||
});
|
||||
@@ -173,7 +184,6 @@ export default {
|
||||
border-radius: 5px;
|
||||
// backdrop-filter: ;
|
||||
|
||||
|
||||
h1 {
|
||||
font-family: "FZ-ZHUOHEI";
|
||||
font-size: 70px;
|
||||
|
@@ -3,22 +3,22 @@
|
||||
* @Date: 2023-02-28 19:10:54
|
||||
* @LastEditors: Kane
|
||||
* @FilePath: /task_schedule/src/views/Public.vue
|
||||
* @Description:
|
||||
*
|
||||
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
||||
* @Description:
|
||||
*
|
||||
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
||||
-->
|
||||
<template>
|
||||
公共页面
|
||||
<div>公共</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
export default {
|
||||
name: "PublicPage",
|
||||
setup()
|
||||
setup()
|
||||
{
|
||||
|
||||
return {};
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss"></style>
|
||||
<style lang="scss"></style>
|
||||
|
Reference in New Issue
Block a user