开发语言:Java
框架:springboot
JDK版本:JDK1.8
服务器:tomcat7
数据库:mysql 5.7(一定要5.7版本)
数据库工具:Navicat11
开发软件:eclipse/myeclipse/idea
Maven包:Maven3.3.9
浏览器:谷歌浏览器
<template>
<div>
<div class="container" :style='{"minHeight":"100vh","padding":"200px 0","alignItems":"center","background":"url(http://codegen.caihongy.cn/20230220/fe8de165616e4a958fb1e289132234fa.jpg) no-repeat center bottom / 100% auto","display":"block","width":"100%","position":"relative","justifyContent":"center"}'>
<el-form :style='{"padding":"40px 40px 0","margin":"0 auto","borderColor":"#849acf","borderRadius":"10px","background":"rgba(255,255,255,1)","borderWidth":"10px","width":"800px","borderStyle":"outset","height":"auto"}'>
<div v-if="true" :style='{"padding":"0 40px","margin":"0 0 30px 0","color":"#fff","textAlign":"center","overflow":"hidden","top":"0","left":"0","background":"url(http://codegen.caihongy.cn/20230220/93da8688dea64d828ade3cf330fa6af5.png) no-repeat left bottom / auto 100%,url(http://codegen.caihongy.cn/20230220/567a2d3b7488444c893461a5b89e87e8.png) no-repeat right bottom / auto 100%,#0d3084","width":"100%","lineHeight":"64px","fontSize":"24px","position":"absolute","height":"64px"}' class="title-container">基于Java web的酒店管理系统设计与实现登录</div>
<div v-if="loginType==1" class="list-item" :style='{"width":"60%","margin":"0 auto 40px","position":"relative","alignItems":"center","flexWrap":"wrap","display":"flex"}'>
<div v-if="true" class="lable" :style='{"color":"#0d3084","left":"-130px","textAlign":"right","width":"120px","lineHeight":"40px","fontSize":"14px","position":"absolute","fontWeight":"600"}'>用户名</div>
<input :style='{"padding":"0 10px","borderColor":"#eee","color":"#999","borderRadius":"4px","borderWidth":"3px","background":"linear-gradient(30deg, rgba(227,231,242,1) 0%, rgba(255,255,255,1) 20%, rgba(255,255,255,1) 80%, rgba(227,231,242,1) 100%)","width":"100%","fontSize":"14px","borderStyle":"ridge","height":"44px"}' placeholder="请输入用户名" name="username" type="text" v-model="rulesForm.username">
</div>
<div v-if="loginType==1" class="list-item" :style='{"width":"60%","margin":"0 auto 40px","position":"relative","alignItems":"center","flexWrap":"wrap","display":"flex"}'>
<div v-if="true" class="lable" :style='{"color":"#0d3084","left":"-130px","textAlign":"right","width":"120px","lineHeight":"40px","fontSize":"14px","position":"absolute","fontWeight":"600"}'>密码:</div>
<input :style='{"padding":"0 10px","borderColor":"#eee","color":"#999","borderRadius":"4px","borderWidth":"3px","background":"linear-gradient(30deg, rgba(227,231,242,1) 0%, rgba(255,255,255,1) 20%, rgba(255,255,255,1) 80%, rgba(227,231,242,1) 100%)","width":"100%","fontSize":"14px","borderStyle":"ridge","height":"44px"}' placeholder="请输入密码" name="password" type="password" v-model="rulesForm.password">
</div>
<div :style='{"width":"60%","margin":"30px auto"}' v-if="roles.length>1" prop="loginInRole" class="list-type">
<el-radio v-for="item in roles" v-bind:key="item.roleName" v-model="rulesForm.role" :label="item.roleName">{{item.roleName}}</el-radio>
</div>
<div :style='{"width":"auto","margin":"40px 0 0 0px","alignItems":"left","flexWrap":"wrap","justifyContent":"center","display":"flex"}'>
<el-button v-if="loginType==1" :style='{"cursor":"pointer","padding":"0","margin":"0","borderColor":"#fff","color":"#fff","bottom":"0","letterSpacing":"4px","minWidth":"150px","outline":"none","borderRadius":"0px","left":"0","background":"url(http://codegen.caihongy.cn/20230220/58c97d1b7dcd474d8bb0e0aaf358fc33.png) no-repeat left bottom / auto 100%,url(http://codegen.caihongy.cn/20230220/593adc3e479e4050bf3aaf94529768f8.png) no-repeat right bottom / auto 100%,#0d3084","borderWidth":"1px 0 0","width":"100%","fontSize":"24px","position":"absolute","borderStyle":"solid","height":"64px"}' type="primary" @click="login()" class="loginInBt">登录</el-button>
<el-button :style='{"border":"3px ridge #eee","cursor":"pointer","padding":"0 10px","margin":"20px 10px 0 0","outline":"none","color":"#849acf","borderRadius":"4px","background":"linear-gradient(30deg, rgba(227,231,242,1) 0%, rgba(255,255,255,1) 20%, rgba(255,255,255,1) 80%, rgba(227,231,242,1) 100%)","width":"auto","fontSize":"14px","height":"40px"}' type="primary" @click="register('yuangong')" class="register">注册员工</el-button>
</div>
</el-form>
</div>
</div>
</template>
<script>
import menu from "@/utils/menu";
export default {
data() {
return {
baseUrl:this.$base.url,
loginType: 1,
rulesForm: {
username: "",
password: "",
role: "",
code: '',
},
menus: [],
roles: [],
tableName: "",
codes: [{
num: 1,
color: '#000',
rotate: '10deg',
size: '16px'
},{
num: 2,
color: '#000',
rotate: '10deg',
size: '16px'
},{
num: 3,
color: '#000',
rotate: '10deg',
size: '16px'
},{
num: 4,
color: '#000',
rotate: '10deg',
size: '16px'
}],
};
},
mounted() {
let menus = menu.list();
this.menus = menus;
for (let i = 0; i < this.menus.length; i++) {
if (this.menus[i].hasBackLogin=='是') {
this.roles.push(this.menus[i])
}
}
},
created() {
this.getRandCode()
},
destroyed() {
},
methods: {
//注册
register(tableName){
this.$storage.set("loginTable", tableName);
this.$storage.set("pageFlag", "register");
this.$router.push({path:'/register'})
},
// 登陆
login() {
if (!this.rulesForm.username) {
this.$message.error("请输入用户名");
return;
}
if (!this.rulesForm.password) {
this.$message.error("请输入密码");
return;
}
if(this.roles.length>1) {
if (!this.rulesForm.role) {
this.$message.error("请选择角色");
return;
}
let menus = this.menus;
for (let i = 0; i < menus.length; i++) {
if (menus[i].roleName == this.rulesForm.role) {
this.tableName = menus[i].tableName;
}
}
} else {
this.tableName = this.roles[0].tableName;
this.rulesForm.role = this.roles[0].roleName;
}
this.$http({
url: `${this.tableName}/login?username=${this.rulesForm.username}&password=${this.rulesForm.password}`,
method: "post"
}).then(({ data }) => {
if (data && data.code === 0) {
this.$storage.set("Token", data.token);
this.$storage.set("role", this.rulesForm.role);
this.$storage.set("sessionTable", this.tableName);
this.$storage.set("adminName", this.rulesForm.username);
this.$router.replace({ path: "/index/" });
} else {
this.$message.error(data.msg);
}
});
},
getRandCode(len = 4){
this.randomString(len)
},
randomString(len = 4) {
let chars = [
"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k",
"l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v",
"w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G",
"H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R",
"S", "T", "U", "V", "W", "X", "Y", "Z", "0", "1", "2",
"3", "4", "5", "6", "7", "8", "9"
]
let colors = ["0", "1", "2","3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"]
let sizes = ['14', '15', '16', '17', '18']
let output = [];
for (let i = 0; i < len; i++) {
// 随机验证码
let key = Math.floor(Math.random()*chars.length)
this.codes[i].num = chars[key]
// 随机验证码颜色
let code = '#'
for (let j = 0; j < 6; j++) {
let key = Math.floor(Math.random()*colors.length)
code += colors[key]
}
this.codes[i].color = code
// 随机验证码方向
let rotate = Math.floor(Math.random()*60)
let plus = Math.floor(Math.random()*2)
if(plus == 1) rotate = '-'+rotate
this.codes[i].rotate = 'rotate('+rotate+'deg)'
// 随机验证码字体大小
let size = Math.floor(Math.random()*sizes.length)
this.codes[i].size = sizes[size]+'px'
}
},
}
};
</script>
<style lang="scss" scoped>
.container {
min-height: 100vh;
position: relative;
background-repeat: no-repeat;
background-position: center center;
background-size: cover;
background: url(http://codegen.caihongy.cn/20230220/fe8de165616e4a958fb1e289132234fa.jpg) no-repeat center bottom / 100% auto;
.list-item /deep/ .el-input .el-input__inner {
border-radius: 4px;
padding: 0 10px;
color: #999;
background: linear-gradient(30deg, rgba(227,231,242,1) 0%, rgba(255,255,255,1) 20%, rgba(255,255,255,1) 80%, rgba(227,231,242,1) 100%);
width: 100%;
font-size: 14px;
border-color: #eee;
border-width: 3px;
border-style: ridge;
height: 44px;
}
.list-code /deep/ .el-input .el-input__inner {
border-radius: 4px;
padding: 0 20px;
outline: none;
margin: 0 20px 0 0;
color: #999;
background: linear-gradient(30deg, rgba(227,231,242,1) 0%, rgba(255,255,255,1) 20%, rgba(255,255,255,1) 80%, rgba(227,231,242,1) 100%);
width: calc(100% - 100px);
font-size: 14px;
border-color: #eee;
border-width: 3px;
border-style: ridge;
height: 44px;
}
.list-type /deep/ .el-radio__input .el-radio__inner {
background: rgba(53, 53, 53, 0);
border-color: #666;
}
.list-type /deep/ .el-radio__input.is-checked .el-radio__inner {
background: #0d3084;
border-color: #0d3084;
}
.list-type /deep/ .el-radio__label {
color: #666;
font-size: 14px;
}
.list-type /deep/ .el-radio__input.is-checked+.el-radio__label {
color: #0d3084;
font-size: 14px;
}
}
</style>
<template>
<div class="main-content">
<!-- 列表页 -->
<template v-if="showFlag">
<el-form class="center-form-pv" :style='{"padding":"0px","margin":"0 0 0 20px","background":"none","display":"flex","width":"100px","justifyContent":"space-between","order":"5"}' :inline="true" :model="searchForm">
<el-row :style='{"padding":"0","margin":"110px 0 0","flexWrap":"wrap","background":"none","display":"block","width":"100px","justifyContent":"center"}'>
</el-row>
</el-form>
<!-- <div> -->
<el-table class="tables"
:stripe='true'
:style='{"padding":"0","boxShadow":"0px 16px 12px -9px #bbb","borderColor":"#92a3cb","margin":"110px 0px 20px 0px","borderRadius":"0px","borderWidth":"4px 1px 2px 1px","background":"url(http://codegen.caihongy.cn/20230215/073b458fe9794c978b11ee977f3ace9c.gif)","flex":"1","width":"100%","borderStyle":"solid","order":"3"}'
v-if="isAuth('config','查看')"
:data="dataList"
v-loading="dataListLoading"
@selection-change="selectionChangeHandler">
<el-table-column :resizable='true' type="selection" align="center" width="50"></el-table-column>
<el-table-column :resizable='true' :sortable='true' label="索引" type="index" width="50" />
<el-table-column :resizable='true' :sortable='true'
prop="name"
label="名称">
<template slot-scope="scope">
{{scope.row.name}}
</template>
</el-table-column>
<el-table-column :resizable='true' :sortable='true' prop="value" width="200" label="值">
<template slot-scope="scope">
<div v-if="scope.row.value">
<img v-if="scope.row.value.substring(0,4)=='http'" :src="scope.row.value.split(',')[0]" width="100" height="100">
<img v-else :src="$base.url+scope.row.value.split(',')[0]" width="100" height="100">
</div>
<div v-else>无图片</div>
</template>
</el-table-column>
<el-table-column width="300" label="操作">
<template slot-scope="scope">
<el-button :style='{"cursor":"pointer","padding":"0 8px 0 20px","margin":"0 4px 10px","borderColor":"#d7e1eb","color":"#1b89ef","outline":"none","borderRadius":"0px","background":"url(http://codegen.caihongy.cn/20230220/b0c049479a6d42828661d85d56848f78.png) no-repeat 4px 8px,#ebf4fd","borderWidth":"1px","width":"auto","fontSize":"14px","borderStyle":"double","textShadow":"0 0px 0 rgba(0,0,0,.25)","height":"32px"}' v-if=" isAuth('config','查看')" type="success" size="mini" @click="addOrUpdateHandler(scope.row.id,'info')">详情</el-button>
<el-button :style='{"cursor":"pointer","padding":"0 8px 0 20px","margin":"0 4px 10px","borderColor":"#d7e0ea","color":"#466c95","outline":"none","borderRadius":"0px","background":"url(http://codegen.caihongy.cn/20230220/9220697c21454c7f81dd6cc302220480.png) no-repeat 4px 8px,#eaeef2","borderWidth":"1px","width":"auto","fontSize":"14px","borderStyle":"double","textShadow":"0 0px 0 rgba(0,0,0,.25)","height":"32px"}' v-if=" isAuth('config','修改')" type="primary" size="mini" @click="addOrUpdateHandler(scope.row.id)">修改</el-button>
</template>
</el-table-column>
</el-table>
<el-pagination
@size-change="sizeChangeHandle"
@current-change="currentChangeHandle"
:current-page="pageIndex"
background
:page-sizes="[10, 20, 30, 50]"
:page-size="pageSize"
:layout="layouts.join()"
:total="totalPage"
prev-text="<"
next-text=">"
:hide-on-single-page="true"
:style='{"border":"1px solid #ddd","padding":"6px 40px","margin":"20px 0 0","whiteSpace":"nowrap","color":"#eee","borderRadius":"10px","textAlign":"center","background":"#fff","width":"100%","fontWeight":"500","order":"5"}'
></el-pagination>
<!-- </div> -->
</template>
<!-- 添加/修改页面 将父组件的search方法传递给子组件-->
<add-or-update v-if="addOrUpdateFlag" :parent="this" ref="addOrUpdate"></add-or-update>
</div>
</template>
<script>
import axios from 'axios'
import AddOrUpdate from "./add-or-update";
export default {
data() {
return {
searchForm: {
key: ""
},
form:{},
dataList: [],
pageIndex: 1,
pageSize: 10,
totalPage: 0,
dataListLoading: false,
dataListSelections: [],
showFlag: true,
sfshVisiable: false,
shForm: {},
chartVisiable: false,
chartVisiable1: false,
chartVisiable2: false,
chartVisiable3: false,
chartVisiable4: false,
chartVisiable5: false,
addOrUpdateFlag:false,
layouts: ["total","prev","pager","next","sizes","jumper"],
};
},
created() {
this.init();
this.getDataList();
this.contentStyleChange()
},
mounted() {
},
filters: {
htmlfilter: function (val) {
return val.replace(/<[^>]*>/g).replace(/undefined/g,'');
}
},
components: {
AddOrUpdate,
},
methods: {
contentStyleChange() {
this.contentPageStyleChange()
},
// 分页
contentPageStyleChange(){
let arr = []
// if(this.contents.pageTotal) arr.push('total')
// if(this.contents.pageSizes) arr.push('sizes')
// if(this.contents.pagePrevNext){
// arr.push('prev')
// if(this.contents.pagePager) arr.push('pager')
// arr.push('next')
// }
// if(this.contents.pageJumper) arr.push('jumper')
// this.layouts = arr.join()
// this.contents.pageEachNum = 10
},
init () {
},
search() {
this.pageIndex = 1;
this.getDataList();
},
// 获取数据列表
getDataList() {
this.dataListLoading = true;
let params = {
page: this.pageIndex,
limit: this.pageSize,
sort: 'id',
order: 'desc',
}
params['name'] = '%picture%'
this.$http({
url: "config/page",
method: "get",
params: params
}).then(({ data }) => {
if (data && data.code === 0) {
this.dataList = data.data.list;
this.totalPage = data.data.total;
} else {
this.dataList = [];
this.totalPage = 0;
}
this.dataListLoading = false;
});
},
// 每页数
sizeChangeHandle(val) {
this.pageSize = val;
this.pageIndex = 1;
this.getDataList();
},
// 当前页
currentChangeHandle(val) {
this.pageIndex = val;
this.getDataList();
},
// 多选
selectionChangeHandler(val) {
this.dataListSelections = val;
},
// 添加/修改
addOrUpdateHandler(id,type) {
this.showFlag = false;
this.addOrUpdateFlag = true;
this.crossAddOrUpdateFlag = false;
if(type!='info'){
type = 'else';
}
this.$nextTick(() => {
this.$refs.addOrUpdate.init(id,type);
});
},
// 下载
download(file){
window.open(`${file}`)
},
// 删除
deleteHandler(id) {
var ids = id
? [Number(id)]
: this.dataListSelections.map(item => {
return Number(item.id);
});
this.$confirm(`确定进行[${id ? "删除" : "批量删除"}]操作?`, "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(() => {
this.$http({
url: "config/delete",
method: "post",
data: ids
}).then(({ data }) => {
if (data && data.code === 0) {
this.$message({
message: "操作成功",
type: "success",
duration: 1500,
onClose: () => {
this.search();
}
});
} else {
this.$message.error(data.msg);
}
});
});
},
}
};
</script>
<style lang="scss" scoped>
.center-form-pv {
.el-date-editor.el-input {
width: auto;
}
}
.el-input {
width: auto;
}
// form
.center-form-pv .el-input /deep/ .el-input__inner {
border-radius: 0px;
padding: 0 8px;
box-shadow: 0 0 0px rgba(64, 158, 255, .5);
outline: none;
color: #666;
background: linear-gradient(30deg, rgba(227,231,242,1) 0%, rgba(255,255,255,1) 20%, rgba(255,255,255,1) 80%, rgba(227,231,242,1) 100%);
width: auto;
font-size: 14px;
border-color: #eee;
border-width: 3px;
border-style: ridge;
height: 40px;
}
.center-form-pv .el-select /deep/ .el-input__inner {
border-radius: 0px;
padding: 0 8px;
box-shadow: 0 0 0px rgba(64, 158, 255, .5);
outline: none;
color: #666;
background: linear-gradient(30deg, rgba(227,231,242,1) 0%, rgba(255,255,255,1) 20%, rgba(255,255,255,1) 80%, rgba(227,231,242,1) 100%);
width: auto;
font-size: 14px;
border-color: #eee;
border-width: 3px;
border-style: ridge;
height: 40px;
}
.center-form-pv .el-date-editor /deep/ .el-input__inner {
border-radius: 0px;
padding: 0 4px 0 24px;
box-shadow: 0 0 0px rgba(64, 158, 255, .5);
outline: none;
color: #666;
background: linear-gradient(30deg, rgba(227,231,242,1) 0%, rgba(255,255,255,1) 20%, rgba(255,255,255,1) 80%, rgba(227,231,242,1) 100%);
width: auto;
font-size: 14px;
border-color: #eee;
border-width: 3px;
border-style: ridge;
height: 40px;
}
// table
.el-table /deep/ .el-table__header-wrapper thead {
color: #812d58;
font-weight: 500;
width: 100%;
}
.el-table /deep/ .el-table__header-wrapper thead tr {
background: none;
}
.el-table /deep/ .el-table__header-wrapper thead tr th {
padding: 6px 10px;
color: #333;
background: rgba(145,145,145,.1);
border-color: #92a3cb;
border-width: 0px 1px 0px 0px;
border-style: solid;
text-align: left;
}
.el-table /deep/ .el-table__header-wrapper thead tr th .cell {
padding: 0 10px;
word-wrap: normal;
word-break: break-all;
white-space: normal;
font-weight: bold;
display: inline-block;
vertical-align: middle;
width: 100%;
line-height: 24px;
position: relative;
text-overflow: ellipsis;
}
.el-table /deep/ .el-table__body-wrapper tbody {
border: 0;
width: 100%;
}
.el-table /deep/ .el-table__body-wrapper tbody tr {
border: 0;
background: none;
}
.el-table /deep/ .el-table__body-wrapper tbody tr td {
padding: 6px 4px;
color: #666;
background: rgba(255,255,255,.5);
border-color: #92a3cb;
border-width: 0 1px 0px 0;
border-style: solid;
text-align: left;
}
.el-table /deep/ .el-table__body-wrapper tbody tr.el-table__row--striped td {
background: rgba(13,48,132,.0);
}
.el-table /deep/ .el-table__body-wrapper tbody tr:hover td {
padding: 6px 4px;
color: #666;
background: rgba(145,145,145,.1);
border-color: #92a3cb;
border-width: 0 1px 0px 0;
border-style: solid;
text-align: left;
}
.el-table /deep/ .el-table__body-wrapper tbody tr td {
padding: 6px 4px;
color: #666;
background: rgba(255,255,255,.5);
border-color: #92a3cb;
border-width: 0 1px 0px 0;
border-style: solid;
text-align: left;
}
.el-table /deep/ .el-table__body-wrapper tbody tr td .cell {
padding: 0 10px;
overflow: hidden;
word-break: break-all;
white-space: normal;
line-height: 24px;
text-overflow: ellipsis;
}
// pagination
.main-content .el-pagination /deep/ .el-pagination__total {
margin: 0 10px 0 0;
color: #333;
font-weight: 400;
display: inline-block;
vertical-align: top;
font-size: 13px;
line-height: 28px;
height: 28px;
}
.main-content .el-pagination /deep/ .btn-prev {
border: 1px solid #efefef;
border-radius: 2px;
padding: 0;
margin: 0 5px;
color: #333;
background: #fff;
display: inline-block;
vertical-align: top;
font-size: 13px;
line-height: 28px;
min-width: 35px;
height: 28px;
}
.main-content .el-pagination /deep/ .btn-next {
border: 1px solid #efefef;
border-radius: 2px;
padding: 0;
margin: 0 5px;
color: #333;
background: #fff;
display: inline-block;
vertical-align: top;
font-size: 13px;
line-height: 28px;
min-width: 35px;
height: 28px;
}
.main-content .el-pagination /deep/ .btn-prev:disabled {
border: 1px solid #efefef;
cursor: not-allowed;
border-radius: 2px;
padding: 0;
margin: 0 5px;
color: #333;
background: #fff;
display: inline-block;
vertical-align: top;
font-size: 13px;
line-height: 28px;
height: 28px;
}
.main-content .el-pagination /deep/ .btn-next:disabled {
border: 1px solid #efefef;
cursor: not-allowed;
border-radius: 2px;
padding: 0;
margin: 0 5px;
color: #333;
background: #fff;
display: inline-block;
vertical-align: top;
font-size: 13px;
line-height: 28px;
height: 28px;
}
.main-content .el-pagination /deep/ .el-pager {
padding: 0;
margin: 0;
display: inline-block;
vertical-align: top;
}
.main-content .el-pagination /deep/ .el-pager .number {
cursor: pointer;
border: 1px solid #efefef;
padding: 0 4px;
margin: 0 5px;
color: #333;
display: inline-block;
vertical-align: top;
font-size: 13px;
line-height: 28px;
border-radius: 2px;
background: #fff;
text-align: center;
min-width: 30px;
height: 28px;
}
.main-content .el-pagination /deep/ .el-pager .number:hover {
cursor: pointer;
padding: 0 4px;
margin: 0 5px;
color: #fff;
display: inline-block;
vertical-align: top;
font-size: 13px;
border-color: #8d6ec8;
line-height: 28px;
border-radius: 2px;
background: #8d6ec8;
text-align: center;
min-width: 30px;
height: 28px;
}
.main-content .el-pagination /deep/ .el-pager .number.active {
cursor: default;
padding: 0 4px;
margin: 0 5px;
color: #fff;
display: inline-block;
vertical-align: top;
font-size: 13px;
border-color: #8d6ec8;
line-height: 28px;
border-radius: 2px;
background: #8d6ec8;
text-align: center;
min-width: 30px;
height: 28px;
}
.main-content .el-pagination /deep/ .el-pagination__sizes {
display: inline-block;
vertical-align: top;
font-size: 13px;
line-height: 28px;
height: 28px;
}
.main-content .el-pagination /deep/ .el-pagination__sizes .el-input {
margin: 0 5px;
width: 100px;
position: relative;
}
.main-content .el-pagination /deep/ .el-pagination__sizes .el-input .el-input__inner {
border: 1px solid #efefef;
cursor: pointer;
padding: 0 25px 0 8px;
color: #333;
display: inline-block;
font-size: 13px;
line-height: 28px;
border-radius: 3px;
outline: 0;
background: #fff;
width: 100%;
text-align: center;
height: 28px;
}
.main-content .el-pagination /deep/ .el-pagination__sizes .el-input span.el-input__suffix {
top: 0;
position: absolute;
right: 0;
height: 100%;
}
.main-content .el-pagination /deep/ .el-pagination__sizes .el-input .el-input__suffix .el-select__caret {
cursor: pointer;
color: #333;
width: 25px;
font-size: 14px;
line-height: 28px;
text-align: center;
}
.main-content .el-pagination /deep/ .el-pagination__jump {
margin: 0 0 0 24px;
color: #333;
display: inline-block;
vertical-align: top;
font-size: 13px;
line-height: 28px;
height: 28px;
}
.main-content .el-pagination /deep/ .el-pagination__jump .el-input {
border-radius: 3px;
padding: 0 2px;
margin: 0 2px;
display: inline-block;
width: 50px;
font-size: 14px;
line-height: 18px;
position: relative;
text-align: center;
height: 28px;
}
.main-content .el-pagination /deep/ .el-pagination__jump .el-input .el-input__inner {
border: 1px solid #efefef;
cursor: pointer;
padding: 0 3px;
color: #333;
display: inline-block;
font-size: 14px;
line-height: 28px;
border-radius: 3px;
outline: 0;
background: #fff;
width: 100%;
text-align: center;
height: 28px;
}
</style>