Commit 57257533 authored by wangqinghua's avatar wangqinghua

init

parents
module.exports = {
root: true,
parser: 'babel-eslint',
parserOptions: {
sourceType: 'module'
},
env: {
browser: true,
},
extends: 'standard',
// required to lint *.vue files
plugins: [
'html'
],
// add your custom rules here
'rules': {
// allow paren-less arrow functions
'arrow-parens': 0,
// allow async-await
'generator-star-spacing': 0,
// allow debugger during development
'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0,
// 忽略函数空格检测
'space-before-function-paren': 0,
// 中缀操作符周围要不要有空格
'space-infix-ops': 0,
'no-trailing-spaces': 0,
'new-parens': 0
}
}
\ No newline at end of file
## Project setup
```
yarn install
or
npm install
```
### Compiles and hot-reloads for development
```
yarn serve
```
### Compiles and minifies for production
```
yarn run build
```
### Run your tests
```
yarn run test
```
### Lints and fixes files
```
yarn run lint
```
### Customize configuration
See [Configuration Reference](https://cli.vuejs.org/config/).
module.exports = {
presets: [
'@vue/app'
]
}
This source diff could not be displayed because it is too large. You can view the blob instead.
{
"name": "meet",
"version": "0.1.0",
"private": true,
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"lint": "vue-cli-service lint"
},
"dependencies": {
"axios": "^0.18.0",
"element-ui": "^2.5.4",
"vue": "^2.6.6",
"vue-router": "^3.0.1",
"vuex": "^3.0.1"
},
"devDependencies": {
"@vue/cli-plugin-babel": "^3.4.0",
"@vue/cli-plugin-eslint": "^3.4.0",
"@vue/cli-service": "^3.4.0",
"@vue/eslint-config-standard": "^4.0.0",
"babel-eslint": "^10.0.1",
"eslint": "^5.15.2",
"eslint-plugin-html": "^5.0.3",
"eslint-plugin-vue": "^5.0.0",
"node-sass": "^4.9.0",
"sass-loader": "^7.1.0",
"vue-template-compiler": "^2.5.21"
},
"description": "``` yarn install or npm install ```",
"main": "babel.config.js",
"keywords": [],
"author": "",
"license": "ISC"
}
module.exports = {
plugins: {
autoprefixer: {}
}
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title>xhpolice-wx</title>
</head>
<body>
<noscript>
<strong>We're sorry but xhpolice-wx doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript>
<div id="app"></div>
<!-- built files will be auto injected -->
</body>
</html>
<template>
<el-container class="container">
<el-aside width="200px">
<sidebar></sidebar>
</el-aside>
<el-container>
<el-header>
<navbar></navbar>
</el-header>
<div class="margin-0-20">
<router-view/>
</div>
</el-container>
</el-container>
</template>
<script>
import Sidebar from "./views/sidebar";
import Navbar from "./views/navbar";
export default {
components: {
Navbar,
Sidebar}
}
</script>
<style lang="scss">
#app {
font-family: 'Avenir', Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
}
.container{
height: 100%;
}
#nav {
padding: 30px;
a {
font-weight: bold;
color: #2c3e50;
&.router-link-exact-active {
color: #42b983;
}
}
}
</style>
import req from '../http.js/http';
//登陆
export const login = params =>req('post','/login',params);
//退出
export const logout = params =>req('post','logout',params);
<template>
<div class="hello">
<h1>{{ msg }}</h1>
<p>
For a guide and recipes on how to configure / customize this project,<br>
check out the
<a href="https://cli.vuejs.org" target="_blank" rel="noopener">vue-cli documentation</a>.
</p>
<h3>Installed CLI Plugins</h3>
<ul>
<li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-babel" target="_blank" rel="noopener">babel</a></li>
<li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-eslint" target="_blank" rel="noopener">eslint</a></li>
</ul>
<h3>Essential Links</h3>
<ul>
<li><a href="https://vuejs.org" target="_blank" rel="noopener">Core Docs</a></li>
<li><a href="https://forum.vuejs.org" target="_blank" rel="noopener">Forum</a></li>
<li><a href="https://chat.vuejs.org" target="_blank" rel="noopener">Community Chat</a></li>
<li><a href="https://twitter.com/vuejs" target="_blank" rel="noopener">Twitter</a></li>
<li><a href="https://news.vuejs.org" target="_blank" rel="noopener">News</a></li>
</ul>
<h3>Ecosystem</h3>
<ul>
<li><a href="https://router.vuejs.org" target="_blank" rel="noopener">vue-router</a></li>
<li><a href="https://vuex.vuejs.org" target="_blank" rel="noopener">vuex</a></li>
<li><a href="https://github.com/vuejs/vue-devtools#vue-devtools" target="_blank" rel="noopener">vue-devtools</a></li>
<li><a href="https://vue-loader.vuejs.org" target="_blank" rel="noopener">vue-loader</a></li>
<li><a href="https://github.com/vuejs/awesome-vue" target="_blank" rel="noopener">awesome-vue</a></li>
</ul>
</div>
</template>
<script>
export default {
name: 'HelloWorld',
props: {
msg: String
}
}
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped lang="scss">
h3 {
margin: 40px 0 0;
}
ul {
list-style-type: none;
padding: 0;
}
li {
display: inline-block;
margin: 0 10px;
}
a {
color: #42b983;
}
</style>
<template>
<div class="code">
<el-dialog title="代码添加" :visible.sync="dialogFormVisible">
<el-form :model="form">
<el-form-item label="代码名称" :label-width="formLabelWidth">
<el-input v-model="form.name1" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="代码URL" :label-width="formLabelWidth">
<el-input v-model="form.name2" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="汇报处室" :label-width="formLabelWidth">
<el-input v-model="form.name3" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="列席人员" :label-width="formLabelWidth">
<el-input v-model="form.name4" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="白名单IP" :label-width="formLabelWidth">
<el-input v-model="form.name5" autocomplete="off"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogFormVisible = false">取 消</el-button>
<el-button type="primary" @click="dialogFormVisible = false">确 定</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
export default {
name: "add-code",
data(){
return{
form:{
name1:"",
name2:"",
name3:"",
name4:"",
name5:"",
},
dialogFormVisible:false,
formLabelWidth:"100px"
}
},
methods:{
showModal(){
this.dialogFormVisible = true
}
}
}
</script>
<style scoped>
</style>
\ No newline at end of file
<template>
<div class="intentionDialog">
<el-dialog :title="dialogTitle" :visible.sync="dialogFormVisible">
<el-form :model="form">
<el-form-item label="意向主题" :label-width="formLabelWidth">
<el-input v-model="form.name1" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="备注" :label-width="formLabelWidth">
<el-input v-model="form.name2" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="相关附件" :label-width="formLabelWidth">
<el-input v-model="form.name5" autocomplete="off"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogFormVisible = false">取 消</el-button>
<el-button type="primary" @click="dialogFormVisible = false">确 定</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
export default {
name: "intention-dialog",
data(){
return{
dialogTitle:'',
dialogFormVisible:false,
}
},
methods:{
showDialog(){
this.dialogTitle = "添加意向"
this.dialogFormVisible = true
},
editDialog(){
this.dialogTitle = "编辑意向"
this.dialogFormVisible = true
}
}
}
</script>
<style scoped>
</style>
\ No newline at end of file
import axios from 'axios';
import store from '../store/store';
import * as types from '../store/types';
import router from '../router';
//axios配置
let instance = axios.create({
timeout:10000,
baseURL:"http://10.10.38.99:8888/coms"
});
//http request 拦截器
instance.interceptors.request.use(
config => {
if (store.state.token) {
config.headers.Authorization = `token ${store.state.token}`
}
return config;
},
error => {
return Promise.reject(err);
}
);
//http reponse拦截器
instance.interceptors.response.use(
response => {
if(response.data.errCode !== 10000){
alert(response.data.errMsg);
}
return response.data; //只返回服务器返回的data信息
},
error => {
console.log("报错信息");
if (error.response) {
switch (error.response.status) {
case 401:
store.commit(types.LOGOUt);
router.currentRoute.path !== 'login' &&
router.replace({
path: 'login',
query: {redirect: router.currentRoute.path},
});
break;
case 404:
console.log(error.response.data);
break;
case 500:
console.log(error.response.data);
break;
}
}
return Promise.reject(error.response.data);
},
);
/**
* method 请求的方法:get、post、delete、put
* url 请求的url;
* data 请求的参数
* @return {Promise} 返回一个promise的对象,相当于axios请求数据的返回值
*/
export default function(method, url, data = null)
{
method = method.toLowerCase();
if (method === 'post') {
return instance.post(url, data);
} else if (method === 'get') {
return instance.get(url, {params: data})
} else if (method === 'delete') {
return instance.delete(url, {params: data})
} else if (method === 'put') {
return instance.put(url, data);
} else {
console.error("未知的method" + method);
return false;
}
}
import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store/store';
import ElementUI from 'element-ui';
import "./style/style.scss"
import "./style/common.scss"
import 'element-ui/lib/theme-chalk/index.css';
Vue.config.productionTip = false;
Vue.use(ElementUI);
new Vue({
router,
store,
render: h => h(App)
}).$mount('#app');
import Vue from 'vue';
import Router from 'vue-router';
import VueRouter from 'vue-router';
import Home from './views/Home.vue';
import store from "./store/store";
import * as types from './store/types';
Vue.use(Router);
const routes = [
{
path: '/home',
name: 'home',
meta:{
requireAuth:true //添加这个字段 表明进入这个路由需要登陆
},
component: Home
},
{path: '/about', name: 'about', component: () => import( './views/agenda.vue')},
{path: '/attend', name: 'attend', component: () => import( './views/attend.vue')},
{path: '/intention', name: 'intention', component: () => import( './views/intention.vue')},
{path: '/meetList', name: 'meetList', component: () => import( './views/meetList.vue')},
{path: '/agenda', name: 'agenda', component: () => import( './views/agenda.vue')},
{
path:'/login',
name:'login',
component:()=>import('./views/login.vue')
},
{
path: '*',
name: 'login',
meta:{
requireAuth:true //添加这个字段 表明进入这个路由需要登陆
},
component: ()=>import('./views/login.vue')
},
];
//页面刷新是,重新赋值token
if(window.localStorage.getItem('token')){
store.commit(types.LOGIN,window.localStorage.getItem('token'));
}
const router = new VueRouter({
routes
});
router.beforeEach((to,from,next)=>{
if(to.matched.some( r => r.meta.requireAuth )){
if(store.state.token){
next();
}else{
next({
path:'/login',
query:{redirect:to.fullPath}
})
}
}else{
next();
}
});
export default router;
import Vuex from 'vuex';
import Vue from 'vue';
import * as types from './types';
Vue.use(Vuex);
/**
* 全局同一状态管理;
* 在state中定义了一个数据之后,你可以在所在的项目中任何一个组件中获取,修改,并且
* 你的修改可以得到全局的响应变更,从而对登陆得到的token进行存储和销毁
*/
export default new Vuex.Store({
state:{
user:{},
token:null,
title:''
},
mutations:{
[types.LOGIN]: (state, data) => {
localStorage.token = data;
state.token = data;
},
[types.LOGOUT]: (state) => {
localStorage.removeItem('token');
state.token = null
},
[types.TITLE]: (state, data) => {
state.title = data;
}
}
})
export const LOGIN = 'login';
export const LOGOUT = 'logout';
export const TITLE = 'title';
html, body {
width: 100%;
height: 100%;
font-weight: 400;
}
html,body, div, span, header, footer, nav, section, aside, article, ul, dl, dt, dd, li, a,p, h1, h2, h3, h4, h5, h6, i, b, textarea, button, input, select, figure, figcaption {
padding: 0;
margin: 0;
list-style: none;
font-style: normal;
text-decoration: none;
border: none;
font-family: "Microsoft Yahei", sans-serif;
-webkit-tap-highlight-color: transparent;
-webkit-font-smoothing: antialiased;
&:focus {
outline: none;
}
}
a{
color: #333333;
}
//common color
$main-color:#e24346;
$border-color:#dddddd;
$color-333:#333333;
$color-666:#666666;
$color-999:#999999;
//字体常用颜色
.main-color{color:$main-color;}
//常用字体颜色
.color-333{color:$color-333}
.color-666{color:$color-666}
.color-999{color:$color-999}
//行内元素位置
.text-center {text-align: center;}
.text-left {text-align: left;}
.text-right {text-align: right;}
@for $i from 0 to 201 {
.margin-left-#{$i} {
margin-left: #{$i}px;
}
.margin-right-#{$i} {
margin-right: #{$i}px;
}
.margin-top-#{$i} {
margin-top: #{$i}px;
}
.margin-bottom-#{$i} {
margin-bottom: #{$i}px;
}
.padding-left-#{$i} {
padding-left: #{$i}px;
}
.padding-right-#{$i} {
padding-right: #{$i}px;
}
.padding-top-#{$i} {
padding-top: #{$i}px;
}
.padding-bottom-#{$i} {
padding-bottom: #{$i}px;
}
@for $j from 0 to 201 {
.margin-#{$i}-#{$j} {
margin: #{$i}px #{$j}px !important;
}
.padding-#{$i}-#{$j} {
padding: #{$i}px #{$j}px !important;
}
}
.height-#{$i}{
height: #{$i}px !important;
}
.font-size-#{$i}{
font-size: #{$i}px;
}
}
//flex布局
.flex{
display: flex;
}
@for $j from 1 to 25{
.flex-#{$j}{
flex: #{$j};
}
}
.clear{
clear: both;
}
//边框 border
.border-top{border-top: 1px solid $border-color;}
.border-bottom{border-bottom: 1px solid $border-color;}
.border-left{border-left: 1px solid $border-color;}
.border-right{border-right: 1px solid $border-color;}
.border-top-main{border-top: 1px solid $main-color;}
.border-bottom-main{border-bottom: 1px solid $main-color;}
.border-left-main{border-left: 1px solid $main-color;}
.border-right-main{border-right: 1px solid $main-color;}
//背景色
.background-white{background-color: #fff;}
<template>
<div class="about">
<h1>This is an about page</h1>
</div>
</template>
<template>
<div class="home">
<button @click="logout">退出</button>
<img alt="Vue logo" src="../assets/logo.png">
<HelloWorld msg="Welcome to Your Vue.js App"/>
</div>
</template>
<script>
// @ is an alias to /src
import HelloWorld from '@/components/HelloWorld.vue'
import * as types from '../store/types';
export default {
name: 'home',
components: {
HelloWorld
},
methods:{
async logout(){
console.log("logout");
this.$store.commit(types.LOGOUT);
this.$router.push({
path:'login',
})
}
}
}
</script>
<!--特殊议程-->
<template>
<div class="agenda">
<p class="margin-20-0">当前位置:部务会议程管理 - 代码管理 - 特殊议程</p>
<el-row>
<el-col :offset="14" class="text-right" :span="10">
<el-button @click="showDialog" size="medium" plain>添加</el-button>
</el-col>
</el-row>
<div class="margin-20-0">
<el-table :data="tableData" border style="width: 100%">
<el-table-column
type="index"
label="序号"
width="90"
>
</el-table-column>
<el-table-column
prop="name"
label="代码名称"
width="180">
</el-table-column>
<el-table-column
prop="address"
label="代码URL">
</el-table-column>
<el-table-column
prop="address"
cell-class-name="text-center"
label="汇报处室">
</el-table-column>
<el-table-column
prop="address"
cell-class-name="text-center"
label="列席人员">
</el-table-column>
<el-table-column
prop="address"
cell-class-name="text-center"
label="白名单IP">
</el-table-column>
<el-table-column
prop="address"
label="操作">
<template slot-scope="scope">
<span class="font-size-20">
<i class="el-icon-edit-outline margin-right-10"></i>
<i class="el-icon-view margin-right-10"></i>
<i class="el-icon-delete"></i>
</span>
</template>
</el-table-column>
</el-table>
</div>
<add-code ref="addCode"></add-code>
</div>
</template>
<script>
import AddCode from "../components/addCode";
export default {
components: {AddCode},
name: "agenda",
data(){
return {
tableData: [{
date: '2016-05-02',
name: '王小虎',
province: '上海',
city: '普陀区',
address: '上海市普陀区金沙江路 1518 弄',
zip: 200333,
tag: '家'
}, {
date: '2016-05-04',
name: '王小虎',
province: '上海',
city: '普陀区',
address: '上海市普陀区金沙江路 1517 弄',
zip: 200333,
tag: '公司'
}, {
date: '2016-05-01',
name: '王小虎',
province: '上海',
city: '普陀区',
address: '上海市普陀区金沙江路 1519 弄',
zip: 200333,
tag: '家'
}, {
date: '2016-05-03',
name: '王小虎',
province: '上海',
city: '普陀区',
address: '上海市普陀区金沙江路 1516 弄',
zip: 200333,
tag: '公司'
}],
}
},
methods:{
//更改每页条数
handleSizeChange(){
},
handleCurrentChange(){},
showDialog(){
this.$refs.addCode.showModal()
}
}
}
</script>
<style scoped>
</style>
\ No newline at end of file
<!--特殊议程-->
<template>
<div class="attend">
<p class="margin-20-0">当前位置:部务会议程管理 - 代码管理 - 列席信息</p>
<el-row>
<el-col :offset="14" class="text-right" :span="10">
<el-button size="medium" plain>添加</el-button>
</el-col>
</el-row>
<div class="margin-20-0">
<el-table :data="tableData" border style="width: 100%">
<el-table-column
type="index"
label="代码显示顺序"
width="200"
:index="index">
</el-table-column>
<el-table-column
prop="name"
label="代码显示名称"
>
</el-table-column>
<el-table-column
prop="address"
width="200"
label="操作">
<template slot-scope="scope">
<span class="font-size-20">
<i class="el-icon-edit-outline margin-right-10"></i>
<i class="el-icon-view margin-right-10"></i>
<i class="el-icon-delete"></i>
</span>
</template>
</el-table-column>
</el-table>
</div>
</div>
</template>
<script>
export default {
name: "attend",
data(){
return {
tableData: [{
date: '2016-05-02',
name: '王小虎',
province: '上海',
city: '普陀区',
address: '上海市普陀区金沙江路 1518 弄',
zip: 200333,
tag: '家'
}, {
date: '2016-05-04',
name: '王小虎',
province: '上海',
city: '普陀区',
address: '上海市普陀区金沙江路 1517 弄',
zip: 200333,
tag: '公司'
}, {
date: '2016-05-01',
name: '王小虎',
province: '上海',
city: '普陀区',
address: '上海市普陀区金沙江路 1519 弄',
zip: 200333,
tag: '家'
}, {
date: '2016-05-03',
name: '王小虎',
province: '上海',
city: '普陀区',
address: '上海市普陀区金沙江路 1516 弄',
zip: 200333,
tag: '公司'
}],
}
},
methods:{
//更改每页条数
handleSizeChange(){
},
handleCurrentChange(){}
}
}
</script>
<style scoped>
</style>
\ No newline at end of file
<!--会议意向-->
<template>
<div class="intention">
<p class="margin-20-0">当前位置:部务会议程管理 - 部务会会议意向</p>
<el-row>
<el-col :span="6">
<span>意向主题:</span>
<el-input style="width: 180px;" size="medium"
placeholder="会议名称"
v-model="input1">
</el-input>
</el-col>
<el-col :span="8">
<span>汇报处室:</span>
<el-input style="width: 180px;" size="medium"
placeholder="会议名称"
v-model="input2">
</el-input>
</el-col>
<el-col class="text-right" :span="10">
<el-button size="medium" plain>查询</el-button>
<el-button size="medium" plain>添加</el-button>
</el-col>
</el-row>
<div class="margin-20-0">
<el-table :data="tableData" border style="width: 100%">
<el-table-column
type="index"
label="序号"
width="90">
</el-table-column>
<el-table-column
prop="name"
label="意向主题"
width="180">
</el-table-column>
<el-table-column
prop="address"
label="汇报处室">
</el-table-column>
<el-table-column
prop="address"
cell-class-name="text-center"
label="备注">
</el-table-column>
<el-table-column
prop="address"
cell-class-name="text-center"
label="上会情况">
</el-table-column>
<el-table-column
prop="address"
cell-class-name="text-center"
label="已关联会议名称">
</el-table-column>
<el-table-column
prop="address"
label="操作">
<template slot-scope="scope">
<span class="font-size-20">
<i class="el-icon-edit-outline margin-right-10"></i>
<i class="el-icon-view margin-right-10"></i>
<i class="el-icon-delete"></i>
</span>
</template>
</el-table-column>
</el-table>
<div class="margin-20-0 text-center">
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="currentPage"
:page-sizes="[100, 200, 300, 400]"
:page-size="100"
layout="total, sizes, prev, pager, next, jumper"
:total="400">
</el-pagination>
</div>
</div>
</div>
</template>
<script>
export default {
name: "intention",
data() {
return {
input1:"",
input2:"",
currentPage:1,
tableData: [{
date: '2016-05-02',
name: '王小虎',
province: '上海',
city: '普陀区',
address: '上海市普陀区金沙江路 1518 弄',
zip: 200333,
tag: '家'
}, {
date: '2016-05-04',
name: '王小虎',
province: '上海',
city: '普陀区',
address: '上海市普陀区金沙江路 1517 弄',
zip: 200333,
tag: '公司'
}, {
date: '2016-05-01',
name: '王小虎',
province: '上海',
city: '普陀区',
address: '上海市普陀区金沙江路 1519 弄',
zip: 200333,
tag: '家'
}, {
date: '2016-05-03',
name: '王小虎',
province: '上海',
city: '普陀区',
address: '上海市普陀区金沙江路 1516 弄',
zip: 200333,
tag: '公司'
}],
}
},
methods: {
//更改每页条数
handleSizeChange() {
},
handleCurrentChange() {
}
}
}
</script>
<style lang="scss">
</style>
\ No newline at end of file
<template>
<div class="container">
<form class="login-form" novalidate @submit.stop.prevent="login">
<input type="text" v-model="user.loginName">
<input type="password" v-model="user.password">
<button type="submit">登陆</button>
</form>
</div>
</template>
<script>
import {login} from "../api/login";
import * as types from '../store/types';
export default {
name: "login",
data() {
return {
user: {
loginName: '',
password: '',
rememberMe: true
}
}
},
mounted() {
let token = this.$store.state.token;
if(token){
console.log('已有token,直接进入')
this.$router.push({
path:'home',
})
}
},
methods: {
async login() {
await login(this.user).then(
(res)=>{
if(res.errCode === 10000){
this.$store.commit(types.LOGIN, res.data);
this.$router.push({
path:'home',
})
}
}
)
}
}
}
</script>
<style lang="scss">
</style>
<template>
</template>
<script>
export default {
name: "main"
}
</script>
<style scoped>
</style>
\ No newline at end of file
<!--会议列表-->
<template>
<div class="meetList">
<p class="margin-20-0">当前位置:部务会议程管理 - 部务会会议列表</p>
<el-row>
<el-col :span="6">
<span>会议名称:</span>
<el-input style="width: 180px;" size="medium"
placeholder="会议名称"
v-model="input1">
</el-input>
</el-col>
<el-col :span="8">
<span>会议日期:</span>
<el-date-picker size="medium" v-model="value1" type="date" placeholder="选择日期">
</el-date-picker>
</el-col>
<el-col class="text-right" :span="10">
<el-button size="medium" plain> 查 询 </el-button>
<el-button size="medium" plain>新增会议</el-button>
</el-col>
</el-row>
<div class="margin-20-0">
<el-table :data="tableData" border style="width: 100%">
<el-table-column
type="index"
label="序号"
width="90"
:index="index">
</el-table-column>
<el-table-column
prop="name"
label="会议名称"
width="180">
</el-table-column>
<el-table-column
prop="address"
label="会议日期">
</el-table-column>
<el-table-column
prop="address"
cell-class-name="text-center"
label="备注">
</el-table-column>
<el-table-column
prop="address"
label="操作">
<template slot-scope="scope">
<span class="font-size-20">
<i class="el-icon-edit-outline margin-right-10"></i>
<i class="el-icon-view margin-right-10"></i>
<i class="el-icon-delete"></i>
</span>
</template>
</el-table-column>
</el-table>
<div class="margin-20-0 text-center">
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="currentPage4"
:page-sizes="[100, 200, 300, 400]"
:page-size="100"
layout="total, sizes, prev, pager, next, jumper"
:total="400">
</el-pagination>
</div>
</div>
</div>
</template>
<script>
export default {
name: "meet-list",
data(){
return {
tableData: [{
date: '2016-05-02',
name: '王小虎',
province: '上海',
city: '普陀区',
address: '上海市普陀区金沙江路 1518 弄',
zip: 200333,
tag: '家'
}, {
date: '2016-05-04',
name: '王小虎',
province: '上海',
city: '普陀区',
address: '上海市普陀区金沙江路 1517 弄',
zip: 200333,
tag: '公司'
}, {
date: '2016-05-01',
name: '王小虎',
province: '上海',
city: '普陀区',
address: '上海市普陀区金沙江路 1519 弄',
zip: 200333,
tag: '家'
}, {
date: '2016-05-03',
name: '王小虎',
province: '上海',
city: '普陀区',
address: '上海市普陀区金沙江路 1516 弄',
zip: 200333,
tag: '公司'
}],
}
},
methods:{
//更改每页条数
handleSizeChange(){
},
handleCurrentChange(){}
}
}
</script>
<style scoped>
</style>
\ No newline at end of file
<template>
<el-row :gutter="20">
<el-col :offset="12" :span="6"><div class="grid-content bg-purple">
欢迎您!系统管理员
</div></el-col>
<el-col :span="6"><div class="grid-content bg-purple">
退出系统
</div></el-col>
</el-row>
</template>
<script>
export default {
name: "navbar"
}
</script>
<style scoped>
</style>
\ No newline at end of file
<template>
<el-menu>
<el-submenu index="1">
<template slot="title">
<router-link to="/meetList">
部位会会议列表
</router-link>
</template>
</el-submenu>
<el-submenu index="2">
<template slot="title">
<router-link to="/intention">部位会会议意向</router-link>
</template>
</el-submenu>
<el-submenu index="3">
<template slot="title">
代码管理
</template>
<el-menu-item-group>
<el-menu-item index="1-1">
<router-link to="/agenda">特殊会议</router-link>
</el-menu-item>
<el-menu-item index="1-2">
<router-link to="/attend">列席信息</router-link>
</el-menu-item>
</el-menu-item-group>
</el-submenu>
</el-menu>
</template>
<script>
export default {
name: "sidebar"
}
</script>
<style lang="scss">
.el-menu{
height: 100%;
background-color: #3869a7;
}
</style>
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
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