Commit 7fb6775d authored by a123456's avatar a123456

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

parent 59b486e0
<!-- 关键词回复 --> <!-- 关键词回复 -->
<!DOCTYPE html> <link rel="stylesheet" href="../../../../static/mweixin/css/keyword-reply.css">
<html lang="">
<head> <div id="keyword-reply" class="keyword-reply ms-container" v-if="menuVue.menuActive == '关键词表单'">
<title></title> <el-form :model="keywordReplyForm" status-icon :rules="keywordReplyFormRules" ref="keywordReplyForm" label-width="100px">
<!-- <#include "/include/head-file.ftl"/> --> <el-form-item label="关键词" prop="keyword" class="ms-keyword-input">
<!--#include virtual="../../include/head-file.ftl" --> <el-row type='flex' justify='space-between' align='center'>
<link rel="stylesheet" href="../../../../static/mweixin/css/keyword-reply.css"> <el-col :span='12'>
<!-- <link rel="stylesheet" href="${base}/static/mweixin/css/keyword-reply.css"> --> <el-input placeholder="请输入内容" v-model="keywordReplyForm.keyword" class="input-with-select" size='mini' maxlength='30' @input='resetWord'>
</head> <el-select v-model="keywordReplyForm.select" slot="prepend" placeholder="请选择">
<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-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>
</div>
<body>
<div id="keyword-reply" class="keyword-reply ms-container">
<el-form :model="keywordReplyForm" status-icon :rules="keywordReplyFormRules" ref="keywordReplyForm"
label-width="100px">
<el-form-item label="关键词" prop="keyword" class="ms-keyword-input">
<el-row type='flex' justify='space-between' align='center'>
<el-col :span='12'>
<el-input placeholder="请输入内容" v-model="keywordReplyForm.keyword" class="input-with-select" size='mini'
maxlength='30' @input='resetWord'>
<el-select v-model="keywordReplyForm.select" slot="prepend" placeholder="请选择">
<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-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>
</div>
</body>
</html>
<script> <script>
var keywordReplyVue = new Vue({ var keywordReplyVue = new Vue({
el: '#keyword-reply', el: '#keyword-reply',
data: { data: {
keywordReplyForm: { keywordReplyForm: {
keyword: "",//关键词 keyword: "", //关键词
select: '', select: '',
reply: "", reply: "",
}, },
keywordReplyFormRules: { keywordReplyFormRules: {
}, },
activeName: 'text', activeName: 'text',
wordNumber:30,//剩余字数 wordNumber: 30, //剩余字数
}, },
methods: { methods: {
// 添加关键词 // 添加关键词
addKeyWord:function(){ addKeyWord: function() {
}, },
// 计算剩余字数 // 计算剩余字数
resetWord: function (value) { resetWord: function(value) {
if(!value)return 30; if(!value) return 30;
if (value.length >= 30) { if(value.length >= 30) {
this.$message.error('任务名称不得超过30个字'); this.$message.error('任务名称不得超过30个字');
// 这里涉及到获取数据更新之后的DOM,需要用$nextTick // 这里涉及到获取数据更新之后的DOM,需要用$nextTick
this.$nextTick(function () { this.$nextTick(function() {
this.keywordReplyForm.keyword = event.target.value = value.slice(0, 30); this.keywordReplyForm.keyword = event.target.value = value.slice(0, 30);
}) })
this.wordNumber = 0 this.wordNumber = 0
}else{ } else {
this.wordNumber = 30 - value.length this.wordNumber = 30 - value.length
}
} }
} }
}) }
})
</script> </script>
\ No newline at end of file
<!-- 关键字列表 --> <!-- 关键字列表 -->
<!DOCTYPE html> <link rel="stylesheet" href="../../../../static/mweixin/css/keyword-list.css">
<html lang="">
<head>
<title></title>
<!-- <#include "/include/head-file.ftl"/> -->
<!--#include virtual="../../include/head-file.ftl" -->
<link rel="stylesheet" href="../../../../static/mweixin/css/keyword-list.css">
<!-- <link rel="stylesheet" href="${base}/static/mweixin/css/keyword-list.css"> -->
</head>
<body> <div id="keyword-list" class="keyword-list ms-container" v-if="menuVue.menuActive == '关键词回复'">
<div id="keyword-list" class="keyword-list ms-container"> <el-table :data="tableData" border style="width: 100%">
<el-table :data="tableData" border style="width: 100%"> <el-table-column prop="date" label="规则名" width="180" align='center'>
<el-table-column prop="date" label="规则名" width="180" align='center'> </el-table-column>
</el-table-column> <el-table-column prop="name" label="关键词" width="180" align='center'>
<el-table-column prop="name" label="关键词" width="180" align='center'> </el-table-column>
</el-table-column> <el-table-column prop="address" label="消息回复类型" align='center'>
<el-table-column prop="address" label="消息回复类型" align='center'> </el-table-column>
</el-table-column> <el-table-column prop="address" label="发送对象" align='center'>
<el-table-column prop="address" label="发送对象" align='center'> </el-table-column>
</el-table-column> <el-table-column prop="address" label="回复方式" align='center'>
<el-table-column prop="address" label="回复方式" align='center'> </el-table-column>
</el-table-column> </el-table>
</el-table> </div>
</div>
</body>
</html>
<script> <script>
var keywordListVue = new Vue({ var keywordListVue = new Vue({
el: '#keyword-list', el: '#keyword-list',
data: { data: {
tableData: [{ tableData: [{
date: '2016-05-02', date: '2016-05-02',
name: '王小虎', name: '王小虎',
address: '上海市普陀区金沙江路 1518 弄' address: '上海市普陀区金沙江路 1518 弄'
}, { }, {
date: '2016-05-04', date: '2016-05-04',
name: '王小虎', name: '王小虎',
address: '上海市普陀区金沙江路 1517 弄' address: '上海市普陀区金沙江路 1517 弄'
}, { }, {
date: '2016-05-01', date: '2016-05-01',
name: '王小虎', name: '王小虎',
address: '上海市普陀区金沙江路 1519 弄' address: '上海市普陀区金沙江路 1519 弄'
}, { }, {
date: '2016-05-03', date: '2016-05-03',
name: '王小虎', name: '王小虎',
address: '上海市普陀区金沙江路 1516 弄' address: '上海市普陀区金沙江路 1516 弄'
}] }]
}, },
methods:{ methods: {
// 获取关键词列表 // 获取关键词列表
list:function(){ list: function() {
} }
} }
}) })
</script> </script>
\ No newline at end of file
...@@ -10,15 +10,20 @@ ...@@ -10,15 +10,20 @@
</div> </div>
</el-header> </el-header>
<el-main> <el-main>
<el-menu class="ms-weixin-menu" default-active="0"> <el-menu class="ms-weixin-menu" default-active="0-0">
<el-submenu :index="i+''" v-for="(menu,i) in menuList" @click="menuActive = menu"> <template v-for="(menu,i) in menuList">
<template slot="title"> <!--单个选项-->
<span v-text="menu.title"></span> <el-menu-item :index="i" @click="menuActive = menu.title" v-if="!menu.sub" v-text="menu.title"></el-menu-item>
</template> <!--多个选项-->
<el-menu-item-group> <el-submenu :index="i+''" v-if="menu.sub">
<el-menu-item class="ms-weixin-menu-item" :index="i+'-'+index" v-for="(sub,index) in menu.sub" v-text="sub.title"></el-menu-item> <template slot="title">
</el-menu-item-group> <span v-text="menu.title"></span>
</el-submenu> </template>
<el-menu-item-group>
<el-menu-item class="ms-weixin-menu-item" @click="menuActive = sub.title" :index="i+'-'+index" v-for="(sub,index) in menu.sub" v-text="sub.title"></el-menu-item>
</el-menu-item-group>
</el-submenu>
</template>
</el-menu> </el-menu>
</el-main> </el-main>
</el-container> </el-container>
...@@ -37,11 +42,6 @@ ...@@ -37,11 +42,6 @@
}], }],
}, { }, {
title: '自定义菜单', title: '自定义菜单',
sub: [{
title: '文章管理'
}, {
title: '栏目管理'
}]
}, { }, {
title: '自动回复', title: '自动回复',
sub: [{ sub: [{
...@@ -49,9 +49,10 @@ ...@@ -49,9 +49,10 @@
}, { }, {
title: '消息回复' title: '消息回复'
}, { }, {
title: '关键回复' title: '关键回复'
}] }]
}, ], //左侧导航列表 }, ], //左侧导航列表
menuActive: '图文', //选中
} }
}) })
</script> </script>
\ No newline at end of file
<!-- 自定义菜单 --> <!-- 自定义菜单 -->
<!DOCTYPE html> <link rel="stylesheet" href="../../../../static/mweixin/css/custom-menu.css">
<html lang=""> <div id="custom-menu" class="ms-custom-menu" v-if="menuVue.menuActive == '自定义菜单'">
<head> <el-container class="ms-custom-container">
<title></title> <el-aside>
<!-- <#include "/include/head-file.ftl"/> --> <el-container>
<!--#include virtual="../../include/head-file.ftl" --> <el-header>公众号</el-header>
<!-- <link rel="stylesheet" href="${base}/static/mweixin/css/custom-menu.css"> --> <el-main></el-main>
<link rel="stylesheet" href="../../../../static/mweixin/css/custom-menu.css"> <el-footer>
</head> <el-button icon="el-icon-date"></el-button>
<body> <div class="ms-create-menu">
<div id="custom-menu" class="ms-custom-menu"> <div class="ms-create-sub-menu">
<el-container class="ms-custom-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> </div>
<el-header>公众号</el-header> <el-button icon="el-icon-plus"></el-button>
<el-main></el-main> </div>
<el-footer> </el-footer>
<el-button icon="el-icon-date"></el-button> </el-container>
<div class="ms-create-menu"> </el-aside>
<div class="ms-create-sub-menu"> <el-main>
<el-button type="primary" @click='addSubMenuShow = !addSubMenuShow'>新建菜单</el-button> <el-card class="custom-menu-card" shadow="never">
<el-button icon="el-icon-plus" v-show='addSubMenuShow'></el-button> <div slot="header" class="clearfix">
</div> <span>新建菜单</span>
<el-button icon="el-icon-plus"></el-button> </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="菜单内容" class="ms-custom-menu-content">
<el-tabs v-model="activeName" @tab-click="">
<el-tab-pane label="图片" name="picture">
<span slot="label">
<i class="el-icon-picture"></i>图片</span>
<div @click="open('store')">
<i class="el-icon-picture-outline"></i>
<span>从素材库选择</span>
</div> </div>
</el-footer> <div @click="open('new')">
</el-aside> <i class="el-icon-plus"></i>
<el-main> <span>新建图片</span>
<el-card class="custom-menu-card" shadow="never"> </div>
<div slot="header" class="clearfix"> </el-tab-pane>
<span>新建菜单</span> <el-tab-pane label="图文管理" name="article">
</div> <span slot="label">
<el-form ref="customMenuForm" :rule='customMenuFormRules' :model="customMenuForm" label-width="80px"> <i class="el-icon-picture"></i>图文管理</span>
<el-form-item label="菜单名称" prop='name' class="ms-custom-menu-name"> </el-tab-pane>
<el-input v-model="customMenuForm.name" size='mini'></el-input> </el-tabs>
<span>菜单名称字数不多于5个汉字或10个字母</span> </el-form-item>
</el-form-item> </el-form>
<el-form-item label="菜单内容" class="ms-custom-menu-content"> </el-card>
<el-tabs v-model="activeName" @tab-click=""> </el-main>
<el-tab-pane label="图片" name="picture"> </el-container>
<span slot="label"><i class="el-icon-picture"></i>图片</span> </div>
<div @click="open('store')"><i class="el-icon-picture-outline"></i><span>从素材库选择</span></div>
<div @click="open('new')"><i class="el-icon-plus"></i><span>新建图片</span></div>
</el-tab-pane>
<el-tab-pane label="图文管理" name="article">
<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> <script>
var customMenuVue = new Vue({ var customMenuVue = new Vue({
el: "#custom-menu", el: "#custom-menu",
data: { data: {
customMenuForm: { customMenuForm: {
name: '', name: '',
}, },
customMenuFormRules: { customMenuFormRules: {
name: [{ name: [{
required: true, required: true,
message: '请输入菜单名称', message: '请输入菜单名称',
trigger: ['blur','change'] trigger: ['blur', 'change']
}, },
{ {
min: 1, min: 1,
max: 5, max: 5,
message: '长度在 1 到 5 个字符', message: '长度在 1 到 5 个字符',
trigger: ['blur','change'] trigger: ['blur', 'change']
} }
], ],
}, },
addSubMenuShow:false,//子菜单添加弹窗 addSubMenuShow: false, //子菜单添加弹窗
activeName: 'picture' activeName: 'picture'
}, },
methods: { methods: {
open:function(type){ open: function(type) {
if(type == 'store'){ if(type == 'store') {
// 素材库 // 素材库
}else{ } else {
// 新建图片 // 新建图片
}
} }
} }
}
}) })
</script> </script>
\ No newline at end of file
<!-- 消息回复 && 关注回复 --> <!-- 消息回复 && 关注回复 -->
<!DOCTYPE html> <link rel="stylesheet" href="../../../../static/mweixin/css/message-reply.css">
<html lang=""> <div id="message-reply" class="ms-message-reply ms-container" v-if="menuVue.menuActive == '消息回复'||menuVue.menuActive == '关注时回复'">
<div>回复内容</div>
<head> <el-tabs v-model="activeName" @tab-click="" class="message-reply-tabs">
<title></title> <el-tab-pane label="文字" name="text">
<!-- <#include "/include/head-file.ftl"/> --> <el-form ref="messageReplyForm" :rules='messageReplyFormRules' :model="messageReplyForm">
<!-- <link rel="stylesheet" href="${base}/static/mweixin/css/message-reply.css"> --> <el-form-item class="ms-message-reply-content">
<el-input type="textarea" v-model="messageReplyForm.reply" :autosize="{ minRows: 4, maxRows: 4}" resize='none'>
<!--#include virtual="../../include/head-file.ftl" --> </el-input>
<link rel="stylesheet" href="../../../../static/mweixin/css/message-reply.css"> <i class="el-icon-delete" @click="messageReplyForm.reply = ''"></i>
<div class="footer">
</head> <i class="el-icon-star-off"></i>
<a>插入超链接</a>
<body> </div>
<div id="message-reply" class="ms-message-reply ms-container"> </el-form-item>
<div>回复内容</div> </el-form>
<el-tabs v-model="activeName" @tab-click="" class="message-reply-tabs"> </el-form>
<el-tab-pane label="文字" name="text"> </el-tab-pane>
<el-form ref="messageReplyForm" :rules='messageReplyFormRules' :model="messageReplyForm"> <el-tab-pane label="图片" name="picture">
<el-form-item class="ms-message-reply-content"> </el-tab-pane>
<el-input <el-tab-pane label="图文" name="article">
type="textarea" </el-tab-pane>
v-model="messageReplyForm.reply" </el-tabs>
:autosize="{ minRows: 4, maxRows: 4}" </div>
resize='none'
>
</el-input>
<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>
</div>
</body>
</html>
<script> <script>
var messageReplyVue = new Vue({ var messageReplyVue = new Vue({
el: "#message-reply", el: "#message-reply",
data: { data: {
messageReplyForm: { messageReplyForm: {
reply: '', reply: '',
}, },
messageReplyFormRules: { messageReplyFormRules: {
name: [{ name: [{
required: true, required: true,
message: '请输入菜单名称', message: '请输入菜单名称',
trigger: ['blur', 'change'] trigger: ['blur', 'change']
}, },
{ {
min: 1, min: 1,
max: 5, max: 5,
message: '长度在 1 到 5 个字符', message: '长度在 1 到 5 个字符',
trigger: ['blur', 'change'] trigger: ['blur', 'change']
} }
], ],
}, },
activeName: 'text', activeName: 'text',
}, },
methods: { methods: {
} }
}) })
</script> </script>
\ No newline at end of file
<!--图文素材页--> <!--图文素材页-->
<link rel="stylesheet" href="../../../static/mweixin/css/material-list.css"> <link rel="stylesheet" href="../../../static/mweixin/css/material-list.css">
<div id="material-list-vue"> <div id="material-list-vue" v-if="menuVue.menuActive == '图文'">
<el-container> <el-container>
<!--左侧meun--> <!--右侧头部-->
<el-aside width="140px"> <el-header height="50px">
<!--#include virtual="../include/menu.ftl" --> <el-row class="ms-fr">
</el-aside> <el-button type="success">保存</el-button>
<el-container> <el-button>更新</el-button>
<!--右侧头部--> <el-button>返回</el-button>
<el-header height="50px"> </el-row>
<el-row class="ms-fr"> </el-header>
<el-button type="success">保存</el-button> <el-main>
<el-button>更新</el-button> <!--内容同步-->
<el-button>返回</el-button> <el-container>
</el-row> <el-header height="50px">
</el-header>
<el-main>
<!--内容同步-->
<el-container>
<el-header height="50px">
</el-header> </el-header>
<!--素材列表--> <!--素材列表-->
<el-main class="ms-admin-material-list"> <el-main class="ms-admin-material-list">
<div class="ms-admin-material-item"> <div class="ms-admin-material-item">
</div> </div>
</el-main> </el-main>
</el-container> </el-container>
</el-main> </el-main>
</el-container>
</el-container> </el-container>
</div> </div>
......
...@@ -8,7 +8,11 @@ ...@@ -8,7 +8,11 @@
</head> </head>
<body> <body>
<!--#include virtual="menu.ftl" --> <!--#include virtual="menu.ftl" -->
<!--#include virtual="material/index.ftl" --> <!--#include virtual="metarial/index.ftl" -->
<!--#include virtual="article/index.ftl" --> <!--#include virtual="keyword/index.ftl" -->
<!--#include virtual="keyword/form.ftl" -->
<!--#include virtual="menu/index.ftl" -->
<!--#include virtual="message/index.ftl" -->
<!--#include virtual="article/index.ftl" -->
</body> </body>
</html> </html>
\ No newline at end of file
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