This commit is contained in:
parent
ffd005bb02
commit
2660d74025
|
|
@ -139,14 +139,6 @@
|
|||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"path": "/other/lala",
|
||||
"name": "404",
|
||||
"component": "lala",
|
||||
"meta": {
|
||||
"title": "模拟404"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
@ -158,12 +150,12 @@
|
|||
"icon": "el-icon-setting"
|
||||
},
|
||||
"children": [{
|
||||
"path": "/setting/1",
|
||||
"name": "setting1",
|
||||
"path": "/setting/system",
|
||||
"name": "system",
|
||||
"meta": {
|
||||
"title": "系统设置"
|
||||
},
|
||||
"component": "lala"
|
||||
"component": "setting/system"
|
||||
}]
|
||||
}
|
||||
],
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@
|
|||
}
|
||||
},
|
||||
mounted(){
|
||||
this.filter = this.defaultFilter;
|
||||
this.filter = this.defaultFilter || [];
|
||||
this.scrollInit()
|
||||
},
|
||||
methods: {
|
||||
|
|
@ -178,13 +178,16 @@
|
|||
this.cancel();
|
||||
this.change();
|
||||
},
|
||||
change(){
|
||||
getFilter(){
|
||||
var _filter = this.filter;
|
||||
var formatData = {};
|
||||
_filter.map(item => {
|
||||
formatData.[item.key]=item.value
|
||||
});
|
||||
this.$emit('change', formatData)
|
||||
return formatData;
|
||||
},
|
||||
change(){
|
||||
this.$emit('change', this.getFilter())
|
||||
},
|
||||
scrollInit(){
|
||||
const scrollDiv = this.$refs.scFilterBarScrollbar;
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
<div class="scTable-table">
|
||||
<el-table :data="tableData" :row-key="rowKey" ref="scTable" :height="tableHeight" stripe @selection-change="selectionChange">
|
||||
<slot></slot>
|
||||
<el-table-column min-width="1"></el-table-column>
|
||||
<template #empty>
|
||||
<el-empty description="暂无数据" :image-size="100"></el-empty>
|
||||
</template>
|
||||
|
|
@ -15,12 +16,20 @@
|
|||
<el-button @click="setting" icon="el-icon-setting" circle style="margin-left:15px"></el-button>
|
||||
</div>
|
||||
</div>
|
||||
<el-drawer title="表格设置" v-model="tableSetting" :size="400" direction="btt" custom-class="scTable-setting" append-to-body destroy-on-close>
|
||||
待开发
|
||||
</el-drawer>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import draggable from 'vuedraggable'
|
||||
|
||||
export default {
|
||||
name: 'scTable',
|
||||
components: {
|
||||
draggable
|
||||
},
|
||||
props: {
|
||||
apiObj: { type: Object, default: () => {} },
|
||||
data: { type: Object, default: () => {} },
|
||||
|
|
@ -40,7 +49,9 @@
|
|||
total: 0,
|
||||
currentPage: 1,
|
||||
loading: false,
|
||||
tableHeight:'100%'
|
||||
tableHeight:'100%',
|
||||
tableSetting: false,
|
||||
tableParams: {}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
|
|
@ -52,9 +63,12 @@
|
|||
if(this.apiObj){
|
||||
this.getData();
|
||||
}
|
||||
window.addEventListener("resize", () => {
|
||||
this.upTableHeight()
|
||||
})
|
||||
},
|
||||
activated(){
|
||||
window.addEventListener("resize", this.upTableHeight, true)
|
||||
},
|
||||
deactivated(){
|
||||
window.removeEventListener("resize", this.upTableHeight, true)
|
||||
},
|
||||
methods: {
|
||||
//更新表格高度
|
||||
|
|
@ -62,27 +76,37 @@
|
|||
this.tableHeight = (this.$refs.scTableMain.offsetHeight - 50 ) + "px"
|
||||
},
|
||||
//获取数据
|
||||
async getData(page=1){
|
||||
async getData(){
|
||||
this.loading = true;
|
||||
var reqData = {
|
||||
page: page
|
||||
page: this.currentPage
|
||||
}
|
||||
Object.assign(reqData, this.tableParams)
|
||||
var res = await this.apiObj.get(reqData);
|
||||
this.tableData = res.data;
|
||||
this.total = res.count;
|
||||
this.loading = false;
|
||||
},
|
||||
//分页点击
|
||||
reload(page){
|
||||
this.getData(page);
|
||||
reload(){
|
||||
this.getData();
|
||||
},
|
||||
//刷新数据
|
||||
refresh(){
|
||||
this.getData(this.currentPage);
|
||||
this.getData();
|
||||
},
|
||||
//更新数据
|
||||
upData(params){
|
||||
this.currentPage = 1;
|
||||
this.tableParams = params;
|
||||
this.getData()
|
||||
},
|
||||
//表格设置
|
||||
setting(){
|
||||
|
||||
this.tableSetting = true;
|
||||
},
|
||||
userColumnClose(index){
|
||||
this.userColumn.splice(index, 1);
|
||||
},
|
||||
//转发原装方法&事件
|
||||
selectionChange(selection){
|
||||
|
|
@ -96,4 +120,13 @@
|
|||
.scTable {display:flex;flex-direction:column;height:100%;}
|
||||
.scTable-table {flex:1;}
|
||||
.scTable-page {height:50px;display: flex;align-items: center;justify-content: space-between;padding:0 15px;}
|
||||
|
||||
.setting-column {display:flex;padding:0 20px;}
|
||||
.setting-column > div {border: 1px solid #eee;height: 250px;}
|
||||
.setting-column .all {width: 300px;margin-right:20px;}
|
||||
.setting-column .all span {display: inline-block;width: 100%;height:30px;line-height: 30px;padding:0 15px;}
|
||||
.setting-column .all span:hover {background: #ecf5ff;}
|
||||
.setting-column .user {flex:1;padding:20px;}
|
||||
.setting-column .user>div {width: 100%;height: 100%;}
|
||||
.setting-column .user .el-tag {margin:0 8px 8px 0;}
|
||||
</style>
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
<div class="setting panel-item">
|
||||
<i class="el-icon-setting"></i>
|
||||
</div>
|
||||
<el-popover placement="bottom" :width="360" trigger="click">
|
||||
<el-popover placement="bottom" :width="360" trigger="hover">
|
||||
<template #reference>
|
||||
<div class="msg panel-item">
|
||||
<el-badge :hidden="msgList.length==0" :value="msgList.length" class="badge" type="danger">
|
||||
|
|
@ -46,7 +46,7 @@
|
|||
</div>
|
||||
</div>
|
||||
</el-popover>
|
||||
<el-dropdown trigger="click" @command="handleUser">
|
||||
<el-dropdown trigger="hover" @command="handleUser">
|
||||
<div class="user panel-item">
|
||||
<el-avatar :size="30">{{ userNameF }}</el-avatar>
|
||||
<label>{{ userName }}<i class="el-icon-arrow-down el-icon--right"></i></label>
|
||||
|
|
|
|||
|
|
@ -68,7 +68,6 @@ const routes = [{
|
|||
//系统特殊路由
|
||||
const routes_404 = {
|
||||
path: "/:pathMatch(.*)*",
|
||||
name: "404",
|
||||
hidden: true,
|
||||
component: () => import(/* webpackChunkName: "404" */ '@/views/other/404'),
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,70 @@
|
|||
/* 全局 */
|
||||
#app, body, html {width: 100%;height: 100%;background-color: #f6f8f9;font-size: 12px;}
|
||||
a {color: #333;text-decoration: none;}
|
||||
a:hover, a:focus {color: #000;text-decoration: none;}
|
||||
a:link {text-decoration: none;}
|
||||
a:-webkit-any-link {text-decoration: none;}
|
||||
a,button,input,textarea{-webkit-tap-highlight-color:rgba(0,0,0,0);box-sizing: border-box;outline:none !important; -webkit-appearance: none;}
|
||||
* {margin: 0;padding: 0;box-sizing: border-box;outline: none;}
|
||||
|
||||
/* 全局滚动条样式 */
|
||||
.scrollable {-webkit-overflow-scrolling: touch;}
|
||||
::-webkit-scrollbar {width: 5px;height: 5px;}
|
||||
::-webkit-scrollbar-thumb {background-color: rgba(50, 50, 50, 0.3);}
|
||||
::-webkit-scrollbar-thumb:hover {background-color: rgba(50, 50, 50, 0.6);}
|
||||
::-webkit-scrollbar-track {background-color: rgba(50, 50, 50, 0.1);}
|
||||
::-webkit-scrollbar-track:hover {background-color: rgba(50, 50, 50, 0.2);}
|
||||
|
||||
.aminui-side-split {position: absolute;top:0px;left:0px;bottom:0px;width:65px;background: #333;z-index: 5;}
|
||||
.adminui-side-split-scroll {position: absolute;top:0px;left:0px;bottom:0px;right:0px;overflow: auto;overflow-x:hidden;}
|
||||
.aminui-side-split li {cursor: pointer;width: 65px;height: 65px;color: #fff;text-align: center;display: flex;flex-direction: column;align-items: center;justify-content: center;}
|
||||
.aminui-side-split li i {font-size: 16px;}
|
||||
.aminui-side-split li p {margin-top:5px;}
|
||||
.aminui-side-split li:hover {background: #444;}
|
||||
.aminui-side-split li.active {background: #09f;}
|
||||
|
||||
.adminui-side-split-scroll::-webkit-scrollbar-thumb {background-color: rgba(255, 255, 255, 0.4);border-radius:5px;}
|
||||
.adminui-side-split-scroll::-webkit-scrollbar-thumb:hover {background-color: rgba(255, 255, 255, 0.5);}
|
||||
.adminui-side-split-scroll::-webkit-scrollbar-track {background-color: rgba(255, 255, 255, 0);}
|
||||
.adminui-side-split-scroll::-webkit-scrollbar-track:hover {background-color: rgba(255, 255, 255, 0);}
|
||||
|
||||
.aminui-side {position: absolute;z-index: 5;top:0px;left:65px;bottom:0px;width:210px;background: #fff;box-shadow: 2px 0 8px 0 rgba(29,35,41,.05);border-right: 1px solid #e6e6e6;}
|
||||
.adminui-side-top {border-bottom: 1px solid #ebeef5;height:50px;line-height: 50px;}
|
||||
.adminui-side-top h2 {padding:0 20px;font-size: 17px;color: #3c4a54;}
|
||||
.adminui-side-scroll {position: absolute;top:50px;left:0px;bottom:0px;right:0px;overflow: auto;overflow-x:hidden;}
|
||||
|
||||
.aminui-body {position: absolute;z-index: 4;top:0px;left:275px;bottom:0px;right:0px;}
|
||||
|
||||
.adminui-header {height: 50px;border-bottom: 1px solid #ebeef5;background: #fff;box-shadow: 0 1px 4px rgba(0,21,41,.08);display: flex;justify-content:space-between;}
|
||||
.adminui-header .left-panel {display: flex;align-items: center;padding-left:20px;}
|
||||
.adminui-header .right-panel {display: flex;align-items: center;}
|
||||
.right-panel-search {display: flex;align-items: center;}
|
||||
.right-panel-search > * + * {margin-left:10px;}
|
||||
.adminui-header .panel-item {height:50px;line-height: 50px;padding:0 10px;cursor: pointer;}
|
||||
.adminui-header .panel-item i {font-size: 16px;}
|
||||
.adminui-header .panel-item .badge .el-badge__content {top:15px}
|
||||
.adminui-header .panel-item:hover {background: #eee;}
|
||||
.adminui-header .el-breadcrumb .el-breadcrumb__inner i {margin-right:5px;}
|
||||
.adminui-header .user {display: flex;align-items: center;}
|
||||
.adminui-header .user label {display: inline-block;margin-left:5px;font-size: 12px;cursor:pointer;}
|
||||
|
||||
.msgList header {height:35px;line-height: 35px;display: flex;justify-content: space-between;}
|
||||
.msgList footer {height:35px;line-height: 35px;text-align:center;}
|
||||
.msgList ul {height:180px;border-top: 1px solid #eee;border-bottom: 1px solid #eee;}
|
||||
.msgList ul li a {display: inline-block;width: 100%;height: 100%;padding:10px;border: 1px solid transparent;cursor:pointer;}
|
||||
.msgList ul li h2 {font-size: 14px;font-weight: normal;line-height: 1.8;}
|
||||
.msgList ul li h2 i {margin-right: 10px;}
|
||||
.msgList ul li p {font-size: 12px;color: #999;line-height: 1.8;}
|
||||
.msgList ul li a:hover {background: #ecf5ff;border-top: 1px solid #d9ecff;border-bottom: 1px solid #d9ecff;}
|
||||
.msgList ul li a:hover h2 {color: #409EFF;}
|
||||
|
||||
.adminui-tags {height:35px;background: #fff;border-bottom: 1px solid #e6e6e6;box-shadow: 0 1px 4px rgba(0,21,41,.08);}
|
||||
.adminui-tags li {cursor: pointer;display: inline-block;float: left;height:34px;line-height: 34px;}
|
||||
.adminui-tags li a {display: inline-block;padding:0 10px;width:100%;height:100%;color: #999;text-decoration:none;}
|
||||
.adminui-tags li i {margin-left:10px;padding:3px;}
|
||||
.adminui-tags li i:hover {background: #ff5722;color: #fff;}
|
||||
.adminui-tags li:hover {background: #ecf5ff;}
|
||||
.adminui-tags li.active {background: #09f;}
|
||||
.adminui-tags li.active a {color: #fff;}
|
||||
|
||||
.adminui-main {position: absolute;top:85px;left:0px;right:0px;bottom:0px;overflow: auto;background-color: #f6f8f9;}
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
/* 覆盖element-plus样式 */
|
||||
.el-menu {border: none!important;}
|
||||
.el-menu-item.is-active {background: #ecf5ff;}
|
||||
.el-menu .el-menu-item a {color: inherit;text-decoration: none;display: block;width:100%;height:100%;position: absolute;top:0px;left:0px;}
|
||||
.el-form-item-msg {font-size: 12px;color: #999;}
|
||||
.el-container {height: 100%;}
|
||||
.el-aside {border-right: 1px solid #e6e6e6;background: #fff;padding-top:20px;}
|
||||
.el-header {background: #fff;border-bottom: 1px solid #e6e6e6;padding:13px 15px;display: flex;justify-content: space-between;align-items: center;}
|
||||
.el-header .left-panel {display: flex;align-items: center;}
|
||||
.el-header .right-panel {display: flex;align-items: center;}
|
||||
.el-header .right-panel > * + * {margin-left:10px;}
|
||||
.el-footer {background: #fff;border-top: 1px solid #e6e6e6;padding:13px 15px;}
|
||||
.el-main {padding:15px;}
|
||||
.el-main.nopadding {padding:0;background: #fff;}
|
||||
.el-drawer__body {overflow: auto;}
|
||||
.el-popconfirm__main {margin: 14px 0;}
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
/* USERCENTER */
|
||||
.user-info {padding:20px 40px;}
|
||||
.user-info-top {text-align: center;}
|
||||
.user-info-top h2 {margin-top:10px;font-size: 24px;}
|
||||
.user-info-top p {color: #999;margin-top:5px;}
|
||||
.user-info-top button {margin-top:10px;}
|
||||
.user-info-main {padding:20px 0;}
|
||||
.user-info-main li {list-style-type:none;line-height: 2;font-size: 14px;}
|
||||
.user-info-main li i {margin-right: 10px;}
|
||||
.user-info-bottom {border-top: 1px solid #e6e6e6;}
|
||||
.user-info-bottom h2 {font-size: 14px;margin:15px 0;}
|
||||
|
|
@ -1,101 +1,3 @@
|
|||
#app, body, html {width: 100%;height: 100%;background-color: #f6f8f9;font-size: 12px;}
|
||||
a {color: #333;text-decoration: none;}
|
||||
a:hover, a:focus {color: #000;text-decoration: none;}
|
||||
a:link {text-decoration: none;}
|
||||
a:-webkit-any-link {text-decoration: none;}
|
||||
a,button,input,textarea{-webkit-tap-highlight-color:rgba(0,0,0,0);box-sizing: border-box;outline:none !important; -webkit-appearance: none;}
|
||||
* {margin: 0;padding: 0;box-sizing: border-box;outline: none;}
|
||||
|
||||
/* 全局滚动条样式 */
|
||||
.scrollable {-webkit-overflow-scrolling: touch;}
|
||||
::-webkit-scrollbar {width: 5px;height: 5px;}
|
||||
::-webkit-scrollbar-thumb {background-color: rgba(50, 50, 50, 0.3);}
|
||||
::-webkit-scrollbar-thumb:hover {background-color: rgba(50, 50, 50, 0.6);}
|
||||
::-webkit-scrollbar-track {background-color: rgba(50, 50, 50, 0.1);}
|
||||
::-webkit-scrollbar-track:hover {background-color: rgba(50, 50, 50, 0.2);}
|
||||
|
||||
.aminui-side-split {position: absolute;top:0px;left:0px;bottom:0px;width:65px;background: #333;z-index: 5;}
|
||||
.adminui-side-split-scroll {position: absolute;top:0px;left:0px;bottom:0px;right:0px;overflow: auto;overflow-x:hidden;}
|
||||
.aminui-side-split li {cursor: pointer;width: 65px;height: 65px;color: #fff;text-align: center;display: flex;flex-direction: column;align-items: center;justify-content: center;}
|
||||
.aminui-side-split li i {font-size: 16px;}
|
||||
.aminui-side-split li p {margin-top:5px;}
|
||||
.aminui-side-split li:hover {background: #444;}
|
||||
.aminui-side-split li.active {background: #09f;}
|
||||
|
||||
.adminui-side-split-scroll::-webkit-scrollbar-thumb {background-color: rgba(255, 255, 255, 0.4);border-radius:5px;}
|
||||
.adminui-side-split-scroll::-webkit-scrollbar-thumb:hover {background-color: rgba(255, 255, 255, 0.5);}
|
||||
.adminui-side-split-scroll::-webkit-scrollbar-track {background-color: rgba(255, 255, 255, 0);}
|
||||
.adminui-side-split-scroll::-webkit-scrollbar-track:hover {background-color: rgba(255, 255, 255, 0);}
|
||||
|
||||
|
||||
.aminui-side {position: absolute;z-index: 5;top:0px;left:65px;bottom:0px;width:210px;background: #fff;box-shadow: 2px 0 8px 0 rgba(29,35,41,.05);border-right: 1px solid #e6e6e6;}
|
||||
.adminui-side-top {border-bottom: 1px solid #ebeef5;height:50px;line-height: 50px;}
|
||||
.adminui-side-top h2 {padding:0 20px;font-size: 17px;color: #3c4a54;}
|
||||
.adminui-side-scroll {position: absolute;top:50px;left:0px;bottom:0px;right:0px;overflow: auto;overflow-x:hidden;}
|
||||
|
||||
|
||||
.aminui-body {position: absolute;z-index: 4;top:0px;left:275px;bottom:0px;right:0px;}
|
||||
|
||||
.adminui-header {height: 50px;border-bottom: 1px solid #ebeef5;background: #fff;box-shadow: 0 1px 4px rgba(0,21,41,.08);display: flex;justify-content:space-between;}
|
||||
|
||||
.adminui-header .left-panel {display: flex;align-items: center;padding-left:20px;}
|
||||
.adminui-header .right-panel {display: flex;align-items: center;}
|
||||
|
||||
.adminui-header .panel-item {height:50px;line-height: 50px;padding:0 10px;cursor: pointer;}
|
||||
.adminui-header .panel-item i {font-size: 16px;}
|
||||
.adminui-header .panel-item .badge .el-badge__content {top:15px}
|
||||
.adminui-header .panel-item:hover {background: #eee;}
|
||||
|
||||
.adminui-header .el-breadcrumb .el-breadcrumb__inner i {margin-right:5px;}
|
||||
.adminui-header .user {display: flex;align-items: center;}
|
||||
.adminui-header .user label {display: inline-block;margin-left:5px;font-size: 12px;cursor:pointer;}
|
||||
|
||||
.msgList header {height:35px;line-height: 35px;display: flex;justify-content: space-between;}
|
||||
.msgList footer {height:35px;line-height: 35px;text-align:center;}
|
||||
.msgList ul {height:180px;border-top: 1px solid #eee;border-bottom: 1px solid #eee;padding:10px 0;}
|
||||
.msgList ul li a {display: inline-block;width: 100%;height: 100%;padding:10px;border-radius: 4px;border: 1px solid transparent;cursor:pointer;}
|
||||
.msgList ul li h2 {font-size: 14px;font-weight: normal;line-height: 1.8;}
|
||||
.msgList ul li h2 i {margin-right: 10px;}
|
||||
.msgList ul li p {font-size: 12px;color: #999;line-height: 1.8;}
|
||||
.msgList ul li a:hover {background: #ecf5ff;border: 1px solid #d9ecff;}
|
||||
.msgList ul li a:hover h2 {color: #409EFF;}
|
||||
|
||||
.adminui-tags {height:35px;background: #fff;border-bottom: 1px solid #e6e6e6;box-shadow: 0 1px 4px rgba(0,21,41,.08);}
|
||||
.adminui-tags li {cursor: pointer;display: inline-block;float: left;height:34px;line-height: 34px;}
|
||||
.adminui-tags li a {display: inline-block;padding:0 10px;width:100%;height:100%;color: #999;text-decoration:none;}
|
||||
.adminui-tags li i {margin-left:10px;padding:3px;}
|
||||
.adminui-tags li i:hover {background: #ff5722;color: #fff;}
|
||||
.adminui-tags li:hover {background: #ecf5ff;}
|
||||
.adminui-tags li.active {background: #09f;}
|
||||
.adminui-tags li.active a {color: #fff;}
|
||||
|
||||
|
||||
.adminui-main {position: absolute;top:85px;left:0px;right:0px;bottom:0px;overflow: auto;background-color: #f6f8f9;}
|
||||
|
||||
|
||||
/* USERCENTER */
|
||||
.user-info {padding:20px 40px;}
|
||||
.user-info-top {text-align: center;}
|
||||
.user-info-top h2 {margin-top:10px;font-size: 24px;}
|
||||
.user-info-top p {color: #999;margin-top:5px;}
|
||||
.user-info-top button {margin-top:10px;}
|
||||
.user-info-main {padding:20px 0;}
|
||||
.user-info-main li {list-style-type:none;line-height: 2;font-size: 14px;}
|
||||
.user-info-main li i {margin-right: 10px;}
|
||||
.user-info-bottom {border-top: 1px solid #e6e6e6;}
|
||||
.user-info-bottom h2 {font-size: 14px;margin:15px 0;}
|
||||
|
||||
.el-menu {border: none!important;}
|
||||
.el-menu-item.is-active {background: #ecf5ff;}
|
||||
.el-menu .el-menu-item a {color: inherit;text-decoration: none;display: block;width:100%;height:100%;position: absolute;top:0px;left:0px;}
|
||||
|
||||
.el-form-item-msg {font-size: 12px;color: #999;}
|
||||
|
||||
.el-container {height: 100%;}
|
||||
.el-aside {border-right: 1px solid #e6e6e6;background: #fff;padding-top:20px;}
|
||||
.el-header {background: #fff;border-bottom: 1px solid #e6e6e6;padding:13px 15px;display: flex;justify-content: space-between;}
|
||||
.el-footer {background: #fff;border-top: 1px solid #e6e6e6;padding:13px 15px;}
|
||||
.el-main {padding:15px;}
|
||||
.el-main.nopadding {padding:0;background: #fff;}
|
||||
.el-drawer__body {overflow: auto;}
|
||||
.el-popconfirm__main {margin: 14px 0;}
|
||||
@import 'app.less';
|
||||
@import 'fix.less';
|
||||
@import 'pages.less';
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
const T = {
|
||||
"color": [
|
||||
"#409EFF",
|
||||
"#67C23A",
|
||||
"#E6A23C",
|
||||
"#626c91",
|
||||
"#F56C6C",
|
||||
"#909399"
|
||||
]
|
||||
}
|
||||
|
||||
export default T
|
||||
|
|
@ -45,6 +45,28 @@ const tool = {
|
|||
element.webkitRequestFullscreen();
|
||||
}
|
||||
}
|
||||
},
|
||||
/* 日期格式化 */
|
||||
dateFormat(date, fmt='yyyy-MM-dd'){
|
||||
date = new Date(date)
|
||||
var o = {
|
||||
"M+" : date.getMonth()+1, //月份
|
||||
"d+" : date.getDate(), //日
|
||||
"h+" : date.getHours(), //小时
|
||||
"m+" : date.getMinutes(), //分
|
||||
"s+" : date.getSeconds(), //秒
|
||||
"q+" : Math.floor((date.getMonth()+3)/3), //季度
|
||||
"S" : date.getMilliseconds() //毫秒
|
||||
};
|
||||
if(/(y+)/.test(fmt)) {
|
||||
fmt=fmt.replace(RegExp.$1, (date.getFullYear()+"").substr(4 - RegExp.$1.length));
|
||||
}
|
||||
for(var k in o) {
|
||||
if(new RegExp("("+ k +")").test(fmt)){
|
||||
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
|
||||
}
|
||||
}
|
||||
return fmt;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -48,8 +48,6 @@
|
|||
.login_body {width: inherit;display: flex;box-shadow: 0px 20px 80px 0px rgba(0,0,0,0.3);}
|
||||
.login-sidebox {width: 50%;background:url(/images/login-left.png) 0 0 no-repeat #607089;padding: 60px;color: #fff;position: relative;}
|
||||
|
||||
.login-sidebox
|
||||
|
||||
.login-logo {font-size: 35px;}
|
||||
.login-logo i {margin-right: 10px;}
|
||||
|
||||
|
|
@ -63,6 +61,10 @@
|
|||
.login-form .el-divider {margin-top:40px;}
|
||||
|
||||
.login-footer {text-align: center;color: #999;margin-top: 50px;}
|
||||
|
||||
@media (max-height: 650px){
|
||||
.login_container {position: static;transform: none;margin:50px auto;}
|
||||
}
|
||||
</style>
|
||||
|
||||
<script>
|
||||
|
|
|
|||
|
|
@ -5,6 +5,9 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,26 @@
|
|||
<template>
|
||||
<el-main>
|
||||
<el-card shadow="never">
|
||||
<el-tabs tab-position="left">
|
||||
<el-tab-pane label="用户管理">用户管理</el-tab-pane>
|
||||
<el-tab-pane label="配置管理">配置管理</el-tab-pane>
|
||||
<el-tab-pane label="角色管理">角色管理</el-tab-pane>
|
||||
<el-tab-pane label="定时任务补偿">定时任务补偿</el-tab-pane>
|
||||
</el-tabs>
|
||||
</el-card>
|
||||
</el-main>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'system',
|
||||
data() {
|
||||
return {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
</style>
|
||||
|
|
@ -39,16 +39,26 @@
|
|||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="路由组件" prop="component" width="100"></el-table-column>
|
||||
<el-table-column label="是否隐藏" prop="meta.hidden">
|
||||
<el-table-column label="是否隐藏" prop="meta.hidden" width="100">
|
||||
<template #default="scope">
|
||||
{{ scope.row.meta.hidden?"是":"否" }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="操作" fixed="right" width="100">
|
||||
<el-table-column label="操作" fixed="right" align="right" width="140">
|
||||
<template #default="scope">
|
||||
<el-button @click="table_show(scope.row)" type="text" size="small">查看</el-button>
|
||||
<el-button @click="table_edit(scope.row)" type="text" size="small">编辑</el-button>
|
||||
<el-button @click="table_edit(scope.row)" type="text" size="mini">编辑</el-button>
|
||||
<el-dropdown style="margin-left:10px;">
|
||||
<el-button size="mini" type="primary" plain icon="el-icon-arrow-down"></el-button>
|
||||
<template #dropdown>
|
||||
<el-dropdown-menu>
|
||||
<el-dropdown-item @click="table_show(scope.row)">查看</el-dropdown-item>
|
||||
<el-dropdown-item>更新数据</el-dropdown-item>
|
||||
<el-dropdown-item>转移</el-dropdown-item>
|
||||
<el-dropdown-item>删除</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</template>
|
||||
</el-dropdown>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- 表格列结束 -->
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<template>
|
||||
<el-container>
|
||||
<el-header>
|
||||
<div>
|
||||
<div class="left-panel">
|
||||
<el-button type="primary" icon="el-icon-plus" @click="openDialog('add')">新增</el-button>
|
||||
<el-popconfirm :title="'确定删除选中的 '+selection.length+' 项吗?'" @confirm="batch_del">
|
||||
<template #reference>
|
||||
|
|
@ -9,9 +9,16 @@
|
|||
</template>
|
||||
</el-popconfirm>
|
||||
</div>
|
||||
<div class="right-panel">
|
||||
<div class="right-panel-search">
|
||||
<el-input v-model="search.name" placeholder="请输入内容" clearable></el-input>
|
||||
<el-button type="primary" icon="el-icon-search" @click="upsearch"></el-button>
|
||||
</div>
|
||||
<scFilterBar ref="scFilterBar" :options="options" @change="updata"></scFilterBar>
|
||||
</div>
|
||||
</el-header>
|
||||
<el-main class="nopadding">
|
||||
<scTable ref="table" :apiObj="apiObj" @selection-change="selectionChange">
|
||||
<scTable ref="table" :apiObj="apiObj" :params="{name:'demo',a:'1'}" @selection-change="selectionChange">
|
||||
<!-- 表格列开始 -->
|
||||
<el-table-column type="selection" width="50"></el-table-column>
|
||||
<el-table-column label="序号" type="index" width="50"></el-table-column>
|
||||
|
|
@ -32,8 +39,9 @@
|
|||
<el-tag>{{scope.row.audit}}</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="加入时间" prop="date" min-width="300"></el-table-column>
|
||||
<el-table-column label="操作" fixed="right" width="140">
|
||||
<el-table-column label="加入时间" prop="date" width="170"></el-table-column>
|
||||
|
||||
<el-table-column label="操作" fixed="right" align="right" width="140">
|
||||
<template #default="scope">
|
||||
<el-button @click="table_show(scope.row, scope.$index)" type="text" size="small">查看</el-button>
|
||||
<el-button @click="table_edit(scope.row, scope.$index)" type="text" size="small">编辑</el-button>
|
||||
|
|
@ -88,15 +96,43 @@
|
|||
|
||||
<script>
|
||||
import scTable from '@/components/scTable';
|
||||
import scFilterBar from '@/components/scFilterBar';
|
||||
|
||||
export default {
|
||||
name: 'normallist',
|
||||
components: {
|
||||
scTable
|
||||
scTable,
|
||||
scFilterBar
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
filterType: "全部",
|
||||
search : {
|
||||
name: ""
|
||||
},
|
||||
options: [
|
||||
{
|
||||
label: '状态',
|
||||
value: 'type',
|
||||
type: 'select',
|
||||
extend: {
|
||||
data:[
|
||||
{
|
||||
label: "通过",
|
||||
value: "0"
|
||||
},
|
||||
{
|
||||
label: "失败",
|
||||
value: "1"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
label: '加入时间',
|
||||
value: 'date',
|
||||
type: 'daterange'
|
||||
}
|
||||
],
|
||||
apiObj: this.$API.demo.demolist.list,
|
||||
selection: [],
|
||||
showDialog: false,
|
||||
|
|
@ -170,7 +206,7 @@
|
|||
id: new Date().getTime(),
|
||||
date: "2021-04-30 13:57:00"
|
||||
}
|
||||
this.$refs.table.tableData.push(newData)
|
||||
this.$refs.table.tableData.unshift(newData)
|
||||
this.closeDialog();
|
||||
}else{
|
||||
return false;
|
||||
|
|
@ -202,6 +238,14 @@
|
|||
this.$nextTick(() => {
|
||||
this.form = {...row}
|
||||
});
|
||||
},
|
||||
upsearch(){
|
||||
var data = Object.assign({}, this.search, this.$refs.scFilterBar.getFilter());
|
||||
this.$refs.table.upData(data)
|
||||
},
|
||||
updata(val){
|
||||
var data = Object.assign({},this.search, val);
|
||||
this.$refs.table.upData(data)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue