Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
welfare
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
达摩4.0重构
welfare
Commits
e38509ec
Commit
e38509ec
authored
Feb 02, 2021
by
chenxin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: 卡券新建;layout调整
parent
893c1a0b
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
180 additions
and
187 deletions
+180
-187
index.html
public/index.html
+1
-0
common.js
src/api/common.js
+8
-9
gic-card.js
src/api/gic-card.js
+54
-54
component.scss
src/assets/styles/component.scss
+0
-29
dialog.vue
src/components/activity-select/dialog.vue
+2
-2
index.vue
src/components/activity-select/index.vue
+1
-1
index.vue
src/components/asidemenu/index.vue
+4
-5
layout.vue
src/components/layout/layout.vue
+8
-29
index.js
src/store/index.js
+2
-19
common.js
src/utils/common.js
+1
-1
request.js
src/utils/request.js
+2
-2
card-form.js
src/views/gic-card/card-form.js
+68
-29
card-form.vue
src/views/gic-card/card-form.vue
+29
-7
No files found.
public/index.html
View file @
e38509ec
...
@@ -48,5 +48,6 @@
...
@@ -48,5 +48,6 @@
<script
src=
"//web-1251519181.file.myqcloud.com/components/preview-img.1.0.3.js"
></script>
<!-- 图片预览 -->
<script
src=
"//web-1251519181.file.myqcloud.com/components/preview-img.1.0.3.js"
></script>
<!-- 图片预览 -->
<script
src=
"//web-1251519181.file.myqcloud.com/components/delete.1.1.4.js"
></script>
<!-- 删除轻弹窗 -->
<script
src=
"//web-1251519181.file.myqcloud.com/components/delete.1.1.4.js"
></script>
<!-- 删除轻弹窗 -->
<script
src=
"//web-1251519181.file.myqcloud.com/components/input-number.1.0.10.js"
></script>
<!-- 输入框 -->
<script
src=
"//web-1251519181.file.myqcloud.com/components/input-number.1.0.10.js"
></script>
<!-- 输入框 -->
<script
src=
"//web-1251519181.file.myqcloud.com/components/acc-group-select.1.0.3.js"
></script>
<!-- 账号分组组件 -->
</body>
</body>
</html>
</html>
src/api/common.js
View file @
e38509ec
...
@@ -2,18 +2,16 @@
...
@@ -2,18 +2,16 @@
* 全局都会使用到的接口
* 全局都会使用到的接口
*/
*/
import
getFetch
from
'./get-fetch.js'
;
import
getFetch
from
'./get-fetch.js'
;
import
{
commonPrefix
,
marketPrefix
}
from
'@/config'
;
import
{
commonPrefix
,
marketPrefix
,
welfarePrefix
}
from
'@/config'
;
// 公共接口
// 公共接口
let
common
=
{
let
common
=
{
loginUserMenu
:
'/login-user-menu'
,
// 获取用户信息
loginUserMenu
:
'/login-user-menu'
,
// 获取用户信息
loginUserMenuOfApp
:
'/login-user-menu-of-app'
,
// 根据appCode获取左侧信息
loginUserMenuOfApp
:
'/login-user-menu-of-app'
,
// 根据appCode获取左侧信息
getSubappList
:
{
};
// 获取域列表
url
:
'/{moduleCode}/area-list'
,
let
o2
=
{
method
:
'get'
,
getSubappList
:
'/area/member-cards'
,
// 获取域列表
rest
:
true
,
},
};
};
// other
// other
...
@@ -26,10 +24,11 @@ let other = {
...
@@ -26,10 +24,11 @@ let other = {
getMallShopList
:
'/outer/all-mall-shop'
,
// 获取微商城店铺数据 没有入参
getMallShopList
:
'/outer/all-mall-shop'
,
// 获取微商城店铺数据 没有入参
activityList
:
'/activity/list-marketing-page'
,
// 数据对话分页列表
activityList
:
'/activity/list-marketing-page'
,
// 数据对话分页列表
getActivityInfo
:
'/activity/get-marketing-activity'
,
// 获取数据对话详情
getActivityInfo
:
'/activity/get-marketing-activity'
,
// 获取数据对话详情
uploadUrl
:
marketPrefix
+
'/upload/upload-image'
// 默认上传图片接口
uploadUrl
:
'/upload/upload-image'
// 默认上传图片接口
};
};
o2
=
getFetch
(
o2
,
welfarePrefix
);
common
=
getFetch
(
common
,
commonPrefix
);
common
=
getFetch
(
common
,
commonPrefix
);
other
=
getFetch
(
other
,
marketPrefix
);
other
=
getFetch
(
other
,
marketPrefix
);
export
default
{
...
common
,
...
other
};
export
default
{
...
common
,
...
other
,
...
o2
};
src/api/gic-card.js
View file @
e38509ec
...
@@ -8,136 +8,136 @@ import config, { marketPrefix } from '@/config';
...
@@ -8,136 +8,136 @@ import config, { marketPrefix } from '@/config';
// 卡券相关接口
// 卡券相关接口
let
card
=
{
let
card
=
{
cardList
:
'/coupon-gic/gic-coupon-page'
,
// 卡券列表
cardList
:
'/coupon-gic/gic-coupon-page'
,
// 卡券列表
TODO:
addCard
:
{
addCard
:
{
// 新增卡券
// 新增卡券
url
:
'/coupon
-gic/save-gic
-coupon'
,
url
:
'/coupon
/save
-coupon'
,
method
:
'post'
,
method
:
'post'
,
useFormData
:
true
,
useFormData
:
true
,
},
},
updateCard
:
{
updateCard
:
{
// 修改卡券
// 修改卡券
TODO:
url
:
'/coupon-gic/update-gic-coupon'
,
url
:
'/coupon-gic/update-gic-coupon'
,
method
:
'post'
,
method
:
'post'
,
useFormData
:
true
,
useFormData
:
true
,
},
},
copyCard
:
'/coupon-gic/copy-gic-coupon'
,
// 拷贝卡券
copyCard
:
'/coupon-gic/copy-gic-coupon'
,
// 拷贝卡券
TODO:
cardInfo
:
'/coupon-gic/get-gic-coupon-detail'
,
// 卡券详情
cardInfo
:
'/coupon-gic/get-gic-coupon-detail'
,
// 卡券详情
TODO:
updateCardStock
:
'/coupon-gic/update-gic-coupon-stock'
,
// 修改库存
updateCardStock
:
'/coupon-gic/update-gic-coupon-stock'
,
// 修改库存
TODO:
deleteCard
:
'/coupon-gic/delete-gic-coupon'
,
// 删除卡券
deleteCard
:
'/coupon-gic/delete-gic-coupon'
,
// 删除卡券
TODO:
giveLogList
:
'/coupon-gic/gic-coupon-give-log-page'
,
// 卡券转赠记录
giveLogList
:
'/coupon-gic/gic-coupon-give-log-page'
,
// 卡券转赠记录
TODO:
groupSendAdd
:
{
groupSendAdd
:
{
// 新建投放
// 新建投放
TODO:
url
:
'/coupon-gic/coupon-puton'
,
url
:
'/coupon-gic/coupon-puton'
,
method
:
'post'
,
method
:
'post'
,
useFormData
:
true
,
useFormData
:
true
,
},
},
groupSendList
:
'/coupon-gic/coupon-plan-page'
,
// 卡券投放列表
groupSendList
:
'/coupon-gic/coupon-plan-page'
,
// 卡券投放列表
TODO:
groupSendInfo
:
'/coupon-gic/coupon-puton-detail'
,
// 卡券投放详情
groupSendInfo
:
'/coupon-gic/coupon-puton-detail'
,
// 卡券投放详情
TODO:
groupSendInfoLog
:
'/coupon-gic/coupon-puton-log-page'
,
// 卡券投放记录
groupSendInfoLog
:
'/coupon-gic/coupon-puton-log-page'
,
// 卡券投放记录
TODO:
couponPutonFailLogList
:
'/coupon-gic/coupon-puton-fail-log-page'
,
// 卡券投放失败详情
couponPutonFailLogList
:
'/coupon-gic/coupon-puton-fail-log-page'
,
// 卡券投放失败详情
TODO:
stopGroupSend
:
'/coupon-gic/stop-coupon-puton-timed-task'
,
// 禁用投放
stopGroupSend
:
'/coupon-gic/stop-coupon-puton-timed-task'
,
// 禁用投放
TODO:
codeErrorList
:
'/gic-coupon-code-error-page'
,
// 查询导入券券码错误列表
codeErrorList
:
'/gic-coupon-code-error-page'
,
// 查询导入券券码错误列表
TODO:
gicCardListByName
:
'/coupon-gic/list-coupon-names'
,
// 根据name模糊查询卡券列表
gicCardListByName
:
'/coupon-gic/list-coupon-names'
,
// 根据name模糊查询卡券列表
TODO:
checkDemoCode
:
{
checkDemoCode
:
{
// 根据demo code
// 根据demo code
TODO:
url
:
'/coupon-gic/check-demo-code'
,
url
:
'/coupon-gic/check-demo-code'
,
alertError
:
false
alertError
:
false
},
},
cardDestoryList
:
'/destroy-plugin/page-destroy-plan'
,
// 卡券销毁分页列表
cardDestoryList
:
'/destroy-plugin/page-destroy-plan'
,
// 卡券销毁分页列表
TODO:
exportDestroyLogExcel
:
{
exportDestroyLogExcel
:
{
// 卡券销毁记录导出
// 卡券销毁记录导出
TODO:
url
:
'/export-destroy-log-excel'
,
url
:
'/export-destroy-log-excel'
,
method
:
'post'
,
method
:
'post'
,
export
:
true
,
export
:
true
,
headers
:
{
'Content-Type'
:
'application/json'
}
headers
:
{
'Content-Type'
:
'application/json'
}
},
},
saveCoupDestoryPlan
:
{
saveCoupDestoryPlan
:
{
// 保存卡券销毁
// 保存卡券销毁
TODO:
url
:
'/destroy-plugin/save-destroy-plan'
,
url
:
'/destroy-plugin/save-destroy-plan'
,
method
:
'post'
,
method
:
'post'
,
useFormData
:
true
,
useFormData
:
true
,
},
},
couponlogList
:
'/coupon-gic/coupon-log-page'
,
// 会员领取记录
couponlogList
:
'/coupon-gic/coupon-log-page'
,
// 会员领取记录
TODO:
exportCoupReceivedLog
:
{
exportCoupReceivedLog
:
{
// 导出会员领取记录
// 导出会员领取记录
TODO:
url
:
'/export-coup-received-log-excel'
,
url
:
'/export-coup-received-log-excel'
,
method
:
'post'
,
method
:
'post'
,
export
:
true
,
export
:
true
,
headers
:
{
'Content-Type'
:
'application/json'
}
headers
:
{
'Content-Type'
:
'application/json'
}
},
},
exportCoupGiveLog
:
{
exportCoupGiveLog
:
{
// 导出转赠记录
// 导出转赠记录
TODO:
url
:
'/export-gic-coupon-give-log-excel'
,
url
:
'/export-gic-coupon-give-log-excel'
,
method
:
'post'
,
method
:
'post'
,
export
:
true
,
export
:
true
,
headers
:
{
'Content-Type'
:
'application/json'
}
headers
:
{
'Content-Type'
:
'application/json'
}
},
},
exportCouponPutonLog
:
{
exportCouponPutonLog
:
{
// 导出卡券投放详情
// 导出卡券投放详情
TODO:
url
:
'/export-coupon-puton-log-excel'
,
url
:
'/export-coupon-puton-log-excel'
,
method
:
'post'
,
method
:
'post'
,
export
:
true
,
export
:
true
,
headers
:
{
'Content-Type'
:
'application/json'
}
headers
:
{
'Content-Type'
:
'application/json'
}
},
},
couponConsumeOrder
:
'/coupon-gic/coupon-consume-order'
,
// 核销 - 订单信息
couponConsumeOrder
:
'/coupon-gic/coupon-consume-order'
,
// 核销 - 订单信息
TODO:
couponConsume
:
'/coupon-gic/coupon-consume'
,
// 核销 - 核销
couponConsume
:
'/coupon-gic/coupon-consume'
,
// 核销 - 核销
TODO:
couponDestroy
:
'/coupon-gic/coupon-destroy'
,
// 销毁
couponDestroy
:
'/coupon-gic/coupon-destroy'
,
// 销毁
TODO:
};
};
// 卡券同步库存
// 卡券同步库存
let
syncStock
=
{
let
syncStock
=
{
getCouponStockInfo
:
'/coupon-gic/get-coupon-stock-info'
,
// 获取卡券同步信息
getCouponStockInfo
:
'/coupon-gic/get-coupon-stock-info'
,
// 获取卡券同步信息
TODO:
returnStock
:
'/coupon-gic/return-welfare-coupon'
,
// 卡券返还
returnStock
:
'/coupon-gic/return-welfare-coupon'
,
// 卡券返还
TODO:
syncStock
:
'/coupon-gic/syn-welfare-coupon'
,
// 卡券同步库存
syncStock
:
'/coupon-gic/syn-welfare-coupon'
,
// 卡券同步库存
TODO:
getWelfareStock
:
'/coupon-gic/get-welfare-stock'
,
// 获取福利库存
getWelfareStock
:
'/coupon-gic/get-welfare-stock'
,
// 获取福利库存
TODO:
getSyncWelfareList
:
'/coupon-gic/syn-welfare-coupon-page'
,
// 卡券同步记录列表
getSyncWelfareList
:
'/coupon-gic/syn-welfare-coupon-page'
,
// 卡券同步记录列表
TODO:
};
};
// 卡券展架
// 卡券展架
let
shelf
=
{
let
shelf
=
{
saveShelf
:
{
saveShelf
:
{
// 保存(新增、更新)
// 保存(新增、更新)
TODO:
url
:
'/coupon-gic/save-shelf'
,
url
:
'/coupon-gic/save-shelf'
,
method
:
'post'
,
method
:
'post'
,
useFormData
:
true
,
useFormData
:
true
,
},
},
getShelfList
:
'/coupon-gic/list-shelf-page'
,
// 获取展架列表
getShelfList
:
'/coupon-gic/list-shelf-page'
,
// 获取展架列表
TODO:
getShelfInfo
:
'/coupon-gic/shelf-detail'
,
// 获取展架详情
getShelfInfo
:
'/coupon-gic/shelf-detail'
,
// 获取展架详情
TODO:
delShelf
:
'/coupon-gic/delete-shelf'
,
// 删除某个展架
delShelf
:
'/coupon-gic/delete-shelf'
,
// 删除某个展架
TODO:
getShelfCoupon
:
'/coupon-gic/list-shelf-coupon'
,
// 获取展架使用的卡券
getShelfCoupon
:
'/coupon-gic/list-shelf-coupon'
,
// 获取展架使用的卡券
TODO:
};
};
// 卡券包
// 卡券包
let
packages
=
{
let
packages
=
{
savePackages
:
{
savePackages
:
{
// 新增、编辑卡券包 /coupon-package/save-package /coupon-package/edit-package
// 新增、编辑卡券包 /coupon-package/save-package /coupon-package/edit-package
TODO:
url
:
'/coupon-package/{type}-package'
,
// edit add
url
:
'/coupon-package/{type}-package'
,
// edit add
method
:
'post'
,
method
:
'post'
,
useFormData
:
true
,
useFormData
:
true
,
rest
:
true
rest
:
true
},
},
pageCouponPackage
:
'/coupon-package/page-coupon-package'
,
// 获取卡券包列表
pageCouponPackage
:
'/coupon-package/page-coupon-package'
,
// 获取卡券包列表
TODO:
pagePackageLog
:
'/coupon-package/page-package-log'
,
// 卡券包领取记录
pagePackageLog
:
'/coupon-package/page-package-log'
,
// 卡券包领取记录
TODO:
packageCouponReceiveLog
:
'/coupon-package/package-coupon-receive-log'
,
// 卡券领取记录详情
packageCouponReceiveLog
:
'/coupon-package/package-coupon-receive-log'
,
// 卡券领取记录详情
TODO:
getPackageDetail
:
'/coupon-package/get-package-detail'
,
// 获取卡券包详情
getPackageDetail
:
'/coupon-package/get-package-detail'
,
// 获取卡券包详情
TODO:
deletePackage
:
'/coupon-package/delete-package'
,
// 删除某个卡券包
deletePackage
:
'/coupon-package/delete-package'
,
// 删除某个卡券包
TODO:
optPackageStock
:
'/coupon-package/opt-package-stock'
,
// 调整卡券包库存
optPackageStock
:
'/coupon-package/opt-package-stock'
,
// 调整卡券包库存
TODO:
};
};
// 其他接口
// 其他接口
let
other
=
{
let
other
=
{
auditList
:
'/coupon/audit-log-page'
,
// 审核记录
auditList
:
'/coupon/audit-log-page'
,
// 审核记录
TODO:
// 子应用相关配置↓
// 子应用相关配置↓
auditSettingInfo
:
'/coupon/audit-setting-info'
,
// 子应用审核配置
auditSettingInfo
:
'/coupon/audit-setting-info'
,
// 子应用审核配置
TODO:
auditSettingSave
:
{
auditSettingSave
:
{
// 子应用保存更新
// 子应用保存更新
TODO:
url
:
'/coupon/audit-setting'
,
url
:
'/coupon/audit-setting'
,
method
:
'post'
,
method
:
'post'
,
useFormData
:
true
useFormData
:
true
},
},
getCouponSendLogList
:
'/coupon-gic/coupon-send-log'
,
// 卡券发放成功记录
getCouponSendLogList
:
'/coupon-gic/coupon-send-log'
,
// 卡券发放成功记录
TODO:
getMarketAppcodes
:
'/market/market-appcodes'
,
// 来源模块codeList
getMarketAppcodes
:
'/market/market-appcodes'
,
// 来源模块codeList
TODO:
getCouponSendFailLogList
:
'/coupon-gic/coupon-send-fail-log'
,
// 卡券发放失败记录
getCouponSendFailLogList
:
'/coupon-gic/coupon-send-fail-log'
,
// 卡券发放失败记录
TODO:
};
};
card
=
getFetch
(
card
,
marketPrefix
);
card
=
getFetch
(
card
,
marketPrefix
);
...
@@ -149,8 +149,8 @@ other = getFetch(other, marketPrefix);
...
@@ -149,8 +149,8 @@ other = getFetch(other, marketPrefix);
export
default
{
...
card
,
...
other
,
...
syncStock
,
...
shelf
,
...
packages
};
export
default
{
...
card
,
...
other
,
...
syncStock
,
...
shelf
,
...
packages
};
export
const
downloadCouponCSV
=
config
.
api
+
marketPrefix
+
'/download-code-csv-template'
;
// 下载导入GIC券号csv示例文件
export
const
downloadCouponCSV
=
config
.
api
+
marketPrefix
+
'/download-code-csv-template'
;
// 下载导入GIC券号csv示例文件
TODO:
export
const
importCode
=
config
.
api
+
marketPrefix
+
'/import-gic-custom-code'
;
// 导入券码
export
const
importCode
=
config
.
api
+
marketPrefix
+
'/import-gic-custom-code'
;
// 导入券码
TODO:
export
const
importDestoryCode
=
marketPrefix
+
'/destroy-plugin/import-destroy-code'
;
// 上传销毁code列表
export
const
importDestoryCode
=
marketPrefix
+
'/destroy-plugin/import-destroy-code'
;
// 上传销毁code列表
TODO:
export
const
downloadDestroyCodeTemplate
=
config
.
api
+
marketPrefix
+
'/destroy-plugin/download-destroy-code-template'
;
// 下载销毁模板示例
export
const
downloadDestroyCodeTemplate
=
config
.
api
+
marketPrefix
+
'/destroy-plugin/download-destroy-code-template'
;
// 下载销毁模板示例
TODO:
src/assets/styles/component.scss
View file @
e38509ec
...
@@ -100,35 +100,6 @@ body .damo-goods-selector{
...
@@ -100,35 +100,6 @@ body .damo-goods-selector{
}
}
// 福利item的百分比
.wf-content
{
display
:
flex
;
>
*
{
overflow
:
hidden
;
}
.it1
{
flex
:
33
;
}
.it2
{
flex
:
17
;
}
.it3
{
flex
:
12
.6
;
}
.it4
{
flex
:
24
;
}
.it5
{
flex
:
12
.4
;
}
[
class
^=
it
]
{
>
.el-row
{
width
:
100%
;
margin
:
0
auto
!
important
;
}
}
}
// 上下结构
// 上下结构
.main-content
{
.main-content
{
...
...
src/components/activity-
dialog/index
.vue
→
src/components/activity-
select/dialog
.vue
View file @
e38509ec
...
@@ -25,9 +25,9 @@
...
@@ -25,9 +25,9 @@
</
template
>
</
template
>
<
script
>
<
script
>
import
api
from
'@/api/activity
'
;
import
commonApi
from
'@/api/common
'
;
import
{
formatDateTimeByType
}
from
'@/utils/index.js'
;
import
{
formatDateTimeByType
}
from
'@/utils/index.js'
;
const
{
saveActivity
,
getActivityInfo
}
=
a
pi
;
const
{
saveActivity
,
getActivityInfo
}
=
commonA
pi
;
const
defaultRuleform
=
{
const
defaultRuleform
=
{
name
:
''
,
name
:
''
,
beginDate
:
''
,
beginDate
:
''
,
...
...
src/components/activity-select/index.vue
View file @
e38509ec
...
@@ -19,7 +19,7 @@
...
@@ -19,7 +19,7 @@
</
template
>
</
template
>
<
script
>
<
script
>
import
addActivityDialog
from
'
@/components/activity-select/index
.vue'
;
import
addActivityDialog
from
'
./dialog
.vue'
;
import
commonApi
from
'@/api/common'
;
import
commonApi
from
'@/api/common'
;
const
{
activityList
,
getActivityInfo
}
=
commonApi
;
const
{
activityList
,
getActivityInfo
}
=
commonApi
;
export
default
{
export
default
{
...
...
src/components/asidemenu/index.vue
View file @
e38509ec
<
template
>
<
template
>
<div>
<el-menu
:default-active=
"activeIndex"
@
select=
"handleSelect"
ref=
"asideMenu"
>
<el-menu
:default-active=
"activeIndex"
@
select=
"handleSelect"
ref=
"asideMenu"
>
<template
v-for=
"el in menu"
>
<template
v-for=
"el in menu"
>
<!-- 有子菜单 -->
<!-- 有子菜单 -->
...
@@ -27,7 +26,6 @@
...
@@ -27,7 +26,6 @@
</el-menu-item>
</el-menu-item>
</template>
</template>
</el-menu>
</el-menu>
</div>
</template>
</template>
<
script
>
<
script
>
...
@@ -134,15 +132,16 @@ export default {
...
@@ -134,15 +132,16 @@ export default {
const
mapping
=
{
const
mapping
=
{
'gic-card'
:
'w-gic-card'
,
'gic-card'
:
'w-gic-card'
,
'card-package'
:
'w-card-package'
,
'card-package'
:
'w-card-package'
,
'w-card-destory'
:
'w-card-destory'
};
};
const
currentRoute
=
this
.
routePath
.
find
(
v
=>
v
.
menuCode
==
mapping
[
project
]).
children
;
const
currentRoute
=
this
.
routePath
.
find
(
v
=>
v
.
menuCode
==
mapping
[
project
]);
// 拿到菜单数据后,先把多维数组转为一维数组
return
currentRoute
?
currentRoute
.
children
:
[];
return
currentRoute
||
[];
}
}
},
},
watch
:
{
watch
:
{
'menu'
:
{
'menu'
:
{
handler
()
{
handler
()
{
// 拿到菜单数据后,先把多维数组转为一维数组
this
.
flat
(
this
.
menu
.
slice
());
this
.
flat
(
this
.
menu
.
slice
());
this
.
getActiveIndex
();
this
.
getActiveIndex
();
},
},
...
...
src/components/layout/layout.vue
View file @
e38509ec
<
template
>
<
template
>
<div>
<div>
<dm-layout
is-app
:first-menu-code=
"menuCode"
:
class=
"
{ 'hide-left': project == '' || project == 'index'
}">
<dm-layout
is-app
:first-menu-code=
"menuCode"
:
force-show-aside=
"showLeft"
:class=
"
{ 'hide-left': !showLeft
}">
<!-- maside插槽 替换asidemenu title -->
<!-- maside插槽 替换asidemenu title -->
<div
slot=
"maside"
>
<div
slot=
"maside"
>
<!-- :hide-timeout="100000" -->
<!-- :hide-timeout="100000" -->
...
@@ -24,7 +24,8 @@
...
@@ -24,7 +24,8 @@
</div>
</div>
<!-- bread插槽 -->
<!-- bread插槽 -->
<div
slot=
"bread"
>
<div
slot=
"bread"
>
<app-info
force-init
ref=
"appInfo"
/>
<!--
<app-info
force-init
ref=
"appInfo"
/>
-->
<app-info
:code=
"moduleCode"
/>
</div>
</div>
</dm-layout>
</dm-layout>
<el-dialog
:visible=
"noAreaWarnVisible"
append-to-body
width=
"500px"
:close-on-press-escape=
"false"
:close-on-click-modal=
"true"
:show-close=
"false"
lock-scroll
>
<el-dialog
:visible=
"noAreaWarnVisible"
append-to-body
width=
"500px"
:close-on-press-escape=
"false"
:close-on-click-modal=
"true"
:show-close=
"false"
lock-scroll
>
...
@@ -92,35 +93,10 @@ export default {
...
@@ -92,35 +93,10 @@ export default {
// this.$store.commit('setDefaultSubAppId', areaId);
// this.$store.commit('setDefaultSubAppId', areaId);
// },
// },
async
init
()
{
async
init
()
{
return
;
const
moduleCode
=
this
.
moduleCode
;
const
moduleCode
=
this
.
moduleCode
;
// let appInfo = {};
// try {
// appInfo = await getAppInfo({ appCode: moduleCode });
// this.$refs.appInfo.dealRes(appInfo);
// } catch (error) {
// this.$store.commit('updateLock', true);
// return;
// }
// this.$store.commit('updateAppInfo', appInfo.result); // 设置应用信息
// document.title = appInfo.result.appName; // 设置页面的title layout里有设置,这里就不设置了
// const { serveStatus, limitFlag } = appInfo.result;
// if(serveStatus === 1 || serveStatus === 2 && limitFlag == 1) {
// // serveStatus 0正常 1未购买 2已过期 limitFlag 过期后1限制0不限制
// // 未购买 || 过期限制 更新lock禁止一切操作
// this.$store.commit('updateLock', true);
// return;
// } else {
// this.$store.commit('updateLock', false);
// }
// if(this.showLeft) {
// // 获取左侧菜单
// const aside = await loginUserMenuOfApp({ menuCode: this.$store.state.menuCode });
// this.$refs.asideMenu.getMenu(aside.result);
// }
// 获取域列表
// 获取域列表
const
subApp
=
await
getSubappList
(
{},
{
moduleCode
}
);
const
subApp
=
await
getSubappList
();
this
.
$store
.
commit
(
'setSubAppList'
,
subApp
.
result
.
result
||
[]);
this
.
$store
.
commit
(
'setSubAppList'
,
subApp
.
result
.
result
||
[]);
if
(
this
.
areaSubList
.
length
)
{
if
(
this
.
areaSubList
.
length
)
{
try
{
try
{
...
@@ -159,7 +135,10 @@ export default {
...
@@ -159,7 +135,10 @@ export default {
'appInfo'
,
'appInfo'
,
'lock'
,
'lock'
,
'moduleCode'
'moduleCode'
])
]),
showLeft
()
{
return
!
(
this
.
project
==
''
||
this
.
project
==
'index'
);
}
},
},
};
};
</
script
>
</
script
>
...
...
src/store/index.js
View file @
e38509ec
...
@@ -7,7 +7,7 @@ Vue.use(Vuex);
...
@@ -7,7 +7,7 @@ Vue.use(Vuex);
export
default
new
Vuex
.
Store
({
export
default
new
Vuex
.
Store
({
state
:
{
state
:
{
lock
:
true
,
// 当没有权限或者过期限制时锁住所有操作
lock
:
false
,
// 当没有权限或者过期限制时锁住所有操作 -- 暂不使用该属性
loading
:
false
,
// 全局loading
loading
:
false
,
// 全局loading
defaultAreaId
:
''
,
// 默认的子应用id
defaultAreaId
:
''
,
// 默认的子应用id
currentAreaName
:
''
,
// 当前选中的子应用名称
currentAreaName
:
''
,
// 当前选中的子应用名称
...
@@ -15,19 +15,6 @@ export default new Vuex.Store({
...
@@ -15,19 +15,6 @@ export default new Vuex.Store({
deleteFlag
:
false
,
// 当前选中的子应用是否被删除
deleteFlag
:
false
,
// 当前选中的子应用是否被删除
areaSubList
:
[],
// 子应用列表
areaSubList
:
[],
// 子应用列表
moduleCode
:
'welfare'
,
moduleCode
:
'welfare'
,
// 应用信息
appInfo
:
{
// applicationId: "69894192219213824",
// serveId: "69895399008555008",
// appName: "短信营销",
// versionName: "达摩至尊版",
// expireTime: 1952870399000, //到期时间
// serveStatus: 0, // 0正常 1未购买 2已过期
// expireDays: 0, // 过期天数
// limitFlag: 1, // 过期后1限制0不限制
// remark: null,
// appType: 0, // 0gic 1好办
},
project
:
''
,
// 当前项目
project
:
''
,
// 当前项目
menu
:
{},
// 对应mapping里的值
menu
:
{},
// 对应mapping里的值
extraHideLeft
:
''
,
// 特殊页面控制 asidemenu显示隐藏 为hide的时候隐藏 其余不起作用,按照原本的moduleCode里的showLeft控制
extraHideLeft
:
''
,
// 特殊页面控制 asidemenu显示隐藏 为hide的时候隐藏 其余不起作用,按照原本的moduleCode里的showLeft控制
...
@@ -44,10 +31,6 @@ export default new Vuex.Store({
...
@@ -44,10 +31,6 @@ export default new Vuex.Store({
updateLock
(
state
,
lock
)
{
updateLock
(
state
,
lock
)
{
state
.
lock
=
lock
;
state
.
lock
=
lock
;
},
},
// 更新app信息
updateAppInfo
(
state
,
info
)
{
state
.
appInfo
=
{
...
info
};
},
// 根据id更新某个子应用name
// 根据id更新某个子应用name
updateAreaName
(
state
,
{
areaId
,
areaName
})
{
updateAreaName
(
state
,
{
areaId
,
areaName
})
{
const
idx
=
state
.
areaSubList
.
findIndex
(
v
=>
{
const
idx
=
state
.
areaSubList
.
findIndex
(
v
=>
{
...
@@ -74,7 +57,7 @@ export default new Vuex.Store({
...
@@ -74,7 +57,7 @@ export default new Vuex.Store({
const
curr
=
state
.
areaSubList
.
find
(
v
=>
{
const
curr
=
state
.
areaSubList
.
find
(
v
=>
{
return
v
.
areaId
===
id
;
return
v
.
areaId
===
id
;
})
||
{};
})
||
{};
dealMkStorage
(
state
.
m
enu
.
m
oduleCode
,
'set'
,
id
);
// storage 默认子应用id
dealMkStorage
(
state
.
moduleCode
,
'set'
,
id
);
// storage 默认子应用id
state
.
currentAreaId
=
curr
.
areaId
||
''
;
state
.
currentAreaId
=
curr
.
areaId
||
''
;
state
.
currentAreaName
=
curr
.
areaName
||
''
;
state
.
currentAreaName
=
curr
.
areaName
||
''
;
state
.
deleteFlag
=
curr
.
deleteFlag
||
false
;
state
.
deleteFlag
=
curr
.
deleteFlag
||
false
;
...
...
src/utils/common.js
View file @
e38509ec
...
@@ -88,7 +88,7 @@ export const dealMkStorage = (keyName, type = 'get', value) => {
...
@@ -88,7 +88,7 @@ export const dealMkStorage = (keyName, type = 'get', value) => {
return
market
[
keyName
];
return
market
[
keyName
];
}
else
if
(
type
===
'set'
)
{
}
else
if
(
type
===
'set'
)
{
market
[
keyName
]
=
value
;
market
[
keyName
]
=
value
;
window
.
localStorage
.
setItem
(
'-ct-id'
,
JSON
.
stringify
(
market
));
window
.
localStorage
.
setItem
(
'
welfare
-ct-id'
,
JSON
.
stringify
(
market
));
}
}
};
};
...
...
src/utils/request.js
View file @
e38509ec
...
@@ -11,7 +11,7 @@ const whiteList = [
...
@@ -11,7 +11,7 @@ const whiteList = [
'/gic-auth-web/get-login-user-info'
,
'/gic-auth-web/get-login-user-info'
,
'/api-marketing/enterprise-serve-info'
,
'/api-marketing/enterprise-serve-info'
,
'/gic-auth-web/login-user-menu-of-app'
,
'/gic-auth-web/login-user-menu-of-app'
,
'/api-
marketing/{moduleCode}/area-list
'
,
'/api-
welfare/area/member-cards
'
,
'/gic-auth-web/login-collaborator-operation-item'
,
'/gic-auth-web/login-collaborator-operation-item'
,
'/gic-auth-web/login-user-operation-item-of-app'
,
'/gic-auth-web/login-user-operation-item-of-app'
,
'/gic-auth-web/login-collaborator-menu-of-app'
,
'/gic-auth-web/login-collaborator-menu-of-app'
,
...
@@ -44,7 +44,7 @@ function handlerErr(code) {
...
@@ -44,7 +44,7 @@ function handlerErr(code) {
axios
.
defaults
.
baseURL
=
origin
;
axios
.
defaults
.
baseURL
=
origin
;
const
request
=
(
opt
,
params
,
restObj
)
=>
{
const
request
=
(
opt
,
params
,
restObj
)
=>
{
if
((
!
Store
.
state
.
project
||
(
!
Store
.
state
.
currentAreaId
)
||
Store
.
state
.
lock
)
&&
!
whiteList
.
includes
(
opt
.
url
)
)
{
if
((
!
Store
.
state
.
project
||
(
!
Store
.
state
.
currentAreaId
))
&&
!
whiteList
.
includes
(
opt
.
url
)
)
{
// 有左侧但没有选中子应用id || 禁用
// 有左侧但没有选中子应用id || 禁用
return
new
Promise
((
resolve
,
reject
)
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
reject
();
reject
();
...
...
src/views/gic-card/card-form.js
View file @
e38509ec
...
@@ -87,17 +87,23 @@ const _ruleForm1 = {
...
@@ -87,17 +87,23 @@ const _ruleForm1 = {
// 转赠 start
// 转赠 start
giveFlag
:
0
,
giveFlag
:
0
,
giveContent
:
''
,
giveContent
:
''
,
giveWxImage
:
''
,
giveWxImage
:
''
,
// 貌似没用
giveImage
:
''
,
giveImage
:
''
,
giveImageField
:
''
,
giveImageField
:
''
,
// 貌似没用
b
annerImage
:
''
,
giveB
annerImage
:
''
,
b
annerImageField
:
''
,
giveB
annerImageField
:
''
,
use
JumpFlag
:
''
,
giveBanner
JumpFlag
:
''
,
b
annerJumpUrl
:
''
,
giveB
annerJumpUrl
:
''
,
giveRule
:
'1.卡券新老用户同享。2.用户使用卡券下单,订单取消后,卡券将自动失效'
,
giveRule
:
'1.卡券新老用户同享。2.用户使用卡券下单,订单取消后,卡券将自动失效'
,
// 转赠 end
// 转赠 end
goodsSearchId
:
''
,
// 兑换券 兑换商品 - 选择器id
goodsSearchId
:
''
,
// 兑换券 兑换商品 - 选择器id
goodsSearchIdWaiting
:
true
,
// 兑换券 兑换商品 - 等待状态
goodsSearchIdWaiting
:
true
,
// 兑换券 兑换商品 - 等待状态
// 跳转配置
cardJumpFlag
:
0
,
cardJumpLink
:
''
,
stockUseType
:
0
,
// (0:占用,1:动态 , 2占用+动态)
operAuth
:
1
,
// 1所有账号2部分账号3仅创建人
groupIds
:
[]
};
};
const
_ruleForm3
=
{
const
_ruleForm3
=
{
...
@@ -218,6 +224,9 @@ export default {
...
@@ -218,6 +224,9 @@ export default {
if
(
dateTime
[
0
]
<
nowDate
||
dateTime
[
1
]
<
nowDate
)
{
if
(
dateTime
[
0
]
<
nowDate
||
dateTime
[
1
]
<
nowDate
)
{
callback
(
new
Error
(
'有效期范围必须大于当前时间'
));
callback
(
new
Error
(
'有效期范围必须大于当前时间'
));
}
}
if
(
new
Date
(
dateTime
[
1
]).
getTime
()
-
new
Date
(
dateTime
[
0
]).
getTime
()
>
1000
*
60
*
60
*
24
*
365
)
{
callback
(
new
Error
(
'时间跨度不能大于一年'
));
}
callback
();
callback
();
}
else
{
}
else
{
callback
(
new
Error
(
'请填写有效期'
));
callback
(
new
Error
(
'请填写有效期'
));
...
@@ -263,12 +272,23 @@ export default {
...
@@ -263,12 +272,23 @@ export default {
}
}
};
};
const
validStockType
=
(
rule
,
value
,
callback
)
=>
{
if
(
!
this
.
stockType
.
length
)
{
callback
(
new
Error
(
rule
.
message
));
return
;
}
else
{
callback
();
}
};
return
{
return
{
loading
:
false
,
loading
:
false
,
active
:
1
,
uploadUrl
,
uploadUrl
,
zmImg
:
[],
// 转
正
图片
zmImg
:
[],
// 转
赠
图片
stImg
:
[],
// 首图图片
stImg
:
[],
// 首图图片
active
:
1
,
stockType
:
[],
// 库存使用类型(0:占用,1:动态 , 2占用+动态)
prefix
,
prefix
,
couponId
:
''
,
// gic-card 新建时就生成couponId
couponId
:
''
,
// gic-card 新建时就生成couponId
copyId
:
this
.
$route
.
query
.
copyId
,
copyId
:
this
.
$route
.
query
.
copyId
,
...
@@ -297,16 +317,17 @@ export default {
...
@@ -297,16 +317,17 @@ export default {
giveContent
:
{
validator
:
validGiveContent
,
message
:
'请输入转赠对话框文字'
,
trigger
:
'blur'
},
giveContent
:
{
validator
:
validGiveContent
,
message
:
'请输入转赠对话框文字'
,
trigger
:
'blur'
},
giveRule
:
{
required
:
true
,
message
:
'请输入卡券转赠规则'
,
trigger
:
'blur'
},
giveRule
:
{
required
:
true
,
message
:
'请输入卡券转赠规则'
,
trigger
:
'blur'
},
giveImage
:
{
required
:
true
,
message
:
'请上传转赠封面'
,
trigger
:
'change'
},
giveImage
:
{
required
:
true
,
message
:
'请上传转赠封面'
,
trigger
:
'change'
},
b
annerImage
:
{
required
:
true
,
message
:
'请上传转赠页面首图'
,
trigger
:
'change'
},
giveB
annerImage
:
{
required
:
true
,
message
:
'请上传转赠页面首图'
,
trigger
:
'change'
},
costValue
:
[
costValue
:
[
{
required
:
true
,
trigger
:
'blur'
,
message
:
'请输入成本'
},
{
required
:
true
,
trigger
:
'blur'
,
message
:
'请输入成本'
},
{
validator
:
validMin0
,
trigger
:
'change'
,
message
:
'成本必须大于0'
}
{
validator
:
validMin0
,
trigger
:
'change'
,
message
:
'成本必须大于0'
}
],
],
cardEffectiveMode0
:
[
{
message
:
'请输入有效期'
,
validator
:
validTime
,
trigger
:
'change'
}
],
cardEffectiveMode0
:
[
{
validator
:
validTime
,
trigger
:
'change'
}
],
cardEffectiveMode1
:
[
{
required
:
true
,
validator
:
validEffectTimeMode
,
trigger
:
'change'
}
],
cardEffectiveMode1
:
[
{
required
:
true
,
validator
:
validEffectTimeMode
,
trigger
:
'change'
}
],
customCode
:
{
required
:
true
,
validator
:
validCustomCode
,
trigger
:
'change'
},
customCode
:
{
required
:
true
,
validator
:
validCustomCode
,
trigger
:
'change'
},
codeFixed
:
{
required
:
true
,
validator
:
validCodeFixed
,
trigger
:
'blur'
},
codeFixed
:
{
required
:
true
,
validator
:
validCodeFixed
,
trigger
:
'blur'
},
bannerJumpUrl
:
{
validator
:
validBannerJumpUrl
,
trigger
:
'change'
},
giveBannerJumpUrl
:
{
validator
:
validBannerJumpUrl
,
trigger
:
'change'
},
stockType
:
{
required
:
true
,
validator
:
validStockType
,
message
:
'请勾选库存消耗方式'
,
trigger
:
'change'
},
},
},
rules2
:
{
rules2
:
{
erpDemoCode
:
[
{
validator
:
validDemoCode
,
trigger
:
'blur'
}
],
erpDemoCode
:
[
{
validator
:
validDemoCode
,
trigger
:
'blur'
}
],
...
@@ -352,6 +373,7 @@ export default {
...
@@ -352,6 +373,7 @@ export default {
// 转增 首图链接
// 转增 首图链接
linkData
:
{},
linkData
:
{},
checked
:
false
,
checked
:
false
,
linkData2
:
{},
// 跳转配置
submitType
:
''
,
// 提交结果 1成功 失败
submitType
:
''
,
// 提交结果 1成功 失败
isAdd
:
this
.
$route
.
meta
.
type
===
'add'
,
isAdd
:
this
.
$route
.
meta
.
type
===
'add'
,
isEdit
:
this
.
$route
.
meta
.
type
===
'edit'
,
isEdit
:
this
.
$route
.
meta
.
type
===
'edit'
,
...
@@ -482,6 +504,9 @@ export default {
...
@@ -482,6 +504,9 @@ export default {
if
(
this
.
checked
&&
!
this
.
linkData
.
name
&&
!
this
.
linkData
.
url
)
{
if
(
this
.
checked
&&
!
this
.
linkData
.
name
&&
!
this
.
linkData
.
url
)
{
reject
({
message
:
'请设置首图链接'
});
reject
({
message
:
'请设置首图链接'
});
}
}
if
(
this
.
cardJumpLink
&&
!
this
.
linkData2
.
name
&&
!
this
.
linkData2
.
url
)
{
reject
({
message
:
'请设置跳转配置'
});
}
// 其他券 且选择导入券码 判断是否上传过csv
// 其他券 且选择导入券码 判断是否上传过csv
if
(
customCodeFlag
===
2
&&
this
.
fileList
.
length
===
0
)
{
if
(
customCodeFlag
===
2
&&
this
.
fileList
.
length
===
0
)
{
reject
({
message
:
'请上传券码'
});
reject
({
message
:
'请上传券码'
});
...
@@ -604,6 +629,7 @@ export default {
...
@@ -604,6 +629,7 @@ export default {
this
.
ruleForm1
[
key
]
=
coupon
[
key
];
this
.
ruleForm1
[
key
]
=
coupon
[
key
];
}
}
});
});
this
.
stockType
=
coupon
.
stockUseType
==
2
?
[
0
,
1
]
:
[
coupon
.
stockUseType
*
1
];
this
.
ruleForm1
.
effectTimeMode
=
Number
(
coupon
.
effectTimeMode
);
// null的时候可以强转为0
this
.
ruleForm1
.
effectTimeMode
=
Number
(
coupon
.
effectTimeMode
);
// null的时候可以强转为0
// 处理useConditionLimit
// 处理useConditionLimit
const
_useConditionLimit
=
JSON
.
parse
(
coupon
.
useConditionLimit
)
||
{};
const
_useConditionLimit
=
JSON
.
parse
(
coupon
.
useConditionLimit
)
||
{};
...
@@ -612,8 +638,11 @@ export default {
...
@@ -612,8 +638,11 @@ export default {
this
.
useConditionLimit
.
goodsDiscountCheckLower
=
!
_useConditionLimit
.
goods_adapt_number_min_limit
?
0
:
1
;
this
.
useConditionLimit
.
goodsDiscountCheckLower
=
!
_useConditionLimit
.
goods_adapt_number_min_limit
?
0
:
1
;
this
.
useConditionLimit
.
goodsDiscountCheck
=
!
_useConditionLimit
.
goods_adapt_number_max_limit
?
0
:
1
;
this
.
useConditionLimit
.
goodsDiscountCheck
=
!
_useConditionLimit
.
goods_adapt_number_max_limit
?
0
:
1
;
this
.
ruleForm1
.
getLimit
=
1
;
// 领取限制由于和输入框的冲突,选择不赋值
this
.
ruleForm1
.
getLimit
=
1
;
// 领取限制由于和输入框的冲突,选择不赋值
if
(
this
.
ruleForm1
.
giveFlag
&&
this
.
ruleForm1
.
bannerJumpUrl
)
{
if
(
this
.
ruleForm1
.
giveFlag
&&
this
.
ruleForm1
.
giveBannerJumpUrl
)
{
this
.
onSave
(
this
.
ruleForm1
.
bannerJumpUrl
);
this
.
onSave
(
this
.
ruleForm1
.
giveBannerJumpUrl
);
}
if
(
this
.
ruleForm1
.
cardJumpFlag
)
{
this
.
onSave2
(
this
.
ruleForm1
.
cardJumpLink
);
}
}
if
(
!
coupon
.
cardEffectiveMode
)
{
if
(
!
coupon
.
cardEffectiveMode
)
{
if
(
coupon
.
startDate
>
new
Date
())
{
if
(
coupon
.
startDate
>
new
Date
())
{
...
@@ -626,7 +655,7 @@ export default {
...
@@ -626,7 +655,7 @@ export default {
}
}
if
(
coupon
.
giveFlag
===
1
)
{
if
(
coupon
.
giveFlag
===
1
)
{
this
.
zmImg
=
[
{
url
:
coupon
.
giveImage
,
fileId
:
coupon
.
giveImageField
}
];
this
.
zmImg
=
[
{
url
:
coupon
.
giveImage
,
fileId
:
coupon
.
giveImageField
}
];
this
.
stImg
=
[
{
url
:
coupon
.
bannerImage
,
fileId
:
coupon
.
b
annerImageField
}
];
this
.
stImg
=
[
{
url
:
coupon
.
giveBannerImage
,
fileId
:
coupon
.
giveB
annerImageField
}
];
}
}
// ruleForm2赋值
// ruleForm2赋值
this
.
ruleForm2
.
erpDemoCode
=
coupon
.
erpDemoCode
||
''
;
this
.
ruleForm2
.
erpDemoCode
=
coupon
.
erpDemoCode
||
''
;
...
@@ -703,7 +732,8 @@ export default {
...
@@ -703,7 +732,8 @@ export default {
delete
params
.
expireTimeCount
;
delete
params
.
expireTimeCount
;
}
}
delete
params
.
dateTime
;
delete
params
.
dateTime
;
// 库存使用类型(0:占用,1:动态 , 2占用+动态)
params
.
stockUseType
=
this
.
stockType
.
length
==
2
?
2
:
this
.
stockType
[
0
];
if
(
params
.
customCodeFlag
===
1
)
{
if
(
params
.
customCodeFlag
===
1
)
{
// 自定义号段
// 自定义号段
params
.
couponStock
=
params
.
codeEnd
-
params
.
codeBegin
+
1
;
params
.
couponStock
=
params
.
codeEnd
-
params
.
codeBegin
+
1
;
...
@@ -732,14 +762,14 @@ export default {
...
@@ -732,14 +762,14 @@ export default {
delete
params
.
giveWxImage
;
delete
params
.
giveWxImage
;
delete
params
.
giveImage
;
delete
params
.
giveImage
;
delete
params
.
giveImageField
;
delete
params
.
giveImageField
;
delete
params
.
b
annerImage
;
delete
params
.
giveB
annerImage
;
delete
params
.
b
annerImageField
;
delete
params
.
giveB
annerImageField
;
delete
params
.
use
JumpFlag
;
delete
params
.
giveBanner
JumpFlag
;
delete
params
.
b
annerJumpUrl
;
delete
params
.
giveB
annerJumpUrl
;
delete
params
.
giveRule
;
delete
params
.
giveRule
;
}
else
{
}
else
{
if
(
!
this
.
checked
)
{
if
(
!
this
.
checked
)
{
delete
params
.
b
annerJumpUrl
;
// 不勾选则不跳转 不需要传
delete
params
.
giveB
annerJumpUrl
;
// 不勾选则不跳转 不需要传
}
}
}
}
...
@@ -845,8 +875,8 @@ export default {
...
@@ -845,8 +875,8 @@ export default {
},
},
stSuccess
(
obj
)
{
stSuccess
(
obj
)
{
this
.
stImg
=
[
{
url
:
obj
.
res
.
result
.
url
,
fileId
:
obj
.
res
.
result
.
fileId
}
];
this
.
stImg
=
[
{
url
:
obj
.
res
.
result
.
url
,
fileId
:
obj
.
res
.
result
.
fileId
}
];
this
.
ruleForm1
.
b
annerImage
=
obj
.
res
.
result
.
url
;
this
.
ruleForm1
.
giveB
annerImage
=
obj
.
res
.
result
.
url
;
this
.
ruleForm1
.
b
annerImageField
=
obj
.
res
.
result
.
fileId
;
this
.
ruleForm1
.
giveB
annerImageField
=
obj
.
res
.
result
.
fileId
;
},
},
beforeUpload
(
file
)
{
beforeUpload
(
file
)
{
if
(
file
.
size
>
1024
*
1024
)
{
if
(
file
.
size
>
1024
*
1024
)
{
...
@@ -880,25 +910,34 @@ export default {
...
@@ -880,25 +910,34 @@ export default {
this
.
xxsy
.
storeFilterId
=
res
.
storeWidgetId
||
''
;
this
.
xxsy
.
storeFilterId
=
res
.
storeWidgetId
||
''
;
},
},
// ***********链接小工具***********
// ***********链接小工具***********
// -----首图链接-----
onShow
(
val
)
{
onShow
(
val
)
{
this
.
checked
=
val
;
this
.
checked
=
val
;
if
(
this
.
checked
)
{
if
(
this
.
checked
)
{
this
.
$refs
.
link
.
onShow
();
this
.
$refs
.
link
.
onShow
();
}
}
},
},
// 链接回显
onSave
(
linkData
)
{
onSave
(
linkData
)
{
// 链接回显
this
.
linkData
=
JSON
.
parse
(
linkData
);
this
.
linkData
=
JSON
.
parse
(
linkData
);
this
.
ruleForm1
.
b
annerJumpUrl
=
linkData
;
this
.
ruleForm1
.
giveB
annerJumpUrl
=
linkData
;
this
.
checked
=
true
;
this
.
checked
=
true
;
this
.
$refs
.
ruleForm1
.
validateField
(
'
b
annerJumpUrl'
);
this
.
$refs
.
ruleForm1
.
validateField
(
'
giveB
annerJumpUrl'
);
},
},
onHide
()
{
onHide
()
{
if
(
!
this
.
ruleForm1
.
b
annerJumpUrl
)
{
if
(
!
this
.
ruleForm1
.
giveB
annerJumpUrl
)
{
this
.
checked
=
false
;
this
.
checked
=
false
;
this
.
$refs
.
ruleForm1
.
validateField
(
'
b
annerJumpUrl'
);
this
.
$refs
.
ruleForm1
.
validateField
(
'
giveB
annerJumpUrl'
);
}
}
},
// ----首图链接-----
// -----跳转配置-----
onSave2
(
linkData
)
{
// 链接回显
this
.
linkData2
=
JSON
.
parse
(
linkData
);
this
.
ruleForm1
.
cardJumpLink
=
linkData
;
}
}
// -----跳转配置-----
},
},
computed
:
{
computed
:
{
// 有效期 - 领取x天生效下拉
// 有效期 - 领取x天生效下拉
...
@@ -924,8 +963,8 @@ export default {
...
@@ -924,8 +963,8 @@ export default {
watch
:
{
watch
:
{
ruleForm1
:
{
ruleForm1
:
{
handler
(
val
)
{
handler
(
val
)
{
const
{
giveFlag
,
giveContent
,
giveImage
,
b
annerImage
,
giveRule
}
=
val
;
const
{
giveFlag
,
giveContent
,
giveImage
,
giveB
annerImage
,
giveRule
}
=
val
;
this
.
preview
.
disabled
=
giveFlag
&&
giveContent
&&
giveImage
&&
b
annerImage
&&
giveRule
;
this
.
preview
.
disabled
=
giveFlag
&&
giveContent
&&
giveImage
&&
giveB
annerImage
&&
giveRule
;
},
},
deep
:
true
deep
:
true
},
},
...
...
src/views/gic-card/card-form.vue
View file @
e38509ec
...
@@ -48,7 +48,7 @@
...
@@ -48,7 +48,7 @@
<!-- 折扣券 -->
<!-- 折扣券 -->
<el-form-item
prop=
"denomination"
label=
"优惠折扣"
v-if=
"ruleForm1.cardType === 1"
>
<el-form-item
prop=
"denomination"
label=
"优惠折扣"
v-if=
"ruleForm1.cardType === 1"
>
<!--
<el-input-number
class=
"wInput352"
controls-position=
"right"
v-model=
"ruleForm1.denomination"
placeholder=
"请填写1-9.9之间的数字"
:precision=
"1"
:step=
"0.1"
:max=
"9.9"
:min=
"0"
/>
-->
<!--
<el-input-number
class=
"wInput352"
controls-position=
"right"
v-model=
"ruleForm1.denomination"
placeholder=
"请填写1-9.9之间的数字"
:precision=
"1"
:step=
"0.1"
:max=
"9.9"
:min=
"0"
/>
-->
<
dm-input-amount
style=
"width:352px;"
v-model=
"ruleForm1.denomination"
:max=
"9.9"
placeholder=
"请填写1-9.9之间的数字"
:precision=
"1"
:step=
"0.1"
:min=
"0"
></dm-input-amount
>
<
el-input-number
style=
"width:120px;"
v-model=
"ruleForm1.denomination"
:max=
"9.9"
placeholder=
"请填写1-9.9之间的数字"
controls-position=
"right"
:precision=
"1"
:step=
"0.1"
:min=
"0"
></el-input-number
>
<span
class=
"tips"
>
折
</span>
<span
class=
"tips"
>
折
</span>
</el-form-item>
</el-form-item>
<!-- 兑换券 !!! 比微信卡券多的内容 -->
<!-- 兑换券 !!! 比微信卡券多的内容 -->
...
@@ -84,7 +84,7 @@
...
@@ -84,7 +84,7 @@
</el-tooltip>
</el-tooltip>
</el-radio>
</el-radio>
<el-radio
v-model=
"ruleForm1.customCodeFlag"
:label=
"1"
>
自定义号段
</el-radio>
<el-radio
v-model=
"ruleForm1.customCodeFlag"
:label=
"1"
>
自定义号段
</el-radio>
<el-radio
v-model=
"ruleForm1.customCodeFlag"
:label=
"2"
@
change=
"(v) =>
{ if(v == 2) { importVisible = true } }">
<
!--
<
el-radio
v-model=
"ruleForm1.customCodeFlag"
:label=
"2"
@
change=
"(v) =>
{ if(v == 2) { importVisible = true } }">
<span
@
click=
"ruleForm1.customCodeFlag = 2;importVisible = true"
>
导入券码
</span>
<span
@
click=
"ruleForm1.customCodeFlag = 2;importVisible = true"
>
导入券码
</span>
<span
class=
"gray03 cursor"
v-if=
"fileList.length > 0"
>
<span
class=
"gray03 cursor"
v-if=
"fileList.length > 0"
>
<el-popover
placement=
"top-start"
title=
"已上传列表"
width=
"250"
trigger=
"hover"
>
<el-popover
placement=
"top-start"
title=
"已上传列表"
width=
"250"
trigger=
"hover"
>
...
@@ -92,7 +92,7 @@
...
@@ -92,7 +92,7 @@
<i
slot=
"reference"
class=
"el-icon-document ml5"
></i>
<i
slot=
"reference"
class=
"el-icon-document ml5"
></i>
</el-popover>
</el-popover>
</span>
</span>
</el-radio>
</el-radio>
-->
</el-form-item>
</el-form-item>
<el-form-item
prop=
"customCode"
label=
"code号段"
key=
"customCode"
v-if=
"ruleForm1.customCodeFlag === 1"
>
<el-form-item
prop=
"customCode"
label=
"code号段"
key=
"customCode"
v-if=
"ruleForm1.customCodeFlag === 1"
>
<!-- @blur="checkInputNumber(ruleForm1.codeBegin, 'codeBegin')" -->
<!-- @blur="checkInputNumber(ruleForm1.codeBegin, 'codeBegin')" -->
...
@@ -186,13 +186,13 @@
...
@@ -186,13 +186,13 @@
</div>
</div>
<p
class=
"tips"
>
图片建议尺寸: 320*240px 的jpg/png图片,大小不超过1MB。
</p>
<p
class=
"tips"
>
图片建议尺寸: 320*240px 的jpg/png图片,大小不超过1MB。
</p>
</el-form-item>
</el-form-item>
<el-form-item
label=
"转赠页面首图"
prop=
"
b
annerImage"
>
<el-form-item
label=
"转赠页面首图"
prop=
"
giveB
annerImage"
>
<div
class=
"st-img"
>
<div
class=
"st-img"
>
<dm-upload-picture
:use-transition=
"false"
with-credentials
:before-upload=
"beforeUpload"
:headers=
"
{ isControl: true }" project-name="marketing" :action-url="uploadUrl" :is-gic-four="true" :image-list="stImg" :max-image-length="1" @uploadOnSuccess="stSuccess" @deleteImage="() => { stImg = [];ruleForm1.
bannerImage='';ruleForm1.b
annerImageField=''; }" />
<dm-upload-picture
:use-transition=
"false"
with-credentials
:before-upload=
"beforeUpload"
:headers=
"
{ isControl: true }" project-name="marketing" :action-url="uploadUrl" :is-gic-four="true" :image-list="stImg" :max-image-length="1" @uploadOnSuccess="stSuccess" @deleteImage="() => { stImg = [];ruleForm1.
giveBannerImage='';ruleForm1.giveB
annerImageField=''; }" />
</div>
</div>
<p
class=
"tips"
>
图片建议尺寸: 640*210px 的jpg/png图片,大小不超过1MB。
</p>
<p
class=
"tips"
>
图片建议尺寸: 640*210px 的jpg/png图片,大小不超过1MB。
</p>
</el-form-item>
</el-form-item>
<el-form-item
label=
"首图链接设置"
prop=
"
b
annerJumpUrl"
>
<el-form-item
label=
"首图链接设置"
prop=
"
giveB
annerJumpUrl"
>
<el-checkbox
v-model=
"checked"
@
change=
"onShow"
/>
<el-checkbox
v-model=
"checked"
@
change=
"onShow"
/>
<span
class=
"op-btn ml5"
@
click=
"onShow(true)"
>
首图链接
</span>
<span
class=
"op-btn ml5"
@
click=
"onShow(true)"
>
首图链接
</span>
<span
v-if=
"checked && (linkData.name || linkData.url)"
class=
"gray03 ml10"
:title=
"linkData.url"
>
【
{{
linkData
.
name
||
'--'
}}
】【
{{
linkData
.
url
||
'--'
}}
】
</span>
<span
v-if=
"checked && (linkData.name || linkData.url)"
class=
"gray03 ml10"
:title=
"linkData.url"
>
【
{{
linkData
.
name
||
'--'
}}
】【
{{
linkData
.
url
||
'--'
}}
】
</span>
...
@@ -202,6 +202,24 @@
...
@@ -202,6 +202,24 @@
</el-form-item>
</el-form-item>
</
template
>
</
template
>
</template>
</template>
<el-form-item
label=
"跳转配置"
>
<el-switch
:active-value=
"1"
:inactive-value=
"0"
v-model=
"ruleForm1.cardJumpFlag"
></el-switch>
<
template
v-if=
"ruleForm1.cardJumpFlag"
>
<el-button
type=
"text"
class=
"ml10"
@
click=
"$refs.link2.onShow()"
>
设置链接
</el-button>
<span
v-if=
"(linkData2.name || linkData2.url)"
class=
"gray03 ml10"
:title=
"linkData2.url"
>
【
{{
linkData2
.
name
||
'--'
}}
】【
{{
linkData2
.
url
||
'--'
}}
】
</span>
</
template
>
<p
class=
"tips"
>
* 开启后小程序卡券详情将对应路径的跳转按钮
</p>
</el-form-item>
<el-form-item
label=
"库存消耗方式"
prop=
"stockType"
>
<el-checkbox-group
v-model=
"stockType"
>
<!-- (0:占用,1:动态 , 2占用+动态) -->
<el-checkbox
:label=
"0"
>
固定库存
</el-checkbox>
<el-checkbox
:label=
"1"
>
实时库存
</el-checkbox>
</el-checkbox-group>
</el-form-item>
<el-form-item
label=
"操作人权限"
>
<dm-acc-group-select
:etype
.
sync=
"ruleForm1.operAuth"
:group-ids
.
sync=
"ruleForm1.groupIds"
/>
</el-form-item>
<el-form-item
class=
"pt10"
>
<el-form-item
class=
"pt10"
>
<el-button
class=
"w85"
type=
"primary"
@
click=
"changeStep(2, 'ruleForm1')"
>
下一步
</el-button>
<el-button
class=
"w85"
type=
"primary"
@
click=
"changeStep(2, 'ruleForm1')"
>
下一步
</el-button>
<el-button
class=
"w85"
v-if=
"ruleForm1.customCodeFlag === 0 && ruleForm1.giveFlag"
:disabled=
"!preview.disabled"
@
click=
"preview.visible = true"
>
转赠预览
</el-button>
<el-button
class=
"w85"
v-if=
"ruleForm1.customCodeFlag === 0 && ruleForm1.giveFlag"
:disabled=
"!preview.disabled"
@
click=
"preview.visible = true"
>
转赠预览
</el-button>
...
@@ -323,7 +341,11 @@
...
@@ -323,7 +341,11 @@
</result-dialog>
</result-dialog>
<send-preview
:data=
"ruleForm1"
:visible
.
sync=
"preview.visible"
/>
<!-- 转赠预览 -->
<send-preview
:data=
"ruleForm1"
:visible
.
sync=
"preview.visible"
/>
<!-- 转赠预览 -->
<import-code
:coupon-id=
"couponId"
:visible
.
sync=
"importVisible"
open-type=
"blank"
@
success=
"(fileList)=> { fileList = fileList; }"
/>
<!-- 导入券码 -->
<import-code
:coupon-id=
"couponId"
:visible
.
sync=
"importVisible"
open-type=
"blank"
@
success=
"(fileList)=> { fileList = fileList; }"
/>
<!-- 导入券码 -->
<div
style=
"opacity:0;height:1px;visiable:hidden;"
><dm-link-tools
:member-card-id=
"currentAreaId"
v-if=
"currentAreaId"
:data=
"ruleForm1.bannerJumpUrl"
ref=
"link"
@
save=
"onSave"
@
onHide=
"onHide"
/></div>
<!-- 链接小工具 -->
<div
style=
"opacity:0;height:1px;visiable:hidden;"
>
<!-- 链接小工具 -->
<dm-link-tools
:member-card-id=
"currentAreaId"
v-if=
"currentAreaId"
:data=
"ruleForm1.giveBannerJumpUrl"
ref=
"link"
@
save=
"onSave"
@
onHide=
"onHide"
/>
<dm-link-tools
:member-card-id=
"currentAreaId"
v-if=
"currentAreaId"
:data=
"ruleForm1.cardJumpLink"
ref=
"link2"
@
save=
"onSave2"
/>
</div>
</div>
</div>
</template>
</template>
...
...
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