Commit b21bd89a authored by zhongyh's avatar zhongyh

Merge remote-tracking branch 'origin/master'

parents ad922088 3932bb6b
......@@ -204,11 +204,9 @@ public class CategoryAction extends BaseAction{
@LogAnn(title = "删除分类", businessType = BusinessTypeEnum.DELETE)
@RequiresPermissions("cms:category:del")
public ResultData delete(@RequestBody List<CategoryEntity> categorys,HttpServletResponse response, HttpServletRequest request) {
int[] ids = new int[categorys.size()];
for(int i = 0;i<categorys.size();i++){
ids[i] =Integer.parseInt(categorys.get(i).getId()) ;
categoryBiz.delete(Integer.parseInt(categorys.get(i).getId()));
}
categoryBiz.delete(ids);
return ResultData.build().success();
}
/**
......@@ -265,6 +263,16 @@ public class CategoryAction extends BaseAction{
if(!StringUtil.checkLength(category.getCategoryParentId()+"", 0, 100)){
return ResultData.build().error(getResString("err.length", this.getResString("category.parent.id"), "1", "100"));
}
//判断是否选择子级为所属栏目
CategoryEntity _category = new CategoryEntity();
_category.setCategoryParentId(category.getId());
_category.setAppId(BasicUtil.getAppId());
List<CategoryEntity> categoryList = categoryBiz.queryChilds(_category);
for(CategoryEntity item:categoryList){
if(item.getId().equals(category.getCategoryId())){
return ResultData.build().error(getResString("cannot.select.child"));
}
}
category.setAppId(BasicUtil.getAppId());
categoryBiz.updateEntity(category);
return ResultData.build().success(category);
......
......@@ -21,7 +21,9 @@ public interface ICategoryBiz extends IBaseBiz {
*/
List<CategoryEntity> queryChilds(CategoryEntity category);
int saveEntity(CategoryEntity entity);
void saveEntity(CategoryEntity entity);
void updateEntity(CategoryEntity entity);
void delete(int categoryId);
}
\ No newline at end of file
......@@ -62,10 +62,19 @@ public class CategoryBizImpl extends BaseBizImpl implements ICategoryBiz {
return categoryDao.queryChildren(category);
}
@Override
public int saveEntity(CategoryEntity categoryEntity) {
public void saveEntity(CategoryEntity categoryEntity) {
// TODO Auto-generated method stub
setParentId(categoryEntity);
return super.saveEntity(categoryEntity);
super.saveEntity(categoryEntity);
//保存链接地址
String path=ObjectUtil.isNotNull(categoryEntity.getCategoryParentId())?categoryEntity.getCategoryParentId():"";
//判断是否有parentIds
if(StringUtils.isNotBlank(path)){
categoryEntity.setCategoryPath("/" + path.replaceAll(",", "/") + "/" + categoryEntity.getId());
} else {
categoryEntity.setCategoryPath("/" + categoryEntity.getId());
}
super.updateEntity(categoryEntity);
}
private void setParentId(CategoryEntity categoryEntity) {
......@@ -79,8 +88,16 @@ public class CategoryBizImpl extends BaseBizImpl implements ICategoryBiz {
}else {
categoryEntity.setCategoryParentId(null);
}
String path=ObjectUtil.isNotNull(categoryEntity.getCategoryParentId())?categoryEntity.getCategoryParentId():"";
categoryEntity.setCategoryPath("/"+path.replaceAll(",","/")+"/"+categoryEntity.getId());
//保存时先保存再修改链接地址,修改时直接修改
if(StringUtils.isNotBlank(categoryEntity.getId())) {
String path = ObjectUtil.isNotNull(categoryEntity.getCategoryParentId()) ? categoryEntity.getCategoryParentId() : "";
//判断是否有parentIds
if(StringUtils.isNotBlank(path)){
categoryEntity.setCategoryPath("/" + path.replaceAll(",", "/") + "/" + categoryEntity.getId());
} else {
categoryEntity.setCategoryPath("/" + categoryEntity.getId());
}
}
}
private void setChildParentId(CategoryEntity categoryEntity) {
......@@ -94,7 +111,12 @@ public class CategoryBizImpl extends BaseBizImpl implements ICategoryBiz {
x.setCategoryParentId(categoryEntity.getCategoryParentId()+","+categoryEntity.getId());
}
String path=ObjectUtil.isNotNull(x.getCategoryParentId())?x.getCategoryParentId():"";
//判断是否有parentIds
if(StringUtils.isNotBlank(path)){
x.setCategoryPath("/"+path.replaceAll(",","/")+"/"+x.getId());
} else {
x.setCategoryPath("/"+x.getId());
}
super.updateEntity(x);
setChildParentId(x);
});
......@@ -106,4 +128,22 @@ public class CategoryBizImpl extends BaseBizImpl implements ICategoryBiz {
super.updateEntity(entity);
setChildParentId(entity);
}
@Override
public void delete(int categoryId) {
// TODO Auto-generated method stub
CategoryEntity category = (CategoryEntity) categoryDao.getEntity(categoryId);
//删除父类
if(category != null){
category.setCategoryParentId(null);
List<CategoryEntity> childrenList = categoryDao.queryChildren(category);
int[] ids = new int[childrenList.size()];
for(int i = 0; i < childrenList.size(); i++){
//删除子类
ids[i] = Integer.parseInt(childrenList.get(i).getId());
}
categoryDao.delete(ids);
deleteEntity(categoryId);
}
}
}
\ No newline at end of file
......@@ -38,7 +38,13 @@
gutter="0"
justify="start" align="top">
<el-col span="12">
<el-form-item label="栏目管理属性" prop="categoryType">
<el-form-item prop="categoryType">
<template slot='label'>栏目类型
<el-popover slot="label" placement="top-start" title="提示" trigger="hover" >
列表:常用于带列表、详情的业务,例如:新闻列表、图片列表<br>封面:常用单篇文章显示,例如:关于我们、公司介绍
<i class="el-icon-question" slot="reference"></i>
</el-popover>
</template>
<el-radio-group v-model="form.categoryType"
:style="{width: ''}"
:disabled="false">
......@@ -63,7 +69,7 @@
gutter="0"
justify="start" align="top">
<el-col span="12">
<el-form-item :label="form.categoryType =='1'? '内容模板' : '封面模板'" prop="categoryUrl">
<el-form-item prop="categoryUrl" :label="form.categoryType =='1'? '内容模板' : '封面模板'">
<el-select v-model="form.categoryUrl"
:style="{width: '100%'}"
:filterable="false"
......@@ -76,7 +82,12 @@
</el-form-item>
</el-col>
<el-col span="12">
<el-form-item label="列表模板" prop="categoryListUrl" v-if="form.categoryType == '1'">
<el-form-item prop="categoryListUrl" v-if="form.categoryType == '1'">
<template slot='label'>列表模板
<el-popover slot="label" placement="top-start" title="提示" trigger="hover" content="当栏目类型为列表时有效">
<i class="el-icon-question" slot="reference"></i>
</el-popover>
</template>
<el-select v-model="form.categoryListUrl"
:style="{width: '100%'}"
:filterable="false"
......@@ -93,7 +104,12 @@
gutter="0"
justify="start" align="top">
<el-col span="12">
<el-form-item label="自定义模型" prop="mdiyModelId">
<el-form-item prop="mdiyModelId">
<template slot='label'>自定义模型
<el-popover slot="label" placement="top-start" title="提示" width="400" trigger="hover" content="如果发布时候文章字段信息不够,可以采用铭飞代码生成器生成自定义模型,再通过“自定义管理->自定义模型->导入”功能导入模型,注意类型是cms">
<i class="el-icon-question" slot="reference"></i>
</el-popover>
</template>
<el-select v-model="form.mdiyModelId"
:style="{width: '100%'}"
:filterable="false"
......@@ -169,7 +185,11 @@
el: '#form',
data() {
return {
treeList:[],
treeList:[{
id:'0',
categoryTitle:'顶级栏目',
children:[],
}],
saveDisabled: false,
//表单数据
form: {
......@@ -217,7 +237,7 @@
ms.http.get(ms.manager+"/cms/category/list.do",{pageSize:9999}).then(function(res){
if(res.result){
//res.data.rows.push({id:0,categoryId: null,categoryTitle:'顶级栏目管理'});
that.treeList = ms.util.treeData(res.data.rows,'id','categoryId','children');
that.treeList[0].children = ms.util.treeData(res.data.rows,'id','categoryId','children');
}
}).catch(function(err){
console.log(err);
......@@ -238,10 +258,17 @@
that.saveDisabled = true;
var data = JSON.parse(JSON.stringify(that.form));
if(data.id&&data.id==data.categoryId){
that.$message.error('所属栏目不能为自身')
that.$notify({
title: '提示',
message: '所属栏目不能为自身',
type: 'error'
});
that.saveDisabled = false;
return
}
if(data.categoryId == '0'){
data.categoryId = '';
}
data.categoryImg = JSON.stringify(data.categoryImg);
ms.http.post(url, data).then(function (data) {
if (data.result) {
......@@ -287,6 +314,9 @@
})
}else{
res.data.categoryImg=[]
}
if(!res.data.categoryId){
res.data.categoryId = '0';
}
that.form = res.data;
}
......
......@@ -17,7 +17,7 @@
</el-col>
</el-header>
<el-main class="ms-container">
<el-table ref="multipleTable"
<el-table ref="multipleTable" :indent="6"
height="calc(100vh - 20px)"
border :data="dataList"
row-key="id"
......@@ -30,12 +30,15 @@
{{emptyText}}
</template>
<el-table-column type="selection" width="40"></el-table-column>
<el-table-column label="编号" width="60" prop="id"></el-table-column>
<el-table-column label="编号" width="80" prop="id"></el-table-column>
<el-table-column label="标题" align="left" prop="categoryTitle">
</el-table-column>
<el-table-column label="属性" align="center" prop="categoryType" :formatter="categoryTypeFormat" width="65">
</el-table-column>
<el-table-column label="链接地址" align="left" prop="categoryPath" show-overflow-tooltip>
<template slot-scope="scope">
{{"{ms:global.url/}"+scope.row.categoryPath+"/index.html"}}
</template>
</el-table-column>
<el-table-column label="列表地址" align="left" prop="categoryListUrl" show-overflow-tooltip>
</el-table-column>
......
......@@ -9,8 +9,7 @@
<el-header class="ms-header ms-tr" height="50px">
<el-button type="primary" icon="iconfont icon-baocun" size="mini" @click="save()" :loading="saveDisabled">保存
</el-button>
<el-button size="mini" icon="iconfont icon-fanhui" plain onclick="javascript:history.go(-1)"
v-if="returnIsShow">返回
<el-button size="mini" icon="iconfont icon-fanhui" plain onclick="javascript:history.go(-1)">返回
</el-button>
</el-header>
<el-main class="ms-container">
......@@ -24,7 +23,7 @@
<el-row
gutter="0"
justify="start" align="top">
<el-col span="12">
<el-col :span="returnIsShow?'12':'24'">
<el-form-item label="文章标题" prop="contentTitle">
<el-input v-model="form.contentTitle"
:disabled="false"
......@@ -34,7 +33,7 @@
</el-input>
</el-form-item>
</el-col>
<el-col span="12">
<el-col span="12" v-if="returnIsShow">
<el-form-item label="所属栏目" prop="contentCategoryId">
<tree-select :props="{value: 'id',label: 'categoryTitle',children: 'children'}"
:options="contentCategoryIdOptions" :style="{width:'100%'}"
......@@ -275,8 +274,19 @@
this.$refs.form[0].validate((valid) => {
if (valid) {
that.saveDisabled = true;
if(that.categoryIdOptions.filter(f => f['id'] == that.form.contentCategoryId)[0].categoryType == '2'){
that.$notify({
title: '提示',
message: '所属栏目不能为封面',
type: 'error'
});
that.saveDisabled = false;
return
}
var data = JSON.parse(JSON.stringify(that.form));
if(data.contentType !=null){
data.contentType = data.contentType.join(',');
}
data.contentImg = JSON.stringify(data.contentImg);
ms.http.post(url, data).then(function (data) {
if (data.result) {
......@@ -387,6 +397,12 @@
res.data.contentImg = []
}
that.form = res.data;
var category = that.categoryIdOptions.filter(f => f['id'] == that.form.contentCategoryId);
if(category.length == 1){
if(category[0].categoryType == '2'){
that.returnIsShow = false;
}
}
that.changeModel();
}
}).catch(function (err) {
......@@ -399,7 +415,7 @@
ms.http.get(ms.manager + "/cms/category/list.do", {pageSize: 9999}).then(function (res) {
if (res.result) {
that.contentCategoryIdOptions = ms.util.treeData(res.data.rows, 'id', 'categoryId', 'children');
that.categoryIdOptions = res.data.rows
that.categoryIdOptions = res.data.rows;
that.changeModel();
}
}).catch(function (err) {
......
......@@ -27,9 +27,6 @@
<div class="class-4" >
<el-form-item label="主题模板">
<el-select v-model="template"
:style="{width: '100%'}"
:filterable="false"
:disabled="false"
:clearable="true"
placeholder="请选择主题模板">
<el-option v-for='item in templateOptions' :key="item" :value="item"
......@@ -130,7 +127,7 @@
loading:false,
template:'',//主题模板
templateOptions:[],
position:'', //位置
position:'index.html', //位置
contentSection:'', //文章栏目
section:'', //栏目
time:ms.util.date.fmt(new Date(),"yyyy-MM-dd"),
......
......@@ -7,9 +7,6 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<style>
body,html{height: -webkit-fill-available;}
</style>
</head>
<body>
<div style="
......
/* Logo 字体 */
@font-face {
font-family: "iconfont logo";
src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834');
src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834#iefix') format('embedded-opentype'),
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.woff?t=1545807318834') format('woff'),
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.ttf?t=1545807318834') format('truetype'),
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.svg?t=1545807318834#iconfont') format('svg');
}
.logo {
font-family: "iconfont logo";
font-size: 160px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
/* tabs */
.nav-tabs {
position: relative;
}
.nav-tabs .nav-more {
position: absolute;
right: 0;
bottom: 0;
height: 42px;
line-height: 42px;
color: #666;
}
#tabs {
border-bottom: 1px solid #eee;
}
#tabs li {
cursor: pointer;
width: 100px;
height: 40px;
line-height: 40px;
text-align: center;
font-size: 16px;
border-bottom: 2px solid transparent;
position: relative;
z-index: 1;
margin-bottom: -1px;
color: #666;
}
#tabs .active {
border-bottom-color: #f00;
color: #222;
}
.tab-container .content {
display: none;
}
/* 页面布局 */
.main {
padding: 30px 100px;
width: 960px;
margin: 0 auto;
}
.main .logo {
color: #333;
text-align: left;
margin-bottom: 30px;
line-height: 1;
height: 110px;
margin-top: -50px;
overflow: hidden;
*zoom: 1;
}
.main .logo a {
font-size: 160px;
color: #333;
}
.helps {
margin-top: 40px;
}
.helps pre {
padding: 20px;
margin: 10px 0;
border: solid 1px #e7e1cd;
background-color: #fffdef;
overflow: auto;
}
.icon_lists {
width: 100% !important;
overflow: hidden;
*zoom: 1;
}
.icon_lists li {
width: 100px;
margin-bottom: 10px;
margin-right: 20px;
text-align: center;
list-style: none !important;
cursor: default;
}
.icon_lists li .code-name {
line-height: 1.2;
}
.icon_lists .icon {
display: block;
height: 100px;
line-height: 100px;
font-size: 42px;
margin: 10px auto;
color: #333;
-webkit-transition: font-size 0.25s linear, width 0.25s linear;
-moz-transition: font-size 0.25s linear, width 0.25s linear;
transition: font-size 0.25s linear, width 0.25s linear;
}
.icon_lists .icon:hover {
font-size: 100px;
}
.icon_lists .svg-icon {
/* 通过设置 font-size 来改变图标大小 */
width: 1em;
/* 图标和文字相邻时,垂直对齐 */
vertical-align: -0.15em;
/* 通过设置 color 来改变 SVG 的颜色/fill */
fill: currentColor;
/* path 和 stroke 溢出 viewBox 部分在 IE 下会显示
normalize.css 中也包含这行 */
overflow: hidden;
}
.icon_lists li .name,
.icon_lists li .code-name {
color: #666;
}
/* markdown 样式 */
.markdown {
color: #666;
font-size: 14px;
line-height: 1.8;
}
.highlight {
line-height: 1.5;
}
.markdown img {
vertical-align: middle;
max-width: 100%;
}
.markdown h1 {
color: #404040;
font-weight: 500;
line-height: 40px;
margin-bottom: 24px;
}
.markdown h2,
.markdown h3,
.markdown h4,
.markdown h5,
.markdown h6 {
color: #404040;
margin: 1.6em 0 0.6em 0;
font-weight: 500;
clear: both;
}
.markdown h1 {
font-size: 28px;
}
.markdown h2 {
font-size: 22px;
}
.markdown h3 {
font-size: 16px;
}
.markdown h4 {
font-size: 14px;
}
.markdown h5 {
font-size: 12px;
}
.markdown h6 {
font-size: 12px;
}
.markdown hr {
height: 1px;
border: 0;
background: #e9e9e9;
margin: 16px 0;
clear: both;
}
.markdown p {
margin: 1em 0;
}
.markdown>p,
.markdown>blockquote,
.markdown>.highlight,
.markdown>ol,
.markdown>ul {
width: 80%;
}
.markdown ul>li {
list-style: circle;
}
.markdown>ul li,
.markdown blockquote ul>li {
margin-left: 20px;
padding-left: 4px;
}
.markdown>ul li p,
.markdown>ol li p {
margin: 0.6em 0;
}
.markdown ol>li {
list-style: decimal;
}
.markdown>ol li,
.markdown blockquote ol>li {
margin-left: 20px;
padding-left: 4px;
}
.markdown code {
margin: 0 3px;
padding: 0 5px;
background: #eee;
border-radius: 3px;
}
.markdown strong,
.markdown b {
font-weight: 600;
}
.markdown>table {
border-collapse: collapse;
border-spacing: 0px;
empty-cells: show;
border: 1px solid #e9e9e9;
width: 95%;
margin-bottom: 24px;
}
.markdown>table th {
white-space: nowrap;
color: #333;
font-weight: 600;
}
.markdown>table th,
.markdown>table td {
border: 1px solid #e9e9e9;
padding: 8px 16px;
text-align: left;
}
.markdown>table th {
background: #F7F7F7;
}
.markdown blockquote {
font-size: 90%;
color: #999;
border-left: 4px solid #e9e9e9;
padding-left: 0.8em;
margin: 1em 0;
}
.markdown blockquote p {
margin: 0;
}
.markdown .anchor {
opacity: 0;
transition: opacity 0.3s ease;
margin-left: 8px;
}
.markdown .waiting {
color: #ccc;
}
.markdown h1:hover .anchor,
.markdown h2:hover .anchor,
.markdown h3:hover .anchor,
.markdown h4:hover .anchor,
.markdown h5:hover .anchor,
.markdown h6:hover .anchor {
opacity: 1;
display: inline-block;
}
.markdown>br,
.markdown>p>br {
clear: both;
}
.hljs {
display: block;
background: white;
padding: 0.5em;
color: #333333;
overflow-x: auto;
}
.hljs-comment,
.hljs-meta {
color: #969896;
}
.hljs-string,
.hljs-variable,
.hljs-template-variable,
.hljs-strong,
.hljs-emphasis,
.hljs-quote {
color: #df5000;
}
.hljs-keyword,
.hljs-selector-tag,
.hljs-type {
color: #a71d5d;
}
.hljs-literal,
.hljs-symbol,
.hljs-bullet,
.hljs-attribute {
color: #0086b3;
}
.hljs-section,
.hljs-name {
color: #63a35c;
}
.hljs-tag {
color: #333333;
}
.hljs-title,
.hljs-attr,
.hljs-selector-id,
.hljs-selector-class,
.hljs-selector-attr,
.hljs-selector-pseudo {
color: #795da3;
}
.hljs-addition {
color: #55a532;
background-color: #eaffea;
}
.hljs-deletion {
color: #bd2c00;
background-color: #ffecec;
}
.hljs-link {
text-decoration: underline;
}
/* 代码高亮 */
/* PrismJS 1.15.0
https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript */
/**
* prism.js default theme for JavaScript, CSS and HTML
* Based on dabblet (http://dabblet.com)
* @author Lea Verou
*/
code[class*="language-"],
pre[class*="language-"] {
color: black;
background: none;
text-shadow: 0 1px white;
font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
text-align: left;
white-space: pre;
word-spacing: normal;
word-break: normal;
word-wrap: normal;
line-height: 1.5;
-moz-tab-size: 4;
-o-tab-size: 4;
tab-size: 4;
-webkit-hyphens: none;
-moz-hyphens: none;
-ms-hyphens: none;
hyphens: none;
}
pre[class*="language-"]::-moz-selection,
pre[class*="language-"] ::-moz-selection,
code[class*="language-"]::-moz-selection,
code[class*="language-"] ::-moz-selection {
text-shadow: none;
background: #b3d4fc;
}
pre[class*="language-"]::selection,
pre[class*="language-"] ::selection,
code[class*="language-"]::selection,
code[class*="language-"] ::selection {
text-shadow: none;
background: #b3d4fc;
}
@media print {
code[class*="language-"],
pre[class*="language-"] {
text-shadow: none;
}
}
/* Code blocks */
pre[class*="language-"] {
padding: 1em;
margin: .5em 0;
overflow: auto;
}
:not(pre)>code[class*="language-"],
pre[class*="language-"] {
background: #f5f2f0;
}
/* Inline code */
:not(pre)>code[class*="language-"] {
padding: .1em;
border-radius: .3em;
white-space: normal;
}
.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
color: slategray;
}
.token.punctuation {
color: #999;
}
.namespace {
opacity: .7;
}
.token.property,
.token.tag,
.token.boolean,
.token.number,
.token.constant,
.token.symbol,
.token.deleted {
color: #905;
}
.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin,
.token.inserted {
color: #690;
}
.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.style .token.string {
color: #9a6e3a;
background: hsla(0, 0%, 100%, .5);
}
.token.atrule,
.token.attr-value,
.token.keyword {
color: #07a;
}
.token.function,
.token.class-name {
color: #DD4A68;
}
.token.regex,
.token.important,
.token.variable {
color: #e90;
}
.token.important,
.token.bold {
font-weight: bold;
}
.token.italic {
font-style: italic;
}
.token.entity {
cursor: help;
}
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -8,6 +8,7 @@ body {
font-weight: initial !important;
font-size: 14px !important;
color: #333 !important;
overflow: hidden;
}
html *,
body * {
......@@ -119,6 +120,7 @@ a:link,a:visited,a:active{text-decoration: none; color:#409EFF;}
border-radius: 10px;
background-color: rgba(144,147,153,.5);
}
/*饿了么滚动样式*/
.ms-scrollbar .el-scrollbar__wrap{
overflow-x: hidden;
}
......
......@@ -27,7 +27,6 @@ body {
height: 100vh;
background-color: #eee;
margin: 0;
display: flex;
font-weight: initial !important;
font-size: 14px !important;
color: #333 !important;
......@@ -131,9 +130,6 @@ textarea::-webkit-input-placeholder {
.ms-header-select > .el-select:nth-of-type(2) {
margin: 0 10px;
}
.el-submenu .el-menu-item.is-active {
border-radius: 4px;
}
.el-card,
.el-message {
border-radius: 0 !important;
......@@ -152,15 +148,17 @@ textarea::-webkit-input-placeholder {
.index {
width: 100%;
display: flex;
height: 100vh;
}
.ms-admin-header {
display: flex;
padding: 0;
background-color: #0099ff;
background-color: rgba(255,255,255,1);
height: 50px !important;
box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
z-index: 1;
}
.ms-admin-header .ms-admin-header-menu {
background-color: #0099ff;
border-bottom: none;
position: relative;
}
......@@ -168,19 +166,17 @@ textarea::-webkit-input-placeholder {
.ms-admin-header .ms-admin-header-menu > .ms-admin-menu-item {
height: 50px !important;
line-height: 50px !important;
background-color: #0099ff !important;
color: rgba(255, 255, 255, 0.65) !important;
border-bottom: none !important;
font-size: 1em;
}
.ms-admin-header .ms-admin-header-menu > .ms-admin-menu-item > *:hover,
/*.ms-admin-header .ms-admin-header-menu > .ms-admin-menu-item > *:hover,
.ms-admin-header .ms-admin-header-menu > .ms-admin-menu-item:hover {
color: #fff !important;
}
.ms-admin-header .ms-admin-header-menu > .ms-admin-menu-item > *.is-active,
.ms-admin-header .ms-admin-header-menu > .ms-admin-menu-item.is-active {
color: #fff !important;
}
}*/
.ms-admin-header .ms-admin-header-menu .ms-admin-shortcut-menu {
padding: 0;
user-select: none;
......@@ -196,8 +192,7 @@ textarea::-webkit-input-placeholder {
top: 0;
z-index: 9;
background: #ffffff;
border: 1px solid #e6e6e6;
box-shadow: 2px 3px 5px 0.1px rgba(0, 0, 0, 0.1);
box-shadow: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04);
}
.ms-admin-header .ms-admin-header-menu .ms-admin-shortcut-menu > li {
margin: 0;
......@@ -215,7 +210,7 @@ textarea::-webkit-input-placeholder {
cursor: pointer;
color: #0099ff;
}
.ms-admin-header .ms-admin-header-menu .ms-admin-shortcut-menu i {
.ms-admin-header .ms-admin-header-menu .ms-admin-shortcut-menu .ms-admin-shortcut-menu-shrink {
position: absolute;
top: 18px;
right: 19px;
......@@ -223,19 +218,17 @@ textarea::-webkit-input-placeholder {
font-size: 14px;
color: #333;
}
.ms-admin-header .ms-admin-header-menu .ms-admin-shortcut-menu i:hover {
.ms-admin-header .ms-admin-header-menu .ms-admin-shortcut-menu .ms-admin-shortcut-menu-shrink:hover {
cursor: pointer;
}
.ms-admin-logo {
min-width: 200px;
width: 200px;
display: flex;
align-items: center;
overflow: hidden;
}
.ms-admin-logo > img {
padding: 20px 0 20px 20px;
width: 80px;
padding: 14px 0;
width: 50px;
}
.ms-admin-logo > div {
display: flex;
......@@ -250,6 +243,7 @@ textarea::-webkit-input-placeholder {
position: absolute;
margin-left: 10px;
font-size: 12px;
}
.ms-admin-logo .iconfont {
color: #fff;
......@@ -257,6 +251,9 @@ textarea::-webkit-input-placeholder {
margin-right: 20px;
cursor: pointer;
}
.ms-admin-logo-pack{
width: 64px!important;
}
.ms-admin-mstore {
margin-left: auto;
min-width: 200px;
......@@ -274,8 +271,8 @@ textarea::-webkit-input-placeholder {
display: flex;
align-items: center;
justify-content: center;
background: #fff;
color: #0099ff;
background: #0099ff;
color: #fff;
}
.ms-admin-mstore .ms-admin-mstore-icon {
min-width: 50px;
......@@ -328,7 +325,7 @@ textarea::-webkit-input-placeholder {
margin-right: 8px;
}
.ms-admin-login > span span {
color: #fff;
color: #333333;
}
.ms-admin-login .active {
background: #fff;
......@@ -338,7 +335,7 @@ textarea::-webkit-input-placeholder {
color: #fff;
}
.ms-admin-login .active span {
color: #333;
color: #409EFF;
}
.ms-admin-login-down {
width: 130px;
......@@ -353,7 +350,7 @@ textarea::-webkit-input-placeholder {
display: none;
}
.ms-admin-menu-aside {
width: 200px !important;
width: auto !important;
height: 100%;
position: relative;
overflow: visible;
......@@ -414,11 +411,12 @@ textarea::-webkit-input-placeholder {
width: 60px !important;
}
.ms-admin-container {
height: calc(100vh - 60px);
height:auto;
}
.ms-admin-container > .ms-admin-main {
padding: 0;
background-color: #fff;
z-index: 0;
}
.ms-admin-container > .ms-admin-main .ms-admin-tabs {
height: 100%;
......@@ -475,34 +473,34 @@ textarea::-webkit-input-placeholder {
border: none !important;
}
@keyframes rubberBand {
0 {
0 {
-webkit-transform: scale3d(1, 1, 1);
transform: scale3d(1, 1, 1);
}
10% {
}
10% {
-webkit-transform: scale3d(1.25, 0.75, 1);
transform: scale3d(1.25, 0.75, 1);
}
20% {
}
20% {
-webkit-transform: scale3d(0.75, 1.25, 1);
transform: scale3d(0.75, 1.25, 1);
}
30% {
}
30% {
-webkit-transform: scale3d(1.15, 0.85, 1);
transform: scale3d(1.15, 0.85, 1);
}
40% {
}
40% {
-webkit-transform: scale3d(0.95, 1.05, 1);
transform: scale3d(0.95, 1.05, 1);
}
50% {
}
50% {
-webkit-transform: scale3d(1.05, 0.95, 1);
transform: scale3d(1.05, 0.95, 1);
}
51% {
}
51% {
-webkit-transform: scale3d(1, 1, 1);
transform: scale3d(1, 1, 1);
}
}
}
.el-scrollbar__wrap{overflow-x:hidden;}
......
/*浅色系*/
.ms-theme-light .ms-admin-logo > div span{
color: #0080FF;
}
.ms-theme-light .el-menu-vertical-demo,
.ms-theme-light .el-menu-vertical-demo .el-menu,
.ms-theme-light.ms-admin-menu-aside-submenu *{
background: #0080FF;
}
.ms-theme-light .el-submenu .el-menu-item.is-active,
.ms-theme-light.ms-admin-menu-aside-submenu .el-menu-item.is-active{
background-color:rgba(255,255,255,0.3) !important;
}
.ms-theme-light .ms-admin-menu-aside .el-submenu__title:hover,
.ms-theme-light .ms-admin-menu-aside .el-menu-item:hover,
.ms-theme-light.ms-admin-menu-aside-submenu .el-menu-item:hover{
background-color:rgba(255,255,255,0.3) !important;
}
/*深色系*/
.ms-theme-dark .ms-admin-logo > div span{
color: rgba(56,58,63,1);
}
.ms-theme-dark .el-menu-vertical-demo,
.ms-theme-dark .el-menu-vertical-demo .el-menu,
.ms-theme-dark.ms-admin-menu-aside-submenu *{
background:rgba(56,58,63,1);
}
.ms-theme-dark .el-submenu .el-menu-item.is-active,
.ms-theme-dark.ms-admin-menu-aside-submenu .el-menu-item.is-active{
background-color:#0080FF !important;
}
.ms-theme-dark .ms-admin-menu-aside .el-submenu__title:hover,
.ms-theme-dark .ms-admin-menu-aside .el-menu-item:hover,
.ms-theme-dark.ms-admin-menu-aside-submenu .el-menu-item:hover{
background-color:#0080FF !important;
}
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
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