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
f2e0340f
Commit
f2e0340f
authored
Feb 24, 2021
by
chenxin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: 自提
parent
304f4414
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
185 additions
and
65 deletions
+185
-65
index.html
public/index.html
+4
-3
gift.js
src/api/gift.js
+4
-1
component.scss
src/assets/styles/component.scss
+0
-49
gift-other.js
src/router/gift-other.js
+2
-2
form.vue
src/views/card-package/form.vue
+22
-2
send-list.vue
src/views/card-package/send-list.vue
+3
-3
card-list.vue
src/views/gic-card/card-list.vue
+21
-4
pickup-form-content.vue
src/views/gift-manage/module/pickup-form-content.vue
+128
-0
pickup-form copy.vue
src/views/gift-manage/pickup-form copy.vue
+0
-0
pickup-form.vue
src/views/gift-manage/pickup-form.vue
+0
-0
pickup-list.vue
src/views/gift-manage/pickup-list.vue
+1
-1
No files found.
public/index.html
View file @
f2e0340f
...
...
@@ -11,6 +11,8 @@
<link
rel=
"stylesheet"
type=
"text/css"
href=
"//at.alicdn.com/t/font_1418963_hrpaaxicjis.css"
/>
<link
rel=
"stylesheet"
type=
"text/css"
href=
"//at.alicdn.com/t/font_1393418_z4h4445tiwe.css"
/>
<link
rel=
"stylesheet"
type=
"text/css"
href=
"//at.alicdn.com/t/font_2349215_zw94rco4ss.css"
/>
<!-- 福利中心icon -->
<link
rel=
"stylesheet"
type=
"text/css"
href=
"//at.alicdn.com/t/font_1418963_8ssgac9p1n7.css"
/>
<!-- 组件库icon -->
<script
src=
"//at.alicdn.com/t/font_1418963_8ssgac9p1n7.js"
></script>
<!-- 组件库icon svg -->
<link
rel=
"stylesheet"
type=
"text/css"
href=
"//web-1251519181.file.myqcloud.com/custom-element/custom-element.1.0.58.3.css"
/>
<script
src=
"//at.alicdn.com/t/font_1418963_hrpaaxicjis.js"
></script>
<!-- <title>达摩网络GIC——连锁零售商业互联网+,终极解决方案</title> -->
...
...
@@ -30,8 +32,7 @@
<script
src=
"//web-1251519181.file.myqcloud.com/components/base.1.0.0.17.js"
></script>
<!-- 公共方法 -->
<script
src=
"//web-1251519181.file.myqcloud.com/components/layout.1.2.59.js"
></script>
<!-- 布局组件 -->
<script
src=
"//web-1251519181.file.myqcloud.com/components/input.2.0.20.js"
></script>
<!-- input !!3.0组件 -->
<script
src=
"//web-1251519181.file.myqcloud.com/components/people-selector.1.0.10.js"
></script>
<!-- 人群筛选器 -->
<script
src=
"//web-1251519181.file.myqcloud.com/components/store-select.1.1.78.js"
></script>
<!-- 门店选择器 -->
<script
src=
"//web-1251519181.file.myqcloud.com/components/store-select.1.1.84.js"
></script>
<!-- 门店选择器 -->
<script
src=
"//web-1251519181.file.myqcloud.com/components/goods-selector.1.0.51.js"
></script>
<!-- 商品选择器 -->
<script
src=
"//web-1251519181.file.myqcloud.com/components/card-select.1.0.33.js"
></script>
<!-- 卡券选择器 -->
<script
src=
"//web-1251519181.file.myqcloud.com/components/link-tools.2.1.21.js"
></script>
<!-- 链接小工具 -->
...
...
@@ -47,7 +48,7 @@
<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/input-number.1.0.10.js"
></script>
<!-- 输入框 -->
<script
src=
"//web-1251519181.file.myqcloud.com/components/acc-group-select.1.0.
3
.js"
></script>
<!-- 账号分组组件 -->
<script
src=
"//web-1251519181.file.myqcloud.com/components/acc-group-select.1.0.
4
.js"
></script>
<!-- 账号分组组件 -->
<script
src=
"//web-1251519181.file.myqcloud.com/components/editor.1.1.12.js"
></script>
<!-- 富文本编辑器 -->
</body>
</html>
src/api/gift.js
View file @
f2e0340f
...
...
@@ -83,7 +83,10 @@ let setting = {
},
pickupList
:
'/pickup/get-pickup-list'
,
getPickupDetails
:
'/pickup/get-pickup-details'
,
delPickup
:
'/pickup/del-pickup'
,
delPickup
:
{
url
:
'/pickup/del-pickup'
,
method
:
'post'
,
},
insertPickupStore
:
{
// 新增或修改自提点
url
:
'/pickup/insert-pickup-store'
,
method
:
'post'
,
...
...
src/assets/styles/component.scss
View file @
f2e0340f
...
...
@@ -454,59 +454,10 @@ body .damo-goods-selector{
}
}
// 全部人群
.all-new-people
{
color
:
$gray03
;
max-width
:
800px
;
display
:
inline-block
;
padding
:
0
5px
;
height
:
34px
;
line-height
:
34px
;
background-color
:
#e9f0ff
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
white-space
:
nowrap
;
border-radius
:
2px
;
}
p
.cell-time
{
line-height
:
18px
;
}
// 场景值的 -- 用不上了
.dm-scene
{
.el-input
{
min-height
:
33px
!
important
;
}
}
// 中奖通知
.sms
{
width
:
290px
;
// min-width:290px;
height
:
80px
;
padding
:
11px
;
background
:
#fff
;
border-radius
:
2px
;
border
:
1px
dashed
$gray-border
;
dd
{
margin-bottom
:
4px
;
font-size
:
14px
;
color
:
$gray01
;
line-height
:
20px
;
@include
muti-line-ellipsis
(
1
);
}
dt
{
@include
muti-line-ellipsis
(
1
);
font-size
:
12px
;
color
:
$gray02
;
line-height
:
17px
;
}
}
// 仿btn
.hover-btn
{
...
...
src/router/gift-other.js
View file @
f2e0340f
...
...
@@ -55,7 +55,7 @@ export default [
component
:
()
=>
import
(
'@/views/gift-manage/pickup-form.vue'
),
meta
:
{
type
:
'add'
,
path
:
'/setting
e
/pickup-list'
path
:
'/setting/pickup-list'
}
},
{
...
...
@@ -63,7 +63,7 @@ export default [
component
:
()
=>
import
(
'@/views/gift-manage/pickup-form.vue'
),
meta
:
{
type
:
'edit'
,
path
:
'/setting
e
/pickup-list'
path
:
'/setting/pickup-list'
}
},
],
...
...
src/views/card-package/form.vue
View file @
f2e0340f
...
...
@@ -26,6 +26,9 @@
<el-checkbox
:label=
"1"
>
实时库存
</el-checkbox>
</el-checkbox-group>
</el-form-item>
<el-form-item
label=
"操作人权限"
prop=
"operAuthType"
>
<dm-acc-group-select
:etype
.
sync=
"ruleForm.operAuthType"
:group-ids
.
sync=
"ruleForm.operAuth"
/>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
v-if=
"isAdd"
@
click=
"addForm"
>
确认新建
</el-button>
<el-button
type=
"primary"
:disabled=
"ruleForm.packageStock == info.packageStock"
v-else
@
click=
"editForm"
>
保存
</el-button>
...
...
@@ -113,6 +116,13 @@ export default {
}
callback
();
};
const
validateOperAuth
=
(
rule
,
value
,
callback
)
=>
{
if
(
this
.
ruleForm
.
operAuthType
==
2
&&
!
this
.
ruleForm
.
operAuth
.
length
)
{
callback
(
new
Error
(
'请选择部分分组账号'
));
return
;
}
callback
();
};
return
{
loading
:
false
,
cardLoading
:
false
,
...
...
@@ -127,6 +137,8 @@ export default {
endDate
:
''
,
packageStock
:
undefined
,
stockUseType
:
''
,
// 库存使用类型(0:占用,1:动态 , 2占用+动态)
operAuthType
:
1
,
// 1所有账号2部分账号3仅创建人
operAuth
:
[]
},
couponForm
:
{
couponId
:
''
,
...
...
@@ -140,7 +152,8 @@ export default {
remarkName
:
[
{
required
:
true
,
message
:
'请输入备注名'
,
trigger
:
'change'
}
],
packageStock
:
[
{
required
:
true
,
message
:
'请输入卡券包库存'
,
trigger
:
'change'
}
],
effectiveMode
:
[
{
required
:
true
,
validator
:
validateSendType
,
trigger
:
'change'
}
],
cardIds
:
[
{
required
:
true
,
validator
:
validateCardIds
,
message
:
'请选择卡券'
,
trigger
:
'change'
}
]
cardIds
:
[
{
required
:
true
,
validator
:
validateCardIds
,
message
:
'请选择卡券'
,
trigger
:
'change'
}
],
operAuthType
:
[
{
required
:
true
,
validator
:
validateOperAuth
,
trigger
:
'change'
}
],
},
pickerOptions
:
{
disabledDate
(
now
)
{
...
...
@@ -208,13 +221,20 @@ export default {
this
.
loading
=
false
;
const
info
=
res
.
result
.
couponDetail
||
{};
this
.
info
=
info
;
const
exclude
=
[
'operAuth'
];
// 不需要赋值的字段
Object
.
keys
(
this
.
ruleForm
).
map
(
v
=>
{
this
.
ruleForm
[
v
]
=
info
[
v
];
if
(
v
in
info
&&
!
exclude
.
includes
(
v
))
{
this
.
ruleForm
[
v
]
=
info
[
v
];
}
});
console
.
log
(
this
.
ruleForm
);
// 库存使用类型(0:占用,1:动态 , 2占用+动态)
this
.
stockType
=
info
.
stockUseType
==
2
?
[
0
,
1
]
:
[
info
.
stockUseType
]
;
this
.
dateTime
=
[
info
.
beginDate
,
info
.
endDate
];
this
.
couponList
=
res
.
result
.
couponList
||
[];
if
(
info
.
operAuthType
==
2
)
{
this
.
ruleForm1
.
operAuth
=
info
.
operAuth
.
split
(
','
);
}
}).
finally
(()
=>
{
this
.
loading
=
false
;
});
...
...
src/views/card-package/send-list.vue
View file @
f2e0340f
...
...
@@ -33,15 +33,15 @@
</
template
>
</el-table-column>
<el-table-column
prop=
"packageLogId"
label=
"外部单号"
min-width=
"120px"
></el-table-column>
<el-table-column
prop=
"
couponPackageN
ame"
label=
"卡券包名称"
min-width=
"140px"
></el-table-column>
<el-table-column
prop=
"couponPackageName"
label=
"卡券数量"
min-width=
"130px"
>
<el-table-column
prop=
"
n
ame"
label=
"卡券包名称"
min-width=
"140px"
></el-table-column>
<el-table-column
label=
"卡券数量"
min-width=
"130px"
>
<
template
slot=
"header"
>
<el-tooltip
placement=
"top"
content=
"卡券包中会员真实领取的卡券数量"
open-delay=
"200"
>
<span
class=
"tooltip-icon"
>
卡券数量
</span>
</el-tooltip>
</
template
>
<
template
slot-scope=
"scope"
>
<el-button
type=
"text"
@
click=
"showDetail(scope.row)"
>
{{
scope
.
row
.
couponSize
||
0
}}
</el-button>
<el-button
type=
"text"
@
click=
"showDetail(scope.row)"
>
{{
scope
.
row
.
receiveCount
||
0
}}
</el-button>
</
template
>
</el-table-column>
<el-table-column
label=
"来源"
min-width=
"150px"
>
...
...
src/views/gic-card/card-list.vue
View file @
f2e0340f
...
...
@@ -148,7 +148,7 @@ import cardItem from './module/card-item';
import
adjustStock
from
'@/components/libs/adjust-stock'
;
import
syncStock
from
'./module/sync-stock'
;
import
api
from
'@/api/gic-card'
;
const
{
cardList
,
deleteCard
,
updateCardStock
}
=
api
;
const
{
cardList
,
deleteCard
,
updateCardStock
,
disableCard
}
=
api
;
export
default
{
name
:
'CardList'
,
...
...
@@ -338,10 +338,27 @@ export default {
this
.
$refs
.
adjust
.
close
();
}
);
}
,
// 禁用卡券
//
单个
禁用卡券
stopData
(
val
)
{
showConfirm
(
'<div>禁用后卡券失效,确认禁止?</div>'
,
()
=>
{
// this.deleteCard(val);
showConfirm
(
'<div>禁用后卡券不可找回,确认禁用该卡券?</div>'
,
()
=>
{
this
.
disableCard
([
val
]);
}
);
}
,
// 批量禁用
mutiStop
()
{
showConfirm
(
'<div>确认批量禁用选中数据?</div>'
,
()
=>
{
this
.
disableCard
(
this
.
multipleSelection
.
map
(
v
=>
v
.
couponId
));
}
);
}
,
// 禁用卡券
disableCard
(
couponIds
)
{
this
.
loading
=
true
;
disableCard
({
couponIds
:
couponIds
.
join
(
','
)
}
).
then
(
res
=>
{
this
.
$tips
({
type
:
'success'
,
message
:
'禁用成功!'
}
);
this
.
loading
=
false
;
this
.
getTableList
();
}
).
finally
(()
=>
{
this
.
loading
=
false
;
}
);
}
,
// 删除卡券
...
...
src/views/gift-manage/module/pickup-form-content.vue
0 → 100644
View file @
f2e0340f
<
template
>
<div>
<el-form-item
label=
"买家可选自提时间"
>
<el-switch
v-model=
"ruleForm.chooseTimeFlag"
:active-value=
"1"
:inactive-value=
"0"
></el-switch>
<p>
开启表示买家可选择自提时间,商户需按约定时间备货完成
</p>
</el-form-item>
<template
v-if=
"ruleForm.chooseTimeFlag"
>
<el-form-item
label=
"日期类型"
>
<el-radio
v-model=
"ruleForm.dateType"
:label=
"1"
>
动态日期
</el-radio>
<el-radio
v-model=
"ruleForm.dateType"
:label=
"2"
>
固定日期
</el-radio>
</el-form-item>
<el-form-item
label=
"商品备货设置"
v-if=
"ruleForm.dateType == 1"
>
<div
class=
"mb5"
>
<el-radio
v-model=
"ruleForm.dynamicType"
:label=
"1"
>
下单当天
</el-radio>
<el-input-number
class=
"w100 mr5"
v-model=
"ruleForm.dynamicH"
:min=
"1"
:max=
"24"
:controls=
"false"
:precision=
"0"
></el-input-number>
小时,
<el-input-number
class=
"w100 mr5"
v-model=
"ruleForm.dynamicM"
:max=
"60"
:controls=
"false"
:precision=
"0"
></el-input-number>
分钟后,买家可提货
</div>
<div>
<el-radio
v-model=
"ruleForm.dynamicType"
:label=
"2"
>
下单
  
</el-radio>
<el-input-number
class=
"w100 mr5"
v-model=
"ruleForm.dynamicD"
:max=
"1000"
:controls=
"false"
:precision=
"0"
></el-input-number>
天后,买家可提货
</div>
</el-form-item>
<el-form-item
label=
"提货有效期"
v-if=
"ruleForm.dateType == 1"
>
<div
class=
"mb5"
>
备货完成
<el-input-number
class=
"w100 mr5 ml5"
v-model=
"ruleForm.dynamicStop"
:min=
"2"
:controls=
"false"
:precision=
"0"
></el-input-number>
天后,停止自提
</div>
<div>
<el-radio
v-model=
"ruleForm.dynamicType"
:label=
"2"
>
下单
  
</el-radio>
<el-input-number
class=
"w100 mr5"
v-model=
"ruleForm.dynamicD"
:controls=
"false"
></el-input-number>
天后,买家可提货
</div>
</el-form-item>
<el-form-item
label=
"日期范围"
v-if=
"ruleForm.dateType == 2"
>
<div
class=
"mb10"
v-for=
"(v, i) in ruleForm.fixedTime"
:key=
"i"
>
<el-date-picker
v-model=
"v.dataRange"
:picker-options=
"pickerOptionsEnd"
is-range
format=
"yy-MM-dd"
type=
"daterange"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
@
change=
"value => limitDataSelect(i, value)"
>
</el-date-picker>
<el-button
v-if=
"i"
type=
"text"
@
click=
"deleteTime(v)"
class=
"delete-btn ml10"
>
删除
</el-button>
</div>
<el-button
type=
"text"
@
click=
"addTime"
:disabled=
"ruleForm.fixedTime.length >= 5"
>
<i
class=
"el-icon-plus"
></i>
添加时间
</el-button>
</el-form-item>
<el-form-item
label=
"超期发货单处理"
>
<div>
<el-radio
v-model=
"ruleForm.timeoutDealType"
:label=
"1"
>
到期自动完成核销
</el-radio>
</div>
<div>
<el-radio
v-model=
"ruleForm.timeoutDealType"
:label=
"2"
>
到期自动关闭发货单,若为销售订单请至应用中查看退款情况
</el-radio>
</div>
</el-form-item>
</
template
>
</div>
</template>
<
script
>
export
default
{
name
:
'PickupFormContent'
,
props
:
{
ruleForm
:
{
type
:
Object
,
default
:
()
=>
{}
}
},
data
()
{
return
{
// 限制开始时间
pickerOptionsEnd
:
{
disabledDate
(
time
)
{
return
time
.
getTime
()
<
new
Date
(
new
Date
().
toLocaleDateString
()).
getTime
();
}
},
};
},
methods
:
{
addTime
()
{
this
.
ruleForm
.
fixedTime
.
push
({
dataRange
:
''
});
},
deleteTime
(
i
)
{
this
.
ruleForm
.
fixedTime
.
splice
(
i
,
1
);
},
// 时间限制
limitDataSelect
(
index
,
val
)
{
let
selectTime
=
new
Date
(
val
[
0
]).
valueOf
();
let
selectTimeEnd
=
new
Date
(
val
[
1
]).
valueOf
();
const
vTime
=
this
.
ruleForm
.
fixedTime
;
if
(
index
!==
0
)
{
// 不是第一个
// // 和前面的时间比较
for
(
let
i
=
index
-
1
;
i
>=
0
;
i
--
)
{
if
(
vTime
[
i
].
dataRange
)
{
let
selectTimePrev
=
new
Date
(
vTime
[
i
].
dataRange
[
1
]).
valueOf
();
// 和前前一个的存在的结束时间比较
if
(
selectTime
<=
selectTimePrev
)
{
this
.
$message
.
error
(
'日期不可重叠!'
);
vTime
[
index
].
dataRange
=
null
;
}
}
}
// 和后面的时间比较
for
(
let
j
=
index
+
1
;
j
<
vTime
.
length
;
j
++
)
{
if
(
vTime
[
j
].
dataRange
)
{
let
selectTimeAfter
=
new
Date
(
vTime
[
j
].
dataRange
[
0
]).
valueOf
();
// 和后一个的存在的开始时间比较
if
(
selectTime
>=
selectTimeAfter
||
selectTimeEnd
>=
selectTimeAfter
)
{
this
.
$message
.
error
(
'日期不可重叠!'
);
vTime
[
index
].
dataRange
=
null
;
}
}
}
}
else
{
// 和后面的时间比较
for
(
let
j
=
index
+
1
;
j
<
vTime
.
length
;
j
++
)
{
if
(
vTime
[
j
].
dataRange
)
{
let
selectTimeAfter
=
new
Date
(
vTime
[
j
].
dataRange
[
0
]).
valueOf
();
// 和后一个的存在的开始时间比较
if
(
selectTime
>=
selectTimeAfter
||
selectTimeEnd
>=
selectTimeAfter
)
{
this
.
$message
.
error
(
'日期不可重叠!'
);
vTime
[
index
].
dataRange
=
null
;
}
}
}
}
},
}
};
</
script
>
<
style
style=
"scss"
scoped
>
.w-280
{
width
:
280px
;
}
</
style
>
\ No newline at end of file
src/views/gift-manage/pickup-form copy.vue
0 → 100644
View file @
f2e0340f
This diff is collapsed.
Click to expand it.
src/views/gift-manage/pickup-form.vue
View file @
f2e0340f
This diff is collapsed.
Click to expand it.
src/views/gift-manage/pickup-list.vue
View file @
f2e0340f
...
...
@@ -61,7 +61,7 @@ export default {
};
},
created
()
{
this
.
$emit
(
'updateBread'
,
[
{
breadName
:
'福利中心'
},
{
breadName
:
'通用设置'
},
{
breadName
:
'
地址库管理
'
}
]);
this
.
$emit
(
'updateBread'
,
[
{
breadName
:
'福利中心'
},
{
breadName
:
'通用设置'
},
{
breadName
:
'
自提点设置
'
}
]);
},
mounted
()
{
this
.
getTableList
();
...
...
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