Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
C
cms_sys
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
西魏
cms_sys
Commits
7fb6775d
Commit
7fb6775d
authored
Jan 26, 2019
by
a123456
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Signed-off-by: a123456 <1209165801@qq.com>
parent
59b486e0
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
66 additions
and
114 deletions
+66
-114
form.ftl
src/main/webapp/WEB-INF/manager/mweixin/keyword/form.ftl
+17
-30
index.ftl
src/main/webapp/WEB-INF/manager/mweixin/keyword/index.ftl
+5
-16
menu.ftl
src/main/webapp/WEB-INF/manager/mweixin/menu.ftl
+11
-9
index.ftl
src/main/webapp/WEB-INF/manager/mweixin/menu/index.ftl
+22
-25
index.ftl
src/main/webapp/WEB-INF/manager/mweixin/message/index.ftl
+4
-26
index.ftl
src/main/webapp/WEB-INF/manager/mweixin/metarial/index.ftl
+1
-7
weixin.ftl
src/main/webapp/WEB-INF/manager/mweixin/weixin.ftl
+6
-1
No files found.
src/main/webapp/WEB-INF/manager/mweixin/keyword/form.ftl
View file @
7fb6775d
<!-- 关键词回复 -->
<!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>
<body>
<div
id=
"keyword-reply"
class=
"keyword-reply ms-container"
>
<el-form
:model=
"keywordReplyForm"
status-icon
:rules=
"keywordReplyFormRules"
ref=
"keywordReplyForm"
label-width=
"100px"
>
<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-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>
...
...
@@ -26,14 +14,15 @@
<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-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 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">
...
...
@@ -48,16 +37,14 @@
</el-tabs>
</el-form-item>
</el-form>
</div>
</body>
</div>
</html>
<script>
var keywordReplyVue = new Vue({
el: '#keyword-reply',
data: {
keywordReplyForm: {
keyword
:
""
,
//关键词
keyword: "",
//关键词
select: '',
reply: "",
},
...
...
@@ -65,24 +52,24 @@
},
activeName: 'text',
wordNumber
:
30
,
//剩余字数
wordNumber: 30,
//剩余字数
},
methods: {
// 添加关键词
addKeyWord
:
function
()
{
addKeyWord: function()
{
},
// 计算剩余字数
resetWord
:
function
(
value
)
{
if
(
!
value
)
return
30
;
if
(
value
.
length
>=
30
)
{
resetWord: function
(value) {
if(!value)
return 30;
if
(value.length >= 30) {
this.$message.error('任务名称不得超过30个字');
// 这里涉及到获取数据更新之后的DOM,需要用$nextTick
this
.
$nextTick
(
function
()
{
this.$nextTick(function
() {
this.keywordReplyForm.keyword = event.target.value = value.slice(0, 30);
})
this.wordNumber = 0
}
else
{
} else
{
this.wordNumber = 30 - value.length
}
}
...
...
src/main/webapp/WEB-INF/manager/mweixin/keyword/index.ftl
View file @
7fb6775d
<!-- 关键字列表 -->
<!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"
>
<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>
...
...
@@ -23,10 +14,8 @@
<el-table-column prop="address" label="回复方式" align='center'>
</el-table-column>
</el-table>
</div>
</body>
</div>
</html>
<script>
var keywordListVue = new Vue({
el: '#keyword-list',
...
...
@@ -49,9 +38,9 @@
address: '上海市普陀区金沙江路 1516 弄'
}]
},
methods
:
{
methods:
{
// 获取关键词列表
list
:
function
()
{
list: function()
{
}
}
...
...
src/main/webapp/WEB-INF/manager/mweixin/menu.ftl
View file @
7fb6775d
...
...
@@ -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">
<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
" :index="i+'-'+index" v-for="(sub,index) in menu.sub" v-text="sub.title"></el-menu-item>
<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
src/main/webapp/WEB-INF/manager/mweixin/menu/index.ftl
View file @
7fb6775d
<!-- 自定义菜单 -->
<!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"
>
<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>
...
...
@@ -25,6 +16,7 @@
<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">
...
...
@@ -39,12 +31,20 @@
<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>
<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>
<span slot="label">
<i class="el-icon-picture"></i>图文管理</span>
</el-tab-pane>
</el-tabs>
</el-form-item>
...
...
@@ -52,10 +52,7 @@
</el-card>
</el-main>
</el-container>
</div>
</body>
</html>
</div>
<script>
var customMenuVue = new Vue({
el: "#custom-menu",
...
...
@@ -67,24 +64,24 @@
name: [{
required: true,
message: '请输入菜单名称',
trigger
:
[
'blur'
,
'change'
]
trigger: ['blur',
'change']
},
{
min: 1,
max: 5,
message: '长度在 1 到 5 个字符',
trigger
:
[
'blur'
,
'change'
]
trigger: ['blur',
'change']
}
],
},
addSubMenuShow
:
false
,
//子菜单添加弹窗
addSubMenuShow: false,
//子菜单添加弹窗
activeName: 'picture'
},
methods: {
open
:
function
(
type
)
{
if
(
type
==
'store'
)
{
open: function(type)
{
if(type == 'store')
{
// 素材库
}
else
{
} else
{
// 新建图片
}
}
...
...
src/main/webapp/WEB-INF/manager/mweixin/message/index.ftl
View file @
7fb6775d
<!-- 消息回复 && 关注回复 -->
<!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"
>
<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 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">
...
...
@@ -40,11 +22,7 @@
<el-tab-pane label="图文" name="article">
</el-tab-pane>
</el-tabs>
</div>
</body>
</html>
</div>
<script>
var messageReplyVue = new Vue({
el: "#message-reply",
...
...
src/main/webapp/WEB-INF/manager/mweixin/metarial/index.ftl
View file @
7fb6775d
<!--图文素材页-->
<link rel="stylesheet" href="../../../static/mweixin/css/material-list.css">
<div id="material-list-vue">
<el-container>
<!--左侧meun-->
<el-aside width="140px">
<!--#include virtual="../include/menu.ftl" -->
</el-aside>
<div id="material-list-vue" v-if="menuVue.menuActive == '图文'">
<el-container>
<!--右侧头部-->
<el-header height="50px">
...
...
@@ -30,7 +25,6 @@
</el-container>
</el-main>
</el-container>
</el-container>
</div>
<script>
...
...
src/main/webapp/WEB-INF/manager/mweixin/weixin.ftl
View file @
7fb6775d
...
...
@@ -8,7 +8,11 @@
</head>
<body>
<!--#include virtual="menu.ftl" -->
<!--#include virtual="material/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
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment