Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
J
jiedao-app-operator-master
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
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
lanbaoming
jiedao-app-operator-master
Commits
6006e588
Commit
6006e588
authored
Sep 05, 2022
by
dragondean@qq.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新建订单批量导入装箱单,调货,bug
parent
5e699b90
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
270 additions
and
68 deletions
+270
-68
order.js
src/api/ecw/order.js
+18
-0
receipt.js
src/api/ecw/receipt.js
+9
-0
index.vue
src/components/AreaSelector/index.vue
+40
-7
cargoControl.vue
src/views/ecw/order/cargoControl.vue
+9
-8
cargoControlDetail.vue
src/views/ecw/order/cargoControlDetail.vue
+15
-2
TransferCargo.vue
src/views/ecw/order/components/TransferCargo.vue
+29
-12
detail.vue
src/views/ecw/order/detail.vue
+71
-8
edit.vue
src/views/ecw/order/edit.vue
+64
-27
index.vue
src/views/index.vue
+15
-4
No files found.
src/api/ecw/order.js
View file @
6006e588
...
...
@@ -366,4 +366,22 @@ export function getMergeLogByMergedOrderNo(params){
method
:
'
get
'
,
params
})
}
// 导入装箱单
export
function
orderImport
(
data
)
{
return
request
({
url
:
'
/ecw/order/import
'
,
method
:
'
post
'
,
data
})
}
// 下载装箱单模板
export
function
exportPackingList
(){
return
request
({
url
:
'
/ecw/order/export-packing-list
'
,
method
:
'
get
'
,
responseType
:
'
blob
'
})
}
\ No newline at end of file
src/api/ecw/receipt.js
View file @
6006e588
...
...
@@ -52,3 +52,12 @@ export function exportReceiptExcel(query) {
responseType
:
'
blob
'
})
}
// 根据订单ID获得应收款列表
export
function
getReceivableListByOrderId
(
params
){
return
request
({
url
:
'
/ecw/receivable/getReceivableListByOrderId
'
,
method
:
'
get
'
,
params
})
}
\ No newline at end of file
src/components/AreaSelector/index.vue
View file @
6006e588
...
...
@@ -15,41 +15,74 @@
import
{
getListTree
}
from
"
@/api/ecw/region
"
;
export
default
{
props
:{
country
:
Number
,
city
:
Number
,
province
:
Number
},
data
(){
return
{
formData
:{
country
:
undefined
,
province
:
undefined
,
city
:
undefined
},
treeList
:
[],
provinceList
:
[],
cityList
:[]
//
provinceList: [],
//
cityList:[]
}
},
watch
:{
city
(
val
){
this
.
$set
(
this
.
formData
,
'
city
'
,
val
)
},
province
(
val
){
this
.
$set
(
this
.
formData
,
'
province
'
,
val
)
},
country
(
val
){
this
.
$set
(
this
.
formData
,
'
country
'
,
val
)
},
'
formData.city
'
(
city
){
this
.
$emit
(
'
cityChange
'
,
city
)
},
'
formData.country
'
(
country
){
this
.
$emit
(
'
countryChange
'
,
country
)
this
.
treeList
.
forEach
(
item
=>
{
/*
this.treeList.forEach(item => {
if(item.id == country){
this.provinceList = item.children || []
}
})
})
*/
},
'
formData.province
'
(
province
){
this
.
$emit
(
'
provinceChange
'
,
province
)
this
.
provinceList
.
forEach
(
item
=>
{
/*
this.provinceList.forEach(item => {
if(item.id == province){
this.cityList = item.children || []
}
})
}) */
}
},
computed
:{
provinceList
(){
if
(
!
this
.
formData
.
country
)
return
[]
let
country
=
this
.
treeList
.
find
(
item
=>
item
.
id
==
this
.
formData
.
country
)
return
country
&&
country
.
children
||
[]
},
cityList
(){
if
(
!
this
.
provinceList
.
length
)
return
[]
let
province
=
this
.
provinceList
.
find
(
item
=>
item
.
id
==
this
.
formData
.
province
)
return
province
&&
province
.
children
||
[]
}
},
created
(){
getListTree
({
treeType
:
1
}).
then
(
response
=>
{
this
.
treeList
=
response
.
data
})
this
.
formData
=
{
country
:
this
.
country
,
province
:
this
.
province
,
city
:
this
.
city
}
}
}
</
script
>
\ No newline at end of file
src/views/ecw/order/cargoControl.vue
View file @
6006e588
...
...
@@ -133,10 +133,10 @@
<pagination
v-show=
"total > 0"
:total=
"total"
:page.sync=
"queryParams.page"
:limit.sync=
"queryParams.rows"
@
pagination=
"getList"
/>
<transfer
v-if=
"showTransferOrder"
v-bind=
"showTransferOrder"
@
close=
"showTransferOrder=null"
/>
<release
v-if=
"showReleaseOrderId"
:order-id=
"showReleaseOrderId"
@
close=
"showReleaseOrderId=null"
@
success=
"onReleaseSuccess"
/>
<transfer-cargo
v-if=
"showTransferCargoOrderId"
:order-id=
"showTransferCargoOrderId"
@
close=
"showTransferCargoOrderId=null
"
/>
<fallback
v-if=
"showFallbackOrder !== null"
:order=
"showFallbackOrder"
:index=
"null"
@
close=
"showFallbackOrder=null"
@
success=
"onFallbackSuccess"
/>
<transfer
v-if=
"showTransferOrder"
v-bind=
"showTransferOrder"
@
close=
"showTransferOrder=null"
/>
<release
v-if=
"showReleaseOrderId"
:order-id=
"showReleaseOrderId"
@
close=
"showReleaseOrderId=null"
@
success=
"onReleaseSuccess"
/>
<transfer-cargo
v-if=
"showTransferCargoOrderId"
:order-id=
"showTransferCargoOrderId"
@
close=
"showTransferCargoOrderId=null"
@
success=
"onReansferCargoSuccess
"
/>
<fallback
v-if=
"showFallbackOrder !== null"
:order=
"showFallbackOrder"
@
close=
"showFallbackOrder=null"
@
success=
"onFallbackSuccess"
:index=
"null"
/>
</div>
</template>
...
...
@@ -283,10 +283,6 @@ export default {
this
.
$message
.
success
(
'
操作成功
'
)
this
.
handleQuery
()
})
},
// 反复核
unReview
(
row
){
},
onReleaseSuccess
(){
this
.
showReleaseOrderId
=
null
...
...
@@ -294,6 +290,11 @@ export default {
},
onFallbackSuccess
(){
this
.
showFallbackOrder
=
null
this
.
handleQuery
()
},
onReansferCargoSuccess
(){
this
.
showTransferCargoOrderId
=
null
this
.
handleQuery
()
}
}
};
...
...
src/views/ecw/order/cargoControlDetail.vue
View file @
6006e588
...
...
@@ -65,7 +65,7 @@
<el-button
v-if=
"scope.row.status == 1"
type=
"danger"
size=
"mini"
@
click=
"cancel(scope.row.id)"
>
取消
</el-button>
<el-button
v-if=
"scope.row.status == 1"
type=
"success"
size=
"mini"
@
click=
"review(scope.row.id)"
>
放货复核
</el-button>
<el-button
v-if=
"scope.row.status == 3"
type=
"danger"
size=
"mini"
@
click=
"fallbackIndex=scope.$index"
>
反复核
</el-button>
<el-button
v-if=
"scope.row.status == 3"
type=
"success"
size=
"mini"
@
click=
"
$alert('// TODO')
"
>
调货
</el-button>
<el-button
v-if=
"scope.row.status == 3"
type=
"success"
size=
"mini"
@
click=
"
cargoControlPickId=scope.row.id
"
>
调货
</el-button>
<el-button
v-if=
"[2,4].indexOf(scope.row.status) > -1"
type=
"primary"
size=
"mini"
@
click=
"showApprovalDetail(scope.row.id)"
>
审核详情
</el-button>
<el-button
v-if=
"[2,4].indexOf(scope.row.status) > -1"
type=
"danger"
size=
"mini"
@
click=
"cancelApproval(scope.row.id)"
>
取消审核
</el-button>
...
...
@@ -105,6 +105,12 @@
</el-table> -->
<fallback
v-if=
"fallbackIndex !== null"
:order=
"detail"
:index=
"fallbackIndex"
@
close=
"fallbackIndex=null"
@
success=
"onFallbackSuccess"
/>
<edit
v-if=
"editIndex !== null"
@
close=
"editIndex=null"
:order=
"detail"
:index=
"editIndex"
@
success=
"onEditSuccess"
/>
<transfer-cargo
v-if=
"cargoControlPickId !== null"
:order-id=
"detail.orderId"
:cargo-control-pick-id=
"cargoControlPickId"
@
close=
"cargoControlPickId=null"
@
success=
"onTransferCargoSuccess"
/>
</div>
</template>
<
script
>
...
...
@@ -112,9 +118,11 @@ import edit from './components/CargoControlEdit.vue'
import
{
createPick
,
getPickRleaseInfo
,
review
,
cancel
,
cancelApproval
}
from
'
@/api/ecw/orderCargoControl
'
import
{
parseTime
}
from
'
@/utils/ruoyi
'
import
Fallback
from
'
./components/Fallback
'
import
TransferCargo
from
'
@/views/ecw/order/components/TransferCargo
'
export
default
{
filters
:
{
parseTime
},
components
:
{
edit
,
Fallback
},
components
:
{
edit
,
Fallback
,
TransferCargo
},
data
(){
return
{
detail
:
null
,
...
...
@@ -122,6 +130,7 @@ export default {
rules
:
{},
editIndex
:
null
,
// 修改索引
fallbackIndex
:
null
,
// 反复核索引
cargoControlPickId
:
null
,
// 调货ID
}
},
created
(){
...
...
@@ -192,6 +201,10 @@ export default {
})
console
.
log
({
item
})
return
item
[
field
]
},
onTransferCargoSuccess
(){
this
.
cargoControlPickId
=
null
this
.
loadData
()
}
}
}
...
...
src/views/ecw/order/components/TransferCargo.vue
View file @
6006e588
...
...
@@ -22,33 +22,33 @@
</el-col>
</el-row>
<el-table
:data=
"
[formData,formData]
"
border
>
<el-table
:data=
"
selectedOrders
"
border
>
<el-table-column
label=
"订单号"
>
{{
detail
.
sumNum
}}
{{
detail
.
orderNo
}}
</el-table-column>
<el-table-column
label=
"目的地"
>
<template
slot-scope=
"
{row}">
<el-input
type=
"number"
v-model.number=
"row.pickNum"
placeholder=
""
clearable
></el-input>
{{
row
.
objectiveName
}}
</
template
>
</el-table-column>
<el-table-column
label=
"总控货数"
>
<
template
slot-scope=
"{row}"
>
<el-input
type=
"number"
v-model.number=
"row.pickNum"
placeholder=
""
clearable
></el-input>
{{
row
.
sumNum
}}
</
template
>
</el-table-column>
<el-table-column
label=
"放货箱数"
>
<
template
slot-scope=
"{row}"
>
<el-input
type=
"number"
v-model.number=
"row.
pick
Num"
placeholder=
""
clearable
></el-input>
<el-input
type=
"number"
v-model.number=
"row.
release
Num"
placeholder=
""
clearable
></el-input>
</
template
>
</el-table-column>
<el-table-column
label=
"体积(m³)"
>
<
template
slot-scope=
"{row}"
>
<el-input
type=
"number"
v-model.number=
"row.pickVolume"
placeholder=
""
clearable
></el-input>
{{
row
.
sumVolume
}}
</
template
>
</el-table-column>
<el-table-column
label=
"重量(kg)"
>
<
template
slot-scope=
"{row}"
>
<el-input
type=
"number"
v-model.number=
"row.pickWeight"
placeholder=
""
clearable
></el-input>
{{
row
.
sumWeight
}}
</
template
>
</el-table-column>
</el-table>
...
...
@@ -63,6 +63,8 @@
<el-input
v-model=
"formData.code"
placeholder=
"请输入手机验证码"
clearable
class=
"w-150 mr-10"
></el-input>
<send-sms-code
:order-id=
"detail.orderId"
scene=
"5"
/>
</el-form-item>
<div
class=
"page-title"
>
审批流程
</div>
<work-flow
v-model=
"ccIdArr"
xmlkey=
"transfer_goods"
/>
<el-form-item
label=
""
style=
"margin-top:20px"
>
<el-button
type=
"success"
@
click=
"submit"
>
提交申请
</el-button>
<el-button
type=
"default"
@
click=
"closeDialog"
>
关闭
</el-button>
...
...
@@ -72,20 +74,24 @@
</el-dialog>
</template>
<
script
>
import
{
createPick
,
getRleaseInfo
,
seasoningCondimentsSelect
}
from
'
@/api/ecw/orderCargoControl
'
import
{
createPick
,
getRleaseInfo
,
seasoningCondimentsSelect
,
updateApply
}
from
'
@/api/ecw/orderCargoControl
'
import
AreaCodeSelector
from
'
@/components/AreaCodeSelector
'
import
SendSmsCode
from
'
@/views/ecw/order/components/SendSmsCode
'
import
WorkFlow
from
'
@/components/WorkFlow
'
export
default
{
props
:{
orderId
:
[
String
,
Number
]
orderId
:
[
String
,
Number
],
cargoControlPickId
:
Number
},
components
:
{
AreaCodeSelector
,
SendSmsCode
},
components
:
{
AreaCodeSelector
,
SendSmsCode
,
WorkFlow
},
data
(){
return
{
show
:
false
,
detail
:
null
,
ccIdArr
:
[],
formData
:{
orderIds
:[]
applyType
:
9
,
// 调货审核
ccIds
:
''
},
rules
:{
consigneeName
:
{
required
:
true
,
message
:
'
请填写收货人
'
},
...
...
@@ -98,6 +104,9 @@ export default {
watch
:{
'
formData.orderIds
'
(
val
){
this
.
selectedOrders
=
this
.
orders
.
filter
(
item
=>
val
.
indexOf
(
item
.
orderId
)
>
-
1
)
},
ccIdArr
(
val
){
this
.
formData
.
ccIds
=
val
.
join
(
'
,
'
)
}
},
created
(){
...
...
@@ -121,7 +130,15 @@ export default {
return
false
}
console
.
log
(
'
submit
'
)
updateApply
(
Object
.
assign
({
cargoControlPickId
:
this
.
cargoControlPickId
,
orderBackPageVOList
:
this
.
selectedOrders
,
orderId
:
this
.
orderId
},
this
.
formData
)).
then
(
res
=>
{
this
.
$message
.
success
(
'
操作成功
'
)
this
.
show
=
false
this
.
$emit
(
'
success
'
)
})
})
...
...
src/views/ecw/order/detail.vue
View file @
6006e588
...
...
@@ -38,13 +38,13 @@
<el-descriptions-item
label=
"运输方式"
:span=
"2"
>
<dict-tag
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"order.transportId"
/>
</el-descriptions-item>
<el-descriptions-item
label=
"出货渠道"
:span=
"2"
>
{{
order.logisticsInfoDto.startTitleZh
}}
</el-descriptions-item>
<el-descriptions-item
label=
"出货渠道"
:span=
"2"
>
{{
channelName
}}
</el-descriptions-item>
</el-descriptions>
</el-col>
<el-col
:span=
"12"
>
<el-descriptions
class=
"margin-top"
border
title=
"基础信息"
:column=
"2"
>
<el-descriptions-item
label=
"唛头"
>
{{order.marks}}
</el-descriptions-item>
<el-descriptions-item
label=
"送货时间"
>
{{order.
consigneeVO.
deliveryDate}}
</el-descriptions-item>
<el-descriptions-item
label=
"送货时间"
>
{{order.deliveryDate}}
</el-descriptions-item>
<el-descriptions-item
label=
"是否控货"
>
{{order.isCargoControl?'是':'否'}}
</el-descriptions-item>
<el-descriptions-item
label=
"填单信息"
>
{{order.costVO.totalNum}}箱 {{order.costVO.totalWeight}}Kg {{order.costVO.totalVolume}}m³
...
...
@@ -132,10 +132,43 @@
<!--inWarehouseState 1待入库,2多了,3少了,4到齐-->
<el-button
type=
"text"
@
click=
"showWarehouseReceipt=true"
:disabled=
"order.inWarehouseState <= 1"
>
查看入仓单
</el-button>
<el-button
type=
"text"
@
click.native=
"showLadingBill=true"
:disabled=
"!order.tidanNo"
>
查看提货单
</el-button>
<el-button
:disabled=
"
true"
type=
"text"
>
装箱单未上传
</el-button>
<el-button
:disabled=
"
!order.packingListUrl"
type=
"text"
@
click=
"downloadPackingList"
>
装箱单
</el-button>
</el-tab-pane>
<el-tab-pane
label=
"费用明细"
name=
"four"
>
<el-table
:data=
"feeList"
>
<el-table-column
label=
"订单号"
prop=
"orderNo"
></el-table-column>
<el-table-column
label=
"运输方式"
>
<dict-tag
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"order.transportId"
/>
</el-table-column>
<el-table-column
label=
"出货渠道"
>
{{channelName}}
</el-table-column>
<el-table-column
label=
"始发地"
prop=
"orderNo"
>
{{departure.titleZh || '-'}}
</el-table-column>
<el-table-column
label=
"目的地"
>
{{objective.titleZh || '-'}}
</el-table-column>
<el-table-column
label=
"品名"
prop=
"titleZh"
></el-table-column>
<el-table-column
label=
"箱数"
prop=
"num"
></el-table-column>
<el-table-column
label=
"体积/重量"
>
<
template
slot-scope=
"{row}"
>
{{
row
.
volume
}}
/
{{
row
.
weight
}}
</
template
>
</el-table-column>
<el-table-column
label=
"收款类型"
>
<
template
slot-scope=
"{row}"
>
<dict-tag
:type=
"DICT_TYPE.PAYMENT_TYPE"
:value=
"row.collectionType"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"收入类型"
>
<
template
slot-scope=
"{row}"
>
<dict-tag
:type=
"DICT_TYPE.FEE_TYPE"
:value=
"row.feeType"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"单价金额"
prop=
"unitPrice"
></el-table-column>
<el-table-column
label=
"总金额"
prop=
"totalAmount"
></el-table-column>
</el-table>
</el-tab-pane>
</el-tabs>
</el-card>
...
...
@@ -152,6 +185,8 @@ import PrintWarehouseReceipt from './components/PrintWarehouseReceipt'
import
PrintLadingBill
from
'
./components/PrintLadingBill
'
import
{
getUnitList
}
from
'
@/api/ecw/unit
'
import
{
getCurrencyList
}
from
'
@/api/ecw/currency
'
import
{
getReceivableListByOrderId
}
from
'
@/api/ecw/receipt
'
import
{
getChannel
}
from
'
@/api/ecw/channel
'
;
export
default
{
name
:
"
detail
"
,
...
...
@@ -184,7 +219,9 @@ export default {
showWarehouseReceipt
:
false
,
// 是否显示打印入仓单
showLadingBill
:
false
,
// 是否显示打印提单
currencyList
:
[],
unitList
:[]
unitList
:[],
feeList
:
[],
channelName
:
'
/
'
}
},
computed
:{
...
...
@@ -202,12 +239,27 @@ export default {
})
return
map
},
objective
(){
if
(
this
.
order
&&
this
.
order
.
objectiveVO
){
return
JSON
.
parse
(
this
.
order
.
objectiveVO
.
objective
)
}
return
{}
},
departure
(){
if
(
this
.
order
&&
this
.
order
.
departureVO
){
return
JSON
.
parse
(
this
.
order
.
departureVO
.
departure
)
}
return
{}
}
},
watch
:{
activeName
(){
if
(
!
this
.
feeList
.
length
){
activeName
(
val
){
if
(
!
this
.
feeList
.
length
&&
val
==
'
four
'
){
this
.
loadFeeList
()
}
},
'
order.channelId
'
(){
this
.
getChannel
()
}
},
created
()
{
...
...
@@ -229,8 +281,19 @@ export default {
that
.
order
=
response
.
data
;
});
},
getChannel
(){
if
(
!
this
.
order
||
!
this
.
order
.
channelId
)
return
getChannel
(
this
.
order
.
channelId
).
then
(
res
=>
{
this
.
channelName
=
res
.
data
.
nameZh
})
},
loadFeeList
(){
// TODO 暂无接口
getReceivableListByOrderId
({
id
:
this
.
orderId
}).
then
(
res
=>
{
this
.
feeList
=
res
.
data
})
},
downloadPackingList
(){
window
.
open
(
this
.
order
.
packingListUrl
)
}
}
};
...
...
src/views/ecw/order/edit.vue
View file @
6006e588
...
...
@@ -98,8 +98,8 @@
<el-card
class=
"mt-10"
>
<div
slot=
"header"
class=
"card-title"
>
<div
class=
"card-name"
>
商品信息
</div>
<el-button
type=
"primary"
size=
"mini"
@
click=
"addProduct(null)"
>
添加货物
</el-button>
<
!-- <el-button type="primary" size="mini" @click="showBatchImportDialog=true">批量添加货物</el-button> --
>
<el-button
type=
"primary"
size=
"mini"
@
click=
"addProduct(null)"
:disabled=
"!form.lineId"
>
添加货物
</el-button>
<
el-button
type=
"primary"
size=
"mini"
@
click=
"showBatchImportDialog=true"
:disabled=
"!form.lineId"
>
批量添加货物
</el-button
>
</div>
<el-table
:data=
"productList"
border
>
<el-table-column
label=
"序号"
width=
"60px"
fixed
>
...
...
@@ -336,13 +336,16 @@
</el-descriptions-item>
<el-descriptions-item
label=
"收货地区"
:span=
"2"
v-if=
"homeDeliveryService"
>
<area-selector
:country=
"form.consigneeVO ? form.consigneeVO.country : undefined"
:province=
"form.consigneeVO ? form.consigneeVO.province : undefined"
:city=
"form.consigneeVO ? form.consigneeVO.city : undefined"
@
countryChange=
"onAreaChange('country', $event)"
@
provinceChange=
"onAreaChange('province', $event)"
@
cityChange=
"onAreaChange('city', $event)"
></area-selector>
</el-descriptions-item>
<el-descriptions-item
label=
"收货详细地址"
:span=
"2"
v-if=
"homeDeliveryService"
>
<el-form-item
label=
""
label-width=
"0"
style=
"margin-bottom: 0"
prop=
"consigneeAddress"
required
error=
"收货详细地址不能为空"
>
<el-form-item
label=
""
label-width=
"0"
style=
"margin-bottom: 0"
prop=
"consigneeAddress"
>
<el-input
v-model=
"form.consigneeAddress"
placeholder=
""
></el-input>
</el-form-item>
</el-descriptions-item>
...
...
@@ -412,31 +415,35 @@
</el-form>
<el-dialog
title=
"批量导入"
:visible.sync=
"showBatchImportDialog"
width=
"1000px"
:close-on-click-modal=
"false"
>
<el-steps
:active=
"import
Data
.length > 0 ? 1 : 0"
finish-status=
"success"
class=
"w-500"
style=
"margin: 20px auto"
>
<el-steps
:active=
"import
List
.length > 0 ? 1 : 0"
finish-status=
"success"
class=
"w-500"
style=
"margin: 20px auto"
>
<el-step
title=
"上传集装箱"
></el-step>
<el-step
title=
"开始导入"
></el-step>
<el-step
title=
"完成"
></el-step>
</el-steps>
<div
class=
"mt-20"
>
<el-input
type=
"file"
@
input=
"onFileChoosed"
class=
"w-200 mr-10"
></el-input>
<el-button
type=
"info"
@
click=
"downloadTpl"
>
装箱单模板
</el-button>
<el-upload
:http-request=
"upload"
:show-file-list=
"false"
action=
""
class=
"mr-10"
style=
"display:inline-block; "
>
<el-button
size=
"small"
type=
"primary"
>
点击上传
</el-button>
</el-upload>
<el-button
type=
"info"
@
click=
"downloadTpl"
size=
"small"
:loading=
"exportLoading"
>
装箱单模板
</el-button>
</div>
<el-table
:data=
"importData"
class=
"mt-10"
height=
"300"
>
<el-table-column
label=
"序号"
></el-table-column>
<el-table-column
label=
"产品名称"
></el-table-column>
<el-table-column
label=
"英文名称"
></el-table-column>
<el-table-column
label=
"品牌"
></el-table-column>
<el-table-column
label=
"箱数"
></el-table-column>
<el-table-column
label=
"重量"
></el-table-column>
<el-table-column
label=
"体积"
></el-table-column>
<el-table-column
label=
"有无单证"
></el-table-column>
<el-table-column
label=
"缺货箱数"
></el-table-column>
<el-table-column
label=
"数量"
></el-table-column>
<el-table-column
label=
"材质"
></el-table-column>
<el-table
:data=
"importList"
class=
"mt-10"
height=
"300"
>
<el-table-column
label=
"序号"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
$index
+
1
}}
</
template
>
</el-table-column>
<el-table-column
label=
"中文品名"
prop=
"prodTitleZh"
></el-table-column>
<el-table-column
label=
"英文品名"
prop=
"prodTitleEn"
></el-table-column>
<el-table-column
label=
"品牌"
prop=
"brand"
></el-table-column>
<el-table-column
label=
"件数"
prop=
"num"
></el-table-column>
<el-table-column
label=
"重量(kg)"
prop=
"weight"
></el-table-column>
<el-table-column
label=
"体积(m³)"
prop=
"volume"
></el-table-column>
<!-- <el-table-column label="有无单证" prop="">// TODO</el-table-column> -->
<!-- <el-table-column label="缺货箱数" prop="lessNum"></el-table-column> -->
<el-table-column
label=
"数量"
prop=
"quantity"
></el-table-column>
<el-table-column
label=
"材质"
prop=
"material"
></el-table-column>
</el-table>
<div
class=
"mt-10 center"
>
<el-button
type=
"primary"
>
下一步
</el-button>
<el-button
type=
"primary"
@
click=
"addToProductList"
>
下一步
</el-button>
<el-button
type=
"default"
@
click=
"showBatchImportDialog=false"
>
取消
</el-button>
</div>
</el-dialog>
...
...
@@ -444,7 +451,7 @@
</template>
<
script
>
import
{
createOrder
,
updateOrder
,
getOrder
,
getProductFeeList
,
getOrderDetail
,
getOrderCourierNumber
}
from
"
@/api/ecw/order
"
;
import
{
createOrder
,
updateOrder
,
getOrder
,
getProductFeeList
,
getOrderDetail
,
getOrderCourierNumber
,
orderImport
,
exportPackingList
}
from
"
@/api/ecw/order
"
;
import
ProductSelector
from
'
@/components/ProductSelector
'
import
{
getProductAttrList
}
from
'
@/api/ecw/productAttr
'
import
{
getChannelList
}
from
'
@/api/ecw/channel
'
...
...
@@ -459,13 +466,12 @@ import { getCustomer } from '@/api/ecw/customer';
import
AreaSelector
from
'
@/components/AreaSelector
'
import
{
calculationPrice
}
from
'
@/api/ecw/product
'
import
{
getCustomerAvailableCouponList
}
from
'
@/api/ecw/coupon
'
import
*
as
xlsx
from
'
xlsx
'
import
FileUpload
from
'
@/components/FileUpload
'
window
.
xlsx
=
xlsx
export
default
{
name
:
"
OrderEdit
"
,
components
:
{
ProductSelector
,
Selector
,
CustomerContactSelector
,
AreaSelector
ProductSelector
,
Selector
,
CustomerContactSelector
,
AreaSelector
,
FileUpload
},
data
()
{
return
{
...
...
@@ -495,7 +501,6 @@ export default {
sendstatus
:
0
,
isCargoControl
:
false
,
type
:[]
},
// 表单校验
rules
:
{
...
...
@@ -508,10 +513,12 @@ export default {
lineId
:
[{
required
:
true
,
message
:
'
请选择路线
'
}],
channelId
:
[{
required
:
true
,
message
:
'
请选择出货渠道
'
}],
deliveryDate
:
[{
required
:
true
,
message
:
'
请选择送货日期
'
}],
consigneeAddress
:
[{
required
:
true
,
message
:
'
请填写详细地址
'
}]
},
labelStyle
:
'
width:120px
'
,
showBatchImportDialog
:
false
,
// 显示批量导入弹窗
importData
:[]
importList
:[],
exportLoading
:
false
,
// 装下单模板下载状态
};
},
computed
:{
...
...
@@ -620,9 +627,9 @@ export default {
},
'
form.lineId
'
(
lineId
){
let
router
=
this
.
routerList
.
find
(
item
=>
item
.
id
==
lineId
)
if
(
!
router
)
return
this
.
$set
(
this
.
form
,
'
departureId
'
,
router
.
startCityId
)
this
.
$set
(
this
.
form
,
'
objectiveId
'
,
router
.
destCityId
)
// TODO 还需要回填渠道信息,暂时缺少渠道ID
},
/* // 发货联系人发生变化获取发货客户
consignorContact(){
...
...
@@ -679,8 +686,38 @@ export default {
})
},
methods
:
{
upload
(
e
){
console
.
log
({
upload
:
e
})
let
form
=
new
FormData
()
form
.
append
(
'
file
'
,
e
.
file
)
orderImport
(
form
).
then
(
res
=>
{
this
.
importList
=
res
.
data
.
list
this
.
$set
(
this
.
form
,
'
packingListUrl
'
,
res
.
data
.
packingListUrl
)
})
},
addToProductList
(){
console
.
log
(
'
addToProductList
'
)
this
.
importList
.
forEach
(
item
=>
{
this
.
productList
.
push
({
prodId
:
item
.
prodId
,
brand
:
item
.
brandType
,
num
:
item
.
num
,
quantity
:
item
.
quantity
,
volume
:
item
.
volume
,
weight
:
item
.
weight
,
prodAttrArr
:[]
})
})
// 重置
this
.
importList
=
[]
this
.
showBatchImportDialog
=
false
},
downloadTpl
(){
window
.
open
(
'
http://v4.groupage.cn/Download/%E8%A3%85%E7%AE%B1%E5%8D%95%E6%A8%A1%E6%9D%BF.xls
'
)
this
.
exportLoading
=
true
;
exportPackingList
().
then
(
response
=>
{
this
.
$download
.
excel
(
response
,
'
装箱单模板.xls
'
);
this
.
exportLoading
=
false
;
}).
catch
(()
=>
{
});
},
setLink
(
row
){
this
.
$prompt
(
'
请输入商品链接
'
,
{
inputValue
:
row
.
link
}).
then
(({
value
})
=>
{
...
...
src/views/index.vue
View file @
6006e588
...
...
@@ -8,7 +8,14 @@
</el-row>
<el-row>
<ueditor
/>
<el-col
:span=
"12"
>
<ueditor
v-model=
"html"
/>
</el-col>
<el-col
:span=
"12"
>
<div
v-html=
"html"
></div>
<div
class=
""
>
下面是通过watch更新
</div>
<div
v-html=
"watchHtml"
></div>
</el-col>
</el-row>
<el-card
style=
"margin:20px 0"
>
<div
slot=
"header"
>
测试审批抄送
</div>
...
...
@@ -37,9 +44,6 @@
</el-col>
</el-row>
</div>
</
template
>
...
...
@@ -93,6 +97,13 @@ export default {
bpmnControlForm
:
{
prefix
:
"
activiti
"
},
html
:
"
默认内容
"
,
watchHtml
:
''
}
},
watch
:{
html
(
val
){
this
.
watchHtml
=
val
}
},
created
()
{
...
...
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