Commit 1356c857 by 周慧颖

11

parent ef489790
...@@ -9,9 +9,9 @@ VUE_APP_ROUTE_MODE=history ...@@ -9,9 +9,9 @@ VUE_APP_ROUTE_MODE=history
VUE_APP_TEST_BASE_URL=https://www.machplat.com/roms-server-cnc VUE_APP_TEST_BASE_URL=https://www.machplat.com/roms-server-cnc
#VUE_APP_TEST_BASE_URL=http://192.168.0.105:10100/roms-server-cnc #VUE_APP_TEST_BASE_URL=http://192.168.0.105:10100/roms-server-cnc
VUE_APP_HTML_TITLE=LKT-ROMS VUE_APP_HTML_TITLE=LKT-Project
VUE_APP_LOGIN_TITLE1=设备运维管理云平台 VUE_APP_LOGIN_TITLE1=设备运维管理云平台
VUE_APP_LOGIN_TITLE2=LKT-ROMS VUE_APP_LOGIN_TITLE2=LKT-Project
VUE_APP_TITLE_LG=https://roms-cnc.oss-cn-hangzhou.aliyuncs.com/logos/logow1.png VUE_APP_TITLE_LG=https://roms-cnc.oss-cn-hangzhou.aliyuncs.com/logos/logow1.png
VUE_APP_LOGIN_LG=https://roms-cnc.oss-cn-hangzhou.aliyuncs.com/logos/lkt_logo2.png VUE_APP_LOGIN_LG=https://roms-cnc.oss-cn-hangzhou.aliyuncs.com/logos/lkt_logo2.png
VUE_APP_LOGIN_SCHEMA=cnc VUE_APP_LOGIN_SCHEMA=cnc
...@@ -18,6 +18,7 @@ ...@@ -18,6 +18,7 @@
}, },
"dependencies": { "dependencies": {
"element-ui": "^2.13.2", "element-ui": "^2.13.2",
"vant": "^2.11.1",
"web-toolkit": "git+https://github.com/mizuki1412/web-toolkit.git" "web-toolkit": "git+https://github.com/mizuki1412/web-toolkit.git"
}, },
"devDependencies": { "devDependencies": {
......
// 主菜单
export const mainMenuTitles = [
// 如果没有子导航,直接在这指定CName一样的值
'Demo1', 'icon-monitor',
'Demo2', 'icon-dashboard',
'Demo3', 'icon-manage2',
];
export const loginTitle1 = process.env.VUE_APP_LOGIN_TITLE1;
export const loginTitle2 = process.env.VUE_APP_LOGIN_TITLE2;
export const loginLogo = process.env.VUE_APP_LOGIN_LG;
export const titleLogo = process.env.VUE_APP_TITLE_LG;
export const schema = process.env.VUE_APP_LOGIN_SCHEMA;
\ No newline at end of file
...@@ -4,22 +4,11 @@ import App from './App.vue'; ...@@ -4,22 +4,11 @@ import App from './App.vue';
// 加载所用组件,含core // 加载所用组件,含core
import './plugin'; import './plugin';
import { axiosIntercept, routeIntercept, buildMenu} from 'web-toolkit/src/case-main'; import { axiosIntercept, routeIntercept, buildMenu} from 'web-toolkit/src/case-main';
// 主菜单 import { mainMenuTitles } from './config';
export const mainMenuTitles = [
// 如果没有子导航,直接在这指定CName一样的值
'Demo1', 'icon-monitor',
'Demo2', 'icon-dashboard',
'Demo3', 'icon-dashboard',
];
export const loginTitle1 = process.env.VUE_APP_LOGIN_TITLE1;
export const loginTitle2 = process.env.VUE_APP_LOGIN_TITLE2;
export const loginLogo = process.env.VUE_APP_LOGIN_LG;
export const titleLogo = process.env.VUE_APP_TITLE_LG;
export const schema = process.env.VUE_APP_LOGIN_SCHEMA;
import './scss/common.scss'; import './scss/common.scss';
import { routes } from './router/routes'; import { routes } from './router/routes';
import { genRouter } from 'web-toolkit/src/case-main/router'; import { genRouter } from 'web-toolkit/src/case-main/router';
export const router = genRouter(routes); export const router = genRouter(routes);
buildMenu(routes, mainMenuTitles); buildMenu(routes, mainMenuTitles);
routeIntercept(router); routeIntercept(router);
......
import Vue from 'vue';
import { debounce } from 'web-toolkit/src/utils';
function adapt() {
const screenWidth = window.innerWidth;
let size = '';
if (screenWidth < 940) {
size = 'mini';
} else if (screenWidth < 1000) {
size = 'small';
} else {
size = 'medium';
}
Vue.prototype.$ELEMENT = { size };
}
window.addEventListener('resize', debounce(adapt));
adapt();
// 注意放第一个 // 注意放第一个
import './web-toolkit'; import './web-toolkit';
import './echarts'; import './echarts';
import './element';
import './vant';
import Vue from 'vue';
import 'vant/lib/index.css';
import {
Button,
Field, Form,
Cell, CellGroup,
Search,
Uploader,
Step, Steps,
Tab, Tabs,
Calendar,
Picker,
Popup, Tag,
Radio, RadioGroup,
Empty,
Collapse, CollapseItem,
Stepper,
Divider,
ImagePreview, DatetimePicker,
Toast, Dialog,List
} from 'vant';
Vue.use(List);
Vue.use(Button);
Vue.use(Field);
Vue.use(Form);
Vue.use(Cell);
Vue.use(CellGroup);
Vue.use(Search);
Vue.use(Uploader);
Vue.use(Step);
Vue.use(Steps);
Vue.use(Tab);
Vue.use(Tabs);
Vue.use(Calendar);
Vue.use(Picker);
Vue.use(Popup);
Vue.use(Tag);
Vue.use(RadioGroup);
Vue.use(Radio);
Vue.use(Empty);
Vue.use(Collapse);
Vue.use(CollapseItem);
Vue.use(Stepper);
Vue.use(Divider);
Vue.use(ImagePreview);
Vue.use(DatetimePicker);
Vue.use(Toast);
Vue.use(Dialog);
import Vue from 'vue'; import {ComponentName, registerComponent} from 'web-toolkit/src/components/use';
// scss // scss
import 'web-toolkit/src/scss/common.scss'; import 'web-toolkit/src/scss/common.scss';
import 'web-toolkit/src/scss/vivify.scss'; import 'web-toolkit/src/scss/vivify.scss';
// 注意加载顺序 // 注意加载顺序
import 'web-toolkit/src/plugins'; import 'web-toolkit/src/plugins';
import 'web-toolkit/src/case-main'; import 'web-toolkit/src/case-main';
import 'web-toolkit/src/filter/date-time'; import 'web-toolkit/src/filter/date-time';
// 重载
import {AxiosInterceptConfig, RouteInterceptConfig} from 'web-toolkit/src/case-main';
import Qs from 'qs';
import {storeUserInfo, submitErrChanel} from 'web-toolkit/src/case-main/store/index';
// import {DepartmentAdmin} from "@/model/department";
// @ts-ignore
import NProgress from 'nprogress';
import {Route} from "vue-router";
registerComponent(ComponentName.Table);
registerComponent(ComponentName.DatePicker);
registerComponent(ComponentName.DialogSimple);
registerComponent(ComponentName.Tip);
registerComponent(ComponentName.ErrChannel);
registerComponent(ComponentName.Empty);
// registerComponent(ComponentName.DialogPassword);
// components AxiosInterceptConfig.requestPartFunc = function(config) {
import lktTable from 'web-toolkit/src/components/kit-table.vue'; if (!(config.data instanceof FormData)) {
Vue.component('lkt-table', lktTable); const data = Qs.parse(config.data);
import LktDatePicker from 'web-toolkit/src/components/kit-date-picker.vue'; data.token = storeUserInfo.token;
Vue.component('lkt-date-picker', LktDatePicker); data._schema = process.env.VUE_APP_LOGIN_SCHEMA;
import KitDialogSimple from 'web-toolkit/src/components/kit-dialog-simple.vue'; config.data = Qs.stringify(data);
Vue.component('kit-dialog-simple', KitDialogSimple); } else {
import KitErrChannel from 'web-toolkit/src/components/kit-err-channel.vue'; config.data.append('token', storeUserInfo.token as any);
Vue.component('kit-err-channel', KitErrChannel); config.data.append('_schema', process.env.VUE_APP_LOGIN_SCHEMA);
}
};
// RouteInterceptConfig.beforePartFunc = function (to: Route, from: Route, next: any){
// if (to.name !== from.name && process.env.VUE_APP_REQUEST_MODE !== 'display') {
// NProgress.start();
// }
// if (!storeUserInfo.token) {
// storeUserInfo.token="local"
// storeUserInfo.user = {
// id: 0,
// username: '管理员',
// name: '管理员',
// role:{
// department:{
// id: DepartmentAdmin
// }
// }
// } as any
// // initStoreUserInfo();
// }
// // 初始化err-msg-channel
// submitErrChanel('');
// // 指定默认第一个路由
// // if (to.name === storePageMenuOption.indexName) {
// // const menu = getMainRoute();
// // if (menu) { next(menu); }
// // }
// next();
// }
...@@ -20,11 +20,60 @@ const demo2 = { ...@@ -20,11 +20,60 @@ const demo2 = {
parentCName: 'Demo2', parentCName: 'Demo2',
}, },
}; };
const demo3 = {
path: '/demo3',
name: 'demo3',
component: () => import('../views/demo3/demo3.vue'),
meta: {
CName: 'Demo3-subtitle',
parentCName: 'Demo3',
},
};
const mobiledemo1 = {
path: '/mobile/mobiledemo1',
name: 'mobiledemo1',
component: () => import('../views-mobile/demo1.vue'),
meta: {
title: 'demo1',
authDisabled:true,
},
};
//手机端
const mobiledemo2 = {
path: '/mobile/mobiledemo2',
name: 'mobiledemo2',
component: () => import('../views-mobile/demo2.vue'),
meta: {
title: 'demo2',
authDisabled:true,
},
};
const mobiledemo3 = {
path: '/mobile/mobiledemo3',
name: 'mobiledemo3',
component: () => import('../views-mobile/demo3.vue'),
meta: {
title: 'demo3',
authDisabled:true,
},
};
const mobiledemo4 = {
path: '/mobile/mobiledemo4',
name: 'mobiledemo4',
component: () => import('../views-mobile/demo4.vue'),
meta: {
title: 'demo4',
authDisabled:true,
},
};
// 按顺序 用于菜单的排列 // 按顺序 用于菜单的排列
const indexChildren = [ const indexChildren = [
demo1, demo1,
demo2, demo2,
demo3
]; ];
export const routes = [ export const routes = [
...@@ -35,6 +84,16 @@ export const routes = [ ...@@ -35,6 +84,16 @@ export const routes = [
meta: { authDisabled: true }, meta: { authDisabled: true },
}, },
{ {
path: '/mobile',
name: 'mobile-index',
// redirect: {name:"mobile-login"},
component: () => import('../views-mobile/index.vue'),
children: [
mobiledemo1,mobiledemo2,mobiledemo3,mobiledemo4
],
meta: { authDisabled: false },
},
{
path: '/', path: '/',
name: 'index', name: 'index',
redirect: 'index-page', redirect: 'index-page',
...@@ -55,4 +114,5 @@ export const routes = [ ...@@ -55,4 +114,5 @@ export const routes = [
component: () => import('../component/page404.vue'), component: () => import('../component/page404.vue'),
meta: { authDisabled: true }, meta: { authDisabled: true },
}, },
]; ];
<template>
<div v-loading="loading">
demo1
</div>
</template>
<script lang="ts">
import { ref, onMounted, set, watch} from '@vue/composition-api';
import {router} from '@/main';
import {Toast} from 'vant';
export default {
setup() {
const loading = ref<boolean>(false);
onMounted(function() {
});
return{
loading,
};
},
};
</script>
<style lang="scss" scoped>
</style>
<template>
<div v-loading="loading">
demo2
</div>
</template>
<script lang="ts">
import { ref, onMounted, set, watch} from '@vue/composition-api';
import {router} from '@/main';
import {Toast} from 'vant';
export default {
setup() {
const loading = ref<boolean>(false);
onMounted(function() {
});
return{
loading,
};
},
};
</script>
<style lang="scss" scoped>
</style>
<template>
<div v-loading="loading">
demo3
</div>
</template>
<script lang="ts">
import { ref, onMounted, set, watch} from '@vue/composition-api';
import {router} from '@/main';
import {Toast} from 'vant';
export default {
setup() {
const loading = ref<boolean>(false);
onMounted(function() {
});
return{
loading,
};
},
};
</script>
<style lang="scss" scoped>
</style>
<template>
<div v-loading="loading">
demo4
</div>
</template>
<script lang="ts">
import { ref, onMounted, set, watch} from '@vue/composition-api';
import {router} from '@/main';
import {Toast} from 'vant';
export default {
setup() {
const loading = ref<boolean>(false);
onMounted(function() {
});
return{
loading,
};
},
};
</script>
<style lang="scss" scoped>
</style>
<template>
<div v-loading="loading" style="height: 100vh;">
<div class="header flex center" >
XXXXXX系统
</div>
<router-view class="body" />
<div class="bottom flex between" >
<div :class="(router.currentRoute.name==='mobiledemo1'?'active':'')+' flex column center'" @click="routeTo('mobiledemo1')">
<i class="iconfont icon-shijian"></i>
<div>demo1</div>
</div>
<div :class="(router.currentRoute.name==='mobiledemo2'?'active':'')+' flex column center'" @click="routeTo('mobiledemo2')">
<i class="iconfont icon-shijian"></i>
<div>demo2</div>
</div>
<div :class="(router.currentRoute.name==='mobiledemo3'?'active':'')+' flex column center'" @click="routeTo('mobiledemo3')">
<i class="iconfont icon-shijian"></i>
<div>demo3</div>
</div>
<div :class="(router.currentRoute.name==='mobiledemo4'?'active':'')+' flex column center'" @click="routeTo('mobiledemo4')">
<i class="iconfont icon-shijian"></i>
<div>demo4</div>
</div>
</div>
</div>
</template>
<script lang="ts">
import { ref, onMounted, set, watch} from '@vue/composition-api';
import {router} from '@/main';
import {storeUserInfo} from 'web-toolkit/src/case-main';
import {Toast} from 'vant';
export default {
setup() {
const loading = ref<boolean>(false);
function routeTo(name: string) {
router.push({name});
}
function back() {
router.back();
}
onMounted(function() {
console.log(router.currentRoute)
});
return{
loading,
routeTo, storeUserInfo,back,router
};
},
};
</script>
<style lang="scss" scoped>
@import "src/scss/common";
.header{
background-color: rgba(0, 21, 41, 1);;
height: 45px;
box-shadow: 0 0 3px $grey-6;
font-size: 1.3rem;
color: white;
position: relative;
}
.body{
height: calc(100vh - 45px - 50px);
overflow: scroll;
}
.bottom{
height:50px;
background-color: #fff;
.flex{
width: 18vw;
font-size: 17px;
}
i{
font-size: 1.8rem;
}
}
.active{
color: dodgerblue;
border: solid 1px dodgerblue;
background-color: rgba(30,144,255,0.2);
}
</style>
<template> <template>
<div v-loading="loading"> <div v-loading="loading">
<div>行列flex的用法</div>dddd demo1
<div class="flex center align-center">
<div class="flex column">
<div class="demo">1</div>
<div class="demo">2</div>
</div>
<div class="demo">3</div>
</div>
<div class="flex around">
<div class="flex column">
<div class="demo">1</div>
<div class="demo">2</div>
</div>
<div class="demo">3</div>
</div>
<div class="flex between">
<div class="flex column">
<div class="demo">1</div>
<div class="demo">2</div>
</div>
<div class="demo">3</div>
</div>
</div> </div>
</template> </template>
<script lang="ts"> <script lang="ts">
...@@ -37,9 +16,5 @@ export default { ...@@ -37,9 +16,5 @@ export default {
}; };
</script> </script>
<style lang="scss"> <style lang="scss">
.demo{
width: 100px;
height: 100px;
border: 1px black solid;
}
</style> </style>
<template> <template>
<div v-loading="loading"> <div v-loading="loading">
demo2
</div> </div>
</template> </template>
<script lang="ts"> <script lang="ts">
...@@ -15,3 +15,6 @@ export default { ...@@ -15,3 +15,6 @@ export default {
}, },
}; };
</script> </script>
<style lang="scss">
</style>
<template>
<div v-loading="loading">
demo3
</div>
</template>
<script lang="ts">
import { ref, onMounted } from '@vue/composition-api';
export default {
setup() {
const loading = ref<boolean>(false);
return{
loading,
};
},
};
</script>
<style lang="scss">
</style>
...@@ -38,7 +38,7 @@ import { ref, Ref, onMounted } from '@vue/composition-api'; ...@@ -38,7 +38,7 @@ import { ref, Ref, onMounted } from '@vue/composition-api';
import { ElForm } from 'element-ui/types/form'; import { ElForm } from 'element-ui/types/form';
import { useLoading } from 'web-toolkit/src/service'; import { useLoading } from 'web-toolkit/src/service';
import { postService, storeUserInfo, updateStoreUserInfo, submitErrChanel, pushMsgErr } from 'web-toolkit/src/case-main'; import { postService, storeUserInfo, updateStoreUserInfo, submitErrChanel, pushMsgErr } from 'web-toolkit/src/case-main';
import {loginTitle1, loginTitle2, loginLogo, schema} from '@/main'; import {loginTitle1, loginTitle2, loginLogo, schema} from '@/config';
import {router} from '@/main'; import {router} from '@/main';
import { Route } from 'vue-router'; import { Route } from 'vue-router';
import {assert} from 'web-toolkit/src/utils/index'; import {assert} from 'web-toolkit/src/utils/index';
......
...@@ -7,13 +7,13 @@ ...@@ -7,13 +7,13 @@
</div> </div>
<div class="header-menu-wrapper flex center"> <div class="header-menu-wrapper flex center">
</div> </div>
<lkt-header-side class="header-side"/> <!-- <lkt-header-side class="header-side"/> -->
</div> </div>
</template> </template>
<script lang="ts"> <script lang="ts">
import LktHeaderSide from './header-side.vue'; import LktHeaderSide from './header-side.vue';
import LktMenu from './Menu.vue'; import LktMenu from './Menu.vue';
import {loginTitle1, loginTitle2, loginLogo, titleLogo} from '@/main'; import {loginTitle1, loginTitle2, loginLogo, titleLogo} from '@/config';
export default { export default {
components: { components: {
LktHeaderSide, LktMenu, LktHeaderSide, LktMenu,
......
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