Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
marketing
Overview
Overview
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
marketing-web
marketing
Commits
fc514d0f
Commit
fc514d0f
authored
Sep 27, 2018
by
zhangmeng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改样式
parent
bb2e87d7
Hide whitespace changes
Inline
Side-by-side
Showing
41 changed files
with
144 additions
and
131 deletions
+144
-131
index.html
dist/index.html
+2
-2
app.0f180a9d6d923c4d4e080743fe9da7ce.css
dist/static/css/app.0f180a9d6d923c4d4e080743fe9da7ce.css
+0
-0
reset.scss
src/assets/style/base/reset.scss
+4
-4
index.css
src/assets/theme/index.css
+12
-4
index.vue
src/components/libs/imgTextTemp/index.vue
+1
-1
addEdit.vue
src/components/libs/videoTemp/addEdit.vue
+47
-48
img.vue
src/components/upload/img.vue
+8
-3
wxText.vue
src/components/wxText/wxText.vue
+2
-1
card-info.vue
src/views/card/card-info.vue
+4
-3
cardInfo.js
src/views/card/cardInfo.js
+3
-0
check.vue
src/views/card/check.vue
+1
-1
record-get.vue
src/views/card/record-get.vue
+3
-3
record-send.vue
src/views/card/record-send.vue
+3
-3
addEdit.vue
src/views/ecm/addEdit.vue
+9
-9
newest.vue
src/views/evaluation/newest.vue
+1
-3
problem.vue
src/views/evaluation/problem.vue
+1
-1
reply.vue
src/views/evaluation/reply.vue
+1
-1
addEdit.vue
src/views/game/dzp/addEdit.vue
+1
-1
index.vue
src/views/game/dzp/index.vue
+1
-1
record.vue
src/views/game/dzp/record.vue
+1
-1
addEdit.vue
src/views/game/ggk/addEdit.vue
+1
-1
index.vue
src/views/game/ggk/index.vue
+1
-1
record.vue
src/views/game/ggk/record.vue
+1
-1
addEdit.vue
src/views/game/klfl/addEdit.vue
+5
-5
index.vue
src/views/game/klfl/index.vue
+4
-5
record.vue
src/views/game/klfl/record.vue
+1
-1
addEdit.vue
src/views/game/ptyx/addEdit.vue
+2
-2
index.vue
src/views/game/ptyx/index.vue
+3
-3
record.vue
src/views/game/ptyx/record.vue
+1
-1
addEdit.vue
src/views/game/znm/addEdit.vue
+2
-2
index.vue
src/views/game/znm/index.vue
+1
-1
record.vue
src/views/game/znm/record.vue
+2
-2
card-info.vue
src/views/giccard/card-info.vue
+1
-1
check.vue
src/views/giccard/check.vue
+1
-1
record-get.vue
src/views/giccard/record-get.vue
+1
-1
addTemp.vue
src/views/message/addTemp.vue
+2
-2
detail.vue
src/views/message/detail.vue
+2
-3
record.vue
src/views/message/record.vue
+3
-3
edit.vue
src/views/msg/edit.vue
+3
-3
addRecord.vue
src/views/wechat/addRecord.vue
+1
-1
record.vue
src/views/wechat/record.vue
+1
-1
No files found.
dist/index.html
View file @
fc514d0f
<!DOCTYPE html>
<html><head><meta
charset=
utf-8
><meta
name=
viewport
content=
"width=device-width,initial-scale=1"
><link
rel=
"shortcut icon"
href=
./static/img/favicon.ico
><title>
GIC后台
</title><link
rel=
stylesheet
type=
text/css
href=
static/css/iconfont.css
><link
rel=
stylesheet
type=
text/css
href=
static/css/common.css
><link
href=
/marketing/static/css/app.0f180a9d6d923c4d4e080743fe9da7ce.css
rel=
stylesheet
></head><body><div
id=
app
></div><script
type=
text/javascript
src=
/marketing/static/js/manifest.0a85049e489e85ac5f0a.js
></script><script
type=
text/javascript
src=
/marketing/static/js/vendor.12e5a9cdef678ac3ff59.js
></script><script
type=
text/javascript
src=
/marketing/static/js/app.a7fee8299ab0234afb05.js
></script></body></html>
\ No newline at end of file
<!DOCTYPE html>
<html><head><meta
charset=
utf-8
><meta
name=
viewport
content=
"width=device-width,initial-scale=1"
><link
rel=
"shortcut icon"
href=
./static/img/favicon.ico
><title>
GIC后台
</title><link
rel=
stylesheet
type=
text/css
href=
static/css/iconfont.css
><link
rel=
stylesheet
type=
text/css
href=
static/css/common.css
><link
href=
/marketing/static/css/app.0f180a9d6d923c4d4e080743fe9da7ce.css
rel=
stylesheet
></head><body><div
id=
app
></div><script
type=
text/javascript
src=
/marketing/static/js/manifest.0a85049e489e85ac5f0a.js
></script><script
type=
text/javascript
src=
/marketing/static/js/vendor.12e5a9cdef678ac3ff59.js
></script><script
type=
text/javascript
src=
/marketing/static/js/app.7f6026bcb362bbb1ea45.js
></script></body></html>
\ No newline at end of file
dist/static/css/app.0f180a9d6d923c4d4e080743fe9da7ce.css
View file @
fc514d0f
This source diff could not be displayed because it is too large. You can
view the blob
instead.
src/assets/style/base/reset.scss
View file @
fc514d0f
...
...
@@ -26,7 +26,7 @@ a {
color
:
#1890ff
;
}
a
:hover
{
color
:
#
1e6cd5
;
color
:
#
40A9FF
;
}
.block-center
{
...
...
@@ -291,9 +291,9 @@ a:hover {
-webkit-box-orient
:vertical
}
.border
2px
{
border
:
2
px
solid
#DCDFE6
;
border-radius
:
4
px
;
.border
-radius2
{
border
:
1
px
solid
#DCDFE6
;
border-radius
:
2
px
;
}
...
...
src/assets/theme/index.css
View file @
fc514d0f
...
...
@@ -44357,7 +44357,6 @@
[
class
^=
"dm-status--"
]
::before
{
display
:
inline-block
;
width
:
6px
;
...
...
@@ -44395,8 +44394,18 @@
}
.dm-status--primary--flash
::before
{
background-color
:
#1890FF
;
border
:
1px
solid
#fff
;
box-shadow
:
1px
,
1px
,
1px
,
rgba
(
0
,
0
,
0
);
box-shadow
:
1px
1px
0px
#1890FF
,
-1px
-1px
0px
#1890FF
,
-1px
1px
0px
#1890FF
,
1px
-1px
0px
#1890FF
;
width
:
3px
;
height
:
3px
;
vertical-align
:
middle
;
border-radius
:
50%
;
-webkit-animation
:
antStatusProcessing
1.2s
ease-in-out
infinite
;
animation
:
antStatusProcessing
1.2s
ease-in-out
infinite
;
}
.dm-status--primary--flash
::after
{
/* .dm-status--primary--flash::after {
content: ' ';
display: inline-block;
position: absolute;
...
...
@@ -44404,13 +44413,12 @@
top: 5px;
width: 6px;
height: 6px;
margin-right
:
7px
;
vertical-align: middle;
border-radius: 50%;
border: 1px solid #1890FF;
-webkit-animation: antStatusProcessing 1.2s ease-in-out infinite;
animation: antStatusProcessing 1.2s ease-in-out infinite;
}
}
*/
@-webkit-keyframes
antStatusProcessing
{
0
%
{
src/components/libs/imgTextTemp/index.vue
View file @
fc514d0f
...
...
@@ -3,8 +3,8 @@
<div
class=
"dm-imgtext_head"
:class=
"pbSize"
>
<div>
图文消息(共
{{
total
}}
条)
<el-input
v-model=
"listParams.searchName"
clearable
class=
"w200 ml10"
placeholder=
"请输入标题/作者"
@
change=
"loadImgTextList"
><i
slot=
"prefix"
class=
"el-input__icon el-icon-search"
></i></el-input></div>
<div>
<el-button
type=
"primary"
@
click=
"add"
>
新建图文
</el-button>
<el-button
v-if=
"auto"
@
click=
"check"
>
检查同步
</el-button>
<el-button
:type=
"auto?'':'primary'"
@
click=
"add"
>
新建图文
</el-button>
</div>
</div>
<el-radio-group
class=
"dm-imgtext-list"
v-model=
"selectedData"
v-loading=
"loading"
:style=
"scrollStyle"
>
...
...
src/components/libs/videoTemp/addEdit.vue
View file @
fc514d0f
<
template
>
<section>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"80px"
v-loading=
"loading"
>
<el-form-item
label=
"标题"
prop=
"titleName"
class=
"w450"
>
<dm-input
v-model=
"form.titleName"
:maxlength=
"64"
></dm-input>
</el-form-item>
<el-form-item
label=
"分类"
class=
"w450"
>
<el-select
v-model=
"form.videoCategory"
>
<el-option
v-for=
"item in dictList"
:key=
"item.dict_id"
:label=
"item.dict_name"
:value=
"item.dict_id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"标签"
prop=
"videoTags"
class=
"w450"
>
<dm-input
v-model=
"form.videoTags"
:maxlength=
"10"
></dm-input>
</el-form-item>
<el-form-item
label=
"简介"
prop=
"remark"
class=
"w450"
>
<dm-input
type=
"textarea"
v-model=
"form.remark"
:rows=
"6"
:maxlength=
"120"
></dm-input>
</el-form-item>
<el-form-item
label=
"视频内容"
v-if=
"!this.videoId"
>
<el-upload
v-show=
"form.remark && form.titleName"
class=
"dm-upload_right"
:action=
"api+'/api-marketing/upload-marketing-videosave'"
:on-preview=
"handlePreview"
:on-remove=
"handleRemove"
:before-remove=
"beforeRemove"
enctype=
"multipart/form-data"
:on-success=
"uploadSuccess"
:auto-upload=
"true"
:multiple=
"false"
:limit=
"1"
:data=
"
{titleName:form.titleName,remark:form.remark,requestProject:'marketing'}"
:on-exceed="handleExceed"
:file-list="fileList"
>
<el-button
size=
"small"
type=
"primary"
:disabled=
"!(form.remark && form.titleName)"
>
上传视频
</el-button>
</el-upload>
<el-button
size=
"small"
v-show=
"!(form.remark && form.titleName)"
type=
"primary"
@
click=
"tips"
>
上传视频
</el-button>
<p
class=
"gray fz12 line-height2"
>
视频不能超过20M,支持大部分主流视频格式,超过20M的视频可至
<a
href=
"http://v.qq.com/"
target=
"_blank"
>
腾讯视频
</a>
上传后添加
</p>
</el-form-item>
<p
class=
"gray text-center pb10 pt20"
>
不得上传未经授权的他人作品,以及色情、反动等违法视频。
</p>
<p
class=
"gray text-center"
><el-checkbox
v-model=
"checked"
class=
"pr10"
></el-checkbox>
我已阅读并同意
<a
href=
"http://v.qq.com/help/help_agreement.html"
target=
"_blank"
>
《腾讯视频上传服务规则》
</a></p>
</el-form>
<div
class=
"btn-wrap_fixed"
:class=
"
{'on':asideShow}">
<el-button
type=
"primary"
:disabled=
"!checked"
@
click=
"submit('form')"
>
确 定
</el-button>
<el-button
@
click=
"$router.go(-1)"
>
返 回
</el-button>
</div>
<section
class=
"dm-wrap"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"80px"
v-loading=
"loading"
>
<el-form-item
label=
"标题"
prop=
"titleName"
class=
"w450"
>
<dm-input
v-model=
"form.titleName"
:maxlength=
"64"
></dm-input>
</el-form-item>
<el-form-item
label=
"分类"
class=
"w450"
>
<el-select
v-model=
"form.videoCategory"
>
<el-option
v-for=
"item in dictList"
:key=
"item.dict_id"
:label=
"item.dict_name"
:value=
"item.dict_id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"标签"
prop=
"videoTags"
class=
"w450"
>
<dm-input
v-model=
"form.videoTags"
:maxlength=
"10"
></dm-input>
</el-form-item>
<el-form-item
label=
"简介"
prop=
"remark"
class=
"w450"
>
<dm-input
type=
"textarea"
v-model=
"form.remark"
:rows=
"4"
:maxlength=
"120"
></dm-input>
</el-form-item>
<el-form-item
label=
"视频内容"
v-if=
"!this.videoId"
>
<el-upload
v-show=
"form.remark && form.titleName"
class=
"dm-upload_right"
:action=
"api+'/api-marketing/upload-marketing-videosave'"
:on-preview=
"handlePreview"
:on-remove=
"handleRemove"
:before-remove=
"beforeRemove"
enctype=
"multipart/form-data"
:on-success=
"uploadSuccess"
:auto-upload=
"true"
:multiple=
"false"
:limit=
"1"
:data=
"
{titleName:form.titleName,remark:form.remark,requestProject:'marketing'}"
:on-exceed="handleExceed"
:file-list="fileList">
<el-button
size=
"small"
type=
"primary"
:disabled=
"!(form.remark && form.titleName)"
>
上传视频
</el-button>
</el-upload>
<el-button
size=
"small"
v-show=
"!(form.remark && form.titleName)"
type=
"primary"
@
click=
"tips"
>
上传视频
</el-button>
<p
class=
"gray fz12 line-height2"
>
视频不能超过20M,支持大部分主流视频格式,超过20M的视频可至
<a
href=
"http://v.qq.com/"
target=
"_blank"
>
腾讯视频
</a>
上传后添加
</p>
</el-form-item>
<p
class=
"gray text-center pb10 pt20"
>
不得上传未经授权的他人作品,以及色情、反动等违法视频。
</p>
<p
class=
"gray text-center"
><el-checkbox
v-model=
"checked"
class=
"pr10"
></el-checkbox>
我已阅读并同意
<a
href=
"http://v.qq.com/help/help_agreement.html"
target=
"_blank"
>
《腾讯视频上传服务规则》
</a></p>
</el-form>
<div
class=
"btn-wrap_fixed"
:class=
"
{'on':asideShow}">
<el-button
type=
"primary"
:disabled=
"!checked"
@
click=
"submit('form')"
>
确 定
</el-button>
<el-button
@
click=
"$router.go(-1)"
>
返 回
</el-button>
</div>
</section>
</
template
>
<
script
>
...
...
@@ -164,7 +163,7 @@ import { editVideoDetailService ,uploadVideoService,saveVideoService} from "@/se
}
else
{
this
.
$tips
({
type
:
'warning'
,
message
:
response
.
message
});
}
}
,
}
}
};
</
script
>
src/components/upload/img.vue
View file @
fc514d0f
<
template
>
<div>
<label
class=
"el-button el-button--primary"
:class=
"
{'is-disabled':disabled}" :style="labelStyle">
{{
disabled
?
'上传中...'
:
label
}}
<label
class=
"el-button el-button--primary"
:class=
"
{'is-disabled':disabled}" :style="labelStyle">
<i
v-if=
"icon"
:class=
"icon"
></i>
{{
disabled
?
'上传中...'
:
label
}}
<input
type=
"file"
style=
"display:none;"
:disabled=
"disabled"
accept=
"image/gif, image/jpeg,image/png"
ref=
"uploader"
v-upload=
'this'
>
</label>
<span
class=
"fz12 gray"
:style=
"tipsStyle"
>
{{
tips
}}
</span>
...
...
@@ -53,8 +55,11 @@ export default {
type
:
String
,
default
:
'/api-marketing/upload-game-image'
},
labelStyle
:
Object
labelStyle
:
Object
,
icon
:{
type
:
String
,
default
:
''
}
},
watch
:{
model
:{
...
...
src/components/wxText/wxText.vue
View file @
fc514d0f
...
...
@@ -270,7 +270,8 @@
.attention-text-wrap
{
.attention-text-content{
width
:
100%
;
border
:
1px
solid
#e7e7eb
;
border
:
1px
solid
#e7e7eb
;
border-radius
:
2px
;
.text-title{
width
:
100%
;
height
:
40px
;
...
...
src/views/card/card-info.vue
View file @
fc514d0f
<
template
>
<el-form
class=
"dm-wrap"
:model=
"form"
ref=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-form-item
label=
"卡券类型"
>
<el-radio-group
v-model=
"form.cardType"
:disabled=
"editDisabled || infoDisabled"
@
change=
"reset(form.cardType)"
>
<el-radio
:label=
"0"
>
抵金券
</el-radio>
...
...
@@ -19,11 +20,11 @@
<el-form-item
prop=
"subTitle"
label=
"卡券副标题"
>
<dm-input
v-model=
"form.subTitle"
class=
"w400"
placeholder=
"请输入卡券副标题"
:disabled=
"editDisabled || infoDisabled"
:maxlength=
"18"
></dm-input>
</el-form-item>
<el-form-item
prop=
"erpDemoCode"
label=
"demo券号"
>
<el-input
v-model=
"form.erpDemoCode"
class=
"w400"
placeholder=
"请输入demo券号"
:disabled=
"editDisabled || infoDisabled"
></el-input>
<el-input
v-model=
"form.erpDemoCode"
class=
"w400"
placeholder=
"请输入demo券号"
:disabled=
"editDisabled || infoDisabled"
@
blur=
"checkErpDemoCode"
></el-input>
</el-form-item>
<el-form-item
prop=
"cardColor"
label=
"卡券颜色"
style=
"height: 40px;"
>
<el-color-picker
v-model=
"form.cardColor"
:disabled=
"infoDisabled"
></el-color-picker>
<span
class=
"vertical-top"
>
{{
form
.
cardColor
}}
</span>
</el-form-item>
...
...
@@ -142,7 +143,7 @@
</el-form-item>
<el-form-item
prop=
"useDescript"
label=
"使用说明"
>
<dm-input
class=
"w400"
type=
"textarea"
:rows=
"
6
"
v-model=
"form.useDescript"
:maxlength=
"500"
:disabled=
"infoDisabled"
></dm-input>
<dm-input
class=
"w400"
type=
"textarea"
:rows=
"
4
"
v-model=
"form.useDescript"
:maxlength=
"500"
:disabled=
"infoDisabled"
></dm-input>
</el-form-item>
<el-form-item
prop=
"teletexts"
label=
"(选填)图文介绍"
>
...
...
src/views/card/cardInfo.js
View file @
fc514d0f
...
...
@@ -246,6 +246,9 @@ export default {
this
.
loading
=
false
})
},
checkErpDemoCode
()
{
this
.
form
.
erpDemoCode
=
this
.
form
.
erpDemoCode
.
replace
(
/
[^\w\.\/]
/ig
,
''
)
},
//提交保存
submitForm
(
formName
)
{
//验证 减免金额 和 折扣额度
...
...
src/views/card/check.vue
View file @
fc514d0f
...
...
@@ -3,7 +3,7 @@
<div
class=
"pb22 clearfix"
>
<el-date-picker
class=
"w250"
v-model=
"dateTime"
type=
"daterange"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
@
change=
"coupcardCheckList"
></el-date-picker>
<el-input
v-model=
"listParams.searchParam"
class=
"w300"
placeholder=
"订单号/门店名称/导购姓名"
clearable
@
change=
"search"
><i
slot=
"prefix"
class=
"el-input__icon el-icon-search"
></i></el-input>
<el-button
class=
"fr"
type=
"primary"
@
click=
"exportCoupcardCheckExcel"
>
下载Excel
<i
class=
"iconfont icon-icon_yunxiazai fz14"
></i>
</el-button>
<el-button
class=
"fr"
type=
"primary"
icon=
"iconfont icon-icon_yunxiazai fz14"
@
click=
"exportCoupcardCheckExcel"
>
下载Excel
</el-button>
</div>
<el-table
tooltipEffect=
"light"
:data=
"tableList"
style=
"width: 100%"
v-loading=
"loading"
>
<el-table-column
:show-overflow-tooltip=
"true"
width=
"160"
align=
"left"
prop=
"createTime"
label=
"操作时间"
>
...
...
src/views/card/record-get.vue
View file @
fc514d0f
...
...
@@ -7,7 +7,7 @@
<el-option
v-for=
"(item,index) in cardStatusOptions"
:key=
"index"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
<el-input
v-model=
"listParams.search"
class=
"w300"
placeholder=
"请输入卡券名称/卡券代码/会员信息"
@
change=
"search"
><i
slot=
"prefix"
class=
"el-input__icon el-icon-search"
></i></el-input>
<el-button
class=
"fr"
type=
"primary"
@
click=
"exportReceivedRecordExcel"
>
导出订单
<i
class=
"iconfont icon-icon_yunxiazai fz14"
></i>
</el-button>
<el-button
class=
"fr"
type=
"primary"
icon=
"iconfont icon-icon_yunxiazai fz14"
@
click=
"exportReceivedRecordExcel"
>
导出订单
</el-button>
</div>
<!-- 列表 -->
<el-table
tooltipEffect=
"light"
:data=
"recordList"
style=
"width: 100%"
v-loading=
"recordLoading"
>
...
...
@@ -29,7 +29,7 @@
{{
scope
.
row
.
cardType
===
0
?
'抵金券'
:(
scope
.
row
.
cardType
===
1
?
'折扣券'
:
'兑换券'
)
}}
</
template
>
</el-table-column>
<el-table-column
min-width=
"1
2
0"
align=
"left"
prop=
"receiveTime"
label=
"卡券名称"
>
<el-table-column
min-width=
"1
0
0"
align=
"left"
prop=
"receiveTime"
label=
"卡券名称"
>
<
template
slot-scope=
"scope"
>
<p
class=
"blue"
@
click=
"$router.push('/card/info/'+scope.row.coupCardId)"
>
{{
scope
.
row
.
cardName
}}
</p>
</
template
>
...
...
@@ -43,7 +43,7 @@
<span
v-html=
"filterCardStatus(scope.row)"
></span>
</
template
>
</el-table-column>
<el-table-column
width=
"80"
align=
"left"
prop=
"receiveName"
label=
"投放来源"
></el-table-column>
<el-table-column
min-
width=
"80"
align=
"left"
prop=
"receiveName"
label=
"投放来源"
></el-table-column>
<el-table-column
width=
"80"
align=
"left"
prop=
"receiveName"
label=
"来源明细"
>
<
template
slot-scope=
"scope"
>
{{
(
scope
.
row
.
receiveCode
==
'RECEIVE_003'
||
scope
.
row
.
receiveCode
==
'RECEIVE_005'
||
scope
.
row
.
receiveCode
==
'RECEIVE_007'
||
scope
.
row
.
receiveCode
==
'RECEIVE_004'
||
scope
.
row
.
receiveCode
==
'RECEIVE_010'
)?
scope
.
row
.
receiveTypeExcel
:
'--'
}}
...
...
src/views/card/record-send.vue
View file @
fc514d0f
...
...
@@ -121,13 +121,13 @@ export default {
this
.
$router
.
push
(
'/card/groupsend/'
+
row
.
putonId
)
},
filterStatus
(
val
)
{
let
result
=
{
label
:
'执行错误'
,
type
:
'
warning
'
};
let
result
=
{
label
:
'执行错误'
,
type
:
'
danger
'
};
switch
(
val
)
{
case
1
:
result
=
{
label
:
'待发送'
,
type
:
'
primary--flash
'
};
result
=
{
label
:
'待发送'
,
type
:
'
warning
'
};
break
;
case
2
:
result
=
{
label
:
'正在发送'
,
type
:
'
success
'
};
result
=
{
label
:
'正在发送'
,
type
:
'
primary--flash
'
};
break
;
case
3
:
result
=
{
label
:
'已发送'
,
type
:
'success'
};
...
...
src/views/ecm/addEdit.vue
View file @
fc514d0f
...
...
@@ -8,7 +8,7 @@
<el-form-item
label=
"时效"
class=
"width50"
>
<el-radio
v-model=
"form.effectType"
:label=
"0"
>
实时
</el-radio>
<el-radio
class=
"mr10"
v-model=
"form.effectType"
:label=
"1"
>
每天
</el-radio>
<el-select
style=
"width:2
47
px;"
v-model=
"form.effectTime"
v-if=
"form.effectType"
:disabled=
"detailFlag"
placeholder=
"请选择时间"
>
<el-select
style=
"width:2
62
px;"
v-model=
"form.effectTime"
v-if=
"form.effectType"
:disabled=
"detailFlag"
placeholder=
"请选择时间"
>
<el-option
v-for=
"(v,i) in dayOptions"
:key=
"i"
:label=
"v.label"
:value=
"v.value"
></el-option>
</el-select>
</el-form-item>
...
...
@@ -21,15 +21,15 @@
<div
class=
"fz12 gray"
>
选填,勾选后生效
</div>
<div
class=
"pb10"
>
<el-radio
v-model=
"radio"
class=
"w150"
label=
"brithday_day"
>
会员生日前
</el-radio>
<el-input-number
controls-position=
"right"
style=
"width:244px;"
:disabled=
"radio !== 'brithday_day'"
v-model=
"form.brithday_day"
></el-input-number>
天
<el-input-number
controls-position=
"right"
:min=
"0"
style=
"width:244px;"
:disabled=
"radio !== 'brithday_day'"
v-model=
"form.brithday_day"
></el-input-number>
天
</div>
<div
class=
"pb10"
>
<el-radio
v-model=
"radio"
class=
"w150"
label=
"attention_day"
>
关注时长超过
</el-radio>
<el-input-number
controls-position=
"right"
style=
"width:244px;"
:disabled=
"radio !== 'attention_day'"
v-model=
"form.attention_day"
></el-input-number>
天
<el-input-number
controls-position=
"right"
:min=
"0"
:max=
"100000"
style=
"width:244px;"
:disabled=
"radio !== 'attention_day'"
v-model=
"form.attention_day"
></el-input-number>
天
</div>
<div
class=
"pb10"
>
<el-radio
v-model=
"radio"
class=
"w150"
label=
"lastCost_day"
>
最近消费间隔
</el-radio>
<el-input-number
controls-position=
"right"
style=
"width:244px;"
:disabled=
"radio !== 'lastCost_day'"
v-model=
"form.lastCost_day"
></el-input-number>
天
<el-input-number
controls-position=
"right"
:min=
"0"
style=
"width:244px;"
:disabled=
"radio !== 'lastCost_day'"
v-model=
"form.lastCost_day"
></el-input-number>
天
</div>
</el-form-item>
<el-form-item
label=
"营销场景"
>
...
...
@@ -64,29 +64,29 @@
<el-radio
v-if=
"enterpriseEdition"
label=
"teltask"
>
话务营销
</el-radio>
</el-radio-group>
</div>
<div
v-if=
"form.marketingType === 'teltask'"
class=
"border
2px
"
style=
"padding:15px;"
>
<div
v-if=
"form.marketingType === 'teltask'"
class=
"border
-radius2
"
style=
"padding:15px;"
>
<el-form-item
label=
"话务任务标题"
class=
"pb10 pt5"
>
<dm-input
class=
"w400"
v-model=
"form.title"
placeholder=
"限制20个字符"
:maxlength=
"20"
></dm-input>
</el-form-item>
<el-form-item
label=
"话务任务标题"
class=
"pb10"
>
<dm-input
class=
"w400"
:rows=
"
6
"
type=
"textarea"
v-model=
"form.describe"
placeholder=
"限制200个字符"
:maxlength=
"200"
></dm-input>
<dm-input
class=
"w400"
:rows=
"
4
"
type=
"textarea"
v-model=
"form.describe"
placeholder=
"限制200个字符"
:maxlength=
"200"
></dm-input>
</el-form-item>
<el-form-item
label=
"任务逾期判定"
>
<el-input-number
controls-position=
"right"
class=
"w400"
v-model=
"form.lateDays"
></el-input-number>
天之后
</el-form-item>
</div>
<!-- 短信 cardId -->
<div
v-if=
"form.marketingType === 'message'"
class=
"border
2px
"
style=
"padding:15px;"
>
<div
v-if=
"form.marketingType === 'message'"
class=
"border
-radius2
"
style=
"padding:15px;"
>
<sms-temp
:activeId
.
sync=
"form.cardId"
pbSize=
"pb15"
></sms-temp>
</div>
<!-- 图文 cardId mediaId imageTextId -->
<div
v-if=
"form.marketingType === 'teletext'"
class=
"border
2px
"
style=
"padding:15px;"
>
<div
v-if=
"form.marketingType === 'teletext'"
class=
"border
-radius2
"
style=
"padding:15px;"
>
<dm-img-text
@
get-data=
"getImgTextData"
pbSize=
"pb15"
:activeId
.
sync=
"form.mediaId"
:radioShow=
"true"
:auto=
"false"
></dm-img-text>
</div>
<!-- 图片 cardId mediaId -->
<dm-img-box
v-if=
"form.marketingType === 'image'"
@
get-data=
"getImgData"
:mediaId
.
sync=
"form.mediaId"
></dm-img-box>
<!-- 卡券 cardId -->
<div
v-if=
"form.marketingType === 'card'"
class=
"border
2px
"
style=
"padding:15px;"
>
<div
v-if=
"form.marketingType === 'card'"
class=
"border
-radius2
"
style=
"padding:15px;"
>
<cardTemp
pbSize=
"pb15"
:activeId
.
sync=
"form.cardId"
cardIdName=
"wechatCardId"
></cardTemp>
</div>
<!-- 文本 textContent -->
...
...
src/views/evaluation/newest.vue
View file @
fc514d0f
...
...
@@ -4,9 +4,7 @@
<vue-gic-store-group
class=
"pr5"
:model=
"storeGroupData"
@
commit-store=
"getStoreGroup"
></vue-gic-store-group>
<el-date-picker
v-if=
"$route.meta.type !== 'bad'"
class=
"w250"
v-model=
"dateTime"
type=
"daterange"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
@
change=
"latestEvaluationList"
></el-date-picker>
<el-input
v-model=
"listParams.searchName"
class=
"w300"
placeholder=
"订单号/门店名称/会员姓名/卡号"
clearable
@
change=
"latestEvaluationList"
><i
slot=
"prefix"
class=
"el-input__icon el-icon-search"
></i></el-input>
<el-button
v-if=
"$route.meta.type !== 'bad'"
class=
"fr"
type=
"primary"
@
click=
"exportLatestEvaluate"
>
下载Excel
<i
class=
"iconfont icon-icon_yunxiazai fz14"
></i>
</el-button>
<el-button
icon=
"iconfont icon-icon_yunxiazai fz14"
v-if=
"$route.meta.type !== 'bad'"
class=
"fr"
type=
"primary"
@
click=
"exportLatestEvaluate"
>
下载Excel
</el-button>
</div>
<div
class=
"filter--box"
>
<el-select
size=
"small"
v-if=
"$route.meta.type === 'bad'"
class=
"vertical-middle pl10 w150"
v-model=
"badStatus"
placeholder=
"选择差评类型"
@
change=
"$router.push('/evaluation/bad/'+badStatus)"
>
...
...
src/views/evaluation/problem.vue
View file @
fc514d0f
...
...
@@ -20,7 +20,7 @@
</div>
</el-form-item>
<el-form-item
label=
"回复内容"
prop=
"handleRemark"
>
<dm-input
:disabled=
"isInfo"
type=
"textarea"
class=
"w400"
v-model=
"form.handleRemark"
:rows=
"
6
"
placeholder=
"请输入回复内容"
:maxlength=
"200"
></dm-input>
<dm-input
:disabled=
"isInfo"
type=
"textarea"
class=
"w400"
v-model=
"form.handleRemark"
:rows=
"
4
"
placeholder=
"请输入回复内容"
:maxlength=
"200"
></dm-input>
</el-form-item>
</el-form>
<span
class=
"btn-wrap_fixed"
:class=
"
{'on':asideShow}">
...
...
src/views/evaluation/reply.vue
View file @
fc514d0f
...
...
@@ -2,7 +2,7 @@
<el-dialog
title=
"回复"
:visible
.
sync=
"show"
width=
"30%"
:before-close=
"close"
>
<el-form
:model=
"form"
:rules=
"rules"
ref=
"form"
label-width=
"0"
class=
"demo-ruleForm"
>
<el-form-item
prop=
"content"
>
<dm-input
type=
"textarea"
v-model=
"form.content"
:rows=
"
6
"
placeholder=
"请输入回复内容"
:maxlength=
"200"
></dm-input>
<dm-input
type=
"textarea"
v-model=
"form.content"
:rows=
"
4
"
placeholder=
"请输入回复内容"
:maxlength=
"200"
></dm-input>
</el-form-item>
</el-form>
...
...
src/views/game/dzp/addEdit.vue
View file @
fc514d0f
...
...
@@ -25,7 +25,7 @@
{{
form
.
background
}}
</el-form-item>
<el-form-item
label=
"游戏说明"
prop=
"gameIntroduction"
>
<dm-input
type=
"textarea"
:rows=
"
6
"
class=
"w400"
v-model=
"form.gameIntroduction"
:disabled=
"infoFlag"
:maxlength=
"200"
></dm-input>
<dm-input
type=
"textarea"
:rows=
"
4
"
class=
"w400"
v-model=
"form.gameIntroduction"
:disabled=
"infoFlag"
:maxlength=
"200"
></dm-input>
</el-form-item>
</section>
<section
class=
"dm-form__wrap"
>
...
...
src/views/game/dzp/index.vue
View file @
fc514d0f
...
...
@@ -55,7 +55,7 @@ export default {
return
row
.
gameWinningRate
.
toFixed
(
1
)
+
'%'
}},
{
label
:
'游戏状态'
,
prop
:
'gameStatusName'
,
width
:
'80'
,
align
:
'left'
,
isRender
:
true
,
formatter
:
function
(
row
){
return
`<div class="
${
row
.
gameStatusName
===
'进行中'
?
'dm-status--primary'
:(
row
.
gameStatusName
===
'未开始'
?
'dm-status--warning'
:
'dm-status--info'
)}
">
${
row
.
gameStatusName
}
</div>`
return
`<div class="
${
row
.
gameStatusName
===
'进行中'
?
'dm-status--primary
--flash
'
:(
row
.
gameStatusName
===
'未开始'
?
'dm-status--warning'
:
'dm-status--info'
)}
">
${
row
.
gameStatusName
}
</div>`
}},
{
label
:
'开始时间'
,
prop
:
'gameStartTime'
,
minWidth
:
'170'
,
tooltip
:
true
,
align
:
'left'
,
formatter
:
function
(
row
){
return
formateDateTimeByType
(
row
.
gameStartTime
,
'yyyy-MM-dd-HH-mm-ss'
);
...
...
src/views/game/dzp/record.vue
View file @
fc514d0f
...
...
@@ -7,7 +7,7 @@
<el-date-picker
:default-time=
"['00:00:00', '23:59:59']"
class=
"w300"
v-model=
"dateTime"
type=
"datetimerange"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
@
change=
"loadLotteryRecordList"
></el-date-picker>
<el-input
v-model=
"listParams.searchParam"
class=
"w200"
placeholder=
"会员昵称/手机号/卡号"
clearable
@
change=
"loadLotteryRecordList"
><i
slot=
"prefix"
class=
"el-input__icon el-icon-search"
></i></el-input>
<el-checkbox
border
class=
"pl10"
v-model=
"listParams.freeFlag"
:true-label=
"1"
:false-label=
"0"
@
change=
"loadLotteryRecordList"
>
免费抽奖
</el-checkbox>
<el-button
type=
"primary"
class=
"fr"
@
click=
"exportLotteryExcel"
>
下载Excel
<i
class=
"iconfont icon-icon_yunxiazai fz14"
></i>
</el-button>
<el-button
type=
"primary"
class=
"fr"
icon=
"iconfont icon-icon_yunxiazai fz14"
@
click=
"exportLotteryExcel"
>
下载Excel
</el-button>
</div>
<el-table
tooltipEffect=
"light"
:data=
"recordList"
style=
"width:100%"
v-loading=
"loading"
>
<el-table-column
:min-width=
"150"
align=
"left"
label=
"中奖时间"
:formatter=
"formatterTime"
>
</el-table-column>
...
...
src/views/game/ggk/addEdit.vue
View file @
fc514d0f
...
...
@@ -31,7 +31,7 @@
{{
form
.
background
}}
</el-form-item>
<el-form-item
label=
"游戏说明"
class=
"width50"
prop=
"gameIntroduction"
>
<dm-input
type=
"textarea"
class=
"w400"
:rows=
"
6
"
v-model=
"form.gameIntroduction"
:disabled=
"infoFlag"
:maxlength=
"200"
></dm-input>
<dm-input
type=
"textarea"
class=
"w400"
:rows=
"
4
"
v-model=
"form.gameIntroduction"
:disabled=
"infoFlag"
:maxlength=
"200"
></dm-input>
</el-form-item>
</section>
<section
class=
"dm-form__wrap"
>
...
...
src/views/game/ggk/index.vue
View file @
fc514d0f
...
...
@@ -55,7 +55,7 @@ export default {
return
row
.
gameWinningRate
.
toFixed
(
1
)
+
'%'
}},
{
label
:
'游戏状态'
,
prop
:
'gameStatusName'
,
width
:
'80'
,
align
:
'left'
,
isRender
:
true
,
formatter
:
function
(
row
){
return
`<div class="
${
row
.
gameStatusName
===
'进行中'
?
'dm-status--primary'
:(
row
.
gameStatusName
===
'未开始'
?
'dm-status--warning'
:
'dm-status--info'
)}
">
${
row
.
gameStatusName
}
</div>`
return
`<div class="
${
row
.
gameStatusName
===
'进行中'
?
'dm-status--primary
--flash
'
:(
row
.
gameStatusName
===
'未开始'
?
'dm-status--warning'
:
'dm-status--info'
)}
">
${
row
.
gameStatusName
}
</div>`
}},
{
label
:
'开始时间'
,
prop
:
'gameStartTime'
,
minWidth
:
'170'
,
tooltip
:
true
,
align
:
'left'
,
formatter
:
function
(
row
){
return
formateDateTimeByType
(
row
.
gameStartTime
,
'yyyy-MM-dd-HH-mm-ss'
);
...
...
src/views/game/ggk/record.vue
View file @
fc514d0f
...
...
@@ -7,7 +7,7 @@
<el-date-picker
:default-time=
"['00:00:00', '23:59:59']"
:picker-options=
"pickerOptions"
class=
"w300"
v-model=
"dateTime"
type=
"datetimerange"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
@
change=
"loadLotteryRecordList"
></el-date-picker>
<el-input
v-model=
"listParams.searchParam"
class=
"w200"
placeholder=
"会员昵称/手机号/卡号"
clearable
@
change=
"loadLotteryRecordList"
><i
slot=
"prefix"
class=
"el-input__icon el-icon-search"
></i></el-input>
<el-checkbox
border
class=
"pl10"
v-model=
"listParams.freeFlag"
:true-label=
"1"
:false-label=
"0"
@
change=
"loadLotteryRecordList"
>
免费抽奖
</el-checkbox>
<el-button
type=
"primary"
class=
"fr"
@
click=
"exportLotteryExcel"
>
下载Excel
<i
class=
"iconfont icon-icon_yunxiazai fz14"
></i>
</el-button>
<el-button
icon=
"iconfont icon-icon_yunxiazai fz14"
type=
"primary"
class=
"fr"
@
click=
"exportLotteryExcel"
>
下载Excel
</el-button>
</div>
<el-table
tooltipEffect=
"light"
:data=
"recordList"
style=
"width:100%"
v-loading=
"loading"
>
<el-table-column
:min-width=
"150"
align=
"left"
label=
"中奖时间"
:formatter=
"formatterTime"
>
</el-table-column>
...
...
src/views/game/klfl/addEdit.vue
View file @
fc514d0f
...
...
@@ -18,7 +18,7 @@
<span
class=
"right-tips"
>
{{
i
>
2
?
'自定义'
:
'模板'
}}
</span>
</li>
</ul>
<dm-upload-img
@
backImg=
"backImgBg"
class=
"uplaod"
:tipsStyle=
"
{position: 'absolute',top: '-30px',width: '100%',left:'0px'}" :showImg="false" :model.sync="form.bgImg" width="auto" label="上传本地图片" tips=" 背景图片大小不超过1M,尺寸750*1206px">
</dm-upload-img>
<dm-upload-img
icon=
"el-icon-upload"
@
backImg=
"backImgBg"
class=
"uplaod"
:tipsStyle=
"
{position: 'absolute',top: '-30px',width: '100%',left:'0px'}" :showImg="false" :model.sync="form.bgImg" width="auto" label="上传本地图片" tips=" 背景图片大小不超过1M,尺寸750*1206px">
</dm-upload-img>
</div>
</el-form-item>
<el-form-item
label=
"游戏按钮"
class=
"clearfix"
>
...
...
@@ -34,7 +34,7 @@
<span
class=
"right-tips"
>
{{
i
>
2
?
'自定义'
:
'模板'
}}
</span>
</li>
</ul>
<dm-upload-img
@
backImg=
"backImgBtn"
class=
"uplaod"
:tipsStyle=
"
{position: 'absolute',top: '-30px',width: '100%',left:'0px'}" :showImg="false" :model.sync="form.btnImg" width="auto" label="上传本地图片" tips=" 按钮图片大小不超过1M,尺寸602*100px">
</dm-upload-img>
<dm-upload-img
icon=
"el-icon-upload"
@
backImg=
"backImgBtn"
class=
"uplaod"
:tipsStyle=
"
{position: 'absolute',top: '-30px',width: '100%',left:'0px'}" :showImg="false" :model.sync="form.btnImg" width="auto" label="上传本地图片" tips=" 按钮图片大小不超过1M,尺寸602*100px">
</dm-upload-img>
</div>
</el-form-item>
<el-form-item
label=
"游戏时间"
prop=
"dateTime"
class=
"width50"
>
...
...
@@ -45,7 +45,7 @@
{{
form
.
gameRuleTitleFontColor
}}
</el-form-item>
<el-form-item
label=
"规则内容"
prop=
"gameIntroduction"
class=
"width50"
>
<dm-input
class=
"w400"
type=
"textarea"
:rows=
"
6
"
v-model=
"form.gameIntroduction"
:maxlength=
"200"
></dm-input>
<dm-input
class=
"w400"
type=
"textarea"
:rows=
"
4
"
v-model=
"form.gameIntroduction"
:maxlength=
"200"
></dm-input>
</el-form-item>
<el-form-item
label=
"中奖记录文案色"
prop=
"winRecordTitleFontColor"
class=
"width50"
>
<el-color-picker
class=
"vertical-middle"
v-model=
"form.winRecordTitleFontColor"
></el-color-picker>
...
...
@@ -86,7 +86,7 @@
<section
class=
"dm-form__wrap"
>
<h3
class=
"dm-title__label"
>
奖项设置
</h3>
<el-form-item
label=
"首次特殊策略"
class=
"el-form-item__margin-top14"
>
<el-table
tooltipEffect=
"light"
:data=
"tableList"
style=
"width: 100%"
border
v-loading=
"tableLoading"
>
<el-table
tooltipEffect=
"light"
:data=
"tableList"
style=
"width: 100%"
v-loading=
"tableLoading"
>
<el-table-column
prop=
"strategyName"
label=
"策略名称"
align=
"left"
></el-table-column>
<el-table-column
prop=
"prizeReferType"
label=
"策略类型"
align=
"left"
:formatter=
"formatterPrizeReferType"
></el-table-column>
<el-table-column
prop=
"prizeReferType"
label=
"奖品内容"
align=
"left"
>
...
...
@@ -181,7 +181,7 @@
<dm-input
class=
"w400"
v-model=
"form.shareTitle"
:maxlength=
"20"
></dm-input>
</el-form-item>
<el-form-item
label=
"分享描述"
prop=
"shareTextInfo"
class=
"width50"
>
<dm-input
class=
"w400"
type=
"textarea"
:rows=
"
6
"
v-model=
"form.shareTextInfo"
:maxlength=
"50"
></dm-input>
<dm-input
class=
"w400"
type=
"textarea"
:rows=
"
4
"
v-model=
"form.shareTextInfo"
:maxlength=
"50"
></dm-input>
</el-form-item>
</section>
<div
class=
"btn-wrap_fixed"
:class=
"{'on':asideShow}"
>
...
...
src/views/game/klfl/index.vue
View file @
fc514d0f
...
...
@@ -5,8 +5,8 @@
<el-option
v-for=
"(v,i) in gameStatusOptions"
:key=
"i"
:label=
"v.label"
:value=
"v.value"
></el-option>
</el-select>
<el-input
v-model=
"listParams.searchParam"
class=
"w200"
placeholder=
"输入游戏名称"
clearable
@
change=
"LoadKlflList"
><i
slot=
"prefix"
class=
"el-input__icon el-icon-search"
></i></el-input>
<el-button
class=
"fr"
@
click=
"$router.push('/game/klfl/add')"
>
新建游戏
</el-button>
<el-button
class=
"fr mr10"
@
click=
"downLoadQr"
>
下载二维码
<i
class=
"iconfont icon-icon_yunxiazai fz14"
></i>
</el-button>
<el-button
class=
"fr"
icon=
"iconfont icon-icon_yunxiazai fz14"
@
click=
"downLoadQr"
>
下载二维码
</el-button>
<el-button
class=
"fr mr10"
type=
"primary"
@
click=
"$router.push('/game/klfl/add')"
>
新建游戏
</el-button>
</div>
<el-table
tooltipEffect=
"light"
:data=
"tableList"
style=
"width: 100%"
v-loading=
"loading"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"50"
fixed=
"left"
></el-table-column>
...
...
@@ -49,7 +49,7 @@ export default {
tableHeader
:[
{
label
:
'游戏名称'
,
prop
:
'gameName'
,
width
:
'120'
,
align
:
'left'
,
fixed
:
'left'
},
{
label
:
'游戏状态'
,
prop
:
'activityStatus'
,
width
:
'80'
,
align
:
'left'
,
formatter
:
function
(
row
){
return
`<div class="
${
row
.
activityStatus
===
0
?
'dm-status--warning'
:(
row
.
activityStatus
===
1
?
'dm-status--primary'
:
'dm-status--info'
)}
">
${
row
.
activityStatus
===
0
?
'待开始'
:(
row
.
activityStatus
===
1
?
'进行中'
:
'已结束'
)}
</div>`
;
return
`<div class="
${
row
.
activityStatus
===
0
?
'dm-status--warning'
:(
row
.
activityStatus
===
1
?
'dm-status--primary
--flash
'
:
'dm-status--info'
)}
">
${
row
.
activityStatus
===
0
?
'待开始'
:(
row
.
activityStatus
===
1
?
'进行中'
:
'已结束'
)}
</div>`
;
}},
{
label
:
'开始时间'
,
prop
:
'gameStartTime'
,
minWidth
:
'170'
,
tooltip
:
true
,
align
:
'left'
,
formatter
:
function
(
row
){
return
formateDateTimeByType
(
row
.
gameStartTime
,
'yyyy-MM-dd-HH-mm-ss'
);
...
...
@@ -58,8 +58,7 @@ export default {
return
formateDateTimeByType
(
row
.
gameEndTime
,
'yyyy-MM-dd-HH-mm-ss'
);
}},
{
label
:
'参与人数'
,
prop
:
'cyrs'
,
width
:
'80'
,
align
:
'left'
},
{
label
:
'参与次数'
,
prop
:
'cyrc'
,
width
:
'80'
,
align
:
'left'
},
{
label
:
'新增会员'
,
prop
:
'gzrs'
,
width
:
'80'
,
align
:
'left'
}],
{
label
:
'参与次数'
,
prop
:
'cyrc'
,
width
:
'80'
,
align
:
'left'
}],
tableList
:[],
multipleSelection
:[]
}
...
...
src/views/game/klfl/record.vue
View file @
fc514d0f
...
...
@@ -9,7 +9,7 @@
</el-select>
<el-date-picker
@
change=
"klflReportList"
v-model=
"date"
class=
"w250"
type=
"daterange"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
></el-date-picker>
<el-input
v-model=
"listParams.searchParam"
class=
"w200"
placeholder=
"会员昵称/手机号/卡号"
clearable
@
change=
"klflReportList"
><i
slot=
"prefix"
class=
"el-input__icon el-icon-search"
></i></el-input>
<el-button
type=
"primary"
class=
"fr"
@
click=
"klflRecordExcel"
>
下载Excel
<i
class=
"iconfont icon-icon_yunxiazai fz14"
></i>
</el-button>
<el-button
icon=
"iconfont icon-icon_yunxiazai fz14"
type=
"primary"
class=
"fr"
@
click=
"klflRecordExcel"
>
下载Excel
</el-button>
</div>
<el-table
tooltipEffect=
"light"
:data=
"rankList"
style=
"width:100%"
height=
"300"
v-loading=
"loading"
>
<el-table-column
:min-width=
"150"
align=
"left"
label=
"会员信息"
>
...
...
src/views/game/ptyx/addEdit.vue
View file @
fc514d0f
...
...
@@ -18,7 +18,7 @@
</el-date-picker>
</el-form-item>
<el-form-item
label=
"游戏说明"
prop=
"gameIntroduction"
>
<dm-input
type=
"textarea"
class=
"w400"
:rows=
"
6
"
v-model=
"form.gameIntroduction"
:disabled=
"queryDisabled"
:maxlength=
"200"
></dm-input>
<dm-input
type=
"textarea"
class=
"w400"
:rows=
"
4
"
v-model=
"form.gameIntroduction"
:disabled=
"queryDisabled"
:maxlength=
"200"
></dm-input>
</el-form-item>
<el-form-item
label=
"奖品设置"
class=
"el-form-item__margin-top14 pt20"
>
<el-table
tooltipEffect=
"light"
:data=
"tableList"
style=
"width: 100%"
>
...
...
@@ -86,7 +86,7 @@
<dm-input
v-model=
"form.shareTitle"
class=
"w400"
placeholder=
"请输入分享标题"
:disabled=
"queryDisabled"
:maxlength=
"20"
></dm-input>
</el-form-item>
<el-form-item
label=
"分享描述"
prop=
"shareTextInfo"
class=
"width50"
>
<dm-input
type=
"textarea"
class=
"w400"
:rows=
"
6
"
v-model=
"form.shareTextInfo"
placeholder=
"请输入分享描述"
:disabled=
"queryDisabled"
:maxlength=
"50"
></dm-input>
<dm-input
type=
"textarea"
class=
"w400"
:rows=
"
4
"
v-model=
"form.shareTextInfo"
placeholder=
"请输入分享描述"
:disabled=
"queryDisabled"
:maxlength=
"50"
></dm-input>
</el-form-item>
</section>
<div
class=
"btn-wrap_fixed"
:class=
"{'on':asideShow}"
v-if=
"!queryDisabled"
>
...
...
src/views/game/ptyx/index.vue
View file @
fc514d0f
...
...
@@ -5,8 +5,8 @@
<el-option
v-for=
"(v,i) in gameStatusOptions"
:key=
"i"
:label=
"v.label"
:value=
"v.value"
></el-option>
</el-select>
<el-input
v-model=
"listParams.searchParam"
class=
"w200"
placeholder=
"输入游戏名称"
clearable
@
change=
"LoadPtyxList"
><i
slot=
"prefix"
class=
"el-input__icon el-icon-search"
></i></el-input>
<el-button
class=
"fr"
@
click=
"
$router.push('/game/ptyx/add')"
>
新建游戏
</el-button>
<el-button
class=
"fr mr10"
@
click=
"configShow = true"
>
拼图配置
</el-button>
<el-button
class=
"fr"
@
click=
"
configShow = true"
>
拼图配置
</el-button>
<el-button
class=
"fr mr10"
type=
"primary"
@
click=
"$router.push('/game/ptyx/add')"
>
新建游戏
</el-button>
</div>
<el-table
tooltipEffect=
"light"
:data=
"tableList"
style=
"width: 100%"
v-loading=
"loading"
element-loading-text=
"拼命加载中"
>
<el-table-column
v-for=
"(v,i) in tableHeader"
:fixed=
"v.fixed"
:show-overflow-tooltip=
"v.tooltip"
:width=
"v.width"
:min-width=
"v.minWidth"
:align=
"v.align"
:key=
"i"
:prop=
"v.prop"
:label=
"v.label"
:formatter=
"v.formatter"
>
...
...
@@ -46,7 +46,7 @@ export default {
tableHeader
:[
{
label
:
'游戏名称'
,
prop
:
'gameName'
,
width
:
'120'
,
align
:
'left'
,
fixed
:
'left'
},
{
label
:
'游戏状态'
,
prop
:
'activityStatus'
,
width
:
'80'
,
align
:
'left'
,
formatter
:
function
(
row
){
return
`<div class="
${
row
.
activityStatus
===
0
?
'dm-status--warning'
:(
row
.
activityStatus
===
1
?
'dm-status--primary'
:
'dm-status--info'
)}
">
${
row
.
activityStatus
===
0
?
'待开始'
:(
row
.
activityStatus
===
1
?
'进行中'
:
'已结束'
)}
</div>`
return
`<div class="
${
row
.
activityStatus
===
0
?
'dm-status--warning'
:(
row
.
activityStatus
===
1
?
'dm-status--primary
--flash
'
:
'dm-status--info'
)}
">
${
row
.
activityStatus
===
0
?
'待开始'
:(
row
.
activityStatus
===
1
?
'进行中'
:
'已结束'
)}
</div>`
}},
{
label
:
'开始时间'
,
prop
:
'gameStartTime'
,
minWidth
:
'170'
,
tooltip
:
true
,
align
:
'left'
,
formatter
:
function
(
row
){
return
formateDateTimeByType
(
row
.
gameStartTime
,
'yyyy-MM-dd-HH-mm-ss'
);
...
...
src/views/game/ptyx/record.vue
View file @
fc514d0f
...
...
@@ -8,7 +8,7 @@
<el-option
v-for=
"(v,i) in gameStatusOptions"
:key=
"i"
:label=
"v.label"
:value=
"v.value"
></el-option>
</el-select>
<el-input
v-model=
"listParams.searchParam"
class=
"w200"
placeholder=
"会员昵称/手机号/卡号"
clearable
@
change=
"LoadPtyxRecordList"
><i
slot=
"prefix"
class=
"el-input__icon el-icon-search"
></i></el-input>
<el-button
type=
"primary"
class=
"fr"
@
click=
"exportPtyxExcel"
>
下载Excel
<i
class=
"iconfont icon-icon_yunxiazai fz14"
></i>
</el-button>
<el-button
icon=
"iconfont icon-icon_yunxiazai fz14"
type=
"primary"
class=
"fr"
@
click=
"exportPtyxExcel"
>
下载Excel
</el-button>
</div>
<el-table
tooltipEffect=
"light"
:data=
"rankList"
style=
"width:100%"
v-loading=
"loading"
>
<el-table-column
width=
"60"
align=
"left"
label=
"名次"
prop=
"ranking"
></el-table-column>
...
...
src/views/game/znm/addEdit.vue
View file @
fc514d0f
...
...
@@ -12,7 +12,7 @@
<el-date-picker
:default-time=
"['00:00:00', '23:59:59']"
class=
"w400"
v-model=
"form.dateTime"
type=
"datetimerange"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
></el-date-picker>
</el-form-item>
<el-form-item
label=
"游戏说明"
prop=
"gameIntroduction"
class=
"width50"
>
<dm-input
class=
"w400"
type=
"textarea"
:rows=
"
6
"
v-model=
"form.gameIntroduction"
:maxlength=
"200"
></dm-input>
<dm-input
class=
"w400"
type=
"textarea"
:rows=
"
4
"
v-model=
"form.gameIntroduction"
:maxlength=
"200"
></dm-input>
</el-form-item>
</section>
<section
class=
"dm-form__wrap"
>
...
...
@@ -64,7 +64,7 @@
<dm-input
class=
"w400"
v-model=
"form.shareTitle"
:maxlength=
"20"
></dm-input>
</el-form-item>
<el-form-item
label=
"分享描述"
class=
"width50"
>
<dm-input
class=
"w400"
type=
"textarea"
:rows=
"
6
"
v-model=
"form.shareTextInfo"
:maxlength=
"50"
></dm-input>
<dm-input
class=
"w400"
type=
"textarea"
:rows=
"
4
"
v-model=
"form.shareTextInfo"
:maxlength=
"50"
></dm-input>
</el-form-item>
</section>
<div
class=
"btn-wrap_fixed"
:class=
"{'on':asideShow}"
>
...
...
src/views/game/znm/index.vue
View file @
fc514d0f
...
...
@@ -42,7 +42,7 @@ export default {
tableHeader
:[
{
label
:
'游戏名称'
,
prop
:
'gameName'
,
width
:
'120'
,
align
:
'left'
,
fixed
:
'left'
,
tooltip
:
true
},
{
label
:
'游戏状态'
,
prop
:
'activityStatus'
,
width
:
'80'
,
align
:
'left'
,
formatter
:
function
(
row
){
return
`<div class="
${
row
.
activityStatus
===
0
?
'dm-status--warning'
:(
row
.
activityStatus
===
1
?
'dm-status--primary'
:
'dm-status--info'
)}
">
${
row
.
activityStatus
===
0
?
'待开始'
:(
row
.
activityStatus
===
1
?
'进行中'
:
'已结束'
)}
</div>`
return
`<div class="
${
row
.
activityStatus
===
0
?
'dm-status--warning'
:(
row
.
activityStatus
===
1
?
'dm-status--primary
--flash
'
:
'dm-status--info'
)}
">
${
row
.
activityStatus
===
0
?
'待开始'
:(
row
.
activityStatus
===
1
?
'进行中'
:
'已结束'
)}
</div>`
}},
{
label
:
'开始时间'
,
prop
:
'gameStartTime'
,
minWidth
:
'170'
,
tooltip
:
true
,
align
:
'left'
,
formatter
:
function
(
row
){
return
formateDateTimeByType
(
row
.
gameStartTime
,
'yyyy-MM-dd-HH-mm-ss'
);
...
...
src/views/game/znm/record.vue
View file @
fc514d0f
...
...
@@ -7,7 +7,7 @@
<el-option
v-for=
"(v,i) in gameStatusOptions"
:key=
"i"
:label=
"v.label"
:value=
"v.value"
></el-option>
</el-select>
-->
<el-input
v-model=
"listParams.searchParam"
class=
"w200"
placeholder=
"会员昵称/手机号/卡号"
clearable
@
change=
"znmReportList"
><i
slot=
"prefix"
class=
"el-input__icon el-icon-search"
></i></el-input>
<el-button
type=
"primary"
class=
"fr"
@
click=
"znmRankExcel"
>
下载Excel
<i
class=
"iconfont icon-icon_yunxiazai fz14"
></i>
</el-button>
<el-button
icon=
"iconfont icon-icon_yunxiazai fz14"
type=
"primary"
class=
"fr"
@
click=
"znmRankExcel"
>
下载Excel
</el-button>
</div>
<el-table
tooltipEffect=
"light"
:data=
"rankList"
style=
"width:100%"
v-loading=
"loading"
>
<el-table-column
width=
"60"
align=
"left"
label=
"名次"
prop=
"ranking"
></el-table-column>
...
...
@@ -32,7 +32,7 @@
<el-option
v-for=
"(v,i) in gameStatusOptions"
:key=
"i"
:label=
"v.label"
:value=
"v.value"
></el-option>
</el-select>
<el-input
v-model=
"listParams1.searchParam"
class=
"w200"
placeholder=
"会员昵称/手机号/卡号"
clearable
@
change=
"znmReportList1"
><i
slot=
"prefix"
class=
"el-input__icon el-icon-search"
></i></el-input>
<el-button
type=
"primary"
class=
"fr"
@
click=
"znmRecordExcel"
>
下载Excel
<i
class=
"iconfont icon-icon_yunxiazai fz14"
></i>
</el-button>
<el-button
icon=
"iconfont icon-icon_yunxiazai fz14"
type=
"primary"
class=
"fr"
@
click=
"znmRecordExcel"
>
下载Excel
</el-button>
</div>
<el-table
tooltipEffect=
"light"
:data=
"recordList"
style=
"width:100%"
v-loading=
"loading"
>
<el-table-column
:min-width=
"150"
align=
"left"
label=
"会员信息"
>
...
...
src/views/giccard/card-info.vue
View file @
fc514d0f
...
...
@@ -130,7 +130,7 @@
<dm-input
class=
"w400"
v-model=
"form.coverDescript"
:disabled=
"editDisabled || infoDisabled"
:maxlength=
"12"
></dm-input>
</el-form-item>
<el-form-item
prop=
"useDescript"
label=
"使用说明"
>
<dm-input
class=
"w400"
type=
"textarea"
:rows=
"
6
"
v-model=
"form.useDescript"
:maxlength=
"500"
:disabled=
"infoDisabled"
></dm-input>
<dm-input
class=
"w400"
type=
"textarea"
:rows=
"
4
"
v-model=
"form.useDescript"
:maxlength=
"500"
:disabled=
"infoDisabled"
></dm-input>
</el-form-item>
<el-form-item
prop=
"teletexts"
label=
"(选填)图文介绍"
>
...
...
src/views/giccard/check.vue
View file @
fc514d0f
...
...
@@ -3,7 +3,7 @@
<div
class=
"pb22 clearfix"
>
<el-date-picker
class=
"w250"
v-model=
"dateTime"
type=
"daterange"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
@
change=
"coupcardCheckList"
></el-date-picker>
<el-input
v-model=
"listParams.searchParam"
class=
"w300"
placeholder=
"订单号/门店名称/导购姓名"
clearable
@
change=
"search"
><i
slot=
"prefix"
class=
"el-input__icon el-icon-search"
></i></el-input>
<el-button
class=
"fr"
type=
"primary"
@
click=
"exportCoupcardCheckExcel"
>
下载Excel
<i
class=
"iconfont icon-icon_yunxiazai fz14"
></i>
</el-button>
<el-button
icon=
"iconfont icon-icon_yunxiazai fz14"
class=
"fr"
type=
"primary"
@
click=
"exportCoupcardCheckExcel"
>
下载Excel
</el-button>
</div>
<el-table
tooltipEffect=
"light"
:data=
"tableList"
style=
"width: 100%"
v-loading=
"loading"
>
<el-table-column
:show-overflow-tooltip=
"true"
width=
"160"
align=
"left"
prop=
"createTime"
label=
"操作时间"
>
...
...
src/views/giccard/record-get.vue
View file @
fc514d0f
...
...
@@ -6,7 +6,7 @@
<el-option
v-for=
"(item,index) in cardStatusOptions"
:key=
"index"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
<el-input
v-model=
"listParams.search"
class=
"w200"
placeholder=
"请输入发送人名称"
@
change=
"search"
><i
slot=
"prefix"
class=
"el-input__icon el-icon-search"
></i></el-input>
<el-button
class=
"fr"
type=
"primary"
@
click=
"exportReceivedRecordExcel"
>
导出订单
<i
class=
"iconfont icon-icon_yunxiazai fz14"
></i>
</el-button>
<el-button
icon=
"iconfont icon-icon_yunxiazai fz14"
class=
"fr"
type=
"primary"
@
click=
"exportReceivedRecordExcel"
>
导出订单
</el-button>
</div>
<el-table
tooltipEffect=
"light"
:data=
"recordList"
style=
"width: 100%"
v-loading=
"recordLoading"
>
<el-table-column
width=
"135"
align=
"left"
prop=
"receiveTime"
label=
"领取时间"
>
...
...
src/views/message/addTemp.vue
View file @
fc514d0f
...
...
@@ -21,10 +21,10 @@
</el-select>
</el-form-item>
<el-form-item
label=
"短信内容"
prop=
"content"
class=
"pb10"
>
<dm-input
type=
"textarea"
:rows=
"
6
"
v-model=
"form.content"
:maxlength=
"450"
></dm-input>
<dm-input
type=
"textarea"
:rows=
"
4
"
v-model=
"form.content"
:maxlength=
"450"
></dm-input>
</el-form-item>
<el-form-item
label=
"申请说明"
prop=
"remark"
>
<dm-input
type=
"textarea"
:rows=
"
6
"
v-model=
"form.remark"
:maxlength=
"120"
></dm-input>
<dm-input
type=
"textarea"
:rows=
"
4
"
v-model=
"form.remark"
:maxlength=
"120"
></dm-input>
</el-form-item>
</el-col>
</el-form>
...
...
src/views/message/detail.vue
View file @
fc514d0f
...
...
@@ -38,7 +38,7 @@
<el-select
class=
"dm-select"
v-model=
"listParams.sendStatus"
placeholder=
"选择发送状态"
@
change=
"LoadMessageDetailList"
>
<el-option
v-for=
"(v,i) in sendStatusOptions"
:key=
"i"
:label=
"v.label"
:value=
"v.value"
></el-option></el-select>
<el-input
v-model=
"listParams.memberName"
class=
"w200"
placeholder=
"会员昵称/手机号/卡号"
clearable
@
change=
"LoadMessageDetailList"
><i
slot=
"prefix"
class=
"el-input__icon el-icon-search"
></i></el-input>
<el-button
type=
"primary"
class=
"fr"
@
click=
"exportExcel"
>
下载Excel
<i
class=
"iconfont icon-icon_yunxiazai fz14"
></i>
</el-button>
<el-button
icon=
"iconfont icon-icon_yunxiazai fz14"
type=
"primary"
class=
"fr"
@
click=
"exportExcel"
>
下载Excel
</el-button>
</div>
<el-table
tooltipEffect=
"light"
:data=
"messageList"
style=
"width: 100%"
v-loading=
"messageLoading"
>
<el-table-column
:width=
"150"
align=
"left"
label=
"会员信息"
>
...
...
@@ -156,4 +156,4 @@ import errorCodeDialog from './errorCode'
margin
:
10px
0
;
}
}
</
style
>
\ No newline at end of file
</
style
>
src/views/message/record.vue
View file @
fc514d0f
...
...
@@ -49,12 +49,12 @@ export default {
return
{
sendStatusOptions
:[
{
value
:
''
,
label
:
'所有状态'
,
type
:
''
},
{
value
:
0
,
label
:
'定时执行'
,
type
:
'
primary--flash
'
},
{
value
:
0
,
label
:
'定时执行'
,
type
:
'
warning
'
},
{
value
:
1
,
label
:
'执行完毕'
,
type
:
'success'
},
{
value
:
2
,
label
:
'执行失败'
,
type
:
'danger'
},
{
value
:
3
,
label
:
'无可用模板'
,
type
:
'
warning
'
},
{
value
:
3
,
label
:
'无可用模板'
,
type
:
'
danger
'
},
{
value
:
4
,
label
:
'定时执行'
,
type
:
'info'
},
{
value
:
5
,
label
:
'执行中'
,
type
:
'
success
'
},
{
value
:
5
,
label
:
'执行中'
,
type
:
'
primary--flash
'
},
{
value
:
-
1
,
label
:
'已失效'
,
type
:
'danger'
}],
sceneSettingIdOptions
:[],
recordLoading
:
false
,
...
...
src/views/msg/edit.vue
View file @
fc514d0f
...
...
@@ -16,7 +16,7 @@
<div
class=
"msg-edit__left"
>
<div
class=
"msg-edit__left--inner"
>
<el-form-item
label=
"头部文案"
>
<el-input
type=
"textarea"
:style=
"'color:'+info.headerColor"
v-model=
"info.headerText"
:rows=
"
6
"
class=
"w450"
:maxlength=
"200"
></el-input>
<el-input
type=
"textarea"
:style=
"'color:'+info.headerColor"
v-model=
"info.headerText"
:rows=
"
4
"
class=
"w450"
:maxlength=
"200"
></el-input>
<div
class=
"input-suffix clearfix"
>
<el-color-picker
class=
"ml10 vertical-middle"
v-model=
"info.headerColor"
></el-color-picker>
<el-button
type=
"text"
class=
"vertical-middle"
@
click=
"insetVar('headerText')"
>
插入变量
</el-button>
...
...
@@ -29,7 +29,7 @@
<el-color-picker
class=
"ml10 vertical-middle"
v-model=
"v.color"
></el-color-picker>
</div>
<div
v-else
>
<el-input
type=
"textarea"
:style=
"'color:'+v.color"
:rows=
"
6
"
v-model=
"v.type"
class=
"w450"
:maxlength=
"200"
></el-input>
<el-input
type=
"textarea"
:style=
"'color:'+v.color"
:rows=
"
4
"
v-model=
"v.type"
class=
"w450"
:maxlength=
"200"
></el-input>
<div
class=
"input-suffix clearfix"
>
<el-color-picker
class=
"ml10 vertical-middle"
v-model=
"v.color"
></el-color-picker>
<el-button
type=
"text"
class=
"vertical-middle"
@
click=
"insetVar(i)"
>
插入变量
</el-button>
...
...
@@ -38,7 +38,7 @@
</div>
</el-form-item>
<el-form-item
label=
"尾部文案"
>
<el-input
type=
"textarea"
:style=
"'color:'+info.remarkColor"
v-model=
"info.remarkText"
:rows=
"
6
"
class=
"w450"
:maxlength=
"200"
></el-input>
<el-input
type=
"textarea"
:style=
"'color:'+info.remarkColor"
v-model=
"info.remarkText"
:rows=
"
4
"
class=
"w450"
:maxlength=
"200"
></el-input>
<div
class=
"input-suffix clearfix"
>
<el-color-picker
class=
"ml10 vertical-middle"
v-model=
"info.remarkColor"
></el-color-picker>
<el-button
type=
"text"
class=
"vertical-middle"
@
click=
"insetVar('remarkText')"
>
插入变量
</el-button>
...
...
src/views/wechat/addRecord.vue
View file @
fc514d0f
...
...
@@ -41,7 +41,7 @@
<el-radio
:label=
"2"
>
图片
</el-radio>
</el-radio-group>
<div
class=
"pt20"
>
<div
v-show=
"info.contentType === 0"
class=
"border1"
style=
"padding:15
px;"
>
<div
v-show=
"info.contentType === 0"
style=
"padding:15px; border:1px solid #DCDFE6;border-radius:2
px;"
>
<dm-img-text
@
get-data=
"getImgTextData"
:radioShow=
"true"
:auto=
"false"
:imageTextId=
"info.imageTextId"
:imageTextWechatId=
"info.imageTextWechatId"
></dm-img-text>
</div>
<dm-img-box
v-show=
"info.contentType === 2"
:mediaId=
"info.mediaId"
@
get-data=
"getImgData"
></dm-img-box>
...
...
src/views/wechat/record.vue
View file @
fc514d0f
...
...
@@ -2,7 +2,7 @@
* @Author: zhangmeng
* @Date: 2018-08-14 15:45:36
* @Last Modified by: zhangmeng
* @Last Modified time: 2018-09-2
5 17:08:43
* @Last Modified time: 2018-09-2
7 14:49:06
*/
<
template
>
<section
class=
"dm-wrap"
>
...
...
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