parent
59b486e0d6
commit
7fb6775dba
7 changed files with 290 additions and 340 deletions
@ -1,91 +1,78 @@ |
||||
<!-- 关键词回复 --> |
||||
<!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> |
||||
@ -1,59 +1,48 @@ |
||||
<!-- 关键字列表 --> |
||||
<!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> |
||||
@ -1,94 +1,91 @@ |
||||
<!-- 自定义菜单 --> |
||||
<!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> |
||||
@ -1,76 +1,54 @@ |
||||
<!-- 消息回复 && 关注回复 --> |
||||
<!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> |
||||
Loading…
Reference in new issue