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
86eff9ff
Commit
86eff9ff
authored
Aug 20, 2020
by
chenxin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: 优化营销活动组件:问题以及调整对应使用的地方
parent
2ebaf6f3
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
62 additions
and
54 deletions
+62
-54
index.vue
src/components/activity-select/index.vue
+0
-7
group-send.vue
src/views/card/group-send.vue
+4
-2
merge-form.vue
src/views/card/merge-form.vue
+6
-9
merge-list.vue
src/views/card/merge-list.vue
+1
-1
merge-record-list.vue
src/views/card/merge-record-list.vue
+9
-11
form.vue
src/views/cdkey/form.vue
+3
-3
form.js
src/views/ecm/form.js
+1
-1
form.vue
src/views/ecm/form.vue
+3
-1
list.vue
src/views/ecm/list.vue
+1
-1
form.vue
src/views/game/dzp/form.vue
+4
-2
form.vue
src/views/game/ggk/form.vue
+4
-2
form.vue
src/views/game/klfl/form.vue
+4
-2
form.vue
src/views/game/ptyx/form.vue
+4
-2
form.vue
src/views/game/znm/form.vue
+4
-2
detail.vue
src/views/message/detail.vue
+3
-2
form.vue
src/views/message/form.vue
+4
-2
record.vue
src/views/message/record.vue
+1
-1
form.vue
src/views/wechat/form.vue
+5
-2
record.vue
src/views/wechat/record.vue
+1
-1
No files found.
src/components/activity-select/index.vue
View file @
86eff9ff
...
...
@@ -2,14 +2,12 @@
<div
v-loading=
"readOnly && loading"
:class=
"
{ 'inline-block': onlySelect }">
<template
v-if=
"!onlySelect"
>
<div
v-if=
"!readOnly"
>
<span
class=
"dm-input_label"
>
营销活动
<span
v-if=
"colon"
>
:
</span></span>
<el-select
remote
filterable
clearable
v-loadmore=
"getMore"
:remote-method=
"remoteMethod"
@
change=
"updateActId"
class=
"w250 act-select"
size=
"small"
v-model=
"marketingActivityId"
:disabled=
"readOnly || disabled"
placeholder=
"选择营销活动"
>
<el-option
v-for=
"item in tableList"
:key=
"item.marketingActivityId"
:label=
"item.name"
:value=
"item.marketingActivityId"
></el-option>
</el-select>
<el-button
type=
"text"
class=
"ml10"
@
click=
"toAdd"
>
去新建
</el-button>
</div>
<div
v-else
>
<span
class=
"dm-input_label"
>
营销活动
<span
v-if=
"colon"
>
:
</span></span>
<p
class=
"inline-block"
>
{{
info
.
name
||
'--'
}}
<span
v-if=
"info.status === 0"
class=
"fz12 gray ml10"
>
当前计划使用的营销活动已删除
</span></p>
</div>
</
template
>
...
...
@@ -36,11 +34,6 @@ export default {
onlySelect
:
{
default
:
false
,
type
:
Boolean
},
// 是否需要冒号
colon
:
{
default
:
false
,
type
:
Boolean
}
},
data
()
{
...
...
src/views/card/group-send.vue
View file @
86eff9ff
...
...
@@ -17,7 +17,9 @@
<el-form-item
label=
"营销场景"
v-if=
"!isAdd && form.sceneSettingName"
>
<el-input
class=
"w250"
disabled
v-model=
"form.sceneSettingName"
></el-input>
</el-form-item>
<activity-select
class=
"ml30"
:actId
.
sync=
"form.marketingActivityId"
:readOnly=
"isEdit || isInfo"
></activity-select>
<el-form-item
label=
"营销活动"
>
<activity-select
:actId
.
sync=
"form.marketingActivityId"
:readOnly=
"isEdit || isInfo"
></activity-select>
</el-form-item>
</div>
<div
class=
"dm-form__wrap"
>
<h3
class=
"dm-title__label"
>
会员设置
</h3>
...
...
@@ -144,7 +146,7 @@
</el-form>
</template>
<
script
>
import
activitySelect
from
'@/components/activity-select'
;
import
activitySelect
from
'@/components/activity-select
/index.vue
'
;
import
{
checkPutonMemberIds
,
saveUpdatePutonCard
,
getCardDetail
,
getCardPutonDetail
}
from
'@/service/api/cardApi.js'
;
import
{
listTemplateVariables
}
from
'@/service/api/msgApi.js'
;
import
{
formatDateTimeByType
}
from
'@/utils/index.js'
;
...
...
src/views/card/merge-form.vue
View file @
86eff9ff
...
...
@@ -13,15 +13,12 @@
<el-radio
:label=
"1"
>
选择时间段
</el-radio>
</el-radio-group>
<br
/>
<el-date-picker
v-if=
"ruleForm.effectiveMode"
class=
"w300 mt10"
v-model=
"dateTime"
type=
"daterange"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
:picker-options=
"pickerOptions"
></el-date-picker>
<el-date-picker
v-if=
"ruleForm.effectiveMode"
class=
"w250 mt10"
v-model=
"dateTime"
type=
"daterange"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
:picker-options=
"pickerOptions"
></el-date-picker>
</el-form-item>
<el-form-item
label=
"营销活动"
>
<activity-select
v-if=
"!ruleForm.marketingActivityId"
:actId
.
sync=
"ruleForm.marketingActivityId"
:readOnly=
"isEdit || isInfo"
></activity-select>
<activity-select
v-else
ref=
"actSelect"
:actId
.
sync=
"ruleForm.marketingActivityId"
:readOnly=
"isInfo"
></activity-select>
</el-form-item>
<!--
<el-form-item
label=
"营销场景"
>
<el-select
class=
"w300"
v-model=
"ruleForm.sceneSettingId"
placeholder=
"选择营销场景"
>
<el-option
v-for=
"item in sceneSettingIdOptions"
:key=
"item.sceneSettingId"
:label=
"item.sceneName"
:value=
"item.sceneSettingId"
></el-option>
</el-select>
</el-form-item>
-->
<activity-select
v-if=
"!ruleForm.marketingActivityId"
style=
"margin-left:71px;margin-bottom:22px;"
:actId
.
sync=
"ruleForm.marketingActivityId"
:readOnly=
"isEdit || isInfo"
></activity-select>
<activity-select
v-else
ref=
"actSelect"
style=
"margin-left:71px;margin-bottom:22px;"
:actId
.
sync=
"ruleForm.marketingActivityId"
:readOnly=
"isInfo"
></activity-select>
<el-form-item
prop=
"cardIds"
label=
"新增卡券"
>
<el-button
@
click=
"showCardDialog = true"
>
添加卡券
</el-button>
<el-table
v-if=
"ruleForm.cardIds"
class=
"mt20"
:data=
"tableData"
style=
"width: 100%"
>
...
...
@@ -68,7 +65,7 @@
</template>
<
script
>
import
activitySelect
from
'@/components/activity-select'
;
import
activitySelect
from
'@/components/activity-select
/index.vue
'
;
import
{
saveCoupPackage
,
coupPackageDetail
,
getCoupListInfo
}
from
'@/service/api/cardApi.js'
;
import
{
sceneSettingList
}
from
'@/service/api/wechatApi.js'
;
import
{
formatDateTimeByType
}
from
'@/utils/index.js'
;
...
...
src/views/card/merge-list.vue
View file @
86eff9ff
...
...
@@ -43,7 +43,7 @@
</section>
</template>
<
script
>
import
activitySelect
from
'@/components/activity-select'
;
import
activitySelect
from
'@/components/activity-select
/index.vue
'
;
import
{
pageCoupPackage
,
deleteCoupPackage
}
from
'@/service/api/cardApi.js'
;
import
{
formatDateTimeByType
}
from
'@/utils/index.js'
;
import
talbeMethods
from
'@/mixins/tableMethods.js'
;
...
...
src/views/card/merge-record-list.vue
View file @
86eff9ff
...
...
@@ -3,9 +3,7 @@
<div
class=
"pb22 clearfix"
>
<el-input
v-model=
"listParams.search"
class=
"w300"
placeholder=
"请输入卡券包名称"
clearable
@
change=
"refresh"
><i
slot=
"prefix"
class=
"el-input__icon el-icon-search"
></i></el-input>
<!--
<el-input
v-model=
"listParams.receiveCode"
class=
"w300"
placeholder=
"请输入投放渠道"
clearable
@
change=
"refresh"
><i
slot=
"prefix"
class=
"el-input__icon el-icon-search"
></i></el-input>
-->
<el-select
class=
"dm-select w160"
v-model=
"listParams.sceneSettingId"
clearable
placeholder=
"所有营销场景"
@
change=
"refresh"
>
<el-option
v-for=
"item in sceneSettingIdOptions"
:key=
"item.sceneSettingId"
:label=
"item.sceneName"
:value=
"item.sceneSettingId"
></el-option>
</el-select>
<!--
<activity-select
class=
"vertical-middle w150 mr5"
:actId
.
sync=
"listParams.marketingActivityId"
onlySelect
@
actUpdate=
"refresh"
></activity-select>
-->
</div>
<el-table
tooltipEffect=
"light"
:data=
"tableList"
style=
"width: 100%"
>
<el-table-column
:show-overflow-tooltip=
"true"
min-width=
"100"
align=
"left"
prop=
"receiveTime"
label=
"领取时间"
>
...
...
@@ -30,14 +28,16 @@
<el-table-column
:show-overflow-tooltip=
"true"
min-width=
"120"
align=
"left"
prop=
"cardPackageName"
label=
"卡券包名称"
></el-table-column>
<el-table-column
:show-overflow-tooltip=
"true"
min-width=
"120"
align=
"left"
prop=
"receivePositionName"
label=
"领取位置"
></el-table-column>
<el-table-column
:show-overflow-tooltip=
"true"
min-width=
"120"
align=
"left"
prop=
"receiveName"
label=
"投放渠道"
></el-table-column>
<el-table-column
:show-overflow-tooltip=
"true"
min-width=
"120"
align=
"left"
prop=
"sceneSettingName"
label=
"场景值"
></el-table-column>
<!-- <el-table-column :show-overflow-tooltip="true" min-width="120" align="left" prop="marketingActivityName" label="营销活动">
<template slot-scope="scope">{{ scope.row.marketingActivityName || '--' }}</template>
</el-table-column> -->
</el-table>
<dm-pagination
v-show=
"tableList.length"
background
class=
"dm-pagination"
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page=
"listParams.currentPage"
:page-sizes=
"[20, 40, 60, 80]"
:page-size=
"listParams.pageSize"
layout=
"total, sizes, prev, pager, next"
:total=
"total"
></dm-pagination>
</section>
</template>
<
script
>
import
activitySelect
from
'@/components/activity-select/index.vue'
;
import
{
pageCoupPackageLog
}
from
'@/service/api/cardApi.js'
;
import
{
sceneSettingList
}
from
'@/service/api/wechatApi.js'
;
import
{
formatDateTimeByType
}
from
'@/utils/index.js'
;
import
talbeMethods
from
'@/mixins/tableMethods.js'
;
import
filterAvater
from
'@/mixins/filterAvater.js'
;
...
...
@@ -51,12 +51,12 @@ export default {
visible
:
false
,
listParams
:
{
search
:
''
,
marketingActivityId
:
''
,
receiveCode
:
''
,
sceneSettingId
:
''
,
currentPage
:
1
,
pageSize
:
20
},
sceneSettingIdOptions
:
[],
total
:
0
,
loading
:
false
,
tableList
:
[],
...
...
@@ -66,9 +66,11 @@ export default {
params
:
{}
// 传递的参数
};
},
components
:
{
activitySelect
},
created
()
{
this
.
getTableList
();
this
.
sceneSettingList
();
this
.
$store
.
commit
(
'mutations_breadcrumb'
,
[{
name
:
'营销管理'
,
path
:
''
},
{
name
:
'卡券营销'
,
path
:
''
},
{
name
:
'卡券包'
,
path
:
''
},
{
name
:
'卡券包领取记录'
,
path
:
''
}]);
// eslint-disable-line
},
methods
:
{
...
...
@@ -83,10 +85,6 @@ export default {
this
.
$tips
({
type
:
'error'
,
message
:
'加载列表失败'
});
}
this
.
loading
=
false
;
},
async
sceneSettingList
()
{
let
res
=
await
sceneSettingList
();
this
.
sceneSettingIdOptions
=
res
.
result
||
[];
}
}
};
...
...
src/views/cdkey/form.vue
View file @
86eff9ff
...
...
@@ -4,8 +4,8 @@
<el-form-item
label=
"兑换码名称"
prop=
"cdkeyName"
>
<dm-input
:disabled=
"!canEdit"
class=
"w400"
v-model=
"ruleForm.cdkeyName"
placeholder=
"请输入兑换码名称"
:byteType=
"1"
:maxlength=
"24"
></dm-input>
</el-form-item>
<el-form-item
prop=
"marketingActivityId"
>
<activity-select
style=
"margin-left:-68px"
class=
"activity"
:actId
.
sync=
"ruleForm.marketingActivityId"
:readOnly=
"!canEdit"
></activity-select>
<el-form-item
label=
"营销活动"
prop=
"marketingActivityId"
>
<activity-select
class=
"activity"
:actId
.
sync=
"ruleForm.marketingActivityId"
:readOnly=
"!canEdit"
></activity-select>
</el-form-item>
<el-form-item
prop=
"dateTime"
label=
"有效期"
>
<el-date-picker
:default-time=
"['00:00:00', '23:59:59']"
:disabled=
"!canEdit"
class=
"w400"
v-model=
"dateTime"
type=
"datetimerange"
:picker-options=
"pickerOptions"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
></el-date-picker>
...
...
@@ -76,7 +76,7 @@
import
axios
from
'axios'
;
import
file
from
'@/components/upload/file'
;
import
{
formatDateTimeByType
}
from
'@/utils/index.js'
;
import
activitySelect
from
'@/components/activity-select'
;
import
activitySelect
from
'@/components/activity-select
/index.vue
'
;
import
{
cdkeyCheck
,
cdkeyPlanSave
,
cdkeyPlanEdit
,
cdkeyFailExport
,
cdkeyExport
}
from
'@/service/api/cdKeyApi.js'
;
import
{
getCardDetail
}
from
'@/service/api/cardApi.js'
;
import
{
_debounce
}
from
'@/utils/index'
;
...
...
src/views/ecm/form.js
View file @
86eff9ff
import
{
_debounce
}
from
'@/utils/index'
;
import
{
getEcmInfo
,
saveEcmInfo
}
from
'@/service/api/ecmApi.js'
;
import
activitySelect
from
'@/components/activity-select'
;
import
activitySelect
from
'@/components/activity-select
/index.vue
'
;
import
{
listTemplateVariables
}
from
'@/service/api/msgApi.js'
;
import
{
klflStrategy
}
from
'@/service/api/gameApi.js'
;
// 会员等级列表接口
import
xxSysp_mix
from
'@/mixins/selector.js'
;
// 商品选择器方法mixins
...
...
src/views/ecm/form.vue
View file @
86eff9ff
...
...
@@ -52,7 +52,9 @@
<el-form-item
label=
"营销场景"
v-if=
"!isAdd && form.sceneSettingName"
>
<el-input
class=
"w400"
disabled
v-model=
"form.sceneSettingName"
></el-input>
</el-form-item>
<activity-select
style=
"margin-left:42px"
:actId
.
sync=
"form.marketingActivityId"
:readOnly=
"!isAdd"
></activity-select>
<el-form-item
label=
"营销活动"
v-if=
"!isAdd && form.sceneSettingName"
>
<activity-select
:actId
.
sync=
"form.marketingActivityId"
:readOnly=
"!isAdd"
></activity-select>
</el-form-item>
</section>
<!-- 消费触发配置 -->
<section
class=
"dm-form__wrap"
v-if=
"form.effectType == 0 && form.effectAction === 'consume'"
>
...
...
src/views/ecm/list.vue
View file @
86eff9ff
...
...
@@ -43,7 +43,7 @@
</section>
</template>
<
script
>
import
activitySelect
from
'@/components/activity-select'
;
import
activitySelect
from
'@/components/activity-select
/index.vue
'
;
import
{
loadEcmList
,
deleteEcm
,
offlineEcmPlan
}
from
'@/service/api/ecmApi.js'
;
const
marketingTypeOptions
=
[{
value
:
''
,
label
:
'所有发送类型'
},
{
value
:
'card'
,
label
:
'卡券营销'
},
{
value
:
'message'
,
label
:
'短信营销'
},
{
value
:
'teletext'
,
label
:
'图文营销'
},
{
value
:
'text'
,
label
:
'文本营销'
},
{
value
:
'teltask'
,
label
:
'话务'
},
{
value
:
'image'
,
label
:
'微信图片'
}];
// eslint-disable-line
export
default
{
...
...
src/views/game/dzp/form.vue
View file @
86eff9ff
...
...
@@ -6,7 +6,9 @@
<el-form-item
label=
"游戏名称"
prop=
"gameName"
>
<dm-input
v-model=
"form.gameName"
class=
"w400"
:disabled=
"isInfo"
:maxlength=
"25"
></dm-input>
</el-form-item>
<activity-select
style=
"margin-left:32px"
class=
"mb20"
:actId
.
sync=
"form.marketingActivityId"
:readOnly=
"isEdit || isInfo"
></activity-select>
<el-form-item
label=
"营销活动"
>
<activity-select
:actId
.
sync=
"form.marketingActivityId"
:readOnly=
"isEdit || isInfo"
></activity-select>
</el-form-item>
<el-form-item
label=
"游戏时间"
prop=
"dateTime"
>
<el-date-picker
:picker-options=
"pickerOptions"
class=
"w400"
:default-time=
"['00:00:00', '23:59:59']"
v-model=
"form.dateTime"
:disabled=
"isInfo"
type=
"datetimerange"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
></el-date-picker>
</el-form-item>
...
...
@@ -145,7 +147,7 @@
<
script
>
import
{
_debounce
}
from
'@/utils/index'
;
import
adjustStock
from
'../common/adjust-stock'
;
import
activitySelect
from
'@/components/activity-select'
;
import
activitySelect
from
'@/components/activity-select
/index.vue
'
;
import
{
detailLottery
,
saveLottery
,
downloadWheelSkinPsd
,
updateGamePrize
}
from
'@/service/api/gameApi.js'
;
import
{
numberToChinese
,
formatDateTimeByType
,
deepClone
}
from
'@/utils/index.js'
;
import
dmUploadAvatar
from
'@/components/upload/avatar'
;
...
...
src/views/game/ggk/form.vue
View file @
86eff9ff
...
...
@@ -6,7 +6,9 @@
<el-form-item
label=
"游戏名称"
class=
"width50"
prop=
"gameName"
>
<dm-input
v-model=
"form.gameName"
class=
"w400"
:disabled=
"isInfo"
:maxlength=
"25"
></dm-input>
</el-form-item>
<activity-select
style=
"margin-left:32px"
class=
"mb20"
:actId
.
sync=
"form.marketingActivityId"
:readOnly=
"isEdit || isInfo"
></activity-select>
<el-form-item
label=
"营销活动"
>
<activity-select
:actId
.
sync=
"form.marketingActivityId"
:readOnly=
"isEdit || isInfo"
></activity-select>
</el-form-item>
<el-form-item
label=
"游戏时间"
class=
"width50"
prop=
"dateTime"
>
<el-date-picker
class=
"w400"
v-model=
"form.dateTime"
:disabled=
"isInfo"
:default-time=
"['00:00:00', '23:59:59']"
:picker-options=
"pickerOptions"
type=
"datetimerange"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
>
</el-date-picker>
</el-form-item>
...
...
@@ -129,7 +131,7 @@
<
script
>
import
{
_debounce
}
from
'@/utils/index'
;
import
adjustStock
from
'../common/adjust-stock'
;
import
activitySelect
from
'@/components/activity-select'
;
import
activitySelect
from
'@/components/activity-select
/index.vue
'
;
import
{
detailLottery
,
saveLottery
,
downloadWheelSkinPsd
,
updateGamePrize
,
deleteGamePrize
}
from
'@/service/api/gameApi.js'
;
import
{
formatDateTimeByType
,
deepClone
}
from
'@/utils/index.js'
;
import
prizeMixins
from
'../common/prizeMixins.js'
;
...
...
src/views/game/klfl/form.vue
View file @
86eff9ff
...
...
@@ -5,7 +5,9 @@
<el-form-item
label=
"游戏名称"
prop=
"gameName"
class=
"width50"
>
<dm-input
v-model=
"form.gameName"
class=
"w400"
:maxlength=
"10"
></dm-input>
</el-form-item>
<activity-select
style=
"margin-left:40px"
class=
"mb20"
:actId
.
sync=
"form.marketingActivityId"
:readOnly=
"isEdit || isInfo"
></activity-select>
<el-form-item
label=
"营销活动"
>
<activity-select
:actId
.
sync=
"form.marketingActivityId"
:readOnly=
"isEdit || isInfo"
></activity-select>
</el-form-item>
<el-form-item
label=
"游戏背景"
class=
"clearfix"
>
<div
class=
"left-bg fl"
>
<div
class=
"bg-head gray-bg"
>
示例
</div>
...
...
@@ -195,7 +197,7 @@
<
script
>
import
{
_debounce
}
from
'@/utils/index'
;
import
activitySelect
from
'@/components/activity-select'
;
import
activitySelect
from
'@/components/activity-select
/index.vue
'
;
import
{
klflDetail
,
klflSave
,
klflStrategyList
,
klflPrizeList
,
klflStrategySort
,
klflStrategyDel
,
klflDownTemp
,
getCouponStock
}
from
'@/service/api/gameApi.js'
;
import
{
formatDateTimeByType
}
from
'@/utils/index.js'
;
import
dmUploadImg
from
'@/components/upload/img'
;
...
...
src/views/game/ptyx/form.vue
View file @
86eff9ff
...
...
@@ -5,7 +5,9 @@
<el-form-item
label=
"游戏名称"
prop=
"gameName"
class=
"width50"
>
<dm-input
v-model=
"form.gameName"
class=
"w400"
:disabled=
"isInfo"
:maxlength=
"25"
></dm-input>
</el-form-item>
<activity-select
style=
"margin-left:51px"
class=
"mb20"
:actId
.
sync=
"form.marketingActivityId"
:readOnly=
"isEdit || isInfo"
></activity-select>
<el-form-item
label=
"营销活动"
>
<activity-select
:actId
.
sync=
"form.marketingActivityId"
:readOnly=
"isEdit || isInfo"
></activity-select>
</el-form-item>
<el-form-item
label=
"游戏时间"
prop=
"dateTime"
class=
"width50"
>
<el-date-picker
class=
"w400"
:disabled=
"isInfo"
v-model=
"form.dateTime"
:picker-options=
"pickerOptions"
type=
"datetimerange"
:default-time=
"['00:00:00', '23:59:59']"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
>
</el-date-picker>
</el-form-item>
...
...
@@ -107,7 +109,7 @@
<
script
>
import
{
_debounce
}
from
'@/utils/index'
;
import
activitySelect
from
'@/components/activity-select'
;
import
activitySelect
from
'@/components/activity-select
/index.vue
'
;
import
{
ptyxDetail
,
savePtyx
,
getGameSystemMusic
,
downloadPtyxSkinPsd
}
from
'@/service/api/gameApi.js'
;
import
{
numberToChinese
,
formatDateTimeByType
}
from
'@/utils/index.js'
;
import
dmUploadAvatar
from
'@/components/upload/avatar'
;
...
...
src/views/game/znm/form.vue
View file @
86eff9ff
...
...
@@ -5,7 +5,9 @@
<el-form-item
label=
"游戏名称"
prop=
"gameName"
class=
"width50"
>
<dm-input
v-model=
"form.gameName"
class=
"w400"
:maxlength=
"25"
></dm-input>
</el-form-item>
<activity-select
style=
"margin-left:32px"
class=
"mb20"
:actId
.
sync=
"form.marketingActivityId"
:readOnly=
"isEdit || isInfo"
></activity-select>
<el-form-item
label=
"营销活动"
>
<activity-select
:actId
.
sync=
"form.marketingActivityId"
:readOnly=
"isEdit || isInfo"
></activity-select>
</el-form-item>
<el-form-item
label=
"LOGO上传"
prop=
"logoImg"
class=
"width50"
>
<dm-upload-avatar
:model
.
sync=
"form.logoImg"
width=
"auto"
label=
"上传图片"
tips=
" 请上传高度为80px的PNG透明背景图片"
></dm-upload-avatar>
</el-form-item>
...
...
@@ -89,7 +91,7 @@
<
script
>
import
{
_debounce
}
from
'@/utils/index'
;
import
activitySelect
from
'@/components/activity-select'
;
import
activitySelect
from
'@/components/activity-select
/index.vue
'
;
import
{
znmDetail
,
znmSave
,
znmStrategyList
,
znmStrategySort
,
znmStrategyDel
}
from
'@/service/api/gameApi.js'
;
import
{
numberToChinese
,
formatDateTimeByType
}
from
'@/utils/index.js'
;
import
dmUploadAvatar
from
'@/components/upload/avatar'
;
...
...
src/views/message/detail.vue
View file @
86eff9ff
...
...
@@ -29,7 +29,8 @@
<span
class=
"regular-font-color"
>
{{
info
.
sceneSettingName
}}
</span>
</el-col>
<el-col
:span=
"8"
>
<activity-select
:actId
.
sync=
"info.marketingActivityId"
readOnly
colon
></activity-select>
<span
class=
"primary-font-color"
>
营销活动:
</span>
<activity-select
style=
"display:inline-block"
:actId
.
sync=
"info.marketingActivityId"
readOnly
></activity-select>
</el-col>
<el-col
:span=
"24"
>
<span
class=
"primary-font-color"
>
短信模板:
</span>
...
...
@@ -104,7 +105,7 @@
</div>
</template>
<
script
>
import
activitySelect
from
'@/components/activity-select'
;
import
activitySelect
from
'@/components/activity-select
/index.vue
'
;
import
{
LoadMessageDetail
,
LoadMessageDetailList
,
exportSmsExcel
}
from
'@/service/api/messageApi.js'
;
import
{
formatDateTimeByType
}
from
'@/utils/index.js'
;
import
errorCodeDialog
from
'./errorCode'
;
...
...
src/views/message/form.vue
View file @
86eff9ff
...
...
@@ -2,7 +2,9 @@
<el-form
v-loading=
"loading"
>
<section
class=
"dm-form__wrap"
>
<h3
class=
"dm-title__label"
>
场景设置
</h3>
<activity-select
class=
"mb20"
:actId
.
sync=
"info.marketingActivityId"
:readOnly=
"isEdit || isInfo"
></activity-select>
<el-form-item
label=
"营销活动"
>
<activity-select
:actId
.
sync=
"info.marketingActivityId"
:readOnly=
"isEdit || isInfo"
></activity-select>
</el-form-item>
<el-form-item
label=
"发送时间"
>
<el-select
class=
"w250"
v-model=
"info.sendType"
>
<el-option
v-for=
"(v, i) in sendTypeOptions"
:key=
"i"
:value=
"v.value"
:label=
"v.label"
></el-option>
...
...
@@ -45,7 +47,7 @@
</
template
>
<
script
>
import
{
_debounce
}
from
'@/utils/index'
;
import
activitySelect
from
'@/components/activity-select'
;
import
activitySelect
from
'@/components/activity-select
/index.vue
'
;
import
{
saveSendSmsService
,
checkMessageSendCount
}
from
'@/service/api/messageApi.js'
;
import
smsTemp
from
'@/components/libs/smsTemp'
;
import
{
formatDateTimeByType
}
from
'@/utils/index.js'
;
...
...
src/views/message/record.vue
View file @
86eff9ff
...
...
@@ -39,7 +39,7 @@
</section>
</template>
<
script
>
import
activitySelect
from
'@/components/activity-select'
;
import
activitySelect
from
'@/components/activity-select
/index.vue
'
;
import
{
LoadMessageList
,
invalidsmsRecord
}
from
'@/service/api/messageApi.js'
;
import
{
formatDateTimeByType
}
from
'@/utils/index.js'
;
import
timeCounts
from
'@/components/timeCount/index.vue'
;
...
...
src/views/wechat/form.vue
View file @
86eff9ff
<
template
>
<div
v-loading=
"loading"
>
<section
class=
"dm-form__wrap"
>
<activity-select
class=
"mb20"
:actId
.
sync=
"info.marketingActivityId"
colon
:readOnly=
"isEdit || isInfo"
></activity-select>
<div
class=
"mb20"
>
<span
class=
"dm-input_label mr8"
>
营销活动:
</span>
<activity-select
class=
"inline-block"
:actId
.
sync=
"info.marketingActivityId"
:readOnly=
"isEdit || isInfo"
></activity-select>
</div>
<div
class=
"mb20"
v-if=
"!isAdd && info.sceneSettingName"
>
<span
class=
"dm-input_label mr8"
>
营销场景:
</span>
{{
info
.
sceneSettingName
}}
...
...
@@ -86,7 +89,7 @@
</template>
<
script
>
import
{
_debounce
}
from
'@/utils/index'
;
import
activitySelect
from
'@/components/activity-select'
;
import
activitySelect
from
'@/components/activity-select
/index.vue
'
;
import
dmImgText
from
'@/components/libs/imgTextTemp'
;
import
dmImgBox
from
'@/components/libs/imgTemp/index-box.vue'
;
import
{
getIsShowSelf
}
from
'@/service/api/commonApi.js'
;
...
...
src/views/wechat/record.vue
View file @
86eff9ff
...
...
@@ -75,7 +75,7 @@
</section>
</template>
<
script
>
import
activitySelect
from
'@/components/activity-select'
;
import
activitySelect
from
'@/components/activity-select
/index.vue
'
;
import
{
sendRecordList
,
delWechatMarketingRecord
,
invalidWechatMarketingRecord
}
from
'@/service/api/wechatApi.js'
;
import
{
getIsShowSelf
}
from
'@/service/api/commonApi.js'
;
import
dmDialog
from
'./dialog'
;
...
...
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