Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
jinli gu
MCMS
Commits
56dbdd1b
Commit
56dbdd1b
authored
Jan 25, 2019
by
yinxr
Browse files
Signed-off-by: yinxr <2273460044@qq.com>
parent
db5d47ba
Changes
9
Hide whitespace changes
Inline
Side-by-side
src/main/webapp/WEB-INF/manager/index.ftl
View file @
56dbdd1b
...
@@ -2,7 +2,12 @@
...
@@ -2,7 +2,12 @@
<
html
>
<
html
>
<head>
<head>
<title></title>
<title></title>
<#include "/include/head-file.ftl"/>
<!-- <#include "/include/head-file.ftl"/> -->
<!-- <link rel="stylesheet" href="$
{
base
}
/static/ms-admin/4.7.0/css/index.css"> -->
<!--#include virtual="include/head-file.ftl" -->
<link rel="stylesheet" href="../../../static/ms-admin/4.7.0/css/index.css">
</head>
</head>
<body>
<body>
<div id="app">
<div id="app">
...
...
src/main/webapp/WEB-INF/manager/login.ftl
View file @
56dbdd1b
...
@@ -4,8 +4,9 @@
...
@@ -4,8 +4,9 @@
<
head
>
<
head
>
<title></title>
<title></title>
<!-- <#include "/include/head-file.ftl"/> -->
<!-- <#include "/include/head-file.ftl"/> -->
<!--#include virtual="include/head-file.ftl" -->
<!-- <link rel="stylesheet" href="$
{
base
}
/static/ms-admin/4.7.0/css/login.css"> -->
<!-- <link rel="stylesheet" href="$
{
base
}
/static/ms-admin/4.7.0/css/login.css"> -->
<!--#include virtual="include/head-file.ftl" -->
<link rel="stylesheet" href="../../../static/ms-admin/4.7.0/css/login.css">
<link rel="stylesheet" href="../../../static/ms-admin/4.7.0/css/login.css">
</
head
>
</
head
>
...
@@ -26,7 +27,7 @@
...
@@ -26,7 +27,7 @@
<el-form-item prop="code" class="ms-admin-form-item ms-admin-form-item-code">
<el-form-item prop="code" class="ms-admin-form-item ms-admin-form-item-code">
<el-input type="text" placeholder='验证码' v-model="loginForm.rand_code" autocomplete="off"></el-input>
<el-input type="text" placeholder='验证码' v-model="loginForm.rand_code" autocomplete="off"></el-input>
<img :src="code" class="code-img" @click="code" />
<img :src="code" class="code-img" @click="code" />
<p><span>看不清?</span><span>换一张</span></p>
<p><span>看不清?</span><span
@click="code"
>换一张</span></p>
</el-form-item>
</el-form-item>
<el-form-item class="ms-admin-form-item ms-admin-form-item-checkout">
<el-form-item class="ms-admin-form-item ms-admin-form-item-checkout">
<el-checkbox v-model="rememberPass">记住密码</el-checkbox>
<el-checkbox v-model="rememberPass">记住密码</el-checkbox>
...
...
src/main/webapp/WEB-INF/manager/mweixin/keyword-list.ftl
0 → 100644
View file @
56dbdd1b
<!--
关键字列表 -->
<!
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
>
<
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
>
</
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
(){
}
}
}
)
</
script
>
\ No newline at end of file
src/main/webapp/WEB-INF/manager/mweixin/keyword-reply.ftl
View file @
56dbdd1b
<!--
关键
字
回复 -->
<!--
关键
词
回复 -->
<!
DOCTYPE
html>
<!
DOCTYPE
html>
<
html
lang="">
<
html
lang="">
<
head
>
<
head
>
<title></title>
<title></title>
<!-- <#include "/include/head-file.ftl"/> -->
<!-- <#include "/include/head-file.ftl"/> -->
...
@@ -11,18 +12,42 @@
...
@@ -11,18 +12,42 @@
<
body
>
<
body
>
<div id="keyword-reply" class="keyword-reply ms-container">
<div id="keyword-reply" class="keyword-reply ms-container">
<el-table :data="tableData" border style="width: 100%">
<el-form :model="keywordReplyForm" status-icon :rules="keywordReplyFormRules" ref="keywordReplyForm"
<el-table-column prop="date" label="规则名" width="180" align='center'>
label-width="100px">
</el-table-column>
<el-form-item label="关键词" prop="keyword" class="ms-keyword-input">
<el-table-column prop="name" label="关键词" width="180" align='center'>
<el-row type='flex' justify='space-between' align='center'>
</el-table-column>
<el-col :span='12'>
<el-table-column prop="address" label="消息回复类型" align='center'>
<el-input placeholder="请输入内容" v-model="keywordReplyForm.keyword" class="input-with-select" size='mini'
</el-table-column>
maxlength='30' @input='resetWord'>
<el-table-column prop="address" label="发送对象" align='center'>
<el-select v-model="keywordReplyForm.select" slot="prepend" placeholder="请选择">
</el-table-column>
<el-option label="模糊匹配" value="1"></el-option>
<el-table-column prop="address" label="回复方式" align='center'>
<el-option label="全匹配" value="2"></el-option>
</el-table-column>
</el-select>
</el-table>
<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>
</div>
</
body
>
</
body
>
...
@@ -31,23 +56,36 @@
...
@@ -31,23 +56,36 @@
var keywordReplyVue = new Vue(
{
var keywordReplyVue = new Vue(
{
el
:
'#
keyword-reply
'
,
el
:
'#
keyword-reply
'
,
data
:
{
data
:
{
tableData
:
[
{
keywordReplyForm
:
{
date
:
'
2016-05-02
'
,
keyword
:
""
,
//关键词
name
:
'王小虎'
,
select
:
''
,
address
:
'上海市普陀区金沙江路
1518
弄'
reply
:
""
,
},
{
},
date
:
'
2016-05-04
'
,
keywordReplyFormRules
:
{
name
:
'王小虎'
,
address
:
'上海市普陀区金沙江路
1517
弄'
},
},
{
activeName
:
'
text
'
,
date
:
'
2016-05-01
'
,
wordNumber
:
30
,
//剩余字数
name
:
'王小虎'
,
},
address
:
'上海市普陀区金沙江路
1519
弄'
methods
:
{
},
{
//
添加关键词
date
:
'
2016-05-03
'
,
addKeyWord
:
function
(){
name
:
'王小虎'
,
address
:
'上海市普陀区金沙江路
1516
弄'
},
}
]
//
计算剩余字数
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
>
</
script
>
\ No newline at end of file
src/main/webapp/WEB-INF/manager/mweixin/message-reply.ftl
View file @
56dbdd1b
...
@@ -5,8 +5,9 @@
...
@@ -5,8 +5,9 @@
<
head
>
<
head
>
<title></title>
<title></title>
<!-- <#include "/include/head-file.ftl"/> -->
<!-- <#include "/include/head-file.ftl"/> -->
<!--#include virtual="../include/head-file.ftl" -->
<!-- <link rel="stylesheet" href="$
{
base
}
/static/mweixin/css/message-reply.css"> -->
<!-- <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">
<link rel="stylesheet" href="../../../static/mweixin/css/message-reply.css">
</
head
>
</
head
>
...
...
src/main/webapp/static/mweixin/css/keyword-list.css
0 → 100644
View file @
56dbdd1b
/*
*这里的值严格按照UI设计图标注值来进行设置
*/
/*
*颜色
*/
/*
*页面的边距
*/
/*
*字体
*/
/*
*头像
*/
/*
* 按钮
*/
/*
*对常见的多行样式进行了方法封装,方便调用,加快开发效率
*/
html
,
body
{
min-height
:
100vh
;
background-color
:
#eee
;
margin
:
0
;
font-weight
:
initial
!important
;
font-size
:
14px
!important
;
color
:
#333
!important
;
}
html
*,
body
*
{
text-decoration
:
none
!important
;
font-family
:
Verdana
,
Arial
,
Helvetica
,
sans-serif
;
box-sizing
:
border-box
;
}
.ms-ellipsis
{
overflow
:
hidden
;
text-overflow
:
ellipsis
;
white-space
:
nowrap
;
display
:
block
;
}
.ms-align-center
{
display
:
flex
;
align-items
:
center
;
}
input
::-webkit-input-placeholder
,
textarea
::-webkit-input-placeholder
{
font-weight
:
initial
;
font-size
:
12px
;
color
:
#999
;
resize
:
none
;
}
*
::-webkit-scrollbar
{
width
:
8px
;
height
:
8px
;
}
/*定义滚动条轨道 内阴影+圆角*/
*
::-webkit-scrollbar-track
{
border-radius
:
10px
;
/*滚动条的背景区域的圆角*/
background-color
:
#eee
;
/*滚动条的背景颜色*/
}
/*定义滑块 内阴影+圆角*/
*
::-webkit-scrollbar-thumb
{
border-radius
:
10px
;
/*滚动条的圆角*/
background-color
:
#ddd
;
/*滚动条的背景颜色*/
}
.ms-container
{
margin
:
12px
;
height
:
100%
;
padding
:
14px
14px
0
14px
;
background
:
#fff
;
}
.ms-header
{
padding
:
10px
;
margin
:
0
;
border-bottom
:
1px
solid
#ddd
;
background
:
#fff
;
height
:
50px
;
}
.ms-pagination
{
padding
:
20px
0
;
text-align
:
right
;
}
.ms-fr
{
float
:
right
;
}
.ms-tr
{
text-align
:
right
;
}
.el-button
+
.el-button
{
margin-left
:
0
;
}
.keyword-list
{
padding
:
14px
;
}
src/main/webapp/static/mweixin/css/keyword-reply.css
View file @
56dbdd1b
...
@@ -96,5 +96,80 @@ textarea::-webkit-input-placeholder {
...
@@ -96,5 +96,80 @@ textarea::-webkit-input-placeholder {
margin-left
:
0
;
margin-left
:
0
;
}
}
.keyword-reply
{
.keyword-reply
{
padding
:
14px
;
padding-bottom
:
20px
;
}
.keyword-reply
.el-select
.el-input
{
width
:
90px
;
}
.keyword-reply
.el-select
.el-input
>
input
{
padding
:
0
10px
!important
;
}
.keyword-reply
.ms-keyword-input
{
margin-bottom
:
15px
!important
;
}
.keyword-reply
.ms-keyword-input
.el-input__suffix
{
line-height
:
28px
;
}
.keyword-reply
.ms-keyword-input
.el-icon-plus
{
margin-left
:
20px
;
font-weight
:
bold
;
font-size
:
14px
;
color
:
#0099ff
;
}
.keyword-reply
.ms-keyword-input
.el-icon-plus
:hover
{
cursor
:
pointer
;
}
.keyword-reply
.ms-keyword-reply-content
{
margin
:
0
;
}
.keyword-reply
.ms-keyword-reply-content
.keyword-reply-tabs
{
flex
:
1
;
border
:
1px
solid
#ddd
;
border-radius
:
4px
4px
0
0
!important
;
min-height
:
226px
;
}
.keyword-reply
.ms-keyword-reply-content
.keyword-reply-tabs
.el-tabs__header
{
margin
:
0
!important
;
}
.keyword-reply
.ms-keyword-reply-content
.keyword-reply-tabs
.el-tabs__header
.el-tabs__nav-scroll
{
padding
:
0
20px
;
}
.keyword-reply
.ms-keyword-reply-content
.el-form-item__content
{
position
:
relative
;
}
.keyword-reply
.ms-keyword-reply-content
.el-form-item__content
.el-icon-delete
{
position
:
absolute
;
right
:
5px
;
bottom
:
66px
;
font-weight
:
initial
;
font-size
:
12px
;
color
:
#999
;
}
.keyword-reply
.ms-keyword-reply-content
.el-form-item__content
.el-icon-delete
:hover
{
cursor
:
pointer
;
}
.keyword-reply
.ms-keyword-reply-content
.el-form-item__content
textarea
{
height
:
127px
!important
;
border
:
none
!important
;
border-bottom
:
1px
solid
#ddd
!important
;
}
.keyword-reply
.ms-keyword-reply-content
.el-form-item__content
.footer
{
height
:
58px
;
padding
:
0
14px
;
display
:
flex
;
justify-content
:
flex-start
;
align-items
:
center
;
}
.keyword-reply
.ms-keyword-reply-content
.el-form-item__content
.footer
i
{
margin-right
:
12px
;
font-size
:
16px
;
}
.keyword-reply
.ms-keyword-reply-content
.el-form-item__content
.footer
a
{
font-weight
:
initial
;
font-size
:
14px
;
color
:
#0099ff
;
}
.keyword-reply
.ms-keyword-reply-content
.el-form-item__content
.footer
i
:hover
,
.keyword-reply
.ms-keyword-reply-content
.el-form-item__content
.footer
a
:hover
{
cursor
:
pointer
;
}
}
src/main/webapp/static/mweixin/keyword-list.less
0 → 100644
View file @
56dbdd1b
@import "../ms-admin/4.7.0/less/app.less";
// 关键字列表
.keyword-list{
padding:14px;
}
\ No newline at end of file
src/main/webapp/static/mweixin/keyword-reply.less
View file @
56dbdd1b
@import "../ms-admin/4.7.0/less/app.less";
@import "../ms-admin/4.7.0/less/app.less";
// 关键字回复
// 关键字回复
.keyword-reply{
.keyword-reply {
padding:14px;
padding-bottom:20px;
.el-select .el-input {
width: 90px;
>input {
padding: 0 10px !important;
}
}
// 关键词
.ms-keyword-input{
margin-bottom: 15px !important;
// 尾词
.el-input__suffix{
line-height: 28px;
}
// 添加
.el-icon-plus{
margin-left:20px;
.ms-font(@defalutSize,@themeColor,bold);
&:hover{
cursor: pointer;
}
}
}
// 回复内容
.ms-keyword-reply-content {
margin: 0;
.keyword-reply-tabs {
flex: 1;
border: 1px solid @borderColor;
border-radius: 4px 4px 0 0 !important;
min-height: 226px;
.el-tabs__header {
// background: #f2f2f6;
margin: 0 !important;
.el-tabs__nav-scroll {
padding: 0 20px;
}
}
}
.el-form-item__content {
position: relative;
.el-icon-delete {
position: absolute;
right: 5px;
bottom: 66px;
.ms-font(@auxiliarySize, @auxiliaryColor);
&:hover {
cursor: pointer;
}
}
textarea {
height: 127px !important;
border: none !important;
border-bottom: 1px solid @borderColor !important;
}
.footer {
height: 58px;
padding: 0 14px;
.ms-flex(flex-start);
align-items: center;
i {
margin-right: 12px;
font-size: 16px;
}
a {
.ms-font(@defalutSize, @themeColor);
}
i,
a {
&:hover {
cursor: pointer;
}
}
}
}
}
}
}
\ No newline at end of file
Write
Preview
Supports
Markdown
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