Signed-off-by: yinxr <2273460044@qq.com>

This commit is contained in:
yinxr 2019-01-25 15:23:45 +08:00
parent 131b230e3b
commit d47f995605
7 changed files with 518 additions and 9 deletions

View File

@ -17,9 +17,13 @@
<script src="http://cdn.mingsoft.net/ms/1.0/ms.http.js"></script>
<script src="http://cdn.mingsoft.net/ms/1.0/ms.util.js"></script>
<link rel="stylesheet" href="${base}/static/ms-admin/4.7.0/less/ms.less">
<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"> -->
<link rel="stylesheet" href="../../../static/ms-admin/4.7.0/css/login.css">
<link rel="stylesheet" href="../../../static/mweixin/css/custom-menu.css">
<script>
ms.base = "${base}";
ms.manager = "${managerPath}";
// ms.base = "${base}";
// ms.manager = "${managerPath}";
ms.manager = "http://192.168.0.54:82";
ms.base = "http://192.168.0.54:82/apis";
</script>

View File

@ -3,7 +3,8 @@
<head>
<title></title>
<#include "/include/head-file.ftl"/>
<!-- <#include "/include/head-file.ftl"/> -->
<!--#include virtual="include/head-file.ftl" -->
</head>
<body>
@ -11,7 +12,7 @@
<el-container class="ms-admin-login-container">
<el-main class="ms-admin-login-main">
<div class="ms-admin-login-warp">
<img :src="ms.base+'/static/ms-admin/4.7.0/images/login-slogn.png'">
<img :src="ms.manager+'/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">
<h1><span>账户登录 / </span>User login</h1>
<el-form-item prop="name" class="ms-admin-form-item">
@ -117,9 +118,8 @@ var loginVue = new Vue({
},
},
mounted: {
mounted:function(){
this.code = ms.base + "/code?t=" + new Date().getTime()
}
})
</script>

View File

@ -0,0 +1,116 @@
<!-- 自定义菜单 -->
<!DOCTYPE html>
<html lang="">
<head>
<title></title>
<!-- <#include "/include/head-file.ftl"/> -->
<!--#include virtual="../include/head-file.ftl" -->
</head>
<body>
<div id="custom-menu" class="ms-custom-menu">
<el-container class="ms-custom-container">
<el-aside>
<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">
<el-dropdown placement='top' :hide-on-click='false'>
<el-button type="primary">新建菜单</el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item>
<el-button type="text" icon='el-icon-plus'></el-button>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<el-button icon="el-icon-plus"></el-button>
</div>
</el-footer>
</el-aside>
<el-main>
<el-card class="custom-menu-card" shadow="never">
<div slot="header" class="clearfix">
<span>新建菜单</span>
</div>
<el-form ref="customMenuForm" :rule='customMenuFormRules' :model="customMenuForm" label-width="80px">
<el-form-item label="菜单名称" prop='name' class="ms-custom-menu-name">
<el-input v-model="customMenuForm.name" size='mini'></el-input>
<span>菜单名称字数不多于5个汉字或10个字母</span>
</el-form-item>
<el-form-item label="菜单内容" prop='content'>
<el-input v-model="customMenuForm.content"></el-input>
<el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="图片" name="first">
<span slot="label"><i class="el-icon-picture"></i>图片</span>
<el-upload action="https://jsonplaceholder.typicode.com/posts/" list-type="picture-card"
:on-preview="handlePictureCardPreview" :on-remove="handleRemove">
<i class="el-icon-plus"></i>
</el-upload>
<el-dialog :visible.sync="dialogVisible">
<img width="100%" :src="dialogImageUrl" alt="">
</el-dialog>
<el-upload action="https://jsonplaceholder.typicode.com/posts/" list-type="picture-card"
:on-preview="handlePictureCardPreview" :on-remove="handleRemove">
<i class="el-icon-plus"></i>
</el-upload>
<el-dialog :visible.sync="dialogVisible">
<img width="100%" :src="dialogImageUrl" alt="">
</el-dialog>
</el-tab-pane>
<el-tab-pane label="图文管理" name="second">
<span slot="label"><i class="el-icon-picture"></i>图文管理</span>
</el-tab-pane>
</el-tabs>
</el-form-item>
</el-form>
</el-card>
</el-main>
</el-container>
</div>
</body>
</html>
<script>
var customMenuVue = new Vue({
el: "#custom-menu",
data: {
customMenuForm: {
name: '',
content: "",
},
customMenuFormRules: {
name: [{
required: true,
message: '请输入菜单名称',
trigger: 'blur'
},
{
min: 1,
max: 5,
message: '长度在 1 到 5 个字符',
trigger: 'blur'
}
],
// content:[{ required: true, message: '请输入菜单名称', trigger: 'blur' },
// { min: 1, max: 5, message: '长度在 1 到 5 个字符', trigger: 'blur' }]
},
dialogImageUrl: '',
dialogVisible: false,
activeName: 'first'
},
methods: {
handleRemove(file, fileList) {
console.log(file, fileList);
},
handlePictureCardPreview(file) {
this.dialogImageUrl = file.url;
this.dialogVisible = true;
},
handleClick(tab, event) {
console.log(tab, event);
}
}
})
</script>

View File

@ -0,0 +1,68 @@
<!DOCTYPE html>
<html>
<head>
<title></title>
<#include "/include/head-file.ftl"/>
</head>
<body>
<div id="app">
<el-container>
<!--左侧-->
<el-aside width="140px">
<div class="weixin">
<i></i> 吕小布微信号
</div>
<el-menu class="ms-admin-menu" default-active="0">
<el-submenu :index="i+''" v-for="(menu,i) in menuList" @click="menuActive = menu">
<template slot="title">
<span v-text="menu.title"></span>
</template>
</el-submenu>
</el-menu>
</el-aside>
<el-main>
<el-container>
<el-header>
</el-header>
<el-main>
</el-main>
</el-container>
</el-main>
</el-container>
</div>
</body>
</html>
<script>
new Vue({
el: "#app",
data: {
menuList: [{
title: '图文素材',
sub: [{
title: '图文'
}, {
title: '图片'
}],
}, {
title: '自定义菜单',
sub: [{
title: '文章管理'
}, {
title: '栏目管理'
}]
}, {
title: '自动回复',
sub: [{
title: '关注时回复'
}, {
title: '消息回复'
}, {
title: '关键字回复'
}]
}, ], //左侧导航列表
}
})
</script>

View File

@ -58,4 +58,36 @@ textarea::-webkit-input-placeholder {
/*滚动条的圆角*/
background-color: @borderColor;
/*滚动条的背景颜色*/
}
.ms-container {
margin: 12px;
height: 100%;
padding: 14px 14px 0 14px;
background: #fff;
}
.ms-header {
padding: 10px;
margin: 0;
border-bottom: 1px solid #ddd;
background: #fff;
height: 50px
}
.ms-pagination {
padding: 20px 0;
text-align: right;
}
.ms-fr {
float: right;
}
.ms-tr {
text-align: right;
}
.el-button+.el-button {
margin-left: 0
}

View File

@ -0,0 +1,193 @@
/*
*这里的值严格按照UI设计图标注值来进行设置
*/
/*
*颜色
*/
/*
*页面的边距
*/
/*
*字体
*/
/*
*头像
*/
/*
* 按钮
*/
/*
*对常见的多行样式进行了方法封装方便调用加快开发效率
*/
html,
body {
min-height: 100vh;
background-color: #eee;
margin: 0;
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: #999;
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: 100%;
padding: 14px 14px 0 14px;
background: #fff;
}
.ms-header {
padding: 10px;
margin: 0;
border-bottom: 1px solid #ddd;
background: #fff;
height: 50px;
}
.ms-pagination {
padding: 20px 0;
text-align: right;
}
.ms-fr {
float: right;
}
.ms-tr {
text-align: right;
}
.el-button + .el-button {
margin-left: 0;
}
.ms-custom-menu {
color: #f2f2f6;
}
.ms-custom-menu .ms-custom-container {
margin: 10px;
display: flex;
justify-content: space-between;
}
.ms-custom-menu .ms-custom-container .el-aside {
background: #fff;
width: 280px !important;
height: 470px !important;
}
.ms-custom-menu .ms-custom-container .el-aside .el-container .el-header {
height: 40px !important;
line-height: 40px !important;
font-weight: initial;
font-size: 16px;
color: #fff;
text-align: center;
background: #323232;
}
.ms-custom-menu .ms-custom-container .el-aside .el-container .el-main {
padding: 0;
width: 280px !important;
height: 379px !important;
}
.ms-custom-menu .ms-custom-container .el-aside .el-container .el-footer {
white-space: nowrap;
padding: 0;
font-size: 0;
background-color: #FAFAFA;
width: 280px !important;
height: 50px !important;
display: flex;
justify-content: flex-start;
border-top: 1px solid #ddd !important;
}
.ms-custom-menu .ms-custom-container .el-aside .el-container .el-footer > .el-button {
width: 40px !important;
height: 50px !important;
padding: 0 !important;
border: none !important;
border-right: 1px solid #ddd !important;
}
.ms-custom-menu .ms-custom-container .el-aside .el-container .el-footer .el-button {
border-radius: 0 !important;
height: 50px !important;
background: transparent !important;
}
.ms-custom-menu .ms-custom-container .el-aside .el-container .el-footer .ms-create-menu {
flex: 1;
font-size: 0;
display: flex;
justify-content: space-between;
}
.ms-custom-menu .ms-custom-container .el-aside .el-container .el-footer .ms-create-menu .el-button,
.ms-custom-menu .ms-custom-container .el-aside .el-container .el-footer .ms-create-menu .el-dropdown {
flex: 1;
border: none !important;
background: transparent !important;
}
.ms-custom-menu .ms-custom-container .el-aside .el-container .el-footer .ms-create-menu .el-button span,
.ms-custom-menu .ms-custom-container .el-aside .el-container .el-footer .ms-create-menu .el-dropdown span {
color: #333;
}
.ms-custom-menu .ms-custom-container .el-aside .el-container .el-footer .ms-create-menu .el-dropdown {
flex: .5;
}
.ms-custom-menu .ms-custom-container .el-aside .el-container .el-footer .ms-create-menu .el-dropdown > .el-button {
width: 100%;
}
.ms-custom-menu .ms-custom-container .el-aside .el-container .el-footer .ms-create-menu .el-button--default {
border-left: 1px solid #ddd !important;
padding: 0 !important;
flex: .5;
}
.ms-custom-menu .ms-custom-container .el-main {
padding: 0 20px;
flex: 1;
height: 470px;
}
.ms-custom-menu .ms-custom-container .el-main .custom-menu-card .ms-custom-menu-name .el-form-item__content {
display: flex;
justify-content: flex-start;
}
.ms-custom-menu .ms-custom-container .el-main .custom-menu-card .ms-custom-menu-name .el-form-item__content .el-input {
width: 153px !important;
height: 30px !important;
}
.ms-custom-menu .ms-custom-container .el-main .custom-menu-card .ms-custom-menu-name .el-form-item__content span {
margin-left: 10px;
font-weight: initial;
font-size: 12px;
color: #999;
}

View File

@ -0,0 +1,96 @@
@import "../ms-admin/4.7.0/less/app.less";
// 自定义菜单
.ms-custom-menu{
color: rgb(242, 242, 246);
.ms-custom-container{
margin: 10px;
.ms-flex();
// 侧边
.el-aside{
background: #fff;
.ms-width-height(280px,470px) !important;
// 微信界面
.el-container{
// 头部
.el-header{
.ms-line-height(40px) !important;
.ms-font(16px,#fff);
text-align: center;
background: #323232;
}
.el-main{
padding: 0;
.ms-width-height(280px,379px) !important;
}
.el-footer{
white-space: nowrap;
padding: 0;
font-size: 0;
background-color: #FAFAFA;
.ms-width-height(280px,50px) !important;
.ms-flex(flex-start);
border-top: 1px solid @borderColor !important;
>.el-button{
.ms-width-height(40px,50px) !important;
padding:0 !important;
border: none !important;
border-right: 1px solid @borderColor !important;
}
.el-button{
border-radius: 0 !important;
height:50px !important;
background: transparent !important;
}
.ms-create-menu{
flex: 1;
font-size: 0;
.ms-flex(space-between);
.el-button,.el-dropdown{
flex: 1;
border: none !important;
background: transparent !important;
span{
color:#333;
}
}
.el-dropdown{
flex: .5;
>.el-button{
width: 100%;
}
}
// 添加菜单
.el-button--default{
border-left: 1px solid @borderColor !important;
padding:0 !important;
flex: .5;
}
}
}
}
}
// 内容
.el-main{
padding: 0 20px;
flex: 1;
height: 470px;
// 内容区域卡片
.custom-menu-card{
// 内容菜单表单
.ms-custom-menu-name{
.el-form-item__content{
.el-input{
.ms-width-height(153px,30px) !important;
}
.ms-flex(flex-start);
span{
margin-left: 10px;
.ms-font(@auxiliarySize,@auxiliaryColor);
}
}
}
}
}
}
}