Commit 505a3a30 authored by 李苏's avatar 李苏 💬

首页和登录页调整

parent 4db5fb9f
......@@ -699,22 +699,22 @@ export const constantRoutes = [{
component: () => import('@/views/error/401'),
hidden: true
},
{
path: '',
component: Layout,
redirect: 'index',
hidden: true,
children: [{
path: 'index',
component: () => import('@/views/index'),
name: 'Index',
meta: {
title: '首页',
icon: 'dashboard',
affix: true
}
}]
},
// {
// path: '',
// component: Layout,
// redirect: 'index',
// hidden: true,
// children: [{
// path: 'index',
// component: () => import('@/views/index'),
// name: 'Index',
// meta: {
// title: '首页',
// icon: 'dashboard',
// affix: true
// }
// }]
// },
{
path: '/user',
component: Layout,
......
import auth from '@/plugins/auth'
import router, { constantRoutes, dynamicRoutes,powerRoutes } from '@/router'
import { getRouters } from '@/api/menu'
import router, {
constantRoutes,
dynamicRoutes,
powerRoutes
} from '@/router'
import {
getRouters
} from '@/api/menu'
import Layout from '@/layout/index'
import ParentView from '@/components/ParentView'
import InnerLink from '@/layout/components/InnerLink'
......@@ -9,6 +15,9 @@ import vue from 'vue'
import commonList from "common/src/commonList"
import erpList from "common/src/erpList"
import dynamicRouter from 'common/src/utils/router/dynamic.js'
import {
treeToList
} from 'common/src/utils/router/dynamic.js'
/* 过滤mkid相同的定制路由 */
......@@ -19,40 +28,40 @@ const permission = {
defaultRoutes: [],
topbarRouters: [],
sidebarRouters: [],
appName:'',
customName:'',
systemName:'',
systemInfo:[]
appName: '',
customName: '',
systemName: '',
systemInfo: []
},
mutations: {
INIT_SIDEBARRPUTERS:(state)=>{
state.sidebarRouters=[]
INIT_SIDEBARRPUTERS: (state) => {
state.sidebarRouters = []
},
SET_SYSTEMINFO:(state,systemInfo)=>{
state.systemInfo=systemInfo
SET_SYSTEMINFO: (state, systemInfo) => {
state.systemInfo = systemInfo
},
SET_CUSTOMNAME:(state,customName)=>{
state.customName=customName
SET_CUSTOMNAME: (state, customName) => {
state.customName = customName
},
SET_SYSTEMNAME:(state,systemName)=>{
state.systemName=systemName
SET_SYSTEMNAME: (state, systemName) => {
state.systemName = systemName
},
SET_APPNAME:(state,appName)=>{
state.appName=appName
SET_APPNAME: (state, appName) => {
state.appName = appName
},
SET_SIDEBAR_SHOW:(state, menusBizType)=>{
state.sidebarRouters.forEach((e,index)=>{
if(menusBizType!='root'&&e.menusBizType&&e.menusBizType==menusBizType){
SET_SIDEBAR_SHOW: (state, menusBizType) => {
state.sidebarRouters.forEach((e, index) => {
if (menusBizType != 'root' && e.menusBizType && e.menusBizType == menusBizType) {
state.sidebarRouters[index].hidden=false
}else{
state.sidebarRouters[index].hidden=true
state.sidebarRouters[index].hidden = false
} else {
state.sidebarRouters[index].hidden = true
}
if(menusBizType=='root'&&e.mkid){
state.sidebarRouters[index].hidden=false
if (menusBizType == 'root' && e.mkid) {
state.sidebarRouters[index].hidden = false
}
if(e.redirect=='index'){
e.hidden=false
if (e.redirect == 'index') {
e.hidden = false
}
})
......@@ -73,77 +82,151 @@ const permission = {
},
actions: {
// 生成路由
GenerateRoutes({ commit }) {
GenerateRoutes({
commit
}) {
return new Promise(resolve => {
// 向后端请求路由数据
getRouters({}).then(res => {
let appName=res.data.appName||''
let customName=res.data.customName||''
let systemName=res.data.systemName||''
commit('SET_APPNAME', appName)
commit('SET_CUSTOMNAME', customName)
commit('SET_SYSTEMNAME', systemName)
localStorage.setItem('homeMkid', res.data.homeMkid)
localStorage.setItem('homeName', res.data.homeName)
let appName = res.data.appName || ''
let customName = res.data.customName || ''
let systemName = res.data.systemName || ''
commit('SET_APPNAME', appName)
commit('SET_CUSTOMNAME', customName)
commit('SET_SYSTEMNAME', systemName)
/* 构建新list放进列表切换*/
localStorage.setItem('appName',appName)
localStorage.setItem('appName', appName)
/* 存储system id list*/
/* 将可切换系统存入store*/
let systemInfo=res.data.systemInfo||[]
if(systemInfo.length!=0){
let systemInfo = res.data.systemInfo || []
if (systemInfo.length != 0) {
systemInfo.unshift({
id:'',
name:customName
id: '',
name: customName
})
}
commit('SET_SYSTEMINFO', systemInfo)
let menus=res.data.menu
let asymenus=JSON.parse(JSON.stringify(res.data.menu))
/* 权限路由*/
/* */
function filter (data) {
var newData = data.filter(
(item)=>{
let hasMkid=false
asymenus.forEach(e=>{
if((e.mkid==item.meta.mkid)||(item.meta.mkid=='test')){
item.meta.icon=e.icon
if(item.meta.mkid!='test'){
item.meta.title=e.mkmc
}
/* 额外参数*/
e.mkid&&(item.mkid=e.mkid)
e.menusBizType&&(item.menusBizType=e.menusBizType)
e.mkid&&(item.menusBizTypeName=e.menusBizTypeName)
hasMkid=true
}
})
return hasMkid
}
)
newData.forEach(x => x.children && (x.children = filter(x.children)))
return newData
}
let newPowerRoutes=filter(powerRoutes)
let newCommonList=filter(commonList.list)
let newErpList=filter(erpList.list)
let menus = res.data.menu
let asymenus = JSON.parse(JSON.stringify(res.data.menu))
/* 权限路由*/
/* */
function filter(data) {
var newData = data.filter(
(item) => {
let hasMkid = false
asymenus.forEach(e => {
if ((e.mkid == item.meta.mkid) || (item.meta.mkid == 'test')) {
item.meta.icon = e.icon
if (item.meta.mkid != 'test') {
item.meta.title = e.mkmc
}
/* 额外参数*/
e.mkid && (item.mkid = e.mkid)
e.menusBizType && (item.menusBizType = e.menusBizType)
e.mkid && (item.menusBizTypeName = e.menusBizTypeName)
hasMkid = true
}
})
return hasMkid
}
)
newData.forEach(x => x.children && (x.children = filter(x.children)))
return newData
}
let newPowerRoutes = filter(powerRoutes)
let newCommonList = filter(commonList.list)
let newErpList = filter(erpList.list)
/* 转化菜单格式*/
let delArr=[]
let newmenus=[]
menus.forEach((mi,i)=>{
let length= Object.keys(mi)
if(length!=0){
newmenus.push(mi)
}
let delArr = []
let newmenus = []
menus.forEach((mi, i) => {
let length = Object.keys(mi)
if (length != 0) {
newmenus.push(mi)
}
})
res.data=dynamicRouter([...newCommonList,...newErpList,...newPowerRoutes],asymenus)||[...newCommonList,...newErpList,...newPowerRoutes]
// res.data=[...newCommonList,...newErpList,...newPowerRoutes]
res.data = dynamicRouter([...newCommonList, ...newErpList, ...newPowerRoutes], asymenus) || [...
newCommonList, ...newErpList, ...newPowerRoutes
]
/* 重置首页路由*/
// let hompePage = treeToList([...newCommonList,...newErpList,...newPowerRoutes]).filter(item=>item.mkid==localStorage.getItem('homeMkid'))
let ttlist = treeToList([...newCommonList, ...newErpList, ...newPowerRoutes])
let homePage = ttlist.filter(item => item.mkid == localStorage.getItem('homeMkid'))
/* 替换首页*/
if (homePage && homePage[0]) {
if (homePage[0].component) {
// Layout ParentView 组件特殊处理
if (homePage[0].component === 'Layout') {
homePage[0].component = Layout
} else if (homePage[0].component === 'ParentView') {
homePage[0].component = ParentView
} else if (homePage[0].component === 'InnerLink') {
homePage[0].component = InnerLink
} else {
if (homePage[0].commonComponent) {
homePage[0].component = loadCommonView(homePage[0].component)
} else if (homePage[0].erpComponent) {
homePage[0].component = loadErpView(homePage[0].component)
} else {
homePage[0].component = loadView(homePage[0].component)
}
}
}
/* 移除默认路由*/
let newHome = {
path: '',
component: Layout,
redirect: 'index',
hidden: true,
children: [{
path: 'index',
component: homePage[0].component ,
name: 'Index',
meta: {
title: '首页',
icon: 'dashboard',
affix: true
}
}]
}
router.addRoutes([newHome])
}else{
let newHome= {
path: '',
component: Layout,
redirect: 'index',
hidden: true,
children: [{
path: 'index',
component: () => import('@/views/index'),
name: 'Index',
meta: {
title: '首页',
icon: 'dashboard',
affix: true
}
}]
}
router.addRoutes([newHome])
}
// res.data=[...newCommonList,...newErpList,...newPowerRoutes]
const sdata = JSON.parse(JSON.stringify(res.data))
const rdata = JSON.parse(JSON.stringify(res.data))
const sidebarRoutes = filterAsyncRouter(sdata)
const rewriteRoutes = filterAsyncRouter(rdata, false, true)
const asyncRoutes = filterDynamicRoutes(dynamicRoutes);
rewriteRoutes.push({ path: '*', redirect: '/404', hidden: true })
rewriteRoutes.push({
path: '*',
redirect: '/404',
hidden: true
})
router.addRoutes(asyncRoutes);
// router.addRoutes(powerRoutes1)
......@@ -174,15 +257,14 @@ function filterAsyncRouter(asyncRouterMap, lastRouter = false, type = false) {
} else if (route.component === 'InnerLink') {
route.component = InnerLink
} else {
if(route.commonComponent){
if (route.commonComponent) {
route.component = loadCommonView(route.component)
route.component = loadCommonView(route.component)
}else if(route.erpComponent){
} else if (route.erpComponent) {
route.component = loadErpView(route.component)
}
else{
route.component = loadView(route.component)
} else {
route.component = loadView(route.component)
}
}
......@@ -196,19 +278,19 @@ function filterAsyncRouter(asyncRouterMap, lastRouter = false, type = false) {
return true
})
}
/* 递归整理*/
function dgmk(arr,pid){
let oldarr = JSON.parse(JSON.stringify(arr))
let outarr = []
oldarr.forEach((e,index)=>{
if(e.fmkid==pid){
/* 递归整理*/
function dgmk(arr, pid) {
let oldarr = JSON.parse(JSON.stringify(arr))
let outarr = []
oldarr.forEach((e, index) => {
if (e.fmkid == pid) {
outarr.push(e)
e.children=dgmk(oldarr,e.mkid)
}
})
return outarr
}
outarr.push(e)
e.children = dgmk(oldarr, e.mkid)
}
})
return outarr
}
......@@ -260,7 +342,7 @@ export const loadView = (view) => {
} else {
// 使用 import 实现生产环境的路由懒加载
// return () => import(`@/views/${view}`)
return (resolve) => require([`@/views/${view}`], resolve)
return (resolve) => require([`@/views/${view}`], resolve)
}
}
......@@ -271,7 +353,7 @@ export const loadCommonView = (view) => {
} else {
// 使用 import 实现生产环境的路由懒加载
// return () => import(`@/views/${view}`)
return (resolve) => require([`common/src/views/${view}`], resolve)
return (resolve) => require([`common/src/views/${view}`], resolve)
}
}
export const loadErpView = (view) => {
......@@ -281,7 +363,7 @@ export const loadErpView = (view) => {
} else {
// 使用 import 实现生产环境的路由懒加载
// return () => import(`@/views/${view}`)
return (resolve) => require([`common/src/erpViews/${view}`], resolve)
return (resolve) => require([`common/src/erpViews/${view}`], resolve)
}
}
......
......@@ -22,7 +22,14 @@
</editTableForEdit>
</div>
<el-row class="bottomInfo" :gutter="20">
<el-row :gutter="20" :app="this" class="editRow bottomInfo">
<EditColItem :required="item.required||false" :readonly="item.readonly?true:false "
v-for="(item,index) in editColItemList2 " :value="item.value" :span="item.span" :label="item.label"
:prop='item.prop' :key="item.prop" :type="item.type" :typeConfig='item.typeConfig'
:rule="item.rule" />
<!-- 额外数据 -->
</el-row>
<!-- <el-row class="bottomInfo" :gutter="20">
<el-col class="center" :span="12">
创建人:{{
form.cjr||localUser
......@@ -33,7 +40,7 @@
$moment(form.cjsj).format('YYYY-MM-DD HH:mm:ss')||$moment().format('YYYY-MM-DD HH:mm:ss')
}}
</el-col>
</el-row>
</el-row> -->
</el-form>
<!-- editTab数据 -->
......@@ -72,11 +79,47 @@
}
},
mounted() {
this.form.rkrName=this.username
this.form.rkrid=this.userid
this.$nextTick(()=>{
this.form.whr=this.username
this.form.rkr=this.username
})
},
data() {
return {
editColItemList2:[
{
"label": "状态",
"prop": "zt",
"span": 8,
"type": "RelSelect",
"value": "",
readonly:true,
"typeConfig": {
"src": "wms/rkgl/rktz/init/zt",
"match": {
"value": "id",
"label": "name"
}
}
},
{
label: '维护人',
prop: 'whr',
type: 'input',
span: 8,
readonly:true,
},
{
label: '维护时间',
prop: 'whsj',
span: 8,
type: 'datetime',
readonly:true,
value:new Date().getTime()
}
],
/* 常规edit数据 */
editColItemList: [{
label: '入库单号',
......@@ -139,17 +182,9 @@
},
{
label: '入库人',
prop: 'rkrid',
prop: 'rkr',
span: 8,
type: 'AuxInput',
typeConfig: {
code: 'USER',
label: 'rkrName',
transform: {
value: 'id',
label: 'username'
}
},
type: 'input',
"required": true,
},
{
......@@ -173,7 +208,7 @@
{
title: "物料编号",
field: "code",
width: 240,
width: 180,
type: 'AuxInput',
typeConfig: {
"code": "MATERIAL",
......@@ -209,13 +244,7 @@
// },
/* 不可编辑*/
{
title: "制令号",
field: "zlh",
type: 'inputText',
width: 100,
allowEdit: true
},
{
title: "物料批号",
......@@ -225,17 +254,24 @@
// show: JSON.parse(localStorage.getItem('isPhgl'))
},
{
title: "应收数量",
title: "制令号",
field: "zlh",
type: 'inputText',
width: 180,
allowEdit: true
},
{
title: "数量",
field: "yssl",
allowEdit: true,
type: 'inputNumber',
width: 200,
blur: toFixed(null),
},
{
title: "入库数量",
title: "入库数量",
field: "rksl",
width: 200,
},
// {
......
......@@ -46,7 +46,7 @@
},
{
title: "入库人",
field: "rkrName",
field: "rkr",
width: 140
},
{
......
......@@ -19,14 +19,18 @@
clickMode="push"
>
</vue-particles>
<el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form" style="position: absolute;right: 5px;background-color:rgba(0, 0, 0, 0.4) ;">
<el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form" style="position: absolute;right: 5px ;">
<ul class="bg-bubbles" >
<li v-for="i in 10" :key="i"></li>
</ul>
<!-- -->
<!-- -->
<h3 class="title">{{appName}}</h3>
<!-- <h3 class="title">{{appName}}</h3> -->
<div class="iot_title">
<img :src="logo" style="height:40px;width:40px;margin-top:1;"><span style="margin-left: 10px;" > {{appName}}</span>
<!-- <p class="title"></p> -->
</div>
<el-form-item prop="username">
<el-input
v-model="loginForm.username"
......@@ -63,13 +67,13 @@
</div>
</el-form-item>
<el-checkbox v-model="loginForm.rememberMe" style="margin:0px 0px 25px 0px;">记住密码</el-checkbox>
<el-form-item style="width:100%;">
<el-form-item style="width:100%;margin-bottom: 50px;">
<el-button
class="btn btn-primary btn-ghost btn-shine"
:loading="loading"
size="medium"
type="primary"
style="width:100%;"
style="width:100%;background-color:#3A8FFA;color: #fff;"
@click.native.prevent="handleLogin"
>
<span v-if="!loading">登 录</span>
......@@ -93,11 +97,13 @@ import Cookies from "js-cookie";
import { encrypt, decrypt } from '@/utils/jsencrypt'
import md5 from '@/utils/md5.js'
import {systeminfo} from "@/api/common/common.js"
import logo from '@/assets/images/favicon.png'
export default {
name: "Login",
data() {
return {
logo:logo,
appName:'',
codeUrl: "",
loginForm: {
......@@ -133,7 +139,7 @@ export default {
}
},
created() {
// this.getCode();
this.getCookie();
......@@ -234,31 +240,31 @@ export default {
&-shine {
color: white;
&::before {
position: absolute;
content: "";
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(
120deg,
transparent,
hsla(var(--hue), 100%, 41%, 0.5),
transparent
);
transform: translateX(-100%);
transition: 0.6s;
}
// &::before {
// position: absolute;
// content: "";
// top: 0;
// left: 0;
// width: 100%;
// height: 100%;
// background: linear-gradient(
// 120deg,
// transparent,
// hsla(var(--hue), 100%, 41%, 0.5),
// transparent
// );
// transform: translateX(-100%);
// transition: 0.6s;
// }
&:hover {
background: transparent;
box-shadow: 0 0 20px 10px hsla(var(--hue), 100%, 41%, 0.5);
}
// &:hover {
// background: transparent;
// box-shadow: 0 0 20px 10px hsla(var(--hue), 100%, 41%, 0.5);
// }
&:hover::before {
transform: translateX(100%);
}
// &:hover::before {
// transform: translateX(100%);
// }
}
}
::v-deep .el-input__inner{
......@@ -266,7 +272,7 @@ export default {
border: #014dff 1px solid;
}
border: #0389ff 1px solid;
color: #fff;
color: #000;
background-color:rgba(0, 0, 0, 0.039) ;
}
.buttonClass {
......@@ -281,9 +287,9 @@ export default {
border-top-right-radius:3px;
border-bottom-left-radius:3px;
border-bottom-right-radius:3px;
box-shadow:inset 0px 1px 0px 0px #54a3f7;
text-shadow:inset 0px 1px 0px #154682;
background:linear-gradient(#0389ff, #00aaff);
// box-shadow:inset 0px 1px 0px 0px #54a3f7;
// text-shadow:inset 0px 1px 0px #154682;
// background:linear-gradient(#0389ff, #00aaff);
}
.buttonClass:hover {
......@@ -307,14 +313,22 @@ export default {
justify-content: right;
align-items: center;
height: 100%;
background-image: url("../assets/images/login-rj.jpg");
background-size: cover;
background-image: url("../assets/images/login_iot.png");
background-size: 100% 100%;
}
.title {
font-family: Georgia, 'Times New Roman', Times, serif;
margin: 0px auto 30px auto;
text-align: center;
color: #ffffff;
.iot_title {
color: #666;
margin-top: 30px;
text-align: center;
font-size: 20px;
font-family: SimHei;
line-height: 40px;
height: 40px;
display: flex;
justify-content: center;
transform: translateY(-20px);
font-weight: 600;
letter-spacing: 1.3px;
}
.login-form {
......
......@@ -39,7 +39,8 @@ module.exports = {
[process.env.VUE_APP_BASE_API]: {
// target: `http://192.168.30.254:18080/dmg`,
// target: `http://192.168.30.254:28084/erp`,
target: `http://192.168.30.103:9080/lxyl`,
// target: `http://192.168.30.103:9080/lxyl`,
target: `http://localhost:9080/lxyl`,
// target:'http://192.168.30.105:9081/erp',
changeOrigin: true,
pathRewrite: {
......
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