Signed-off-by: yinxr <2273460044@qq.com>
This commit is contained in:
parent
131b230e3b
commit
d47f995605
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -59,3 +59,35 @@ 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
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue