Commit 7fb6775d authored by a123456's avatar a123456

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

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