Commit 352235a1 authored by a123456's avatar a123456
Browse files

Signed-off-by: a123456 <1209165801@qq.com>

parent a16292b8
<!DOCTYPE html> <!DOCTYPE html>
<html lang=""> <html lang="">
<head> <head>
<title></title> <title></title>
<!-- <#include "/include/head-file.ftl"/> --> <!-- <#include "/include/head-file.ftl"/> -->
<!-- <link rel="stylesheet" href="${base}/static/ms-admin/4.7.0/css/login.css"> --> <!-- <link rel="stylesheet" href="${base}/static/ms-admin/4.7.0/css/login.css"> -->
<!--#include virtual="include/head-file.ftl" -->
<link rel="stylesheet" href="../../../static/ms-admin/4.7.0/css/login.css">
</head>
<body> <!--#include virtual="include/head-file.ftl" -->
<div id="login" class="login"> <link rel="stylesheet" href="../../../static/ms-admin/4.7.0/css/login.css">
<el-container class="ms-admin-login-container"> </head>
<body>
<div id="login" class="login">
<el-container class="ms-admin-login-container">
<el-main class="ms-admin-login-main"> <el-main class="ms-admin-login-main">
<div class="ms-admin-login-warp"> <div class="ms-admin-login-warp">
<img :src="ms.base+'/static/ms-admin/4.7.0/images/login-slogn.png'"> <img :src="ms.base+'/static/ms-admin/4.7.0/images/login-slogn.png'">
<el-form :model="loginForm" status-icon :rules="loginFormRule" ref="loginForm" label-width="100px" class="ms-admin-login-form"> <el-form :model="loginForm" status-icon :rules="loginFormRule" ref="loginForm" label-width="100px" class="ms-admin-login-form">
<h1><span>账户登录 / </span>User login</h1> <h1>
<el-form-item prop="name" class="ms-admin-form-item"> <span>账户登录 / </span>User login</h1>
<el-input type="text" placeholder='用户名' v-model="loginForm.managerName" autocomplete="off"></el-input> <el-form-item prop="name" class="ms-admin-form-item">
</el-form-item> <el-input type="text" placeholder='用户名' v-model="loginForm.managerName" autocomplete="off"></el-input>
<el-form-item prop="pass" class="ms-admin-form-item"> </el-form-item>
<el-input type="password" placeholder='密码' v-model="loginForm.managerPassword" autocomplete="off"></el-input> <el-form-item prop="pass" class="ms-admin-form-item">
</el-form-item> <el-input type="password" placeholder='密码' v-model="loginForm.managerPassword" autocomplete="off"></el-input>
<el-form-item prop="code" class="ms-admin-form-item ms-admin-form-item-code"> </el-form-item>
<el-input type="text" placeholder='验证码' v-model="loginForm.rand_code" autocomplete="off"></el-input> <el-form-item prop="code" class="ms-admin-form-item ms-admin-form-item-code">
<img :src="verifCode" class="code-img" @click="code" /> <el-input type="text" placeholder='验证码' v-model="loginForm.rand_code" autocomplete="off"></el-input>
<p><span>看不清?</span><span @click="code">换一张</span></p> <img :src="verifCode" class="code-img" @click="code" />
</el-form-item> <p>
<el-form-item class="ms-admin-form-item ms-admin-form-item-checkout"> <span>看不清?</span>
<el-checkbox v-model="rememberPass">记住密码</el-checkbox> <span @click="code">换一张</span>
</el-form-item> </p>
<el-form-item class="ms-admin-form-item"> </el-form-item>
<el-button type="primary" @click="checkLogin" class="ms-admin-login-btn">登录</el-button> <el-form-item class="ms-admin-form-item ms-admin-form-item-checkout">
</el-form-item> <el-checkbox v-model="rememberPass">记住密码</el-checkbox>
</el-form> </el-form-item>
</div> <el-form-item class="ms-admin-form-item">
<el-button type="primary" @click="checkLogin" class="ms-admin-login-btn">登录</el-button>
</el-form-item>
</el-form>
</div>
</el-main> </el-main>
</el-container> </el-container>
</div> </div>
</body> </body>
</html> </html>
<script> <script>
var loginVue = new Vue({ var loginVue = new Vue({
el: '#login', el: '#login',
data: { data: {
loginForm: { loginForm: {
managerName: '', managerName: '',
managerPassword: "", managerPassword: "",
rand_code: '', rand_code: '',
}, },
verifCode: ms.manager + "/code?t=" + new Date().getTime(), verifCode: ms.manager + "/code?t=" + new Date().getTime(),
rememberPass: '', rememberPass: '',
loginFormRule: { loginFormRule: {
managerName: [{ managerName: [{
required: true, required: true,
message: '请输入用户名', message: '请输入用户名',
trigger: 'blur' trigger: 'blur'
}, },
{ {
min: 3, min: 3,
max: 6, max: 6,
message: '长度在 3 5 个字符', message: '长度在 3 5 个字符',
trigger: 'blur' trigger: 'blur'
} }
], ],
managerPassword: [{ managerPassword: [{
required: true, required: true,
message: '请输入密码', message: '请输入密码',
trigger: 'blur' trigger: 'blur'
}, },
{ {
min: 6, min: 6,
max: 20, max: 20,
message: '长度在 6 20 个字符', message: '长度在 6 20 个字符',
trigger: 'blur' trigger: 'blur'
} }
], ],
rand_code: [{ rand_code: [{
required: true, required: true,
message: '请填写验证码', message: '请填写验证码',
trigger: 'blur' trigger: 'blur'
}, },
{ {
min: 1, min: 1,
max: 4, max: 4,
message: '长度在1 4 个字符', message: '长度在1 4 个字符',
trigger: 'blur' trigger: 'blur'
} }
], ],
} }
}, },
methods: { methods: {
// 登录 // 登录
checkLogin: function() { checkLogin: function() {
var that = this; var that = this;
ms.http.post(ms.manager + "/checkLogin.do", that.loginForm).then(function(data) { ms.http.post(ms.manager + "/checkLogin.do", that.loginForm).then(function(data) {
if (data.result) { if(data.result) {
that.$notify({ that.$notify({
title: '成功', title: '成功',
message: '登录成功', message: '登录成功',
type: 'success' type: 'success'
}); });
location.href = ms.manager+"/index.do"; location.href = ms.manager + "/index.do";
} else { } else {
that.$notify({ that.$notify({
title: '失败', title: '失败',
message: data.resultMsg, message: data.resultMsg,
type: 'warning' type: 'warning'
}); });
} }
}, (err) => { }, (err) => {
that.$message.error(data.resultMsg); that.$message.error(data.resultMsg);
}) })
}, },
code: function() { code: function() {
this.verifCode = ms.manager + "/code?t=" + new Date().getTime(); this.verifCode = ms.manager + "/code?t=" + new Date().getTime();
}, },
}, },
mounted:function(){ mounted: function() {
this.verifCode = ms.manager + "/code?t=" + new Date().getTime() this.verifCode = ms.manager + "/code?t=" + new Date().getTime()
} }
}) })
</script> </script>
\ No newline at end of file
<!-- 新建图文 -->
<link rel="stylesheet" href="../../../../static/mweixin/css/article.css">
<div id='article' class="ms-article ms-container" v-show="menuVue.menuActive == '新建图文'">
<el-container>
<el-aside width="280px">
<div class="ms-main-article">
<img :src='mainArticle.basicPic'>
<div class="ms-main-article-mask"></div>
<span v-text='mainArticle.basicTitle'></span>
</div>
<draggable v-model="subArticleList" :options="{draggable:'.ms-article-item'}">
<div v-for="(element,index) in subArticleList" :key="index" class="ms-article-item">
<p><span v-text='element.basicTitle'></span></p>
<img :src='element.basicThumbnailsl'>
</div>
</draggable>
<div class="ms-article-footer">
<el-button size='medium' icon='el-icon-plus' @click='addArticle'>添加图文</el-button>
</div>
</el-aside>
<el-main>
<div class="ms-main-header">
<el-upload class="ms-pic-upload" :show-file-list="false">
<img v-if="false" :src="false" class="avatar">
<i v-else class="el-icon-picture"></i>
<span>添加封面</span>
</el-upload>
<el-form label-width='40px'>
<el-form-item label="标题" prop="">
<el-input size='small' placeholder="请输入图文标题" v-model='articleForm.basicTitle' @input="resetWordNum('title')">
<span slot='suffix' v-text="titleWordNumber+'/64'"></span>
</el-input>
</el-form-item>
<el-form-item label="作者" prop="">
<el-input size='small' placeholder="请输入图文作者" v-model='articleForm.articleAuthor' @input="resetWordNum('author')">
<span slot='suffix' v-text="authorWordNumber+'/8'"></span>
</el-input>
</el-form-item>
<el-form-item label="摘要" prop="">
<el-input
size='small'
type='textarea'
placeholder="选填,如果不写会默认抓取正文前54个字"
:autosize="{ minRows: 2, maxRows: 2}"
resize='none'
v-model='articleForm.basicDescription'
@input="resetWordNum('desc')"
>
<span slot='suffix' v-text="descWordNumber+'/54'"></span>
</el-input>
</el-form-item>
</el-form>
</div>
<div class="ms-main-body">
<!-- 百度编辑器 -->
<script id="ueditorArticle" type="text/plain" name="articleContent"></script>
</div>
</el-main>
</el-container>
</div>
<script>
var articleVue = new Vue({
el: '#article',
data: {
mainArticle: {
basicPic: 'https://img03.sogoucdn.com/app/a/100520091/20190125112329', //主图
basicTitle: '国足0-3不敌伊朗被淘汰,赛后还有一个消息', //标题
},
// 文章列表
subArticleList: [{
basicTitle: '硬核!年会当着老板面唱,“干活的干不过写PPT的……',
basicThumbnailsl: 'https://img01.sogoucdn.com/app/a/100520091/20190125112509'
}, {
basicTitle: '知否知否,党组织犯错,处理有多严?',
basicThumbnailsl: 'https://img01.sogoucdn.com/app/a/100520091/20190125112509'
}, {
basicTitle: '没有奇迹,国足0-3不敌伊朗止步八强!',
basicThumbnailsl: 'https://img03.sogoucdn.com/app/a/100520091/20190125113148'
}],
titleWordNumber: 64, //图文标题剩余字数
authorWordNumber: 8, //图文作者剩余字数
descWordNumber:54,//摘要
editor: null, //富文本实例
articleForm:{
basicTitle:'',//标题
articleAuthor:'',//作者
basicDescription:'', //摘要
articleContent:'', //正文
}
},
methods: {
// 添加文章
addArticle: function () {
this.subArticleList.push({
basicTitle: '新增文章标题',
basicThumbnailsl: 'https://img03.sogoucdn.com/app/a/100520091/20190125113148'
})
},
// 计算剩余字数
resetWordNum:function(type){
}
},
mounted: function () {
let that = this;
//富文本加载
var URL = window.UEDITOR_HOME_URL || "http://mpm.mingsoft.net/static/plugins/ueditor/1.4.3.1/";
if (this.editor == null) {
this.editor = UE.getEditor('ueditorArticle', {
toolbars: [
['fullscreen', 'undo', 'redo', '|', 'bold', 'italic', 'underline',
'strikethrough',
'removeformat', 'blockquote',
'|', 'forecolor', 'backcolor', 'insertorderedlist',
'insertunorderedlist', '|', 'attachment', 'simpleupload', 'link'
]
],
imageScaleEnabled: true,
// 服务器统一请求接口路径
serverUrl: URL +
"jsp/msController.jsp?jsonConfig=%7BvideoUrlPrefix:'http://mpm.mingsoft.net/',fileUrlPrefix:'http://mpm.mingsoft.net/',imageUrlPrefix:'http://mpm.mingsoft.net/',imagePathFormat:'/upload/pm/editor/%7Btime%7D',filePathFormat:'/upload/pm/editor/%7Btime%7D',videoPathFormat:'/upload/pm/editor/%7Btime%7D'%7D",
autoHeightEnabled: true,
autoFloatEnabled: true,
scaleEnabled: false,
compressSide: 0,
maxImageSideLength: 2000,
maximumWords: 80000,
zIndex: 10000,
elementPathEnabled: false,
wordCount: false,
initialFrameWidth: '100%',
initialFrameHeight: 500,
});
this.editor.ready(function () {
var a = $("#ueditor_0").contents()[0].activeElement;
$(a).addClass("ms-webkit-scrollbar").before(
"<style>.ms-webkit-scrollbar::-webkit-scrollbar,::-webkit-scrollbar{width:10px;/*滚动条宽度*/height:1.5%;/*滚动条高度*/}/*定义滚动条轨道内阴影+圆角*/.ms-webkit-scrollbar::-webkit-scrollbar-track,::-webkit-scrollbar-track{border-radius:10px;/*滚动条的背景区域的圆角*/background-color:#eeeeee;/*滚动条的背景颜色*/}.ms-task-content::-webkit-scrollbar-track{border-radius:10px;background-color:#FFFFFF;}/*定义滑块内阴影+圆角*/.ms-webkit-scrollbar::-webkit-scrollbar-thumb,::-webkit-scrollbar-thumb{border-radius:10px;/*滚动条的圆角*/background-color:#dddddd;/*滚动条的背景颜色*/}</style>"
);
});
}
}
})
</script>
\ No newline at end of file
<!-- 关键词回复 --> <!-- 关键词回复 -->
<link rel="stylesheet" href="../../../../static/mweixin/css/keyword-reply.css"> <link rel="stylesheet" href="../../../../static/mweixin/css/keyword-reply.css">
<div id="keyword-reply" class="keyword-reply ms-container ms-weixin-content" v-if="menuVue.menuActive == '关键词表单'"> <div id="keyword-reply" class="keyword-reply ms-weixin-content" v-if="menuVue.menuActive == '关键词表单'">
<el-form :model="keywordReplyForm" status-icon :rules="keywordReplyFormRules" ref="keywordReplyForm" label-width="100px"> <el-container>
<el-form-item label="关键词" prop="keyword" class="ms-keyword-input"> <el-header class="ms-header" height="50px">
<el-row type='flex' justify='space-between' align='center'> <el-row>
<el-col :span='12'> <el-button class="ms-fr" size="small" icon="el-icon-arrow-left" @click="menuVue.menuActive = '关键词回复'">返回</el-button>
<el-input placeholder="请输入内容" v-model="keywordReplyForm.keyword" class="input-with-select" size='mini' maxlength='30' @input='resetWord'> <el-button class="ms-fr" size="small" icon="el-icon-refresh">重置</el-button>
<el-select v-model="keywordReplyForm.select" slot="prepend" placeholder="请选择"> <el-button class="ms-fr" type="success" size="small" icon="el-icon-tickets" @click="menuVue.menuActive = '关键词回复'">保存</el-button>
<el-option label="模糊匹配" value="1"></el-option>
<el-option label="全匹配" value="2"></el-option>
</el-select>
<span slot='suffix' v-text="wordNumber+'/30'"></span>
</el-input>
</el-col>
<el-col>
<i class="el-icon-plus" @click='addKeyWord'></i>
</el-col>
</el-row> </el-row>
</el-form-item> </el-header>
<el-form-item class="ms-keyword-reply-content" label="回复内容"> <el-main class="ms-container" width="100%">
<el-tabs v-model="activeName" @tab-click="" class="keyword-reply-tabs"> <el-form :model="keywordReplyForm" status-icon :rules="keywordReplyFormRules" ref="keywordReplyForm" label-width="100px">
<el-tab-pane label="文字" name="text"> <el-form-item label="关键词" prop="keyword" class="ms-keyword-input">
<el-input type="textarea" v-model="keywordReplyForm.reply" :autosize="{ minRows: 4, maxRows: 4}" resize='none'> <el-row type='flex' justify='space-between' align='center'>
</el-input> <el-col :span='12'>
<i class="el-icon-delete" @click="keywordReplyForm.reply = ''"></i> <el-input placeholder="请输入内容" v-model="keywordReplyForm.keyword" class="input-with-select" size='mini' maxlength='30' @input='resetWord'>
<div class="footer"> <el-select v-model="keywordReplyForm.select" slot="prepend" placeholder="请选择">
<i class="el-icon-star-off"></i> <el-option label="模糊匹配" value="1"></el-option>
<a>插入超链接</a> <el-option label="全匹配" value="2"></el-option>
</div> </el-select>
</el-tab-pane> <span slot='suffix' v-text="wordNumber+'/30'"></span>
<el-tab-pane label="图片" name="picture"> </el-input>
</el-tab-pane> </el-col>
<el-tab-pane label="图文" name="article"> <el-col>
</el-tab-pane> <i class="el-icon-plus" @click='addKeyWord'></i>
</el-tabs> </el-col>
</el-form-item> </el-row>
</el-form> </el-form-item>
<el-form-item class="ms-keyword-reply-content" label="回复内容">
<el-tabs v-model="activeName" @tab-click="" class="keyword-reply-tabs">
<el-tab-pane label="文字" name="text">
<el-input type="textarea" v-model="keywordReplyForm.reply" :autosize="{ minRows: 4, maxRows: 4}" resize='none'>
</el-input>
<i class="el-icon-delete" @click="keywordReplyForm.reply = ''"></i>
<div class="footer">
<i class="el-icon-star-off"></i>
<a>插入超链接</a>
</div>
</el-tab-pane>
<el-tab-pane label="图片" name="picture">
</el-tab-pane>
<el-tab-pane label="图文" name="article">
</el-tab-pane>
</el-tabs>
</el-form-item>
</el-form>
</el-main>
</el-container>
</div> </div>
<script> <script>
......
<!-- 关键字列表 --> <!-- 关键字列表 -->
<link rel="stylesheet" href="../../../../static/mweixin/css/keyword-list.css"> <link rel="stylesheet" href="../../../../static/mweixin/css/keyword-list.css">
<div id="keyword-list" class="keyword-list ms-container ms-weixin-content" v-if="menuVue.menuActive == '关键词回复'"> <div id="keyword-list" class="keyword-list ms-weixin-content" v-if="menuVue.menuActive == '关键词回复'">
<el-table :data="tableData" border style="width: 100%"> <el-container>
<el-table-column prop="date" label="规则名" width="180" align='center'> <!--右侧头部-->
</el-table-column> <el-header class="ms-header" height="50px">
<el-table-column prop="name" label="关键词" width="180" align='center'> <el-row>
</el-table-column> <el-button type="primary" size="small" icon="el-icon-plus" @click="menuVue.menuActive = '关键词表单'">添加</el-button>
<el-table-column prop="address" label="消息回复类型" align='center'> <el-button class="ms-fr" size="small" icon="el-icon-refresh">重置</el-button>
</el-table-column> </el-row>
<el-table-column prop="address" label="发送对象" align='center'> </el-header>
</el-table-column> <el-container>
<el-table-column prop="address" label="回复方式" align='center'> <!--内容头部-->
</el-table-column> <el-header class="ms-tr ms-header">
</el-table> <el-input size="medium" placeholder="请输入内容" suffix-icon="el-icon-search">
</el-input>
</el-header>
<!--素材列表-->
<el-main class="ms-admin-picture-list ms-container">
<el-table :data="tableData" border style="width: 100%">
<el-table-column prop="date" label="规则名" width="180" align='center'>
</el-table-column>
<el-table-column prop="name" label="关键词" width="180" align='center'>
</el-table-column>
<el-table-column prop="address" label="消息回复类型" align='center'>
</el-table-column>
<el-table-column prop="address" label="发送对象" align='center'>
</el-table-column>
<el-table-column prop="address" label="回复方式" align='center'>
</el-table-column>
</el-table>
</el-main>
</el-container>
</el-container>
</div> </div>
<script> <script>
......
...@@ -52,10 +52,7 @@ ...@@ -52,10 +52,7 @@
}, { }, {
title: '关键词回复' title: '关键词回复'
}] }]
},{ }], //左侧导航列表
title:'新建图文'
}
], //左侧导航列表
menuActive: '图文', //选中 menuActive: '图文', //选中
} }
}) })
......
...@@ -2,55 +2,64 @@ ...@@ -2,55 +2,64 @@
<link rel="stylesheet" href="../../../../static/mweixin/css/custom-menu.css"> <link rel="stylesheet" href="../../../../static/mweixin/css/custom-menu.css">
<div id="custom-menu" class="ms-custom-menu ms-weixin-content" v-if="menuVue.menuActive == '自定义菜单'"> <div id="custom-menu" class="ms-custom-menu ms-weixin-content" v-if="menuVue.menuActive == '自定义菜单'">
<el-container class="ms-custom-container"> <el-container class="ms-custom-container">
<el-aside> <el-header class="ms-header" height="50px">
<el-container> <el-row>
<el-header>公众号</el-header> <el-button type="danger" size="small" icon="el-icon-delet">删除</el-button>
<el-main></el-main> <el-button class="ms-fr" size="small" icon="el-icon-refresh">重置</el-button>
<el-footer> <el-button type="success" class="ms-fr" size="small" icon="el-icon-tickets">保存</el-button>
<el-button icon="el-icon-date"></el-button> </el-row>
<div class="ms-create-menu"> </el-header>
<div class="ms-create-sub-menu"> <el-container class="ms-container">
<el-button type="primary" @click='addSubMenuShow = !addSubMenuShow'>新建菜单</el-button> <el-aside>
<el-button icon="el-icon-plus" v-show='addSubMenuShow'></el-button> <el-container>
<el-header>公众号</el-header>
<el-main></el-main>
<el-footer>
<el-button icon="el-icon-date"></el-button>
<div class="ms-create-menu">
<div class="ms-create-sub-menu">
<el-button type="primary" @click='addSubMenuShow = !addSubMenuShow'>新建菜单</el-button>
<el-button icon="el-icon-plus" v-show='addSubMenuShow'></el-button>
</div>
<el-button icon="el-icon-plus"></el-button>
</div> </div>
<el-button icon="el-icon-plus"></el-button> </el-footer>
</el-container>
</el-aside>
<el-main>
<el-card class="custom-menu-card" shadow="never">
<div slot="header" class="clearfix">
<span>新建菜单</span>
</div> </div>
</el-footer> <el-form ref="customMenuForm" :rule='customMenuFormRules' :model="customMenuForm" label-width="80px">
</el-container> <el-form-item label="菜单名称" prop='name' class="ms-custom-menu-name">
</el-aside> <el-input v-model="customMenuForm.name" size='mini'></el-input>
<el-main> <span>菜单名称字数不多于5个汉字或10个字母</span>
<el-card class="custom-menu-card" shadow="never"> </el-form-item>
<div slot="header" class="clearfix"> <el-form-item label="菜单内容" class="ms-custom-menu-content">
<span>新建菜单</span> <el-tabs v-model="activeName" @tab-click="">
</div> <el-tab-pane label="图片" name="picture">
<el-form ref="customMenuForm" :rule='customMenuFormRules' :model="customMenuForm" label-width="80px"> <span slot="label">
<el-form-item label="菜单名称" prop='name' class="ms-custom-menu-name"> <i class="el-icon-picture"></i>图片</span>
<el-input v-model="customMenuForm.name" size='mini'></el-input> <div onclick="materialBankFormVue.open()">
<span>菜单名称字数不多于5个汉字或10个字母</span> <i class="el-icon-picture-outline"></i>
</el-form-item> <span>从素材库选择</span>
<el-form-item label="菜单内容" class="ms-custom-menu-content"> </div>
<el-tabs v-model="activeName" @tab-click=""> <div onclick="newPicFormVue.open()">
<el-tab-pane label="图片" name="picture"> <i class="el-icon-plus"></i>
<span slot="label"> <span>新建图片</span>
<i class="el-icon-picture"></i>图片</span> </div>
<div onclick="materialBankFormVue.open()"> </el-tab-pane>
<i class="el-icon-picture-outline"></i> <el-tab-pane label="图文管理" name="article">
<span>从素材库选择</span> <span slot="label">
</div> <i class="el-icon-picture"></i>图文管理</span>
<div onclick="newPicFormVue.open()"> </el-tab-pane>
<i class="el-icon-plus"></i> </el-tabs>
<span>新建图片</span> </el-form-item>
</div> </el-form>
</el-tab-pane> </el-card>
<el-tab-pane label="图文管理" name="article"> </el-main>
<span slot="label"> </el-container>
<i class="el-icon-picture"></i>图文管理</span>
</el-tab-pane>
</el-tabs>
</el-form-item>
</el-form>
</el-card>
</el-main>
</el-container> </el-container>
</div> </div>
<script> <script>
...@@ -78,7 +87,7 @@ ...@@ -78,7 +87,7 @@
activeName: 'picture' activeName: 'picture'
}, },
methods: { methods: {
} }
}) })
......
<!-- 消息回复 && 关注回复 --> <!-- 消息回复 && 关注回复 -->
<link rel="stylesheet" href="../../../../static/mweixin/css/message-reply.css"> <link rel="stylesheet" href="../../../../static/mweixin/css/message-reply.css">
<div id="message-reply" class="ms-message-reply ms-container ms-weixin-content" v-if="menuVue.menuActive == '消息回复'||menuVue.menuActive == '关注时回复'"> <div id="message-reply" class="ms-message-reply ms-weixin-content" v-if="menuVue.menuActive == '消息回复'||menuVue.menuActive == '关注时回复'">
<div>回复内容</div> <el-container class="ms-admin-message-reply">
<el-tabs v-model="activeName" @tab-click="" class="message-reply-tabs"> <el-header class="ms-header" height="50px">
<el-tab-pane label="文字" name="text"> <el-row>
<el-form ref="messageReplyForm" :rules='messageReplyFormRules' :model="messageReplyForm"> <el-button class="ms-fr" size="small" icon="el-icon-refresh">重置</el-button>
<el-form-item class="ms-message-reply-content"> <el-button type="success" class="ms-fr" size="small" icon="el-icon-tickets">保存</el-button>
<el-input type="textarea" v-model="messageReplyForm.reply" :autosize="{ minRows: 4, maxRows: 4}" resize='none'> </el-row>
</el-input> </el-header>
<i class="el-icon-delete" @click="messageReplyForm.reply = ''"></i> <el-container>
<div class="footer"> <el-header class="ms-tr ms-header">
<i class="el-icon-star-off"></i> <el-input size="medium" placeholder="请输入内容" suffix-icon="el-icon-search">
<a>插入超链接</a> </el-input>
</div> </el-header>
</el-form-item> <em-main class="ms-container">
</el-form> <div>回复内容</div>
</el-form> <el-tabs v-model="activeName" @tab-click="" class="message-reply-tabs">
</el-tab-pane> <el-tab-pane label="文字" name="text">
<el-tab-pane label="图片" name="picture"> <el-form ref="messageReplyForm" :rules='messageReplyFormRules' :model="messageReplyForm">
</el-tab-pane> <el-form-item class="ms-message-reply-content">
<el-tab-pane label="图文" name="article"> <el-input type="textarea" v-model="messageReplyForm.reply" :autosize="{ minRows: 4, maxRows: 4}" resize='none'>
</el-tab-pane> </el-input>
</el-tabs> <i class="el-icon-delete" @click="messageReplyForm.reply = ''"></i>
<div class="footer">
<i class="el-icon-star-off"></i>
<a>插入超链接</a>
</div>
</el-form-item>
</el-form>
</el-form>
</el-tab-pane>
<el-tab-pane label="图片" name="picture">
</el-tab-pane>
<el-tab-pane label="图文" name="article">
</el-tab-pane>
</el-tabs>
</em-main>
</el-container>
</el-container>
</div> </div>
<script> <script>
var messageReplyVue = new Vue({ var messageReplyVue = new Vue({
......
<!-- 新建图文 -->
<link rel="stylesheet" href="../../../../static/mweixin/css/article.css">
<div id='article' class="ms-article" v-show="menuVue.menuActive == '新建图文'">
<el-container class="ms-admin-picture">
<!--右侧头部-->
<el-header class="ms-header" height="50px">
<el-row>
<el-button class="ms-fr" size="small" icon="el-icon-arrow-left" @click="menuVue.menuActive = '关键词回复'">返回</el-button>
<el-button class="ms-fr" size="small" icon="el-icon-refresh">更新</el-button>
<el-button class="ms-fr" type="success" size="small" icon="el-icon-tickets" @click="menuVue.menuActive = '关键词回复'">保存</el-button>
</el-row>
</el-header>
<el-container class=" ms-container">
<el-aside width="280px">
<div class="ms-main-article">
<img :src='mainArticle.basicPic'>
<div class="ms-main-article-mask"></div>
<span v-text='mainArticle.basicTitle'></span>
</div>
<draggable v-model="subArticleList" :options="{draggable:'.ms-article-item'}">
<div v-for="(element,index) in subArticleList" :key="index" class="ms-article-item">
<p>
<span v-text='element.basicTitle'></span>
</p>
<img :src='element.basicThumbnailsl'>
</div>
</draggable>
<div class="ms-article-footer">
<el-button size='medium' icon='el-icon-plus' @click='addArticle'>添加图文</el-button>
</div>
</el-aside>
<el-main>
<div class="ms-main-header">
<el-upload class="ms-pic-upload" :show-file-list="false">
<img v-if="false" :src="false" class="avatar">
<i v-else class="el-icon-picture"></i>
<span>添加封面</span>
</el-upload>
<el-form label-width='40px'>
<el-form-item label="标题" prop="">
<el-input size='small' placeholder="请输入图文标题" v-model='articleForm.basicTitle' @input="resetWordNum('title')">
<span slot='suffix' v-text="titleWordNumber+'/64'"></span>
</el-input>
</el-form-item>
<el-form-item label="作者" prop="">
<el-input size='small' placeholder="请输入图文作者" v-model='articleForm.articleAuthor' @input="resetWordNum('author')">
<span slot='suffix' v-text="authorWordNumber+'/8'"></span>
</el-input>
</el-form-item>
<el-form-item label="摘要" prop="">
<el-input size='small' type='textarea' placeholder="选填,如果不写会默认抓取正文前54个字" :autosize="{ minRows: 2, maxRows: 2}" resize='none' v-model='articleForm.basicDescription' @input="resetWordNum('desc')">
<span slot='suffix' v-text="descWordNumber+'/54'"></span>
</el-input>
</el-form-item>
</el-form>
</div>
<div class="ms-main-body">
<!-- 百度编辑器 -->
<script id="ueditorArticle" type="text/plain" name="articleContent"></script>
</div>
</el-main>
</el-container>
</el-container>
</div>
<script>
var articleVue = new Vue({
el: '#article',
data: {
mainArticle: {
basicPic: 'https://img03.sogoucdn.com/app/a/100520091/20190125112329', //主图
basicTitle: '国足0-3不敌伊朗被淘汰,赛后还有一个消息', //标题
},
// 文章列表
subArticleList: [{
basicTitle: '硬核!年会当着老板面唱,“干活的干不过写PPT的……',
basicThumbnailsl: 'https://img01.sogoucdn.com/app/a/100520091/20190125112509'
}, {
basicTitle: '知否知否,党组织犯错,处理有多严?',
basicThumbnailsl: 'https://img01.sogoucdn.com/app/a/100520091/20190125112509'
}, {
basicTitle: '没有奇迹,国足0-3不敌伊朗止步八强!',
basicThumbnailsl: 'https://img03.sogoucdn.com/app/a/100520091/20190125113148'
}],
titleWordNumber: 64, //图文标题剩余字数
authorWordNumber: 8, //图文作者剩余字数
descWordNumber: 54, //摘要
editor: null, //富文本实例
articleForm: {
basicTitle: '', //标题
articleAuthor: '', //作者
basicDescription: '', //摘要
articleContent: '', //正文
}
},
methods: {
// 添加文章
addArticle: function() {
if(this.subArticleList.length > 6) {
this.$notify({
title: '添加失败',
message: '最大图文数量为7',
type: 'warning'
});
return;
}
this.subArticleList.push({
basicTitle: '新增文章标题',
basicThumbnailsl: 'https://img03.sogoucdn.com/app/a/100520091/20190125113148'
})
},
// 计算剩余字数
resetWordNum: function(type) {
}
},
mounted: function() {
let that = this;
//富文本加载
var URL = window.UEDITOR_HOME_URL || "http://mpm.mingsoft.net/static/plugins/ueditor/1.4.3.1/";
if(this.editor == null) {
this.editor = UE.getEditor('ueditorArticle', {
toolbars: [
['fullscreen', 'undo', 'redo', '|', 'bold', 'italic', 'underline',
'strikethrough',
'removeformat', 'blockquote',
'|', 'forecolor', 'backcolor', 'insertorderedlist',
'insertunorderedlist', '|', 'attachment', 'simpleupload', 'link'
]
],
imageScaleEnabled: true,
// 服务器统一请求接口路径
serverUrl: URL +
"jsp/msController.jsp?jsonConfig=%7BvideoUrlPrefix:'http://mpm.mingsoft.net/',fileUrlPrefix:'http://mpm.mingsoft.net/',imageUrlPrefix:'http://mpm.mingsoft.net/',imagePathFormat:'/upload/pm/editor/%7Btime%7D',filePathFormat:'/upload/pm/editor/%7Btime%7D',videoPathFormat:'/upload/pm/editor/%7Btime%7D'%7D",
autoHeightEnabled: true,
autoFloatEnabled: true,
scaleEnabled: false,
compressSide: 0,
maxImageSideLength: 2000,
maximumWords: 80000,
zIndex: 10000,
elementPathEnabled: false,
wordCount: false,
initialFrameWidth: '100%',
initialFrameHeight: 500,
});
this.editor.ready(function() {
var a = $("#ueditor_0").contents()[0].activeElement;
$(a).addClass("ms-webkit-scrollbar").before(
"<style>.ms-webkit-scrollbar::-webkit-scrollbar,::-webkit-scrollbar{width:10px;/*滚动条宽度*/height:1.5%;/*滚动条高度*/}/*定义滚动条轨道内阴影+圆角*/.ms-webkit-scrollbar::-webkit-scrollbar-track,::-webkit-scrollbar-track{border-radius:10px;/*滚动条的背景区域的圆角*/background-color:#eeeeee;/*滚动条的背景颜色*/}.ms-task-content::-webkit-scrollbar-track{border-radius:10px;background-color:#FFFFFF;}/*定义滑块内阴影+圆角*/.ms-webkit-scrollbar::-webkit-scrollbar-thumb,::-webkit-scrollbar-thumb{border-radius:10px;/*滚动条的圆角*/background-color:#dddddd;/*滚动条的背景颜色*/}</style>"
);
});
}
}
})
</script>
\ No newline at end of file
...@@ -3,9 +3,9 @@ ...@@ -3,9 +3,9 @@
<div id="material-list-vue" v-if="menuVue.menuActive == '图文'" class="ms-weixin-content"> <div id="material-list-vue" v-if="menuVue.menuActive == '图文'" class="ms-weixin-content">
<el-container> <el-container>
<!--右侧头部--> <!--右侧头部-->
<el-header class="ms-header" height="52px"> <el-header class="ms-header" height="50px">
<el-row> <el-row>
<el-button type="primary" size="small" icon="el-icon-plus">添加</el-button> <el-button type="primary" size="small" icon="el-icon-plus" @click="menuVue.menuActive = '新建图文'">添加</el-button>
<el-button class="ms-fr" size="small" icon="el-icon-refresh">刷新</el-button> <el-button class="ms-fr" size="small" icon="el-icon-refresh">刷新</el-button>
<el-button class="ms-fr" size="small">同步微信素材</el-button> <el-button class="ms-fr" size="small">同步微信素材</el-button>
</el-row> </el-row>
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
<p v-text="material.det"></p> <p v-text="material.det"></p>
</div> </div>
<div class="footer"> <div class="footer">
<i class="el-icon-edit"></i> <i class="el-icon-edit" @click="menuVue.menuActive = '新建图文'"></i>
<em></em> <em></em>
<i class="el-icon-delete"></i> <i class="el-icon-delete"></i>
</div> </div>
......
<!--图文素材页--> <!--图文素材页-->
<link rel="stylesheet" href="../../../static/mweixin/css/picture-list.css"> <link rel="stylesheet" href="../../../static/mweixin/css/picture-list.css">
<div id="picture-list-vue" v-if="menuVue.menuActive == '图片'" class="ms-weixin-content"> <div id="picture-list-vue" v-if="menuVue.menuActive == '图片'" class="ms-weixin-content">
<el-container> <el-container class="ms-admin-picture">
<!--右侧头部--> <!--右侧头部-->
<el-header class="ms-header" height="52px"> <el-header class="ms-header" height="50px">
<el-row> <el-row>
<el-button type="primary" size="small" icon="el-icon-plus">添加</el-button> <el-button type="primary" size="small" icon="el-icon-plus">添加</el-button>
<el-button class="ms-fr" size="small" icon="el-icon-refresh">刷新</el-button> <el-button class="ms-fr" size="small" icon="el-icon-refresh">刷新</el-button>
...@@ -25,22 +25,42 @@ ...@@ -25,22 +25,42 @@
</el-header> </el-header>
<!--素材列表--> <!--素材列表-->
<el-main class="ms-admin-picture-list"> <el-main class="ms-admin-picture-list">
<div class="ms-admin-picture-item" v-for="picture in pictureList"> <el-container>
<div class="body"> <el-aside class="ms-admin-picture-item">
<img :src="picture.img" /> <div v-for="picture in pictureList">
<div class="body">
<img :src="picture.img" />
<div>
<input type="checkbox" />
<span v-text="picture.title"></span>
</div>
</div>
<div class="footer">
<i class="el-icon-edit"></i>
<em></em>
<i class="el-icon-download"></i>
<em></em>
<i class="el-icon-delete"></i>
</div>
</div>
</el-aside>
<el-main class="ms-admin-picture-show">
<span>全部图片(6)</span>
<div>
<span>小米(1)</span>
<i class="el-icon-edit"></i>
<i class="el-icon-delete"></i>
</div>
<div> <div>
<input type="checkbox" /> <span>小米(1)</span>
<span v-text="picture.title"></span> <i class="el-icon-edit"></i>
<i class="el-icon-delete"></i>
</div> </div>
</div> <p>
<div class="footer"> <i class="el-icon-plus"></i>新建分组</p>
<i class="el-icon-edit"></i> </el-main>
<em></em> </el-container>
<i class="el-icon-delete"></i>
<em></em>
<i class="el-icon-delete"></i>
</div>
</div>
</el-main> </el-main>
</el-container> </el-container>
</el-container> </el-container>
......
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
<body> <body>
<!--#include virtual="menu.ftl" --> <!--#include virtual="menu.ftl" -->
<!--#include virtual="metarial/index.ftl" --> <!--#include virtual="metarial/index.ftl" -->
<!--#include virtual="metarial/form.ftl" -->
<!--#include virtual="picture/index.ftl" --> <!--#include virtual="picture/index.ftl" -->
<!--#include virtual="keyword/index.ftl" --> <!--#include virtual="keyword/index.ftl" -->
<!--#include virtual="keyword/form.ftl" --> <!--#include virtual="keyword/form.ftl" -->
...@@ -16,6 +17,5 @@ ...@@ -16,6 +17,5 @@
<!--#include virtual="menu/new-pic-form.ftl" --> <!--#include virtual="menu/new-pic-form.ftl" -->
<!--#include virtual="menu/material-bank-form.ftl" --> <!--#include virtual="menu/material-bank-form.ftl" -->
<!--#include virtual="message/index.ftl" --> <!--#include virtual="message/index.ftl" -->
<!--#include virtual="article/index.ftl" -->
</body> </body>
</html> </html>
\ No newline at end of file
...@@ -94,9 +94,6 @@ textarea::-webkit-input-placeholder { ...@@ -94,9 +94,6 @@ textarea::-webkit-input-placeholder {
.ms-tr { .ms-tr {
text-align: right; text-align: right;
} }
.el-button + .el-button {
margin-left: 0;
}
.ms-weixin-content { .ms-weixin-content {
width: calc(100% - 140px); width: calc(100% - 140px);
} }
......
...@@ -65,7 +65,7 @@ textarea::-webkit-input-placeholder { ...@@ -65,7 +65,7 @@ textarea::-webkit-input-placeholder {
.ms-container { .ms-container {
margin: 12px; margin: 12px;
height: ~'calc(100% - 24px)'; height: ~'calc(100% - 24px)';
padding: 14px 14px 0 14px; padding: 14px;
background: #fff; background: #fff;
} }
...@@ -74,7 +74,10 @@ textarea::-webkit-input-placeholder { ...@@ -74,7 +74,10 @@ textarea::-webkit-input-placeholder {
margin: 0; margin: 0;
border-bottom: 1px solid #ddd; border-bottom: 1px solid #ddd;
background: #fff; background: #fff;
height: 50px height: 50px;
button{
height: 30px;
}
} }
.ms-pagination { .ms-pagination {
...@@ -91,7 +94,7 @@ textarea::-webkit-input-placeholder { ...@@ -91,7 +94,7 @@ textarea::-webkit-input-placeholder {
} }
.el-button+.el-button { .el-button+.el-button {
margin-left: 0 // margin-left: 0
} }
.ms-weixin-content{ .ms-weixin-content{
...@@ -113,4 +116,14 @@ textarea::-webkit-input-placeholder { ...@@ -113,4 +116,14 @@ textarea::-webkit-input-placeholder {
border-top: 1px solid @borderColor; border-top: 1px solid @borderColor;
padding: 15px !important; padding: 15px !important;
} }
} }
\ No newline at end of file
//选中样式
.ms-hover{
cursor: pointer;
&:hover{
color: @themeColor;
background: #fff;
border-color: @themeColor;
}
}
/*
*这里的值严格按照UI设计图标注值来进行设置
*/
/*
*颜色
*/
/*
*页面的边距
*/
/*
*字体
*/
/*
*头像
*/
/*
* 按钮
*/
/*
*对常见的多行样式进行了方法封装,方便调用,加快开发效率
*/
html,
body {
min-height: 100vh;
width: 100vw;
background-color: #eee;
margin: 0;
display: flex;
font-weight: initial !important;
font-size: 14px !important;
color: #333 !important;
}
html *,
body * {
text-decoration: none !important;
font-family: Verdana, Arial, Helvetica, sans-serif;
box-sizing: border-box;
}
.ms-ellipsis {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
display: block;
}
.ms-align-center {
display: flex;
align-items: center;
}
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
font-weight: initial;
font-size: 12px;
color: #aaa;
resize: none;
}
*::-webkit-scrollbar {
width: 8px;
height: 8px;
}
/*定义滚动条轨道 内阴影+圆角*/
*::-webkit-scrollbar-track {
border-radius: 10px;
/*滚动条的背景区域的圆角*/
background-color: #eee;
/*滚动条的背景颜色*/
}
/*定义滑块 内阴影+圆角*/
*::-webkit-scrollbar-thumb {
border-radius: 10px;
/*滚动条的圆角*/
background-color: #ddd;
/*滚动条的背景颜色*/
}
.ms-container {
margin: 12px;
height: calc(100% - 24px);
padding: 14px;
background: #fff;
}
.ms-header {
padding: 10px;
margin: 0;
border-bottom: 1px solid #ddd;
background: #fff;
height: 50px;
}
.ms-header button {
height: 30px;
}
.ms-pagination {
padding: 20px 0;
text-align: right;
}
.ms-fr {
float: right;
}
.ms-tr {
text-align: right;
}
.ms-weixin-content {
width: calc(100% - 140px);
}
.ms-weixin-dialog .el-dialog__header {
height: 55px;
box-sizing: border-box;
padding: 10px 10px 25px 10px;
border-bottom: 1px solid #ddd;
}
.ms-weixin-dialog .el-dialog__header .el-dialog__title {
font-weight: bold;
font-size: 14px;
color: #333;
}
.ms-weixin-dialog .el-dialog__footer {
border-top: 1px solid #ddd;
padding: 15px !important;
}
.ms-hover {
cursor: pointer;
}
.ms-hover:hover {
color: #0099ff;
background: #fff;
border-color: #0099ff;
}
.login {
width: 100vw;
height: 100vh;
}
.login .ms-admin-login-container {
height: 100%;
background: url('../images/login-bg.jpg') center no-repeat;
background-size: cover;
}
.login .ms-admin-login-container .ms-admin-login-main {
display: flex;
justify-content: center;
align-items: center;
}
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp {
display: flex;
justify-content: center;
align-items: center;
width: 680px;
height: 320px;
}
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp > img {
flex: 1;
display: inline-block;
}
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp .ms-admin-login-form {
flex: 1;
height: 320px;
background: #fff;
padding: 39px 54px;
}
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp .ms-admin-login-form h1 {
line-height: 1;
font-weight: initial;
font-size: 12px;
color: #999999;
margin: 0 0 30px 0;
}
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp .ms-admin-login-form h1 span {
font-weight: initial;
font-size: 16px;
color: #0099ff;
}
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp .ms-admin-login-form .ms-admin-form-item {
margin-bottom: 12px;
}
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp .ms-admin-login-form .ms-admin-form-item > div {
margin-left: 0 !important;
}
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp .ms-admin-login-form .ms-admin-form-item .el-form-item__content,
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp .ms-admin-login-form .ms-admin-form-item .el-input,
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp .ms-admin-login-form .ms-admin-form-item input {
height: 34px !important;
line-height: 34px !important;
}
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp .ms-admin-login-form .ms-admin-form-item-code .el-form-item__content {
display: flex;
justify-content: space-between;
}
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp .ms-admin-login-form .ms-admin-form-item-code .el-form-item__content .el-input__inner,
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp .ms-admin-login-form .ms-admin-form-item-code .el-form-item__content .el-input {
width: 110px;
}
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp .ms-admin-login-form .ms-admin-form-item-code .el-form-item__content > img {
width: 66px;
height: 34px;
margin: 0 6px;
}
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp .ms-admin-login-form .ms-admin-form-item-code .el-form-item__content p {
display: flex;
justify-content: space-between;
line-height: 1;
flex-direction: column;
margin: 0;
}
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp .ms-admin-login-form .ms-admin-form-item-code .el-form-item__content p span:nth-of-type(1) {
font-weight: initial;
font-size: 10px;
color: #999999;
}
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp .ms-admin-login-form .ms-admin-form-item-code .el-form-item__content p span:nth-of-type(2) {
font-weight: initial;
font-size: 10px;
color: #0099ff;
}
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp .ms-admin-login-form .ms-admin-form-item-checkout .el-form-item__content,
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp .ms-admin-login-form .ms-admin-form-item-checkout .el-input,
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp .ms-admin-login-form .ms-admin-form-item-checkout input {
height: auto !important;
line-height: 1px !important;
}
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp .ms-admin-login-form .ms-admin-login-btn {
width: 100%;
height: 34px;
line-height: 5px;
}
...@@ -2,10 +2,10 @@ ...@@ -2,10 +2,10 @@
// 登录 // 登录
.login{ .login{
.ms-width-height(100vw,100vh); .ms-width-height(100vw,100vh);
.ms-admin-login-container{ .ms-admin-login-container{
height: 100%; height: 100%;
background: url('../images/login-bg.jpg') center no-repeat; background: url('../images/login-bg.jpg') center no-repeat;
background-size:cover; background-size:cover;
.ms-admin-login-main{ .ms-admin-login-main{
.ms-flex(center); .ms-flex(center);
align-items: center; align-items: center;
......
...@@ -6,11 +6,15 @@ ...@@ -6,11 +6,15 @@
background: transparent !important; background: transparent !important;
padding: 0 !important; padding: 0 !important;
.el-container { .el-container {
.ms-container {
padding: 0;
background: transparent;
align-items: flex-start;
}
// 侧边 // 侧边
.el-aside { .el-aside {
padding: 14px; padding: 14px;
background: #fff; background: #fff;
height: 475px;
// 主文章 // 主文章
.ms-main-article { .ms-main-article {
position: relative; position: relative;
...@@ -45,7 +49,7 @@ ...@@ -45,7 +49,7 @@
span { span {
width: 100%; width: 100%;
display: inline-block; display: inline-block;
.ms-ellipsis-clamp(1); .ms-ellipsis-clamp(2);
} }
} }
img { img {
...@@ -116,7 +120,8 @@ ...@@ -116,7 +120,8 @@
.ms-main-body { .ms-main-body {
height: calc(~'100% - 180px'); height: calc(~'100% - 180px');
background: #fff; background: #fff;
.edui-default{ .edui-default {
border: none;
.edui-editor { .edui-editor {
.edui-editor-toolbarboxouter { .edui-editor-toolbarboxouter {
background-color: none !important; background-color: none !important;
......
...@@ -74,7 +74,7 @@ textarea::-webkit-input-placeholder { ...@@ -74,7 +74,7 @@ textarea::-webkit-input-placeholder {
.ms-container { .ms-container {
margin: 12px; margin: 12px;
height: calc(100% - 24px); height: calc(100% - 24px);
padding: 14px 14px 0 14px; padding: 14px;
background: #fff; background: #fff;
} }
.ms-header { .ms-header {
...@@ -84,6 +84,9 @@ textarea::-webkit-input-placeholder { ...@@ -84,6 +84,9 @@ textarea::-webkit-input-placeholder {
background: #fff; background: #fff;
height: 50px; height: 50px;
} }
.ms-header button {
height: 30px;
}
.ms-pagination { .ms-pagination {
padding: 20px 0; padding: 20px 0;
text-align: right; text-align: right;
...@@ -94,9 +97,6 @@ textarea::-webkit-input-placeholder { ...@@ -94,9 +97,6 @@ textarea::-webkit-input-placeholder {
.ms-tr { .ms-tr {
text-align: right; text-align: right;
} }
.el-button + .el-button {
margin-left: 0;
}
.ms-weixin-content { .ms-weixin-content {
width: calc(100% - 140px); width: calc(100% - 140px);
} }
...@@ -115,6 +115,14 @@ textarea::-webkit-input-placeholder { ...@@ -115,6 +115,14 @@ textarea::-webkit-input-placeholder {
border-top: 1px solid #ddd; border-top: 1px solid #ddd;
padding: 15px !important; padding: 15px !important;
} }
.ms-hover {
cursor: pointer;
}
.ms-hover:hover {
color: #0099ff;
background: #fff;
border-color: #0099ff;
}
.ms-article { .ms-article {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
...@@ -122,10 +130,14 @@ textarea::-webkit-input-placeholder { ...@@ -122,10 +130,14 @@ textarea::-webkit-input-placeholder {
background: transparent !important; background: transparent !important;
padding: 0 !important; padding: 0 !important;
} }
.ms-article .el-container .ms-container {
padding: 0;
background: transparent;
align-items: flex-start;
}
.ms-article .el-container .el-aside { .ms-article .el-container .el-aside {
padding: 14px; padding: 14px;
background: #fff; background: #fff;
height: 475px;
} }
.ms-article .el-container .el-aside .ms-main-article { .ms-article .el-container .el-aside .ms-main-article {
position: relative; position: relative;
...@@ -136,7 +148,7 @@ textarea::-webkit-input-placeholder { ...@@ -136,7 +148,7 @@ textarea::-webkit-input-placeholder {
} }
.ms-article .el-container .el-aside .ms-main-article .ms-main-article-mask { .ms-article .el-container .el-aside .ms-main-article .ms-main-article-mask {
background: #000; background: #000;
opacity: .2; opacity: 0.2;
width: 100%; width: 100%;
height: 146px; height: 146px;
position: absolute; position: absolute;
...@@ -174,7 +186,7 @@ textarea::-webkit-input-placeholder { ...@@ -174,7 +186,7 @@ textarea::-webkit-input-placeholder {
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
display: -webkit-box; display: -webkit-box;
-webkit-line-clamp: 1; -webkit-line-clamp: 2;
-webkit-box-orient: vertical; -webkit-box-orient: vertical;
} }
.ms-article .el-container .el-aside .ms-article-item img { .ms-article .el-container .el-aside .ms-article-item img {
...@@ -257,6 +269,9 @@ textarea::-webkit-input-placeholder { ...@@ -257,6 +269,9 @@ textarea::-webkit-input-placeholder {
height: calc(100% - 180px); height: calc(100% - 180px);
background: #fff; background: #fff;
} }
.ms-article .el-container .el-main .ms-main-body .edui-default {
border: none;
}
.ms-article .el-container .el-main .ms-main-body .edui-default .edui-editor .edui-editor-toolbarboxouter { .ms-article .el-container .el-main .ms-main-body .edui-default .edui-editor .edui-editor-toolbarboxouter {
background-color: none !important; background-color: none !important;
background-image: none !important; background-image: none !important;
......
...@@ -50,7 +50,7 @@ input::-webkit-input-placeholder, ...@@ -50,7 +50,7 @@ input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder { textarea::-webkit-input-placeholder {
font-weight: initial; font-weight: initial;
font-size: 12px; font-size: 12px;
color: #999; color: #aaa;
resize: none; resize: none;
} }
*::-webkit-scrollbar { *::-webkit-scrollbar {
...@@ -84,6 +84,9 @@ textarea::-webkit-input-placeholder { ...@@ -84,6 +84,9 @@ textarea::-webkit-input-placeholder {
background: #fff; background: #fff;
height: 50px; height: 50px;
} }
.ms-header button {
height: 30px;
}
.ms-pagination { .ms-pagination {
padding: 20px 0; padding: 20px 0;
text-align: right; text-align: right;
...@@ -94,20 +97,43 @@ textarea::-webkit-input-placeholder { ...@@ -94,20 +97,43 @@ textarea::-webkit-input-placeholder {
.ms-tr { .ms-tr {
text-align: right; text-align: right;
} }
.el-button + .el-button {
margin-left: 0;
}
.ms-weixin-content { .ms-weixin-content {
width: calc(100% - 140px); width: calc(100% - 140px);
} }
.ms-weixin-dialog .el-dialog__header {
height: 55px;
box-sizing: border-box;
padding: 10px 10px 25px 10px;
border-bottom: 1px solid #ddd;
}
.ms-weixin-dialog .el-dialog__header .el-dialog__title {
font-weight: bold;
font-size: 14px;
color: #333;
}
.ms-weixin-dialog .el-dialog__footer {
border-top: 1px solid #ddd;
padding: 15px !important;
}
.ms-hover {
cursor: pointer;
}
.ms-hover:hover {
color: #0099ff;
background: #fff;
border-color: #0099ff;
}
.ms-custom-menu { .ms-custom-menu {
color: #f2f2f6; color: #f2f2f6;
} }
.ms-custom-menu .ms-custom-container { .ms-custom-menu .ms-custom-container {
margin: 10px;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
} }
.ms-custom-menu .ms-custom-container > .ms-container {
padding: 0;
background: transparent;
}
.ms-custom-menu .ms-custom-container .el-aside { .ms-custom-menu .ms-custom-container .el-aside {
background: #fff; background: #fff;
width: 280px !important; width: 280px !important;
...@@ -204,7 +230,7 @@ textarea::-webkit-input-placeholder { ...@@ -204,7 +230,7 @@ textarea::-webkit-input-placeholder {
margin-left: 10px; margin-left: 10px;
font-weight: initial; font-weight: initial;
font-size: 12px; font-size: 12px;
color: #999; color: #aaa;
} }
.ms-custom-menu .ms-custom-container .el-main .custom-menu-card .ms-custom-menu-content .el-tabs { .ms-custom-menu .ms-custom-container .el-main .custom-menu-card .ms-custom-menu-content .el-tabs {
border: 1px solid #ddd; border: 1px solid #ddd;
......
...@@ -50,7 +50,7 @@ input::-webkit-input-placeholder, ...@@ -50,7 +50,7 @@ input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder { textarea::-webkit-input-placeholder {
font-weight: initial; font-weight: initial;
font-size: 12px; font-size: 12px;
color: #999; color: #aaa;
resize: none; resize: none;
} }
*::-webkit-scrollbar { *::-webkit-scrollbar {
...@@ -74,7 +74,7 @@ textarea::-webkit-input-placeholder { ...@@ -74,7 +74,7 @@ textarea::-webkit-input-placeholder {
.ms-container { .ms-container {
margin: 12px; margin: 12px;
height: calc(100% - 24px); height: calc(100% - 24px);
padding: 14px 14px 0 14px; padding: 14px;
background: #fff; background: #fff;
} }
.ms-header { .ms-header {
...@@ -84,6 +84,9 @@ textarea::-webkit-input-placeholder { ...@@ -84,6 +84,9 @@ textarea::-webkit-input-placeholder {
background: #fff; background: #fff;
height: 50px; height: 50px;
} }
.ms-header button {
height: 30px;
}
.ms-pagination { .ms-pagination {
padding: 20px 0; padding: 20px 0;
text-align: right; text-align: right;
...@@ -94,12 +97,29 @@ textarea::-webkit-input-placeholder { ...@@ -94,12 +97,29 @@ textarea::-webkit-input-placeholder {
.ms-tr { .ms-tr {
text-align: right; text-align: right;
} }
.el-button + .el-button {
margin-left: 0;
}
.ms-weixin-content { .ms-weixin-content {
width: calc(100% - 140px); width: calc(100% - 140px);
} }
.keyword-list { .ms-weixin-dialog .el-dialog__header {
padding: 14px; height: 55px;
box-sizing: border-box;
padding: 10px 10px 25px 10px;
border-bottom: 1px solid #ddd;
}
.ms-weixin-dialog .el-dialog__header .el-dialog__title {
font-weight: bold;
font-size: 14px;
color: #333;
}
.ms-weixin-dialog .el-dialog__footer {
border-top: 1px solid #ddd;
padding: 15px !important;
}
.ms-hover {
cursor: pointer;
}
.ms-hover:hover {
color: #0099ff;
background: #fff;
border-color: #0099ff;
} }
...@@ -50,7 +50,7 @@ input::-webkit-input-placeholder, ...@@ -50,7 +50,7 @@ input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder { textarea::-webkit-input-placeholder {
font-weight: initial; font-weight: initial;
font-size: 12px; font-size: 12px;
color: #999; color: #aaa;
resize: none; resize: none;
} }
*::-webkit-scrollbar { *::-webkit-scrollbar {
...@@ -74,7 +74,7 @@ textarea::-webkit-input-placeholder { ...@@ -74,7 +74,7 @@ textarea::-webkit-input-placeholder {
.ms-container { .ms-container {
margin: 12px; margin: 12px;
height: calc(100% - 24px); height: calc(100% - 24px);
padding: 14px 14px 0 14px; padding: 14px;
background: #fff; background: #fff;
} }
.ms-header { .ms-header {
...@@ -84,6 +84,9 @@ textarea::-webkit-input-placeholder { ...@@ -84,6 +84,9 @@ textarea::-webkit-input-placeholder {
background: #fff; background: #fff;
height: 50px; height: 50px;
} }
.ms-header button {
height: 30px;
}
.ms-pagination { .ms-pagination {
padding: 20px 0; padding: 20px 0;
text-align: right; text-align: right;
...@@ -94,12 +97,32 @@ textarea::-webkit-input-placeholder { ...@@ -94,12 +97,32 @@ textarea::-webkit-input-placeholder {
.ms-tr { .ms-tr {
text-align: right; text-align: right;
} }
.el-button + .el-button {
margin-left: 0;
}
.ms-weixin-content { .ms-weixin-content {
width: calc(100% - 140px); width: calc(100% - 140px);
} }
.ms-weixin-dialog .el-dialog__header {
height: 55px;
box-sizing: border-box;
padding: 10px 10px 25px 10px;
border-bottom: 1px solid #ddd;
}
.ms-weixin-dialog .el-dialog__header .el-dialog__title {
font-weight: bold;
font-size: 14px;
color: #333;
}
.ms-weixin-dialog .el-dialog__footer {
border-top: 1px solid #ddd;
padding: 15px !important;
}
.ms-hover {
cursor: pointer;
}
.ms-hover:hover {
color: #0099ff;
background: #fff;
border-color: #0099ff;
}
.keyword-reply { .keyword-reply {
padding-bottom: 20px; padding-bottom: 20px;
} }
...@@ -148,7 +171,7 @@ textarea::-webkit-input-placeholder { ...@@ -148,7 +171,7 @@ textarea::-webkit-input-placeholder {
bottom: 66px; bottom: 66px;
font-weight: initial; font-weight: initial;
font-size: 12px; font-size: 12px;
color: #999; color: #aaa;
} }
.keyword-reply .ms-keyword-reply-content .el-form-item__content .el-icon-delete:hover { .keyword-reply .ms-keyword-reply-content .el-form-item__content .el-icon-delete:hover {
cursor: pointer; cursor: pointer;
......
Supports Markdown
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