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
9ac4eb73
Commit
9ac4eb73
authored
Feb 24, 2021
by
chenxin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: zitidian
parent
9063d236
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
352 additions
and
59 deletions
+352
-59
gift.js
src/api/gift.js
+9
-1
form.vue
src/views/card-package/form.vue
+4
-2
address-lib-form.vue
src/views/gift-manage/address-lib-form.vue
+8
-8
pickup-form-content.vue
src/views/gift-manage/module/pickup-form-content.vue
+9
-12
pickup-update-dialog.vue
src/views/gift-manage/module/pickup-update-dialog.vue
+146
-0
pickup-form.vue
src/views/gift-manage/pickup-form.vue
+159
-31
pickup-list.vue
src/views/gift-manage/pickup-list.vue
+17
-5
No files found.
src/api/gift.js
View file @
9ac4eb73
...
...
@@ -95,13 +95,19 @@ let setting = {
getPickupDetails
:
'/pickup/get-pickup-details'
,
delPickup
:
{
url
:
'/pickup/del-pickup'
,
useFormData
:
true
,
method
:
'post'
,
},
insertPickupStore
:
{
// 新增
或修改
自提点
insertPickupStore
:
{
// 新增自提点
url
:
'/pickup/insert-pickup-store'
,
method
:
'post'
,
headers
:
{
'Content-Type'
:
'application/json'
}
},
updatePickupStore
:
{
// 更新单个或多个自提点
url
:
'/pickup/update-pickup-setting'
,
method
:
'post'
,
headers
:
{
'Content-Type'
:
'application/json'
}
},
};
realGift
=
getFetch
(
realGift
,
welfarePrefix
);
setting
=
getFetch
(
setting
,
welfarePrefix
);
...
...
@@ -109,3 +115,4 @@ setting = getFetch(setting, welfarePrefix);
export
default
{
...
realGift
,
...
setting
};
export
const
getGiftLoginUser
=
config
.
api
+
commonPrefix
+
'/user/get-login-user'
;
// 获取商户名称
export
const
exportPickupStoreExcel
=
config
.
api
+
welfarePrefix
+
'/export-pickup-store-excel'
;
// 导出自提点
\ No newline at end of file
src/views/card-package/form.vue
View file @
9ac4eb73
...
...
@@ -227,13 +227,12 @@ export default {
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
.
ruleForm
1
.
operAuth
=
info
.
operAuth
.
split
(
','
);
this
.
ruleForm
.
operAuth
=
info
.
operAuth
.
split
(
','
);
}
}).
finally
(()
=>
{
this
.
loading
=
false
;
...
...
@@ -253,6 +252,9 @@ export default {
params
.
stockUseType
=
this
.
stockType
.
length
==
2
?
2
:
this
.
stockType
[
0
];
params
.
beginDate
=
formatDateTimeByType
(
this
.
dateTime
[
0
],
'yyyy-MM-dd'
);
params
.
endDate
=
formatDateTimeByType
(
this
.
dateTime
[
1
],
'yyyy-MM-dd'
);
if
(
params
.
operAuthType
==
2
)
{
params
.
operAuth
=
params
.
operAuth
.
join
(
','
);
}
this
.
loading
=
true
;
addPackages
(
params
).
then
(
res
=>
{
this
.
loading
=
false
;
...
...
src/views/gift-manage/address-lib-form.vue
View file @
9ac4eb73
...
...
@@ -149,19 +149,19 @@ export default {
getInfo
()
{
this
.
loading
=
true
;
getAddressDetails
().
then
(
res
=>
{
const
info
=
res
.
result
||
{};
Object
.
keys
(
this
.
ruleForm
).
map
(
key
=>
{
const
info
=
res
.
result
||
{};
if
(
key
in
res
.
result
)
{
this
.
ruleForm
[
key
]
=
info
[
key
];
}
if
(
info
.
tel
)
{
const
tel
=
info
.
tel
.
join
(
','
);
this
.
tel1
=
tel
[
0
];
this
.
tel2
=
tel
[
1
];
this
.
tel3
=
tel
[
2
];
}
this
.
cityIds
=
[
info
.
provinceId
,
info
.
cityId
,
info
.
countyId
];
});
if
(
info
.
tel
)
{
const
tel
=
info
.
tel
.
join
(
','
);
this
.
tel1
=
tel
[
0
];
this
.
tel2
=
tel
[
1
];
this
.
tel3
=
tel
[
2
];
}
this
.
cityIds
=
[
info
.
provinceId
,
info
.
cityId
,
info
.
countyId
];
this
.
loading
=
false
;
}).
catch
(()
=>
{
this
.
loading
=
false
;
...
...
src/views/gift-manage/module/pickup-form-content.vue
View file @
9ac4eb73
...
...
@@ -5,11 +5,11 @@
<p>
开启表示买家可选择自提时间,商户需按约定时间备货完成
</p>
</el-form-item>
<template
v-if=
"ruleForm.chooseTimeFlag"
>
<el-form-item
label=
"日期类型"
>
<el-form-item
label=
"日期类型"
required
>
<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"
>
<el-form-item
label=
"商品备货设置"
v-if=
"ruleForm.dateType == 1"
prop=
"dynamicType"
>
<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>
小时,
...
...
@@ -20,23 +20,17 @@
<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
label=
"提货有效期"
v-if=
"ruleForm.dateType == 1"
prop=
"dynamicStop"
>
备货完成
<el-input-number
class=
"w100 mr5 ml5"
v-model=
"ruleForm.dynamicStop"
:min=
"2"
:controls=
"false"
:precision=
"0"
></el-input-number>
天后,停止自提
</el-form-item>
<el-form-item
label=
"日期范围"
v-if=
"ruleForm.dateType == 2"
>
<el-form-item
label=
"日期范围"
v-if=
"ruleForm.dateType == 2"
prop=
"fixedTime"
>
<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=
"超期发货单处理"
>
<el-form-item
label=
"超期发货单处理"
required
>
<div>
<el-radio
v-model=
"ruleForm.timeoutDealType"
:label=
"1"
>
到期自动完成核销
</el-radio>
</div>
...
...
@@ -78,6 +72,9 @@ export default {
let
selectTime
=
new
Date
(
val
[
0
]).
valueOf
();
let
selectTimeEnd
=
new
Date
(
val
[
1
]).
valueOf
();
const
vTime
=
this
.
ruleForm
.
fixedTime
;
if
(
vTime
.
length
==
1
)
{
return
;
}
if
(
index
!==
0
)
{
// 不是第一个
// // 和前面的时间比较
...
...
src/views/gift-manage/module/pickup-update-dialog.vue
0 → 100644
View file @
9ac4eb73
<
template
>
<el-dialog
title=
"批量设置"
:visible
.
sync=
"dialogVisible"
width=
"700px"
@
close=
"close"
>
<el-form
:model=
"ruleForm"
ref=
"ruleForm"
:rules=
"rules"
label-width=
"160px"
>
<form-content
:rule-form
.
sync=
"ruleForm"
></form-content>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"close"
>
取消
</el-button>
<el-button
type=
"primary"
@
click=
"handleSubmit()"
>
确认
</el-button>
</div>
</el-dialog>
</
template
>
<
script
>
import
{
isEmpty
}
from
'@/utils/index'
;
import
fetch
from
'@/api/gift.js'
;
const
{
updatePickupStore
}
=
fetch
;
import
formContent
from
'./pickup-form-content'
;
export
default
{
name
:
'PickupUpdateDialog'
,
components
:
{
formContent
},
props
:
{
dialogVisible
:
{
type
:
Boolean
,
default
()
{
return
{};
}
},
ids
:
{
// 批量删除的ids
type
:
Array
,
default
:
()
=>
[]
}
},
data
()
{
const
validDynamicType
=
(
rule
,
value
,
callback
)
=>
{
const
{
dynamicType
,
dynamicH
,
dynamicM
,
dynamicD
}
=
this
.
ruleForm
;
if
(
dynamicType
==
1
)
{
if
(
isEmpty
(
dynamicH
)
||
isEmpty
(
dynamicM
))
{
callback
(
new
Error
(
'填写不完整'
));
return
;
}
}
else
{
if
(
isEmpty
(
dynamicD
))
{
callback
(
new
Error
(
'填写不完整'
));
return
;
}
}
callback
();
};
const
validTime
=
(
rule
,
value
,
callback
)
=>
{
const
{
fixedTime
}
=
this
.
ruleForm
;
if
(
fixedTime
.
length
==
0
)
{
callback
(
new
Error
(
'请配置固定日期范围'
));
return
;
}
let
flag
=
false
;
fixedTime
.
forEach
(
v
=>
{
if
(
!
(
v
.
dataRange
&&
v
.
dataRange
.
length
&&
v
.
dataRange
[
0
]
&&
v
.
dataRange
[
1
]))
{
flag
=
true
;
}
});
if
(
flag
)
{
callback
(
new
Error
(
'请配置固定日期范围'
));
return
;
}
callback
();
};
return
{
ruleForm
:
{
type
:
1
,
chooseTimeFlag
:
1
,
dateType
:
1
,
// 日期类型 1、动态日期 2、固定日期
fixedTime
:
[
{
dataRange
:
''
}
],
// 固定日期
// 动态日期start
dynamicType
:
1
,
// 动态日期-类型
dynamicH
:
''
,
// 动态日期-小时
dynamicM
:
''
,
// 动态日期-分钟
dynamicD
:
''
,
// 动态日期-天
dynamicStop
:
''
,
// 停止自提
// 动态日期end
storeWidgetId
:
''
,
// 门店id
timeoutDealType
:
1
,
// 超期处理方式:1自动完成核销 2自动关闭发货单
},
rules
:
{
storeWidgetId
:
{
required
:
true
,
message
:
'请选择门店'
,
trigger
:
'change'
},
dynamicType
:
{
required
:
true
,
validator
:
validDynamicType
,
trigger
:
'blur'
},
dynamicStop
:
{
required
:
true
,
message
:
'请填写提货有效期'
,
trigger
:
'change'
},
fixedTime
:
{
required
:
true
,
validator
:
validTime
,
trigger
:
'change'
},
},
};
},
methods
:
{
close
()
{
this
.
$emit
(
'update:dialogVisible'
,
false
);
this
.
$refs
.
ruleForm
.
resetFields
();
},
handleSubmit
()
{
if
(
this
.
loading
)
{
return
;
}
this
.
$refs
.
ruleForm
.
validate
((
valid
)
=>
{
if
(
!
valid
)
{
PublicMethods
.
jumpToFormError
();
// eslint-disable-line
return
;
}
else
{
// 组装数据
const
{
chooseTimeFlag
,
dateType
,
storeWidgetId
,
timeoutDealType
,
dynamicType
,
dynamicH
,
dynamicM
,
dynamicD
,
dynamicStop
,
fixedTime
}
=
this
.
ruleForm
;
let
params
=
{
chooseTimeFlag
,
dateType
,
storeWidgetId
,
timeoutDealType
};
if
(
chooseTimeFlag
)
{
// pickupDateInfo: 动态日期 {"setType":1,"time":45,"validite":2};固定日期 json数组[{"endTime":1587168000000,"startTime":1587168000000}]
if
(
params
.
dateType
==
1
)
{
// 动态日期
params
.
pickupDateInfo
=
{
setType
:
dynamicType
,
time
:
dynamicType
==
1
?
dynamicH
*
60
+
dynamicM
:
dynamicD
*
24
*
60
,
// 转换为分钟
validite
:
dynamicStop
};
}
else
{
// 固定日期
params
.
pickupDateInfo
=
fixedTime
.
map
(
v
=>
{
return
{
startTime
:
new
Date
(
v
.
dataRange
[
0
]).
getTime
(),
endTime
:
new
Date
(
v
.
dataRange
[
0
]).
getTime
()
};
});
}
params
.
pickupDateInfo
=
JSON
.
stringify
(
params
.
pickupDateInfo
);
}
params
.
ids
=
this
.
ids
.
join
(
','
);
this
.
loading
=
true
;
updatePickupStore
(
params
).
then
(
res
=>
{
this
.
loading
=
false
;
this
.
$tips
({
message
:
'修改成功'
,
type
:
'success'
});
this
.
close
();
this
.
$emit
(
'mutiUpdate'
);
}).
catch
(()
=>
{
this
.
loading
=
false
;
});
}
});
}
}
};
</
script
>
\ No newline at end of file
src/views/gift-manage/pickup-form.vue
View file @
9ac4eb73
...
...
@@ -5,9 +5,34 @@
<el-form-item
label=
"自提点类型"
>
<el-radio
v-model=
"ruleForm.type"
:label=
"1"
>
从门店中选择
</el-radio>
</el-form-item>
<el-form-item
label=
"门店选择器"
>
??
<el-form-item
v-if=
"isAdd"
prop=
"storeWidgetId"
label=
"门店选择器"
>
<dm-store-select
:selector-id=
"ruleForm.storeWidgetId"
@
save=
"saveStore"
></dm-store-select>
</el-form-item>
<template
v-else
>
<el-form-item
label=
"自提点名称"
required
>
<el-input
v-model=
"info.name"
class=
"w600"
type=
"text"
disabled
>
</el-input>
</el-form-item>
<el-form-item
label=
"联系电话"
required
>
<el-input
v-model=
"info.phone"
class=
"w600"
type=
"text"
disabled
>
</el-input>
</el-form-item>
<el-form-item
label=
"自提点地址"
required
>
<el-input
v-model=
"info.address"
class=
"w600"
type=
"text"
disabled
>
</el-input>
</el-form-item>
<el-form-item
label=
"自提点图片"
required
>
<img
style=
"width: 150px; height: 150px"
:src=
"info.imageUrl"
draggable=
"false"
/>
</el-form-item>
<el-form-item
label=
"营业时间"
>
<div
v-for=
"(item, index) in info.businessHour"
:key=
"index"
class=
"time-list"
>
<el-select
v-model=
"item.weekdayShow"
multiple
placeholder=
"请选择"
disabled
class=
"mr10"
>
<el-option
:label=
"item"
:value=
"item"
:key=
"item"
v-for=
"item in ['周一', '周二', '周三','周四','周五','周六','周日']"
></el-option>
</el-select>
<el-time-select
placeholder=
"起始时间"
v-model=
"item.openTime"
disabled
style=
"width:170px"
class=
"mr10"
></el-time-select>
<span
style=
"font-size:14px;margin-right:10px;"
>
至
</span>
<el-time-select
placeholder=
"起始时间"
v-model=
"item.closeTime"
disabled
style=
"width:170px"
></el-time-select>
</div>
</el-form-item>
</
template
>
<h3
class=
"pt20 pb20"
>
自提点信息
</h3>
<form-content
:rule-form
.
sync=
"ruleForm"
></form-content>
<el-form-item
class=
"mt20"
>
...
...
@@ -18,8 +43,10 @@
</template>
<
script
>
import
fetch
from
'@/api/gift.js'
;
const
{
insertPickupStore
,
getPickupDetails
}
=
fetch
;
const
{
insertPickupStore
,
getPickupDetails
,
updatePickupStore
}
=
fetch
;
import
formContent
from
'./module/pickup-form-content'
;
import
{
getSeconds
}
from
'@/utils/common'
;
import
{
isEmpty
}
from
'@/utils/index'
;
export
default
{
name
:
'PickupForm'
,
...
...
@@ -27,9 +54,43 @@ export default {
formContent
},
data
()
{
const
validDynamicType
=
(
rule
,
value
,
callback
)
=>
{
const
{
dynamicType
,
dynamicH
,
dynamicM
,
dynamicD
}
=
this
.
ruleForm
;
if
(
dynamicType
==
1
)
{
if
(
isEmpty
(
dynamicH
)
||
isEmpty
(
dynamicM
))
{
callback
(
new
Error
(
'填写不完整'
));
return
;
}
}
else
{
if
(
isEmpty
(
dynamicD
))
{
callback
(
new
Error
(
'填写不完整'
));
return
;
}
}
callback
();
};
const
validTime
=
(
rule
,
value
,
callback
)
=>
{
const
{
fixedTime
}
=
this
.
ruleForm
;
if
(
fixedTime
.
length
==
0
)
{
callback
(
new
Error
(
'请配置固定日期范围'
));
return
;
}
let
flag
=
false
;
fixedTime
.
forEach
(
v
=>
{
if
(
!
(
v
.
dataRange
&&
v
.
dataRange
.
length
&&
v
.
dataRangep
[
0
]
&&
v
.
dataRange
[
1
]))
{
flag
=
true
;
}
});
if
(
flag
)
{
callback
(
new
Error
(
'请配置固定日期范围'
));
return
;
}
callback
();
};
return
{
loading
:
false
,
integralMallPickUpPointId
:
''
,
// 主键
pickupId
:
this
.
$route
.
query
.
id
,
// 主键
ruleForm
:
{
type
:
1
,
chooseTimeFlag
:
1
,
...
...
@@ -45,24 +106,90 @@ export default {
storeWidgetId
:
''
,
// 门店id
timeoutDealType
:
1
,
// 超期处理方式:1自动完成核销 2自动关闭发货单
},
rules
:
{},
rules
:
{
storeWidgetId
:
{
required
:
true
,
message
:
'请选择门店'
,
trigger
:
'change'
},
dynamicType
:
{
required
:
true
,
validator
:
validDynamicType
,
trigger
:
'blur'
},
dynamicStop
:
{
required
:
true
,
message
:
'请填写提货有效期'
,
trigger
:
'change'
},
fixedTime
:
{
required
:
true
,
validator
:
validTime
,
trigger
:
'change'
},
},
info
:
{
businessHour
:
[]
},
isAdd
:
this
.
$route
.
meta
.
type
===
'add'
,
isEdit
:
this
.
$route
.
meta
.
type
===
'edit'
,
};
},
mounted
()
{
if
(
!
this
.
isAdd
)
{
this
.
getInfo
();
}
},
created
()
{
this
.
$emit
(
'updateBread'
,
[
{
breadName
:
'福利中心'
},
{
breadName
:
'通用设置'
,
breadPath
:
'/card-package/list'
},
{
breadName
:
'自提点设置'
,
breadPath
:
'/setting/pickup-list'
},
{
breadName
:
this
.
isAdd
?
'新建自提点'
:
'编辑自提点'
,
breadPath
:
''
}
]);
this
.
integralMallPickUpPointId
=
this
.
$route
.
query
.
integralMallPickUpPointId
;
},
methods
:
{
getInfo
()
{
this
.
loading
=
true
;
getPickupDetails
(
).
then
(()
=>
{
getPickupDetails
(
{
pickupId
:
this
.
pickupId
}).
then
(
res
=>
{
this
.
loading
=
false
;
const
info
=
res
.
result
||
{};
let
businessHour
=
info
.
businessHour
?
JSON
.
parse
(
info
.
businessHour
)
:
[];
for
(
let
item
of
businessHour
)
{
item
.
weekdayShow
=
item
.
weekdayShow
.
split
(
'、'
);
item
.
openTime
=
getSeconds
(
item
.
openTime
);
item
.
closeTime
=
getSeconds
(
item
.
closeTime
);
}
info
.
businessHour
=
businessHour
;
this
.
info
=
info
;
// 表单的
Object
.
keys
(
this
.
ruleForm
).
map
(
key
=>
{
if
(
key
in
res
.
result
)
{
this
.
ruleForm
[
key
]
=
info
[
key
];
}
});
if
(
info
.
chooseTimeFlag
)
{
const
pickupDateInfo
=
JSON
.
parse
(
info
.
pickupDateInfo
);
// 其他的
if
(
info
.
dateType
==
1
)
{
// 动态日期
this
.
dynamicType
=
pickupDateInfo
.
setType
;
this
.
dynamicStop
=
pickupDateInfo
.
validite
;
if
(
pickupDateInfo
.
setType
==
1
)
{
this
.
dynamicH
=
parseInt
(
pickupDateInfo
.
time
/
60
);
this
.
dynamicM
=
pickupDateInfo
.
time
%
60
;
}
else
{
this
.
dynamicD
=
pickupDateInfo
.
time
/
60
/
24
;
}
}
else
{
// 固定日期
this
.
ruleForm
.
fixedTime
=
pickupDateInfo
.
map
(
v
=>
{
return
{
dataRange
:
[
v
.
startTime
,
v
.
endTime
]
};
});
}
}
}).
catch
(()
=>
{
this
.
loading
=
false
;
});
},
saveStore
(
storeWidgetId
)
{
this
.
ruleForm
.
storeWidgetId
=
storeWidgetId
;
this
.
$refs
.
ruleForm
.
validateField
(
'storeWidgetId'
);
},
async
submit
(
params
)
{
this
.
loading
=
true
;
try
{
if
(
this
.
isAdd
)
{
await
insertPickupStore
(
params
);
}
else
{
await
updatePickupStore
(
params
);
}
this
.
loading
=
false
;
this
.
$router
.
push
(
'/setting/pickup-list'
);
this
.
$tips
({
message
:
`
${
this
.
isAdd
?
'新建'
:
'编辑'
}
成功`
,
type
:
'success'
});
}
catch
(
error
)
{
this
.
loading
=
false
;
}
},
handleSubmit
()
{
if
(
this
.
loading
)
{
return
;
...
...
@@ -77,34 +204,35 @@ export default {
let
params
=
{
chooseTimeFlag
,
dateType
,
storeWidgetId
,
timeoutDealType
};
// pickupDateInfo: 动态日期 {"setType":1,"time":45,"validite":2};固定日期 json数组[{"endTime":1587168000000,"startTime":1587168000000}]
if
(
params
.
dateType
==
1
)
{
// 动态日期
params
.
pickupDateInfo
=
{
setType
:
dynamicType
,
time
:
dynamicType
==
1
?
dynamicH
*
60
+
dynamicM
:
dynamicD
*
24
*
60
,
// 转换为分钟
validite
:
dynamicStop
};
}
else
{
// 固定日期
params
.
pickupDateInfo
=
fixedTime
.
map
(
v
=>
{
return
{
startTime
:
new
Date
(
v
[
0
]).
getTime
(),
endTime
:
new
Date
(
v
[
0
]).
getTime
()
};
});
if
(
chooseTimeFlag
)
{
// pickupDateInfo: 动态日期 {"setType":1,"time":45,"validite":2};固定日期 json数组[{"endTime":1587168000000,"startTime":1587168000000}]
if
(
params
.
dateType
==
1
)
{
// 动态日期
params
.
pickupDateInfo
=
{
setType
:
dynamicType
,
time
:
dynamicType
==
1
?
dynamicH
*
60
+
dynamicM
:
dynamicD
*
24
*
60
,
// 转换为分钟
validite
:
dynamicStop
};
}
else
{
// 固定日期
params
.
pickupDateInfo
=
fixedTime
.
map
(
v
=>
{
return
{
startTime
:
new
Date
(
v
.
dataRange
[
0
]).
getTime
(),
endTime
:
new
Date
(
v
.
dataRange
[
0
]).
getTime
()
};
});
}
params
.
pickupDateInfo
=
JSON
.
stringify
(
params
.
pickupDateInfo
);
}
if
(
this
.
isEdit
)
{
params
.
i
ntegralMallPickUpPointId
=
this
.
integralMallPickUpPoint
Id
;
params
.
i
ds
=
this
.
pickup
Id
;
}
this
.
loading
=
true
;
insertPickupStore
(
params
).
then
(
res
=>
{
this
.
loading
=
false
;
this
.
$router
.
push
(
'/setting/pickup-list'
);
this
.
$tips
({
message
:
`
${
this
.
isAdd
?
'新建'
:
'编辑'
}
成功`
,
type
:
'success'
});
}).
catch
(()
=>
{
this
.
loading
=
false
;
});
this
.
submit
(
params
);
}
});
}
},
};
</
script
>
\ No newline at end of file
</
script
>
<
style
scoped
>
.w600
{
width
:
600px
;
}
</
style
>
\ No newline at end of file
src/views/gift-manage/pickup-list.vue
View file @
9ac4eb73
...
...
@@ -6,7 +6,7 @@
<el-option
:disabled=
"!selectList.length"
:value=
"0"
>
批量设置
</el-option>
<el-option
:disabled=
"!selectList.length"
:value=
"1"
>
批量删除
</el-option>
</el-select>
<el-button
type=
"default"
>
导出自提点
</el-button>
<el-button
type=
"default"
@
click=
"exportExcel"
>
导出自提点
</el-button>
<el-button
type=
"primary"
@
click=
"$router.push('/setting/pickup-add')"
>
新建自提点
</el-button>
</div>
<el-table
tooltip-effect=
"dark"
:data=
"tableList"
style=
"width:100%"
@
selection-change=
"(list) =>
{ selectList = list; }">
...
...
@@ -16,13 +16,12 @@
<el-table-column
label=
"联系电话"
prop=
"phone"
min-width=
"140px;"
>
</el-table-column>
<el-table-column
label=
"自提时间可选"
min-width=
"120px;"
>
<template
slot-scope=
"scope"
>
<p
v-if=
"scope.row.openChooseTime === 0"
class=
"address-type"
>
不可选
</p>
<p
v-if=
"scope.row.openChooseTime === 1"
class=
"address-type"
>
可选
</p>
{{
scope
.
row
.
chooseTimeFlag
?
'可选'
:
'不可选'
}}
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
>
<
template
slot-scope=
"scope"
>
<el-button
type=
"text"
@
click=
"$router.push(`setting/pickup-edit?id=$
{scope.row.pickupId}`)">编辑
</el-button>
<el-button
type=
"text"
@
click=
"$router.push(`
/
setting/pickup-edit?id=$
{scope.row.pickupId}`)">编辑
</el-button>
<dm-delete
@
confirm=
"del(scope.row.pickupId)"
tips=
"确认删除?"
>
<el-button
type=
"text"
>
删除
</el-button>
</dm-delete>
...
...
@@ -32,15 +31,18 @@
<div
class=
"clearfix"
>
<dm-pagination
class=
"fr mb0"
v-if=
"tableList.length"
background
@
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>
</div>
<pickup-update-dialog
:dialog-visible
.
sync=
"dialogVisible"
:ids=
"selectList.map(v => v.ids)"
@
mutiUpdate=
"mutiUpdate"
></pickup-update-dialog>
</div>
</template>
<
script
>
import
{
page
}
from
'@/mixins/table.js'
;
import
fetch
from
'@/api/gift.js'
;
import
fetch
,
{
exportPickupStoreExcel
}
from
'@/api/gift.js'
;
import
pickupUpdateDialog
from
'./module/pickup-update-dialog'
;
const
{
pickupList
,
delPickup
}
=
fetch
;
export
default
{
name
:
'PickupList'
,
components
:
{
pickupUpdateDialog
},
mixins
:
[
page
],
data
()
{
return
{
...
...
@@ -58,6 +60,7 @@ export default {
list
:
[
{
timeRange
:
[]
}
]
// 初始数据
},
selectList
:
[],
dialogVisible
:
false
,
};
},
created
()
{
...
...
@@ -67,9 +70,18 @@ export default {
this
.
getTableList
();
},
methods
:
{
exportExcel
()
{
console
.
log
(
exportPickupStoreExcel
+
`?dataUrl=/welfare/setting/pickup-list&name=
${
this
.
listParams
.
name
}
`
);
// window.location = exportPickupStoreExcel + `?dataUrl=/welfare/setting/pickup-list&areaId=${this.currentAreaId}&name=${this.listParams.name}`;
},
mutiUpdate
()
{
this
.
selectList
=
[];
this
.
getTableList
();
},
mutiOption
(
val
)
{
if
(
val
==
0
)
{
// 批量设置
this
.
dialogVisible
=
true
;
}
if
(
val
==
1
)
{
// 批量删除
...
...
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