Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
为 GitLab 提交贡献
登录
切换导航
S
shop-new
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
王天霸
shop-new
Commits
f8d0c118
提交
f8d0c118
authored
3月 14, 2023
作者:
王天霸
浏览文件
操作
浏览文件
下载
差异文件
Merge branch '1.1.18'
上级
3351549b
e0550e5a
隐藏空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
329 行增加
和
22 行删除
+329
-22
goodsgement.js
src/api/module/goodsgement.js
+25
-0
importdetail.vue
src/views/system/goodsimport/components/importdetail.vue
+179
-0
index.vue
src/views/system/goodsimport/index.vue
+33
-4
orderDetail.vue
src/views/system/order/components/orderDetail.vue
+34
-4
index.vue
src/views/system/order/index.vue
+57
-13
edit.vue
src/views/system/retreat/edit.vue
+1
-1
没有找到文件。
src/api/module/goodsgement.js
浏览文件 @
f8d0c118
...
...
@@ -88,3 +88,28 @@ export function exportExcel(data) {
data
:
data
})
}
// 购买商品导入条数列表
export
function
collectList
(
data
)
{
return
request
({
url
:
'/system/goodsNew/collectList'
,
method
:
'post'
,
data
:
data
})
}
// 购买商品导入条数
export
function
paycollectList
(
data
)
{
return
request
({
url
:
'/system/goodsNew/addCollect'
,
method
:
'post'
,
data
:
data
})
}
//充值验证
export
function
aliPayGet
(
data
)
{
return
request
({
url
:
'system/goodsNew/getAddCollectStatus'
,
method
:
'post'
,
data
:
data
})
}
\ No newline at end of file
src/views/system/goodsimport/components/importdetail.vue
0 → 100644
浏览文件 @
f8d0c118
<
template
>
<div
class=
"customerDetail"
>
<el-card
class=
"box-card"
>
<div
class=
"title"
>
<el-button
size=
"mini"
@
click=
"closeDrawer"
>
返回列表
</el-button>
</div>
<dl
class=
"dl_div"
>
<dt
class=
"dt_div"
>
<p
class=
"tip_p"
>
1.如您的搬家次数不足,购买完成后1-2分钟内即可恢复服务;
</p>
<p
class=
"tip_p"
>
2.由于购买为虚拟业务,并涉及接口限制权限等多种因素,
<span
style=
"color:red;"
>
购买之后不支持退款,购买请谨慎。
</span></p>
<p
class=
"tip_p"
>
3.可自由选择账户余额(货款)支付或其他方式支付。
</p>
</dt>
<dd
class=
"dd_div"
>
</dd>
</dl>
<el-form
ref=
"rechargeForm"
:model=
"rechargeForm"
class=
"recharge-form"
size=
"small"
label-width=
"120px"
>
<el-form-item
label=
"购买项目:"
prop=
"aliPayAmount"
>
<el-radio-group
v-model=
"radio3"
size=
"small"
@
input=
"inputclick"
>
<el-radio
v-for=
"(item,index) in datalist"
:key=
"index"
:label=
"item.id"
border
>
{{
item
.
quantity
}}
条
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
label=
"充值金额:"
prop=
"aliPayAmount"
>
{{
alipayMoney
}}
元
</p>
</el-form-item>
<el-form-item
label=
"充值渠道:"
>
<el-radio-group
v-model=
"radioWay"
size=
"medium"
>
<el-radio
:label=
"1"
>
支付宝
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
label=
""
>
<el-button
@
click=
"rechargeMoneyAliPay"
type=
"primary"
size=
"mini"
>
购买
</el-button>
</el-form-item>
</el-form>
</el-card>
</div>
</
template
>
<
script
>
import
{
collectList
,
paycollectList
,
aliPayGet
}
from
"@/api/module/goodsgement"
;
import
{
parseTime
}
from
'@/utils'
export
default
{
// props: {
// rowId: {
// type: Number
// }
// },
data
()
{
return
{
radioWay
:
1
,
rechargeForm
:
{},
datalist
:[],
radio3
:
''
,
alipayMoney
:
0
}
},
mounted
()
{
this
.
getlist
()
},
methods
:
{
/** 支付宝充值 */
rechargeMoneyAliPay
()
{
let
data
=
{
id
:
Number
(
this
.
radio3
)
// pay_type: 1
};
paycollectList
(
data
).
then
(
res
=>
{
let
orderSign
=
{
out_trade_no
:
0
};
if
(
res
.
data
.
url
&&
res
.
data
.
code
)
{
orderSign
.
out_trade_no
=
res
.
data
.
code
window
.
open
(
res
.
data
.
url
,
'_blank'
)
this
.
$confirm
(
'请在支付宝充值页面进行充值。充值完成后,请回到此页面,根据您的情况,点击下方的按钮'
,
'充值'
,{
confirmButtonText
:
'充值成功'
,
cancelButtonText
:
'充值失败'
,
type
:
'warning'
}).
then
(
async
()
=>
{
let
payResult
=
await
aliPayGet
({
order_sn
:
res
.
data
.
order_sn
});
if
(
payResult
.
code
===
1
)
{
this
.
$message
({
type
:
'success'
,
message
:
'充值成功!'
});
this
.
closeDrawer
()
// 如果充值成功,则需要初始化数据
}
else
{
this
.
$message
({
type
:
'error'
,
message
:
payResult
.
message
});
}
}).
catch
((
err
)
=>
{});
}
// if end
})
},
inputclick
(){
console
.
log
(
this
.
radio3
)
this
.
datalist
.
forEach
(
element
=>
{
if
(
element
.
id
==
this
.
radio3
){
this
.
alipayMoney
=
element
.
price
/
100
}
});
},
closeDrawer
()
{
this
.
$emit
(
'handleClose'
)
},
returnList
()
{
},
getlist
(){
collectList
().
then
(
res
=>
{
if
(
res
.
code
==
1
){
this
.
datalist
=
res
.
data
.
list
this
.
radio3
=
res
.
data
.
list
[
0
].
id
this
.
alipayMoney
=
res
.
data
.
list
[
0
].
price
/
100
}
})
}
}
}
</
script
>
<
style
scoped
>
.customerDetail
{
height
:
100%
;
overflow
:
auto
;
}
.customerDetail
.title
{
display
:
flex
;
justify-content
:
space-between
;
align-items
:
center
;
}
.box-card
{
margin
:
20px
;
}
.header
{
width
:
70%
;
margin-top
:
20px
;
}
.dl_div
{
height
:
100px
;
width
:
100%
;
}
.dt_div
{
margin
:
0
;
width
:
80%
;
height
:
100px
;
background
:
rgba
(
239
,
246
,
255
,
0.996078431372549
);
float
:
left
;
}
.dd_div
{
margin
:
0
;
width
:
20%
;
float
:
left
;
}
.tip_p
{
margin
:
8px
0
0
4px
;
font-size
:
12px
;
color
:
#1890FF
;
}
.dialog-footer
{
text-align
:
right
;
}
.el-radio
{
margin-bottom
:
10px
;
margin-right
:
10px
;
}
</
style
>
\ No newline at end of file
src/views/system/goodsimport/index.vue
浏览文件 @
f8d0c118
...
...
@@ -2,7 +2,7 @@
<div
class=
"app-container"
>
<el-card
class=
"box-card"
>
<div
slot=
"header"
class=
"clearfix"
>
导入商品
</div>
<h3
class=
"cton_h3"
>
剩余次数:
{{
collect_num
}}
/ 1000次
</h3>
<h3
class=
"cton_h3"
>
剩余次数:
{{
collect_num
}}
<el-button
type=
"primary"
@
click=
"dialogDetail = true"
size=
"mini"
style=
"float:right;"
>
购买次数
</el-button>
</h3>
<div
class=
"cton_text"
>
<p>
功能介绍:
</p>
<p>
...
...
@@ -50,6 +50,21 @@
<el-button
type=
"primary"
@
click=
"onSubmit"
>
立即导入
</el-button>
</el-form-item>
</el-form>
<el-drawer
title=
"客户详情"
ref=
"detailDrawer"
:visible
.
sync=
"dialogDetail"
:direction=
"direction"
:withHeader=
"false"
:modal=
"false"
:modal-append-to-body=
"false"
:destroy-on-close=
"true"
style=
"position:absolute; height:100%; overflow: auto;"
size=
"100%"
>
<import-detail
@
handleClose=
"handleClose"
></import-detail>
</el-drawer>
</el-card>
</div>
</
template
>
...
...
@@ -59,6 +74,7 @@ import {getShopInf} from "@/api/module/entry"
import
{
goodsjdAddress
,
goodsimport
}
from
"@/api/module/goodsgement"
;
import
{
NewGetCategoryData
}
from
'@/api/module/goods'
;
import
{
dateFormat
}
from
"@/utils"
;
import
ImportDetail
from
'./components/importdetail.vue'
export
default
{
name
:
"freight"
,
...
...
@@ -71,6 +87,8 @@ export default {
el_valuestatus
:
true
,
el_value
:
[],
//地址
options
:
[],
dialogDetail
:
false
,
direction
:
'rtl'
,
props
:
{
expandTrigger
:
'click'
,
lazy
:
true
,
...
...
@@ -79,15 +97,21 @@ export default {
label
:
'title'
,
leaf
:
'leaf'
},
};
},
components
:
{},
components
:
{
ImportDetail
},
created
()
{
this
.
info
()
},
watch
:
{},
methods
:
{
handleClose
(){
this
.
dialogDetail
=
false
this
.
info
()
},
info
()
{
getShopInf
().
then
(
res
=>
{
if
(
res
.
code
==
1
)
{
...
...
@@ -203,7 +227,7 @@ export default {
}
},
getArea
(
node
,
resolve
)
{
debugger
const
level
=
node
.
level
;
let
limboNode
=
{};
if
(
level
===
0
)
{
...
...
@@ -281,4 +305,9 @@ export default {
height
:
calc
(
100%
-
40px
);
overflow-y
:
auto
;
}
/
deep
/
.el-drawer
{
height
:
100%
;
overflow
:
auto
;
}
</
style
>
src/views/system/order/components/orderDetail.vue
浏览文件 @
f8d0c118
...
...
@@ -29,7 +29,7 @@
</div>
<el-table
:data=
"orderGoodsDetail"
style=
"border: 1px solid #eee;"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
></el-table-column>
<el-table-column
label=
"订单号"
prop=
"goods_order_sn"
align=
"center"
></el-table-column>
<el-table-column
label=
"
商品
订单号"
prop=
"goods_order_sn"
align=
"center"
></el-table-column>
<el-table-column
label=
"商品名称"
prop=
"title"
align=
"center"
></el-table-column>
<el-table-column
label=
"下单时间"
prop=
"created_time"
align=
"center"
>
<template
slot-scope=
"scope"
>
...
...
@@ -48,6 +48,15 @@
{{
goodsStatusFormatter
(
scope
.
row
.
goods_status
)
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"dispatch_price"
width=
"120"
label=
"发货类型"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<div
v-if=
"scope.row.send_time==0"
>
-
</div>
<div
v-else
>
<span
v-if=
"scope.row.type==1"
>
快递
</span>
<span
v-if=
"scope.row.type==2"
>
自行配送
</span>
</div>
</
template
>
</el-table-column>
<el-table-column
label=
"快递公司"
prop=
"express_company_name"
align=
"center"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
express_company_name
?
scope
.
row
.
express_company_name
:
'—'
}}
...
...
@@ -211,6 +220,12 @@
>
<div
style=
"margin: 0 10%"
>
<el-form
ref=
"form"
label-width=
"100px"
>
<el-form-item
label=
"发货类型:"
>
<el-radio-group
v-model=
"radioshop"
@
change=
"radioshopclick()"
>
<el-radio
:label=
"1"
>
快递发货
</el-radio>
<el-radio
:label=
"2"
>
自行配送
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
label=
"快递公司:"
>
<el-select
size=
"mini"
v-model=
"expressNum"
filterable
placeholder=
"请选择快递公司"
style=
"width: 100%;"
>
<el-option
...
...
@@ -278,7 +293,7 @@
</template>
<
script
>
import
{
orderInfo
,
sendOrder
,
expressInfoNew
,
remarkOrder
,
orderInfoEdit
,
deliveryOrder
,
deliveryOrderAgain
,
toReissueOrderData
}
from
'@/api/module/order'
import
{
orderInfo
,
sendOrder
,
expressInfoNew
,
remarkOrder
,
orderInfoEdit
,
deliveryOrder
,
deliveryOrderAgain
,
toReissueOrderData
,
expressList
}
from
'@/api/module/order'
import
{
dateFormat
}
from
'@/utils'
import
{
getAreaList
}
from
'@/api/module/retreat/address'
export
default
{
...
...
@@ -297,6 +312,7 @@ export default {
},
data
()
{
return
{
radioshop
:
1
,
expressNum
:
''
,
express_sn
:
''
,
remark
:
''
,
...
...
@@ -334,6 +350,18 @@ export default {
created
()
{},
mounted
()
{},
methods
:
{
radioshopclick
(){
this
.
express_sn
=
''
this
.
expressNum
=
''
let
data
=
{
type
:
this
.
radioshop
}
expressList
(
data
).
then
(
res
=>
{
if
(
res
.
code
==
1
)
{
this
.
expressLists
=
res
.
data
.
expressLists
}
})
},
/** 订单最终状态 */
isShowOrderStatusInfo
(
status
,
settlementStatus
)
{
let
isShow
=
(
status
==
3
&&
settlementStatus
==
1
)
?
true
:
false
;
...
...
@@ -497,6 +525,7 @@ export default {
// 批量 去发货
if
(
this
.
goShippingNum
===
1
)
{
let
paramsObj
=
{
type
:
this
.
radioshop
,
goods_order_sn
:
this
.
goods_ids
,
express_company_name
:
expressName
,
// 快递公司 名称
express_sn
:
this
.
express_sn
,
// 快递单号
...
...
@@ -517,7 +546,7 @@ export default {
// 批量 补单发货
if
(
this
.
goShippingNum
===
2
)
{
// debugger
let
listObj
=
{
list
:
[]
}
let
listObj
=
{
list
:
[]
,
type
:
this
.
radioshop
}
this
.
goods_ids
.
forEach
((
item
,
index
)
=>
{
item
[
'express_name'
]
=
expressName
;
item
[
'express_sn'
]
=
this
.
express_sn
;
...
...
@@ -541,6 +570,7 @@ export default {
// 单商品订单 发货
if
(
this
.
goShippingNum
===
3
)
{
let
paramsObj
=
{
type
:
this
.
radioshop
,
goods_order_sn
:
[],
//this.goods_ids,
express_company_name
:
expressName
,
// 快递公司 名称
express_sn
:
this
.
express_sn
,
// 快递单号
...
...
@@ -562,7 +592,7 @@ export default {
// 单个商品订单 补单发货
if
(
this
.
goShippingNum
===
4
)
{
let
singleOrderObj
=
{
list
:
[]};
let
singleOrderObj
=
{
list
:
[]
,
type
:
this
.
radioshop
,
};
let
orderObj
=
{
id
:
0
,
express_name
:
''
,
...
...
src/views/system/order/index.vue
浏览文件 @
f8d0c118
...
...
@@ -48,7 +48,7 @@
<div
class=
"overMain"
>
<div
class=
"form-box"
>
<el-form
class=
"form-params"
ref=
"form"
:model=
"form"
label-width=
"120px"
:inline=
"true"
size=
"small"
>
<el-form-item
label=
"
总
订单号:"
>
<el-form-item
label=
"
云仓
订单号:"
>
<el-input
style=
"width:220px;"
v-model=
"form.order_sn"
placeholder=
"请输入总订单号"
/>
</el-form-item>
...
...
@@ -126,6 +126,7 @@
<el-table-column
label=
"商品名称"
align=
"center"
></el-table-column>
<el-table-column
label=
"规格/数量/金额"
align=
"center"
></el-table-column>
<el-table-column
label=
"下单/发货/完成时间"
align=
"center"
width=
"180"
></el-table-column>
<el-table-column
label=
"发货类型"
align=
"center"
width=
"120"
></el-table-column>
<el-table-column
label=
"运费"
align=
"center"
width=
"100"
></el-table-column>
<el-table-column
label=
"收货人"
align=
"center"
width=
"200"
></el-table-column>
<!-- <el-table-column label="联系电话" align="center" width="120"></el-table-column> -->
...
...
@@ -142,7 +143,7 @@
<div
style=
"float:left;"
>
<span>
订单状态:
</span>
<span>
{{ orderStatusFormatter(item.order.status) }}
</span>
<span
style=
"margin: 0 0 0 30px;"
>
总
订单号:
</span>
<span
style=
"margin: 0 0 0 30px;"
>
云仓
订单号:
</span>
<span>
{{ item.order.order_sn }}
</span>
</div>
<div
style=
"float:right;"
>
...
...
@@ -177,6 +178,15 @@
<span
:class=
"
{ 'red-text' : updatedTimeFormatter(scope.row.updated_time) == '未完成' }">
{{
updatedTimeFormatter
(
scope
.
row
.
updated_time
,
scope
.
row
.
goods_status
)
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"dispatch_price"
width=
"120"
label=
"发货类型"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<div
v-if=
"scope.row.send_time==0"
>
-
</div>
<div
v-else
>
<span
v-if=
"scope.row.type==1"
>
快递
</span>
<span
v-if=
"scope.row.type==2"
>
自行配送
</span>
</div>
</
template
>
</el-table-column>
<el-table-column
prop=
"dispatch_price"
width=
"100"
label=
"运费"
align=
"center"
>
<
template
slot-scope=
"scope"
>
...
...
@@ -304,12 +314,21 @@
:close-on-click-modal=
"false"
:append-to-body=
"true"
>
<div
style=
"margin: 0 10%"
>
<el-form
ref=
"form"
label-width=
"100px"
>
<el-form-item
label=
"发货类型:"
>
<el-radio-group
v-model=
"radioshop"
@
change=
"radioshopclick()"
>
<el-radio
:label=
"1"
>
快递发货
</el-radio>
<el-radio
:label=
"2"
>
自行配送
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
label=
"快递公司:"
>
<el-select
size=
"mini"
v-model=
"expressNum"
filterable
placeholder=
"请选择快递公司"
style=
"width: 100%;"
>
<el-option
v-for=
"item in expressLists"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</el-form-item>
<!-- <el-form-item label="快递公司:" v-if="radioshop == 2">
<el-input size="mini" v-model="expressNum1" placeholder="请输入快递公司"></el-input>
</el-form-item> -->
<el-form-item
label=
"快递单号:"
>
<el-input
size=
"mini"
v-model=
"express_sn"
placeholder=
"请输入快递单号"
></el-input>
</el-form-item>
...
...
@@ -359,7 +378,9 @@
data
()
{
return
{
goShippingDialog
:
false
,
radioshop
:
1
,
expressNum
:
''
,
expressNum1
:
''
,
express_sn
:
''
,
goods_ids
:
''
,
// channel_id
...
...
@@ -426,6 +447,7 @@
// })
},
mounted
()
{
/** 获取 seller_id*/
this
.
sellerId
=
this
.
$store
.
state
.
user
.
sellerid
;
/** 获取渠道id */
...
...
@@ -436,19 +458,28 @@
this
.
getExpressList
()
},
methods
:
{
radioshopclick
(){
this
.
express_sn
=
''
this
.
expressNum
=
''
let
data
=
{
type
:
this
.
radioshop
}
expressList
(
data
).
then
(
res
=>
{
if
(
res
.
code
==
1
)
{
this
.
expressLists
=
res
.
data
.
expressLists
}
})
},
goShipping
(
id
,
goods_order_sn
)
{
this
.
goods_ids
=
goods_order_sn
;
this
.
titleInfo
=
'去发货'
this
.
expressNum
=
''
this
.
expressNum1
=
''
this
.
express_sn
=
''
this
.
goShippingDialog
=
true
},
handleGoShipping
()
{
if
(
!
this
.
expressNum
)
{
this
.
$message
({
type
:
'warning'
,
message
:
'请选择快递公司'
})
return
}
if
(
!
this
.
express_sn
)
{
this
.
$message
({
type
:
'warning'
,
...
...
@@ -459,14 +490,24 @@
// 物流公司,名称
let
expressName
=
''
this
.
expressLists
.
map
((
item
)
=>
{
if
(
!
this
.
expressNum
)
{
this
.
$message
({
type
:
'warning'
,
message
:
'请选择快递公司'
})
return
}
this
.
expressLists
.
map
((
item
)
=>
{
if
(
item
.
value
==
this
.
expressNum
)
{
expressName
=
item
.
label
}
})
let
paramsObj
=
{
type
:
this
.
radioshop
,
goods_order_sn
:
[],
//this.goods_ids,
express_company_name
:
expressName
,
// 快递公司 名称
express_sn
:
this
.
express_sn
,
// 快递单号
...
...
@@ -514,7 +555,7 @@
},
/** 表格合并 列单元格 */
arraySpanMethod
({
row
,
column
,
rowIndex
,
columnIndex
})
{
if
(
columnIndex
>
2
&&
columnIndex
!=
7
&&
columnIndex
!=
8
)
{
// 用于设置要合并开始的列号
if
(
columnIndex
>
3
&&
columnIndex
!=
8
&&
columnIndex
!=
9
)
{
// 用于设置要合并开始的列号
if
(
rowIndex
===
0
)
{
// 用于设置合并开始的行号
return
{
rowspan
:
100
,
// 合并的行数
...
...
@@ -1076,7 +1117,10 @@
},
// 获取物流信息
getExpressList
()
{
expressList
().
then
(
res
=>
{
let
data
=
{
type
:
this
.
radioshop
}
expressList
(
data
).
then
(
res
=>
{
if
(
res
.
code
==
1
)
{
this
.
expressLists
=
res
.
data
.
expressLists
}
...
...
@@ -1263,4 +1307,4 @@
margin
:
0
0
15px
;
text-align
:
center
;
}
</
style
>
\ No newline at end of file
</
style
>
src/views/system/retreat/edit.vue
浏览文件 @
f8d0c118
...
...
@@ -85,7 +85,7 @@
<el-col
:span=
"6"
class=
"text-l"
>
{{
goodsOrderDetail
.
title
}}
</el-col>
</el-row>
<el-row
class=
"row-title"
>
<el-col
:span=
"3"
class=
"text-r"
>
订单编
号
</el-col>
<el-col
:span=
"3"
class=
"text-r"
>
商品订单
号
</el-col>
<el-col
:span=
"6"
class=
"text-l"
>
{{
goodsOrderDetail
.
goods_order_sn
}}
</el-col>
<el-col
:span=
"3"
class=
"text-r"
>
商品规格
</el-col>
<el-col
:span=
"6"
class=
"text-l"
>
{{
goodsOrderDetail
.
goods_option_title
}}
</el-col>
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论