作者 朱兆平

Merge branch 'nmms' of 118.31.66.166:zp260/vue_cli

# Conflicts:
#	config/index.js
#	package-lock.json
#	package.json
#	src/api/api.js
#	src/api/http.js
#	src/api/log_api.js
#	src/api/perm_api.js
#	src/api/role_api.js
#	src/api/user.js
#	src/main.js
#	src/routes.js
#	src/views/Home.vue
合并新舱单
... ... @@ -3242,15 +3242,9 @@
"dev": true
},
"element-ui": {
<<<<<<< HEAD
"version": "2.13.0",
"resolved": "https://registry.npmjs.org/element-ui/-/element-ui-2.13.0.tgz",
"integrity": "sha512-KYsHWsBXYbLELS8cdfvgJTOMSUby3UEjvsPV1V1VmgJ/DdkOAS4z3MiOrPxrT9w2Cc5lZ4eVSQiGhYFR5NVChw==",
=======
"version": "2.12.0",
"resolved": "https://registry.npm.taobao.org/element-ui/download/element-ui-2.12.0.tgz",
"integrity": "sha1-qJO8Ea5Pfbt+nVQWBvI+ZD8THuQ=",
>>>>>>> bc2ec1ef193de6a4d7b7d18f1b5d08e9f5203861
"requires": {
"async-validator": "~1.8.1",
"babel-helper-vue-jsx-merge-props": "^2.0.0",
... ...
... ... @@ -12,11 +12,7 @@
"dependencies": {
"axios": "^0.19.0",
"echarts": "^3.3.2",
<<<<<<< HEAD
"element-ui": "^2.13.0",
=======
"element-ui": "^2.12.0",
>>>>>>> bc2ec1ef193de6a4d7b7d18f1b5d08e9f5203861
"eslint": "^5.14.1",
"file-saver": "^2.0.2",
"font-awesome": "^4.7.0",
... ...
... ... @@ -11,7 +11,7 @@ export const getUserList = params => { return axios.get(`/cloud-user-center/user
export const getUserListPage = params => { return axios({
method: 'GET',
url: `USER-CENTER/user/list`,
url: `/cloud-user-center/user/list`,
data: params,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
... ... @@ -21,7 +21,7 @@ export const getUserListPage = params => { return axios({
export const removeUser = params => { return axios({
method: 'DELETE',
url: `USER-CENTER/user/del`,
url: `/cloud-user-center/user/del`,
data: params,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
... ... @@ -32,7 +32,7 @@ export const batchRemoveUser = params => { return axios.get(`USER-CENTER/user/ba
export const editUser = params => { return axios({
method: 'PUT',
url: `USER-CENTER/user/edit`,
url: `/cloud-user-center/user/edit`,
data: params,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
... ... @@ -41,7 +41,7 @@ export const editUser = params => { return axios({
export const addUser = params => { return axios({
method: 'POST',
url: `USER-CENTER/user/add`,
url: `/cloud-user-center/user/add`,
data: params,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
... ... @@ -50,7 +50,7 @@ export const addUser = params => { return axios({
export const setUserRole = params => { return axios({
method: 'PUT',
url: `USER-CENTER/user/roleset`,
url: `/cloud-user-center/user/roleset`,
data: params,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
... ...
import axios from 'axios'
<<<<<<< HEAD
let base = '/cloud-user-center/system/log';
=======
axios.defaults.baseURL = 'http://localhost:8082/api';
let base = axios.defaults.baseURL+'USER-CENTER/system/log';
>>>>>>> bc2ec1ef193de6a4d7b7d18f1b5d08e9f5203861
export const getList = params => { return axios.get(`${base}/list`, { params: params }); };
... ...
import axios from 'axios'
<<<<<<< HEAD
let base = '/cloud-user-center/perm';
=======
axios.defaults.baseURL = 'http://localhost:8082/api';
let base = axios.defaults.baseURL+'USER-CENTER/perm';
>>>>>>> bc2ec1ef193de6a4d7b7d18f1b5d08e9f5203861
export const getList = params => { return axios.get(`${base}/list`, { params: params }); };
... ...
import axios from 'axios'
<<<<<<< HEAD
let base = '/cloud-user-center/role';
=======
let base = 'USER-CENTER/role';
>>>>>>> bc2ec1ef193de6a4d7b7d18f1b5d08e9f5203861
export const getList = params => { return axios.get(`${base}/list`, { params: params }); };
... ...
import http from './http.js'
<<<<<<< HEAD
let baseUrl = '/cloud-user-center/user'
=======
let baseUrl = 'user-center/user'
>>>>>>> bc2ec1ef193de6a4d7b7d18f1b5d08e9f5203861
export const getUserList = params => { return http.get(`${baseUrl}/list`, params); };
export const getUserListPage = params => { return http.get(`/user/list`,params) };
... ...
import Vue from 'vue'
import App from './App'
<<<<<<< HEAD
=======
import ElementUI from 'element-ui'
>>>>>>> bc2ec1ef193de6a4d7b7d18f1b5d08e9f5203861
import 'element-ui/lib/theme-chalk/index.css'
//import './assets/theme/theme-green/index.css'
import VueRouter from 'vue-router'
... ... @@ -15,13 +12,10 @@ import rout from './routes'
import Mock from './mock'
import i18n from './lang'
import 'font-awesome/css/font-awesome.min.css'
<<<<<<< HEAD
import ElementUI from 'element-ui'
import * as socketApi from './api/socket'
=======
import '@/styles/index.scss'
>>>>>>> bc2ec1ef193de6a4d7b7d18f1b5d08e9f5203861
//定义一个全局过滤器实现日期格式化
Vue.filter('datefmt',function(input,fmtstring){
... ...
... ... @@ -7,14 +7,13 @@ import Role from './views/nav1/role.vue'
import Perm from './views/nav1/perm.vue'
import LOG from './views/nav1/Log.vue'
import PreManifest from './views/agent/PreManifest.vue'
<<<<<<< HEAD
import Company from './views/nav1/company.vue'
import Department from './views/nav1/department.vue'
import Group from './views/nav1/groupcompany.vue'
import Process from './views/hqpt/Process.vue'
import Job from './views/hqpt/Job.vue'
// import Form from './views/nav1/Form.vue'
=======
import OrgManifest from './views/nmms/orgManifest.vue'
import ExitFlight from './views/nmms/ExitFlight.vue'
import ExitPre from './views/nmms/ExitPre.vue'
... ... @@ -26,7 +25,6 @@ import ExitFlightDesc from './views/nmms/ExitFlightDesc.vue'
import LostLoad from './views/lostLoadChange/lostLoading.vue'
import LostLoadChange from './views/lostLoadChange/lostLoadChange.vue'
>>>>>>> bc2ec1ef193de6a4d7b7d18f1b5d08e9f5203861
import User from './views/nav1/user.vue'
import Page4 from './views/nav2/Page4.vue'
... ... @@ -71,7 +69,6 @@ let routes = [
name: '系统设置',
iconCls: 'el-icon-setting',//图标样式class
children: [
<<<<<<< HEAD
{ path: '/user', component: User, name: '用户管理' },
{ path: '/role', component: Role, name: '岗位管理' },
{ path: '/perm', component: Perm, name: '权限管理' },
... ... @@ -79,12 +76,6 @@ let routes = [
{ path: '/department', component: Department, name: '部门管理' },
{ path: '/company', component: Company, name: '公司管理'},
{ path: '/group', component: Group, name: '集团管理'}
=======
{path: '/user', component: User, name: '用户管理'},
{path: '/role', component: Role, name: '角色管理'},
{path: '/perm', component: Perm, name: '权限管理'},
{path: '/log', component: LOG, name: '系统日志'},
>>>>>>> bc2ec1ef193de6a4d7b7d18f1b5d08e9f5203861
]
},
{
... ... @@ -93,10 +84,8 @@ let routes = [
name: '客服系统',
iconCls: 'fa fa-id-card-o',
children: [
<<<<<<< HEAD
{ path: '/process', component: Process, name: '工单管理' },
{ path: '/job', component: Job, name: '任务管理' }
=======
{ path: '/job', component: Job, name: '任务管理' },
{path: '/pre1', component: PreManifest, name: '预配'},
]
},
... ... @@ -122,8 +111,8 @@ let routes = [
iconCls:'el-icon-goods',
children:[
{path:'/lostLoad',component:LostLoad,name:'落装业务申报'},
// {path:'/lostLoadChange',component:LostLoadChange,name:'改配业务申报'}
>>>>>>> bc2ec1ef193de6a4d7b7d18f1b5d08e9f5203861
{path:'/lostLoadChange',component:LostLoadChange,name:'改配业务申报'}
]
},
{
... ... @@ -132,12 +121,7 @@ let routes = [
name: '能源管理',
iconCls: 'fa fa-id-card-o',
children: [
<<<<<<< HEAD
{ path: '/location', component: Location, name: '能源缴费' },
=======
{path: '/page4', component: Page4, name: '页面4'},
{path: '/page5', component: Page5, name: '页面5'}
>>>>>>> bc2ec1ef193de6a4d7b7d18f1b5d08e9f5203861
]
},
{
... ... @@ -160,16 +144,11 @@ let routes = [
iconCls: 'fa fa-address-card',
// leaf: true,//只有一个节点
children: [
<<<<<<< HEAD
{ path: '/water_stations_patrol', component: WaterStationsPatrol, name: '二水厂-水站巡视记录单管理' },
// { path: '/page6', component: Page6, name: '水质量检测' },
// { path: '/page6', component: Page6, name: '污水站' },
// { path: '/page6', component: Page6, name: '一水厂' },
// { path: '/page6', component: Page6, name: '综合楼空调站' },
=======
{path: '/page6', component: Page6, name: '导航三'}
>>>>>>> bc2ec1ef193de6a4d7b7d18f1b5d08e9f5203861
]
},
{
... ...
<template>
<<<<<<< HEAD
<el-row class="container">
<el-col :span="24" class="header">
<el-col :span="10" class="logo" :class="collapsed?'logo-collapse-width':'logo-width'">
... ... @@ -24,7 +23,7 @@
<el-col :span="24" class="main">
<aside :class="collapsed?'menu-collapsed':'menu-expanded'">
<!--导航菜单-->
<el-menu :default-active="$route.path" class="el-menu-vertical-demo" @open="handleopen" @close="handleclose" @select="handleselect" unique-opened router v-show="!collapsed" style="min-width: 230px" background-color="#545c64" text-color="#fff" active-text-color="#ffd04b">
<el-menu :default-active="$route.path" class="el-menu-vertical-demo" @open="handleopen" @close="handleclose" @select="handleselect" unique-opened router v-show="!collapsed" style="min-width: 230px">
<template v-for="(item,index) in $router.options.routes" v-if="!item.hidden">
<el-submenu :index="index+''" v-if="!item.leaf">
<template slot="title"><i :class="item.iconCls"></i>{{item.name}}</template>
... ... @@ -46,92 +45,6 @@
<li class="el-submenu">
<div class="el-submenu__title el-menu-item" style="padding-left: 20px;height: 56px;line-height: 56px;padding: 0 20px;" :class="$route.path==item.children[0].path?'is-active':''" @click="$router.push(item.children[0].path)"><i :class="item.iconCls"></i></div>
</li>
</template>
</li>
</ul>
</aside>
<section class="content-container">
<div class="grid-content bg-purple-light">
<el-col :span="24" class="breadcrumb-container">
<strong class="title">{{$route.name}}</strong>
<el-breadcrumb separator="/" class="breadcrumb-inner">
<el-breadcrumb-item v-for="item in $route.matched" :key="item.path">
{{ item.name }}
</el-breadcrumb-item>
</el-breadcrumb>
</el-col>
<el-col :span="24" class="content-wrapper">
<transition name="fade" mode="out-in">
<router-view></router-view>
</transition>
</el-col>
</div>
</section>
</el-col>
</el-row>
=======
<el-row class="container">
<el-col :span="24" class="header">
<el-col :span="10" class="logo" :class="collapsed?'logo-collapse-width':'logo-width'">
{{collapsed?'':sysName}}
</el-col>
<el-col :span="10">
<div class="tools" @click.prevent="collapse">
<i class="fa fa-align-justify"></i>
</div>
</el-col>
<el-col :span="4" class="userinfo">
<el-dropdown trigger="hover">
<span class="el-dropdown-link userinfo-inner"><img
:src="this.sysUserAvatar"/> {{sysUserName}}</span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item>我的消息</el-dropdown-item>
<el-dropdown-item>设置</el-dropdown-item>
<el-dropdown-item divided @click.native="logout">退出登录</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</el-col>
</el-col>
<el-col :span="24" class="main">
<aside :class="collapsed?'menu-collapsed':'menu-expanded'">
<!--导航菜单-->
<el-menu :default-active="$route.path" class="el-menu-vertical-demo" @open="handleopen"
@close="handleclose" @select="handleselect" unique-opened router v-show="!collapsed"
style="min-width: 230px">
<template v-for="(item,index) in $router.options.routes" v-if="!item.hidden">
<el-submenu :index="index+''" v-if="!item.leaf">
<template slot="title"><i :class="item.iconCls"></i>{{item.name}}</template>
<el-menu-item v-for="child in item.children" :index="child.path" :key="child.path"
v-if="!child.hidden">{{child.name}}
</el-menu-item>
</el-submenu>
<el-menu-item v-if="item.leaf&&item.children.length>0" :index="item.children[0].path"><i
:class="item.iconCls"></i>{{item.children[0].name}}
</el-menu-item>
</template>
</el-menu>
<!--导航菜单-折叠后-->
<ul class="el-menu el-menu-vertical-demo collapsed" v-show="collapsed" ref="menuCollapsed">
<li v-for="(item,index) in $router.options.routes" v-if="!item.hidden" class="el-submenu item">
<template v-if="!item.leaf">
<div class="el-submenu__title" style="padding-left: 20px;" @mouseover="showMenu(index,true)"
@mouseout="showMenu(index,false)"><i :class="item.iconCls"></i></div>
<ul class="el-menu submenu" :class="'submenu-hook-'+index" @mouseover="showMenu(index,true)"
@mouseout="showMenu(index,false)">
<li v-for="child in item.children" v-if="!child.hidden" :key="child.path"
class="el-menu-item" style="padding-left: 40px;"
:class="$route.path==child.path?'is-active':''" @click="$router.push(child.path)">
{{child.name}}
</li>
</ul>
</template>
<template v-else>
<li class="el-submenu">
<div class="el-submenu__title el-menu-item"
style="padding-left: 20px;height: 56px;line-height: 56px;padding: 0 20px;"
:class="$route.path==item.children[0].path?'is-active':''"
@click="$router.push(item.children[0].path)"><i :class="item.iconCls"></i></div>
</li>
</template>
</li>
</ul>
... ... @@ -148,25 +61,21 @@
</el-col>
<el-col :span="24" class="content-wrapper">
<transition name="fade" mode="out-in">
<router-view :key="$route.path +$route.query.t"></router-view>
<router-view></router-view>
</transition>
</el-col>
</div>
</section>
</el-col>
</el-row>
>>>>>>> bc2ec1ef193de6a4d7b7d18f1b5d08e9f5203861
</template>
<script>
import rt from '../routes'
export default {
<<<<<<< HEAD
data() {
return {
sysName:'后勤管理平台',
sysName:'流浪地球管理系统',
collapsed:false,
sysUserName: '',
sysUserAvatar: '',
... ... @@ -202,68 +111,11 @@
//type: 'warning'
}).then(() => {
sessionStorage.removeItem('user');
=======
provide() {
return {
reload: this.reload
}
},
data() {
return {
sysName: '流浪地球管理系统',
collapsed: false,
sysUserName: '',
sysUserAvatar: '',
isRouterAlive: true,
form: {
name: '',
region: '',
date1: '',
date2: '',
delivery: false,
type: [],
resource: '',
desc: ''
}
}
},
methods: {
reload() {
this.$nextTick(function () {
this.$router.push({
path: this.$router.path,
query:{
t: new Date().getTime()
}
})
})
},
onSubmit() {
console.log('submit!');
},
handleopen() {
console.log('handleopen');
},
handleclose() {
console.log('handleclose');
},
handleselect: function (a, b) {
this.reload()
},
//退出登录
logout: function () {
var _this = this;
this.$confirm('确认退出吗?', '提示', {
//type: 'warning'
}).then(() => {
sessionStorage.removeItem('user');
>>>>>>> bc2ec1ef193de6a4d7b7d18f1b5d08e9f5203861
sessionStorage.removeItem('menu');
//退出后初始化原来的路由
let sysRoutes = JSON.parse(sessionStorage.getItem('sysMenu'));
// console.log(sysRoutes);
console.log(sysRoutes);
_this.$router.options.routes = sysRoutes;
_this.$router.push('/login');
... ... @@ -274,11 +126,11 @@
},
//折叠导航栏
collapse: function () {
this.collapsed = !this.collapsed;
collapse:function(){
this.collapsed=!this.collapsed;
},
showMenu(i, status) {
this.$refs.menuCollapsed.getElementsByClassName('submenu-hook-' + i)[0].style.display = status ? 'block' : 'none';
showMenu(i,status){
this.$refs.menuCollapsed.getElementsByClassName('submenu-hook-'+i)[0].style.display=status?'block':'none';
}
},
mounted() {
... ... @@ -294,8 +146,8 @@
if (userRouters) {
userRouters = JSON.parse(userRouters);
_this.$router.options.routes = userRouters;
// console.log("home:");
// console.log(_this.$router.options.routes);
console.log("home:");
console.log(_this.$router.options.routes);
}
}
}
... ... @@ -310,22 +162,18 @@
top: 0px;
bottom: 0px;
width: 100%;
.header {
height: 60px;
line-height: 60px;
background: $color-primary;
color: #fff;
color:#fff;
.userinfo {
text-align: right;
padding-right: 35px;
float: right;
.userinfo-inner {
cursor: pointer;
color: #fff;
color:#fff;
img {
width: 40px;
height: 40px;
... ... @@ -335,45 +183,38 @@
}
}
}
.logo {
//width:230px;
height: 60px;
height:60px;
font-size: 22px;
padding-left: 20px;
padding-right: 20px;
border-color: rgba(238, 241, 146, 0.3);
padding-left:20px;
padding-right:20px;
border-color: rgba(238,241,146,0.3);
border-right-width: 1px;
border-right-style: solid;
img {
width: 40px;
float: left;
margin: 10px 10px 10px 18px;
}
.txt {
color: #fff;
color:#fff;
}
}
.logo-width {
width: 230px;
.logo-width{
width:230px;
}
.logo-collapse-width {
width: 60px
.logo-collapse-width{
width:60px
}
.tools {
.tools{
padding: 0px 23px;
width: 14px;
width:14px;
height: 60px;
line-height: 60px;
cursor: pointer;
}
}
.main {
display: flex;
// background: #324057;
... ... @@ -381,53 +222,45 @@
top: 60px;
bottom: 0px;
overflow: hidden;
aside {
flex: 0 0 230px;
flex:0 0 230px;
width: 230px;
// position: absolute;
// top: 0px;
// bottom: 0px;
.el-menu {
.el-menu{
height: 100%;
}
.collapsed {
width: 60px;
.item {
.collapsed{
width:60px;
.item{
position: relative;
}
.submenu {
position: absolute;
top: 0px;
left: 60px;
z-index: 99999;
height: auto;
display: none;
.submenu{
position:absolute;
top:0px;
left:60px;
z-index:99999;
height:auto;
display:none;
}
}
}
.menu-collapsed {
flex: 0 0 60px;
.menu-collapsed{
flex:0 0 60px;
width: 60px;
}
.menu-expanded {
flex: 0 0 230px;
.menu-expanded{
flex:0 0 230px;
width: 230px;
}
.menu-expanded ul {
.menu-expanded ul{
width: 230px;
}
.content-container {
// background: #f1f2f7;
flex: 1;
flex:1;
// position: absolute;
// right: 0px;
// top: 0px;
... ... @@ -435,7 +268,6 @@
// left: 230px;
overflow-y: scroll;
padding: 20px;
.breadcrumb-container {
//margin-bottom: 15px;
.title {
... ... @@ -443,12 +275,10 @@
float: left;
color: #475669;
}
.breadcrumb-inner {
float: right;
}
}
.content-wrapper {
background-color: #fff;
box-sizing: border-box;
... ...