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