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
ed168d68
Commit
ed168d68
authored
Aug 18, 2022
by
dragondean@qq.com
Browse files
Options
Browse Files
Download
Plain Diff
解决订单列表页冲突
parents
e39f0ed1
04e0d9f9
Changes
28
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
28 changed files
with
1411 additions
and
705 deletions
+1411
-705
boxSea.js
src/api/ecw/boxSea.js
+39
-8
deptTarget.js
src/api/ecw/deptTarget.js
+9
-0
order.js
src/api/ecw/order.js
+7
-0
needKnow.js
src/api/system/needKnow.js
+54
-0
index.vue
src/components/OrderBaseInfo/index.vue
+13
-11
index.js
src/router/index.js
+5
-29
dict.js
src/utils/dict.js
+3
-2
detail.vue
src/views/bpm/processInstance/detail.vue
+56
-0
costForm.vue
src/views/ecw/box/costForm.vue
+2
-24
indexSea.vue
src/views/ecw/box/indexSea.vue
+81
-23
query.vue
src/views/ecw/box/query.vue
+146
-112
regError.vue
src/views/ecw/box/regError.vue
+2
-1
shippingDetail.vue
src/views/ecw/box/shippingDetail.vue
+13
-6
arrival.vue
src/views/ecw/box/shippingSea/nodePage/arrival.vue
+1
-1
startPacking.vue
...ews/ecw/box/shippingSea/nodePage/cabinet/startPacking.vue
+13
-12
supplementOrder.vue
.../ecw/box/shippingSea/nodePage/cabinet/supplementOrder.vue
+6
-7
cusClearance.vue
src/views/ecw/box/shippingSea/nodePage/cusClearance.vue
+1
-1
departure.vue
src/views/ecw/box/shippingSea/nodePage/departure.vue
+1
-1
preinstall.vue
src/views/ecw/box/shippingSea/nodePage/preinstall.vue
+22
-20
utils.js
src/views/ecw/box/shippingSea/utils.js
+37
-0
index.vue
src/views/ecw/deptTarget/index.vue
+344
-255
batchSingleApplication.vue
src/views/ecw/order/batchSingleApplication.vue
+118
-84
CargoControlEdit.vue
src/views/ecw/order/components/CargoControlEdit.vue
+10
-10
feeApplication.vue
src/views/ecw/order/feeApplication.vue
+79
-65
index.vue
src/views/ecw/order/index.vue
+20
-9
transferWarehousing.vue
src/views/ecw/order/transferWarehousing.vue
+45
-19
index.vue
src/views/ecw/order/warehousing/index.vue
+12
-5
index.vue
src/views/system/needKnow/index.vue
+272
-0
No files found.
src/api/ecw/boxSea.js
View file @
ed168d68
...
...
@@ -355,14 +355,14 @@ export function abnormalCreate(data) {
* 获得已预装部分列表
*
* @export
* @param {*}
params
* @param {*}
data
* @return {*}
*/
export
function
secGoodsList
(
params
)
{
export
function
secGoodsList
(
data
)
{
return
request
({
url
:
"
/ecw/box-preload-goods/secGoodsList
"
,
method
:
"
ge
t
"
,
params
,
method
:
"
pos
t
"
,
data
,
});
}
...
...
@@ -370,14 +370,14 @@ export function secGoodsList(params) {
* 获得预装分页
*
* @export
* @param {*}
params
* @param {*}
data
* @return {*}
*/
export
function
preloadPage
(
params
)
{
export
function
preloadPage
(
data
)
{
return
request
({
url
:
"
/ecw/box-preload-goods/preloadPage
"
,
method
:
"
ge
t
"
,
params
,
method
:
"
pos
t
"
,
data
,
});
}
...
...
@@ -396,6 +396,37 @@ export function createSection(data) {
});
}
/**
* 查询出货单下的所有部分列表
*
* @export
* @param {*} data
* @return {*}
*/
export
function
getSectionList
(
params
)
{
return
request
({
url
:
"
/ecw/box-preload-section/list
"
,
method
:
"
get
"
,
params
,
});
}
/**
* 装柜订单明细
*
* @export
* @param {*} data
* @return {*}
*/
export
function
boxGoodsDetail
(
data
)
{
return
request
({
url
:
"
/ecw/box-preload-goods/boxGoodsDetail
"
,
method
:
"
post
"
,
headers
:
{
"
Content-Type
"
:
"
application/x-www-form-urlencoded
"
},
data
:
jsonToFormData
(
data
),
});
}
/**
* 删除预装部分
*
...
...
src/api/ecw/deptTarget.js
View file @
ed168d68
...
...
@@ -50,6 +50,15 @@ export function getDeptTargetPage(query) {
})
}
// 获得个人目标进度分页
export
function
getPersonTargetPage
(
query
)
{
return
request
({
url
:
'
/sale/dept-target/personal/page
'
,
method
:
'
get
'
,
params
:
query
})
}
// 导出部门业绩目标设置 Excel
export
function
exportDeptTargetExcel
(
query
)
{
return
request
({
...
...
src/api/ecw/order.js
View file @
ed168d68
...
...
@@ -279,6 +279,13 @@ export function feeApplicationGet(params){
params
})
}
export
function
getAdjustInfo
(
params
){
return
request
({
url
:
'
/order/order-warehouse-in/get-adjust-info
'
,
method
:
'
get
'
,
params
,
})
}
export
function
warehouseAdjustArrived
(
data
){
return
request
({
url
:
'
/order/order-warehouse-in/warehouse-adjust-arrived
'
,
...
...
src/api/system/needKnow.js
0 → 100644
View file @
ed168d68
import
request
from
'
@/utils/request
'
// 创建需知
export
function
createNeedKnow
(
data
)
{
return
request
({
url
:
'
/system/need-know/create
'
,
method
:
'
post
'
,
data
:
data
})
}
// 更新需知
export
function
updateNeedKnow
(
data
)
{
return
request
({
url
:
'
/system/need-know/update
'
,
method
:
'
put
'
,
data
:
data
})
}
// 删除需知
export
function
deleteNeedKnow
(
id
)
{
return
request
({
url
:
'
/system/need-know/delete?id=
'
+
id
,
method
:
'
delete
'
})
}
// 获得需知
export
function
getNeedKnow
(
id
)
{
return
request
({
url
:
'
/system/need-know/get?id=
'
+
id
,
method
:
'
get
'
})
}
// 获得需知分页
export
function
getNeedKnowPage
(
query
)
{
return
request
({
url
:
'
/system/need-know/page
'
,
method
:
'
get
'
,
params
:
query
})
}
// 导出需知 Excel
export
function
exportNeedKnowExcel
(
query
)
{
return
request
({
url
:
'
/system/need-know/export-excel
'
,
method
:
'
get
'
,
params
:
query
,
responseType
:
'
blob
'
})
}
src/components/OrderBaseInfo/index.vue
View file @
ed168d68
...
...
@@ -4,36 +4,38 @@
<el-descriptions-item
label=
"唛头"
>
{{
order
.
marks
}}
</el-descriptions-item>
<el-descriptions-item
label=
"已到箱数"
>
{{
order
.
sumNum
}}
</el-descriptions-item>
<el-descriptions-item
label=
"订单状态"
><dict-tag
:type=
"DICT_TYPE.ORDER_STATUS"
:value=
"order.status"
/></el-descriptions-item>
<el-descriptions-item
label=
"送货时间"
>
todo
</el-descriptions-item>
<el-descriptions-item
label=
"送货时间"
>
{{
order
.
consigneeVO
&&
order
.
consigneeVO
.
deliveryDate
||
''
}}
</el-descriptions-item>
<el-descriptions-item
label=
"运输方式"
>
<dict-tag
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"order.logisticsInfoDto.transportId"
></dict-tag>
</el-descriptions-item>
<el-descriptions-item
label=
"始发地"
>
{{
order
.
logisticsInfoDto
.
start
WarehouseId
}}
</el-descriptions-item>
<el-descriptions-item
label=
"目的地"
>
{{
order
.
logisticsInfoDto
.
dest
WarehouseId
}}
</el-descriptions-item>
<el-descriptions-item
label=
"发货人姓名"
>
{{
order
.
consignorVO
&&
order
.
consignorVO
.
name
}}
</el-descriptions-item>
<el-descriptions-item
label=
"始发地"
>
{{
order
.
logisticsInfoDto
.
start
AddressZh
||
''
}}
</el-descriptions-item>
<el-descriptions-item
label=
"目的地"
>
{{
order
.
logisticsInfoDto
.
dest
TitleZh
||
''
}}
</el-descriptions-item>
<el-descriptions-item
label=
"发货人姓名"
>
{{
order
.
consignorVO
&&
order
.
consignorVO
.
name
||
''
}}
</el-descriptions-item>
<el-descriptions-item
label=
"发货人公司"
>
{{
order
.
consignorVO
&&
order
.
consignorVO
.
company
||
''
}}
</el-descriptions-item>
<el-descriptions-item
label=
"发货人电话"
>
{{
order
.
consignorVO
&&
order
.
consignorVO
.
phone
}}
</el-descriptions-item>
<el-descriptions-item
label=
"收货人姓名"
>
{{
order
.
consigneeVO
&&
order
.
consigneeVO
.
name
}}
</el-descriptions-item>
<el-descriptions-item
label=
"收货人公司"
>
{{
order
.
consigneeVO
&&
order
.
consigneeVO
.
company
}}
</el-descriptions-item>
<el-descriptions-item
label=
"收货人电话"
>
{{
order
.
consigneeVO
&&
order
.
consigneeVO
.
phone
}}
</el-descriptions-item>
<el-descriptions-item
label=
"入仓类型"
>
{{
order
.
warehouseType
}}
</el-descriptions-item>
<el-descriptions-item
label=
"发货人电话"
>
{{
order
.
consignorVO
&&
order
.
consignorVO
.
phone
||
''
}}
</el-descriptions-item>
<el-descriptions-item
label=
"收货人姓名"
>
{{
order
.
consigneeVO
&&
order
.
consigneeVO
.
name
||
''
}}
</el-descriptions-item>
<el-descriptions-item
label=
"收货人公司"
>
{{
order
.
consigneeVO
&&
order
.
consigneeVO
.
company
||
''
}}
</el-descriptions-item>
<el-descriptions-item
label=
"收货人电话"
>
{{
order
.
consigneeVO
&&
order
.
consigneeVO
.
phone
||
''
}}
</el-descriptions-item>
<el-descriptions-item
label=
"入仓类型"
>
{{
getDictDataLabel
(
DICT_TYPE
.
ECW_WAREHOUSING_TYPE
,
order
.
warehouseType
)
}}
</el-descriptions-item>
<el-descriptions-item
label=
"订单号"
>
{{
order
.
orderNo
}}
</el-descriptions-item>
</el-descriptions>
</div>
</
template
>
<
script
>
import
{
DICT_TYPE
}
from
"
@/utils/dict
"
import
{
DICT_TYPE
,
getDictDataLabel
}
from
"
@/utils/dict
"
export
default
{
name
:
"
orderBaseInfo
"
,
props
:
{
order
:
Object
},
data
()
{
return
{
DICT_TYPE
DICT_TYPE
,
getDictDataLabel
}
}
}
...
...
src/router/index.js
View file @
ed168d68
...
...
@@ -308,30 +308,6 @@ export const constantRoutes = [
noCache
:
true
,
}
},
{
path
:
'
batch-single-application
'
,
component
:(
resolve
)
=>
require
([
'
@/views/ecw/order/batchSingleApplication
'
],
resolve
),
name
:
'
batchSingleApplication
'
,
props
:
route
=>
({
orderList
:
route
.
query
.
list
}),
meta
:
{
title
:
'
批量调仓申请
'
,
icon
:
''
,
activeMenu
:
'
/order/batchSingleApplication
'
,
noCache
:
true
}
},
{
path
:
'
fee-application/:orderId
'
,
component
:(
resolve
)
=>
require
([
'
@/views/ecw/order/feeApplication
'
],
resolve
),
name
:
'
feeApplication
'
,
props
:
true
,
meta
:
{
title
:
'
费用申请
'
,
icon
:
''
,
activeMenu
:
'
/order/feeApplication
'
}
},
{
path
:
'
mutex-order/:orderId
'
,
component
:()
=>
import
(
'
@/views/ecw/order/mutexOrder
'
),
...
...
@@ -387,13 +363,13 @@ export const constantRoutes = [
hidden
:
true
,
redirect
:
'
noredirect
'
,
children
:
[
/*
{
path: 'query/:
box
Id(\\d+)',
{
path
:
'
query/:
shipment
Id(
\\
d+)
'
,
component
:
(
resolve
)
=>
import
(
'
@/views/ecw/box/query
'
),
props
:
true
,
name: '
boxQuery
',
meta: {title: '出货详情', icon: '', activeMenu: '/shipment/box'}
},
*/
name
:
'
shippingDetail
'
,
meta
:
{
title
:
'
出货详情
'
,
icon
:
''
,
activeMenu
:
'
/shipment/box
Detail
'
}
},
{
path
:
'
shippingSea/:shipmentId(
\\
d+)
'
,
component
:
(
resolve
)
=>
import
(
'
@/views/ecw/box/shippingSea/shippingSea
'
),
...
...
src/utils/dict.js
View file @
ed168d68
...
...
@@ -163,7 +163,8 @@ export const DICT_TYPE = {
ORDER_COD_EXCEPTION_RESULT
:
'
order_cod_exception_result
'
,
//代收货款异常处理结果
ORDER_OTHER_EXCEPTION_RESULT
:
'
order_other_exception_result
'
,
//其它异常处理结果
ORDER_BULKY_CARGO_EXCEPTION_RESULT
:
'
order_bulky_cargo_exception_result
'
,
//泡货异常处理结果
PAYMENT_TYPE
:
'
payment_type
'
,
//收款类型
NEED_KNOW_TYPE
:
'
need_know_type
'
,
//需知类型
NEED_KNOW_STATUS
:
'
need_know_status
'
,
//需知状态
ECASH_INIT
:
'
ecash_init
'
,
//e-cash
...
...
src/views/bpm/processInstance/detail.vue
View file @
ed168d68
...
...
@@ -62,6 +62,62 @@
<div
v-if=
"this.processInstance.processDefinition.formCustomViewPath=='warehouse_transfer'"
>
<!--调仓申请-->
<warehouseDetails
:processId=
"this.processInstance.businessKey"
:type=
"1"
></warehouseDetails>
</div>
<div
v-if=
"this.processInstance.processDefinition.formCustomViewPath=='container_modify'"
>
<!--出货审核-柜子修改审核-->
<shippingDetail
:processId=
"this.processInstance.businessKey"
></shippingDetail>
</div>
<div
v-if=
"this.processInstance.processDefinition.formCustomViewPath=='trailer_modify'"
>
<!--出货审核-拖车修改审核-->
<shippingDetail
:processId=
"this.processInstance.businessKey"
></shippingDetail>
</div>
<div
v-if=
"this.processInstance.processDefinition.formCustomViewPath=='ship_modify'"
>
<!--出货审核-配船修改审核-->
<shippingDetail
:processId=
"this.processInstance.businessKey"
></shippingDetail>
</div>
<div
v-if=
"this.processInstance.processDefinition.formCustomViewPath=='ship_modify'"
>
<!--出货审核-配船修改审核-->
<shippingDetail
:processId=
"this.processInstance.businessKey"
></shippingDetail>
</div>
<div
v-if=
"this.processInstance.processDefinition.formCustomViewPath=='customs_declare_modify'"
>
<!--出货审核-报关修改审核-->
<shippingDetail
:processId=
"this.processInstance.businessKey"
></shippingDetail>
</div>
<div
v-if=
"this.processInstance.processDefinition.formCustomViewPath=='arrival_modify'"
>
<!--出货审核-到港修改审核-->
<shippingDetail
:processId=
"this.processInstance.businessKey"
></shippingDetail>
</div>
<div
v-if=
"this.processInstance.processDefinition.formCustomViewPath=='customs_clearance_modify'"
>
<!--出货审核-清关修改审核-->
<shippingDetail
:processId=
"this.processInstance.businessKey"
></shippingDetail>
</div>
<div
v-if=
"this.processInstance.processDefinition.formCustomViewPath=='customs_exit_part'"
>
<!--出货审核-报关部分退场审核-->
<shippingDetail
:processId=
"this.processInstance.businessKey"
></shippingDetail>
</div>
<div
v-if=
"this.processInstance.processDefinition.formCustomViewPath=='customs_exit_all'"
>
<!--出货审核-报关退场审核-->
<shippingDetail
:processId=
"this.processInstance.businessKey"
></shippingDetail>
</div>
<div
v-if=
"this.processInstance.processDefinition.formCustomViewPath=='start_port_modify'"
>
<!--出货审核-起运修改审核-->
<shippingDetail
:processId=
"this.processInstance.businessKey"
></shippingDetail>
</div>
<div
v-if=
"this.processInstance.processDefinition.formCustomViewPath=='book_space_modify'"
>
<!--出货审核-订舱修改审核-->
<shippingDetail
:processId=
"this.processInstance.businessKey"
></shippingDetail>
</div>
<div
v-if=
"this.processInstance.processDefinition.formCustomViewPath=='sorting_apply_no'"
>
<!--出货审核-分拣反审核-->
<shippingDetail
:processId=
"this.processInstance.businessKey"
></shippingDetail>
</div>
<div
v-if=
"this.processInstance.processDefinition.formCustomViewPath=='sorting_apply'"
>
<!--出货审核-分拣审核-->
<shippingDetail
:processId=
"this.processInstance.businessKey"
></shippingDetail>
</div>
<div
v-if=
"this.processInstance.processDefinition.formCustomViewPath=='unload_container_no'"
>
<!--出货审核-卸柜反审核-->
<shippingDetail
:processId=
"this.processInstance.businessKey"
></shippingDetail>
</div>
<div
v-if=
"this.processInstance.processDefinition.formCustomViewPath=='unload_container'"
>
<!--出货审核-卸柜审核-->
<shippingDetail
:processId=
"this.processInstance.businessKey"
></shippingDetail>
</div>
<div
v-if=
"this.processInstance.processDefinition.formCustomViewPath=='close_container'"
>
<!--出货审核-封柜审核-->
<shippingDetail
:processId=
"this.processInstance.businessKey"
></shippingDetail>
</div>
<div
v-if=
"this.processInstance.processDefinition.formCustomViewPath=='shipment_preassemble_no'"
>
<!--出货审核-预装反审核-->
<shippingDetail
:processId=
"this.processInstance.businessKey"
></shippingDetail>
</div>
<div
v-if=
"this.processInstance.processDefinition.formCustomViewPath=='shipment_preassemble'"
>
<!--出货审核-预装审核-->
<shippingDetail
:processId=
"this.processInstance.businessKey"
></shippingDetail>
</div>
<div
v-else
>
<router-link
:to=
"this.processInstance.processDefinition.formCustomViewPath + '?id='
+ this.processInstance.businessKey"
>
...
...
src/views/ecw/box/costForm.vue
View file @
ed168d68
...
...
@@ -20,7 +20,7 @@
</el-select>
</el-form-item>
<el-row
class=
"two-element"
>
<el-row
class=
"two-element
-formItem
"
>
<el-form-item
label=
"金额"
>
<el-input-number
v-model=
"costObj.price"
controls-position=
"right"
:min=
"1"
></el-input-number>
</el-form-item>
...
...
@@ -36,7 +36,7 @@
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"operate-button"
>
<div
class=
"operate-button"
>
<el-button
type=
"primary"
@
click=
"submit"
>
确定
</el-button>
<el-button
@
click=
"$emit('closeDialog')"
>
取消
</el-button>
</div>
...
...
@@ -84,25 +84,3 @@ export default {
},
};
</
script
>
<
style
lang=
"scss"
>
// 海运操作统一弹窗样式
.app-costForm
{
// 页面内元素弹窗form控件宽度设置
.el-form-item__content
{
>
div
:not
(
.el-input-number
)
{
width
:
100%
;
}
}
.operate-button
{
text-align
:
center
;
}
.two-element
{
display
:
flex
;
>
:last-child
{
width
:
100%
;
margin-left
:
10px
;
}
}
}
</
style
>
src/views/ecw/box/indexSea.vue
View file @
ed168d68
<
template
>
<div
class=
"app-container"
>
<div
class=
"app-container
shipping-sea
"
>
<!-- 搜索工作栏 -->
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"68px"
>
...
...
@@ -79,7 +79,11 @@
<!-- 列表 -->
<el-table
v-loading=
"loading"
:data=
"list"
>
<el-table-column
label=
"自编号"
align=
"center"
prop=
"selfNo"
/>
<el-table-column
label=
"自编号"
align=
"center"
prop=
"selfNo"
>
<template
slot-scope=
"scope"
>
<el-button
type=
"text"
@
click=
"handleCommand(scope.row, 'detail')"
>
{{
scope
.
row
.
selfNo
}}
</el-button>
</
template
>
</el-table-column>
<el-table-column
label=
"柜号"
align=
"center"
prop=
"cubNo"
/>
<el-table-column
label=
"柜型"
align=
"center"
prop=
"cabinetId"
>
<
template
slot-scope=
"scope"
>
...
...
@@ -106,9 +110,9 @@
<span>
{{
new
Date
(
scope
.
row
.
createTime
).
format
(
'
yyyy-MM-dd
'
)
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
width=
"200px"
>
<
template
slot-scope=
"scope"
>
<el-dropdown
trigger=
"click"
@
command=
"(command)=>handleCommand(scope.row, command)"
>
<el-dropdown
trigger=
"click"
@
command=
"(command)=>handleCommand(scope.row, command)"
style=
"marginRight:10px;"
>
<el-button
type=
"primary"
>
操作
<i
class=
"el-icon-arrow-down el-icon--right"
></i>
</el-button>
...
...
@@ -120,6 +124,20 @@
<el-dropdown-item
command=
"delete"
>
删除
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<el-dropdown
trigger=
"click"
>
<el-button
type=
"primary"
>
下载
<i
class=
"el-icon-arrow-down el-icon--right"
></i>
</el-button>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-item
command=
""
>
预装单
</el-dropdown-item>
<el-dropdown-item
command=
""
>
已装单
</el-dropdown-item>
<el-dropdown-item
command=
""
>
应收汇总表
</el-dropdown-item>
<el-dropdown-item
command=
""
>
agent list
</el-dropdown-item>
<el-dropdown-item
command=
""
>
son cap
</el-dropdown-item>
<el-dropdown-item
command=
""
>
提货单
</el-dropdown-item>
<el-dropdown-item
command=
""
>
提单Copy
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</
template
>
</el-table-column>
</el-table>
...
...
@@ -128,7 +146,7 @@
@
pagination=
"getList"
/>
<!-- 对话框(添加 / 修改) -->
<el-dialog
:title=
"title"
:visible.sync=
"open"
width=
"600px"
append-to-body
>
<el-dialog
:title=
"title"
:visible.sync=
"open"
width=
"600px"
append-to-body
class=
"shippingSea-dialog"
>
<
template
v-if=
"dialogType === 'edit' || dialogType === 'add'"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"80px"
>
...
...
@@ -157,7 +175,7 @@
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer
"
>
<div
class=
"operate-button
"
>
<el-button
type=
"primary"
@
click=
"submitForm"
>
确 定
</el-button>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
</div>
...
...
@@ -165,6 +183,9 @@
<
template
v-if=
"dialogType === 'cost'"
>
<costForm
v-if=
"open"
@
closeDialog=
"closeDialog"
:currRow=
"currRow"
/>
</
template
>
<
template
v-if=
"dialogType === 'error'"
>
<regError
v-if=
"open"
@
closeDialog=
"closeDialog"
:shipmentObj=
"currRow"
/>
</
template
>
</el-dialog>
</div>
</template>
...
...
@@ -173,13 +194,15 @@
import
{
createbox
,
updatebox
,
deletebox
,
getbox
,
getboxPage
,
exportboxExcel
}
from
"
@/api/ecw/box
"
;
import
{
getCabinetPage
}
from
"
@/api/ecw/cabinet
"
;
import
{
getWarehouseList
}
from
"
@/api/ecw/warehouse
"
import
{
getDictDatas
,
DICT_TYPE
}
from
'
@/utils/dict
'
;
import
{
DICT_TYPE
}
from
'
@/utils/dict
'
;
import
costForm
from
'
./costForm.vue
'
import
regError
from
'
./regError.vue
'
export
default
{
name
:
"
box
"
,
components
:
{
costForm
costForm
,
regError
},
data
()
{
return
{
...
...
@@ -275,7 +298,6 @@
this
.
getList
();
},
methods
:
{
/** 查询列表 */
getList
()
{
this
.
loading
=
true
;
...
...
@@ -390,13 +412,6 @@
closeDialog
()
{
this
.
open
=
false
;
},
/* 费用登记 */
createCost
(
row
)
{
this
.
title
=
'
费用登记
'
this
.
dialogType
=
'
cost
'
;
this
.
open
=
true
;
this
.
currRow
=
row
;
},
/** 查看按钮操作 */
handleCommand
(
row
,
command
)
{
switch
(
command
)
{
...
...
@@ -413,10 +428,53 @@
break
;
case
'
cost
'
:
this
.
createCost
(
row
);
this
.
title
=
'
费用登记
'
this
.
dialogType
=
'
cost
'
;
this
.
open
=
true
;
this
.
currRow
=
row
;
break
;
case
'
error
'
:
this
.
title
=
'
异常登记
'
this
.
dialogType
=
'
error
'
;
this
.
open
=
true
;
this
.
currRow
=
row
;
break
;
case
'
detail
'
:
this
.
$router
.
push
(
'
/boxSea/query/
'
+
row
.
id
)
break
;
}
},
}
};
</
script
>
<
style
lang=
"scss"
>
// 海运操作统一弹窗样式
.shippingSea-dialog
{
// 页面内元素弹窗form控件宽度设置
.el-form-item__content
{
>
div
:not
(
.el-input-number
)
{
width
:
100%
;
}
}
.operate-button
{
text-align
:
center
;
}
.two-element-formItem
{
display
:
flex
;
>
:last-child
{
width
:
100%
;
margin-left
:
10px
;
}
}
.two-element
{
.el-form-item__content
{
display
:
flex
;
>
:last-child
{
margin-left
:
10px
;
}
}
}
}
</
style
>
src/views/ecw/box/query.vue
View file @
ed168d68
This diff is collapsed.
Click to expand it.
src/views/ecw/box/
shippingSea/nodePage/
regError.vue
→
src/views/ecw/box/regError.vue
View file @
ed168d68
...
...
@@ -18,6 +18,7 @@
<el-date-picker
type=
"date"
placeholder=
"请选择日期"
v-model=
"errorObj.abnStartTime"
value-format=
"yyyy-MM-dd"
></el-date-picker>
<el-date-picker
type=
"date"
placeholder=
"请选择日期"
v-model=
"errorObj.abnEndTime"
value-format=
"yyyy-MM-dd"
></el-date-picker>
</el-form-item>
<el-form-item
label=
"是否更新订单状态"
>
<el-radio-group
v-model=
"errorObj.orderStatus"
>
<el-radio
v-for=
"item in status"
:key=
"item.value"
:label=
"item.value"
>
{{
item
.
label
}}
</el-radio>
...
...
@@ -65,7 +66,7 @@ export default {
},
created
()
{
const
{
currNode
}
=
this
.
$attrs
;
this
.
errorObj
=
{
opStep
:
currNode
.
dataKey
};
this
.
errorObj
=
{
opStep
:
currNode
?.
dataKey
??
undefined
};
},
methods
:
{
/** 提交 */
...
...
src/views/ecw/box/shippingDetail.vue
View file @
ed168d68
...
...
@@ -73,7 +73,7 @@
<section
class=
"table-goodList"
>
<div>
合计:
{{
calcSum
(
row
.
goodsList
)
}}
箱
</div>
<div
v-for=
"(item, index) in row.goodsList"
:key=
"index"
class=
"goodList-div"
>
{{
item
.
volume
}}
m³
{{
item
.
weight
}}
kg
{{
getTotlContent
(
item
,[
'
volume
'
,
'
weight
'
])
}}
</div>
</section>
</
template
>
...
...
@@ -90,7 +90,11 @@
<
script
>
import
{
approvalDetail
}
from
"
@/api/ecw/box
"
;
import
{
getSeaStatus
,
getStatusName
}
from
"
./shippingSea/utils
"
;
import
{
getSeaStatus
,
getStatusName
,
getTotlContent
,
}
from
"
./shippingSea/utils
"
;
import
{
getCabinetPage
}
from
"
@/api/ecw/cabinet
"
;
import
{
getChannelList
}
from
"
@/api/ecw/channel
"
;
...
...
@@ -123,6 +127,7 @@ export default {
getChannelList
().
then
((
res
)
=>
(
this
.
channelList
=
res
.
data
));
},
methods
:
{
getTotlContent
,
/* 获取详情 */
getApprovalDetail
(
processId
)
{
approvalDetail
({
approvalId
:
processId
}).
then
((
res
)
=>
{
...
...
@@ -144,7 +149,11 @@ export default {
},
/* 打开订单列表 */
showOrder
()
{
this
.
$set
(
this
.
dialogConfig
,
"
title
"
,
`
${
this
.
boxBackVO
.
selfNo
}
订单列表`
);
this
.
$set
(
this
.
dialogConfig
,
"
title
"
,
`
${
this
.
boxBackVO
.
selfNo
}
订单列表`
);
this
.
$set
(
this
.
dialogConfig
,
"
visible
"
,
true
);
},
/* 合计 */
...
...
@@ -190,9 +199,7 @@ export default {
/* 体积重量 */
getVolumeWeight
()
{
return
(
total
)
=>
{
return
`
${
total
?.
num
??
0
}
箱
$
{
total
?.
volume
??
0
}
m
³
$
{
total
?.
weight
??
0
}
kg
`;
return
this
.
getTotlContent
(
total
);
};
},
/* 是否显示卸柜箱数 */
...
...
src/views/ecw/box/shippingSea/nodePage/arrival.vue
View file @
ed168d68
...
...
@@ -30,7 +30,7 @@
</
template
>
<
script
>
import
regError
from
"
./regError
"
;
import
regError
from
"
.
./..
/regError
"
;
import
dayjs
from
"
dayjs
"
;
import
{
arrivalCreate
,
serviceMsg
}
from
"
@/api/ecw/boxSea
"
;
import
{
formatDateStr
}
from
"
../utils
"
;
...
...
src/views/ecw/box/shippingSea/nodePage/cabinet/startPacking.vue
View file @
ed168d68
...
...
@@ -11,9 +11,7 @@
</div>
<div>
<template
v-if=
"item.secStatistics"
>
<p>
{{
item
.
secStatistics
.
num
}}
箱
</p>
<p>
{{
item
.
secStatistics
.
volume
}}
m³
</p>
<p>
{{
item
.
secStatistics
.
weight
}}
Kg
</p>
{{
getTotlContent
(
item
.
secStatistics
)
}}
</
template
>
</div>
</el-row>
...
...
@@ -54,29 +52,29 @@
<dict-tag
:type=
"DICT_TYPE.PRODUCT_RECORD_ATTRIBUTE"
:value=
"item.productRecord"
/>
】
</p>
<p>
其他:
<span>
{{
item
.
num
}}
箱
</span><span>
{{
item
.
volume
}}
m³
</span><span>
{{
item
.
weight
}}
Kg
</span>
</p>
<p>
其他:
{{
getTotlContent
(
item
)
}}
</p>
</div>
</section>
</
template
>
</el-table-column>
<el-table-column
label=
"计划箱数"
align=
"center"
prop=
"num"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
num
}}
箱
{{
getTotlContent
(
scope
.
row
,[
'
num
'
])
}}
</
template
>
</el-table-column>
<el-table-column
label=
"实装箱数"
align=
"center"
prop=
"installNum"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
installNum
}}
箱
{{
scope
.
row
.
installNum
}}
箱
</
template
>
</el-table-column>
<el-table-column
label=
"体积"
align=
"center"
prop=
"volume"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
volume
}}
m³
{{
getTotlContent
(
scope
.
row
,[
'
volume
'
])
}}
</
template
>
</el-table-column>
<el-table-column
label=
"重量"
align=
"center"
prop=
"weight"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
weight
}}
Kg
{{
getTotlContent
(
scope
.
row
,[
'
weight
'
])
}}
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
>
...
...
@@ -97,14 +95,15 @@
<el-col
:span=
"6"
class=
"totle-info"
>
<div
class=
"count-info"
>
<p>
总计:
<!-- <span>{{sumData.count.num}}箱</span><span>{{sumData.count.volume}}m³</span><span>{{sumData.count.weight}}Kg</span> -->
111
无返回
<!-- <span>{{sumData.count.num}}箱</span><span>{{sumData.count.volume}}m³</span><span>{{sumData.count.weight}}Kg</span> -->
</p>
</div>
<div>
<p>
容量:
</p>
<p>
111
</p>
<p>
无返回
</p>
</div>
<div>
已装
0
箱
</div>
<div>
已装
无返回
箱
</div>
</el-col>
</el-row>
...
...
@@ -204,6 +203,7 @@ import {
boxUpdate
,
approvalCreate
,
}
from
"
@/api/ecw/boxSea
"
;
import
{
getTotlContent
}
from
"
../../utils
"
;
/**
* 开始装柜
...
...
@@ -268,6 +268,7 @@ export default {
});
},
methods
:
{
getTotlContent
,
/* 装柜部分列表 */
getLoadSecGoodsList
()
{
loadSecGoodsList
({
shipmentId
:
this
.
shipmentObj
.
id
}).
then
((
res
)
=>
{
...
...
@@ -275,7 +276,7 @@ export default {
this
.
listData
=
data
.
map
((
item
,
index
)
=>
{
return
{
...
item
,
title
:
`第
${
++
index
}
部分`
,
title
:
`第
${
++
index
}
部分`
,
};
});
if
(
this
.
listData
.
length
)
{
...
...
src/views/ecw/box/shippingSea/nodePage/cabinet/supplementOrder.vue
View file @
ed168d68
...
...
@@ -28,9 +28,7 @@
</el-collapse-transition>
<div
class=
"part-secGoog"
>
<template>
<p>
{{
item
.
secStatistics
?
item
.
secStatistics
.
num
:
0
}}
箱
</p>
<p>
{{
item
.
secStatistics
?
item
.
secStatistics
.
volume
:
0
}}
m³
</p>
<p>
{{
item
.
secStatistics
?
item
.
secStatistics
.
weight
:
0
}}
Kg
</p>
{{
getTotlContent
(
item
.
secStatistics
)
}}
</
template
>
</div>
</el-row>
...
...
@@ -95,12 +93,12 @@
<el-table-column
label=
"箱数"
align=
"center"
prop=
"num"
width=
"120"
/>
<el-table-column
label=
"体积"
align=
"center"
prop=
"volume"
width=
"120"
>
<
template
slot-scope=
"scope"
>
<p
v-if=
"scope.row.volume"
>
{{
scope
.
row
.
volume
}}
m³
</p>
<p
v-if=
"scope.row.volume"
>
{{
getTotlContent
(
scope
.
row
,[
'
volume
'
])
}}
</p>
</
template
>
</el-table-column>
<el-table-column
label=
"重量"
align=
"center"
prop=
"weight"
width=
"120"
>
<
template
slot-scope=
"scope"
>
<p
v-if=
"scope.row.weight"
>
{{
scope
.
row
.
weight
}}
kg
</p>
<p
v-if=
"scope.row.weight"
>
{{
getTotlContent
(
scope
.
row
,[
'
weight
'
])
}}
</p>
</
template
>
</el-table-column>
<el-table-column
label=
"预装柜"
align=
"center"
prop=
""
width=
"120"
>
...
...
@@ -151,7 +149,7 @@ import {
createGoods
,
remove
,
}
from
"
@/api/ecw/boxSea
"
;
import
{
formatDate
}
from
"
../../utils
"
;
import
{
formatDate
,
getTotlContent
}
from
"
../../utils
"
;
/**
* 补单
*/
...
...
@@ -197,7 +195,7 @@ export default {
}
return
{
...
item
,
title
:
`第
${
++
index
}
部分`
,
title
:
`第
${
++
index
}
部分`
,
};
});
...
...
@@ -324,6 +322,7 @@ export default {
.
catch
((
_
)
=>
{});
},
formatDate
,
getTotlContent
,
},
computed
:
{
/** 目的地 */
...
...
src/views/ecw/box/shippingSea/nodePage/cusClearance.vue
View file @
ed168d68
...
...
@@ -26,7 +26,7 @@
</
template
>
<
script
>
import
regError
from
"
./regError
"
;
import
regError
from
"
.
./..
/regError
"
;
import
dayjs
from
"
dayjs
"
;
import
{
clearanceCreate
,
serviceMsg
}
from
"
@/api/ecw/boxSea
"
;
import
{
formatDateStr
}
from
"
../utils
"
;
...
...
src/views/ecw/box/shippingSea/nodePage/departure.vue
View file @
ed168d68
...
...
@@ -30,7 +30,7 @@
</
template
>
<
script
>
import
regError
from
"
./regError
"
;
import
regError
from
"
.
./..
/regError
"
;
import
{
shippingCreate
,
serviceMsg
}
from
"
@/api/ecw/boxSea
"
;
import
dayjs
from
"
dayjs
"
;
import
{
formatDateStr
}
from
"
../utils
"
;
...
...
src/views/ecw/box/shippingSea/nodePage/preinstall.vue
View file @
ed168d68
...
...
@@ -11,7 +11,7 @@
</el-select>
</el-form-item>
<el-form-item
label=
"目的地"
prop=
"destWarehouseIdList"
>
<el-select
v-model=
"queryParams.destWarehouseIdList"
placeholder=
"请选择目的地"
multiple
>
<el-select
v-model=
"queryParams.destWarehouseIdList"
placeholder=
"请选择目的地"
multiple
clearable
>
<el-option
v-for=
"item in importWarehouseList"
:label=
"item.titleZh"
:value=
"item.id"
:key=
"item.id"
></el-option>
</el-select>
</el-form-item>
...
...
@@ -108,11 +108,7 @@
<el-row
class=
"preinstall-title"
>
<div
class=
"pre-part-info"
>
<p>
第
{{
index
+
1
}}
部分
</p>
<p>
<span>
{{
part
.
secStatistics
?
part
.
secStatistics
.
num
:
0
}}
箱
</span>
<span>
{{
part
.
secStatistics
?
part
.
secStatistics
.
volume
:
0
}}
m³
</span>
<span>
{{
part
.
secStatistics
?
part
.
secStatistics
.
weight
:
0
}}
kg
</span>
</p>
<p>
{{
getTotlContent
(
part
.
secStatistics
)
}}
</p>
</div>
<div
class=
"table-button"
>
<el-button
type=
"danger"
size=
"small"
@
click=
"deletePart(part)"
>
删除部分
</el-button>
...
...
@@ -131,8 +127,8 @@
<el-table-column
label=
"箱数"
align=
"center"
prop=
"num"
/>
<el-table-column
label=
"体积/重量/重货比"
align=
"center"
width=
"140"
prop=
"volumeWeight"
>
<template
slot-scope=
"scope"
>
<p
v-if=
"scope.row.volume"
>
{{
scope
.
row
.
volume
}}
m³
</p>
<p
v-if=
"scope.row.weight"
>
{{
scope
.
row
.
weight
}}
kg
</p>
<p
v-if=
"scope.row.volume"
>
{{
getTotlContent
(
scope
.
row
,[
'
volume
'
])
}}
</p>
<p
v-if=
"scope.row.weight"
>
{{
getTotlContent
(
scope
.
row
,[
'
weight
'
])
}}
</p>
</
template
>
</el-table-column>
<el-table-column
label=
"报关方式"
align=
"center"
prop=
"customsType"
width=
"120"
>
...
...
@@ -169,15 +165,15 @@
<div
class=
"preinstall-title preinstalled"
>
<div
class=
"red-label"
>
<p>
筛选后待预装数量:
</p>
<p>
{{
unloadStatistics.num}}箱
</p>
<p>
{{
getTotlContent(unloadStatistics,['num'])}}
</p>
</div>
<div
class=
"red-label"
>
<p>
方数:
</p>
<p>
{{
unloadStatistics.volume}}m³
</p>
<p>
{{
getTotlContent(unloadStatistics,['volume'])}}
</p>
</div>
<div
class=
"red-label"
>
<p>
重量:
</p>
<p>
{{
unloadStatistics.weight}}kg
</p>
<p>
{{
getTotlContent(unloadStatistics,['weight'])}}
</p>
</div>
</div>
</el-row>
...
...
@@ -225,8 +221,8 @@
<el-table-column
label=
"箱数"
align=
"center"
prop=
"num"
/>
<el-table-column
label=
"体积/重量"
align=
"center"
prop=
"volumeWeight"
>
<
template
slot-scope=
"scope"
>
<p
v-if=
"scope.row.volume"
>
{{
scope
.
row
.
volume
}}
m³
</p>
<p
v-if=
"scope.row.weight"
>
{{
scope
.
row
.
weight
}}
kg
</p>
<p
v-if=
"scope.row.volume"
>
{{
getTotlContent
(
scope
.
row
,[
'
volume
'
])
}}
</p>
<p
v-if=
"scope.row.weight"
>
{{
getTotlContent
(
scope
.
row
,[
'
weight
'
])
}}
</p>
</
template
>
</el-table-column>
<el-table-column
label=
"报关方式"
align=
"center"
prop=
""
>
...
...
@@ -284,7 +280,8 @@ import {
approvalCreate
,
}
from
"
@/api/ecw/boxSea
"
;
import
userSelect
from
"
./common/userSelect.vue
"
;
import
{
formatDate
}
from
"
../utils
"
;
import
{
formatDate
,
getTotlContent
}
from
"
../utils
"
;
import
dayjs
from
"
dayjs
"
;
/**
* 预装
...
...
@@ -354,6 +351,7 @@ export default {
},
methods
:
{
formatDate
,
getTotlContent
,
/* 获取城市 */
importCityName
(
id
)
{
var
arr
=
this
.
$attrs
.
warehouseList
.
filter
((
item
)
=>
item
.
id
==
id
);
...
...
@@ -370,7 +368,6 @@ export default {
let
params
=
this
.
getParams
();
// 已预装单号
params
.
orderNo
=
params
.
preOrderNo
;
delete
params
.
preOrderNo
;
params
.
shipmentId
=
this
.
shipmentObj
.
id
;
secGoodsList
(
params
).
then
((
res
)
=>
{
this
.
preList
=
res
.
data
;
...
...
@@ -384,7 +381,6 @@ export default {
let
params
=
this
.
getParams
();
// 订单号
params
.
orderNo
=
params
.
toBePreOrderNo
;
delete
params
.
toBePreOrderNo
;
preloadPage
({
...
params
,
...
this
.
pageParam
}).
then
((
res
)
=>
{
const
{
data
}
=
res
;
this
.
toBePreList
=
data
.
dataList
?.
list
??
[];
...
...
@@ -438,7 +434,10 @@ export default {
if
(
column
.
property
===
"
volumeWeight
"
)
{
const
volume
=
this
.
calcSum
(
"
volume
"
,
data
);
const
weight
=
this
.
calcSum
(
"
weight
"
,
data
);
sums
[
index
]
=
`
${
volume
??
0
}
m
³
$
{
weight
??
0
}
kg
`;
sums
[
index
]
=
getTotlContent
({
volume
,
weight
},
[
"
volume
"
,
"
weight
"
,
]);
}
});
...
...
@@ -540,11 +539,14 @@ export default {
},
getParams
()
{
const
{
rucangtime
=
[]
}
=
this
.
queryParams
;
delete this.queryParams.rucangtime;
return
{
...
this
.
queryParams
,
rucangTimeStart: rucangtime[0],
rucangTimeEnd: rucangtime[1],
rucangTimeStart
:
rucangtime
[
0
]
?
dayjs
(
rucangtime
[
0
]).
format
(
"
YYYY-MM-DD 00:00:00
"
)
:
rucangtime
[
0
],
rucangTimeEnd
:
rucangtime
[
1
]
?
dayjs
(
rucangtime
[
1
]).
format
(
"
YYYY-MM-DD 23:59:59
"
)
:
rucangtime
[
1
],
};
},
},
...
...
src/views/ecw/box/shippingSea/utils.js
View file @
ed168d68
...
...
@@ -859,11 +859,24 @@ function formatDateStr(obj, keys, format = "YYYY-MM-DD") {
return
obj
;
}
/**
* 格式化日期
*
* @param {*} date
* @param {string} [format="YYYY-MM-DD"]
* @return {*}
*/
function
formatDate
(
date
,
format
=
"
YYYY-MM-DD
"
)
{
if
(
!
date
)
return
date
;
return
dayjs
(
date
).
format
(
format
);
}
/**
* 获取海运流程状态
*
* @param {*} val
* @return {*}
*/
function
getSeaStatus
(
val
)
{
let
currNodeStatus
=
11
,
isBreak
=
false
,
...
...
@@ -896,6 +909,29 @@ function getSeaStatus(val) {
return
currNodeStatus
;
}
/**
* 组装统计信息文字
*
* @param {*} total
* @param {string} [keys=["num", "volume", "weight"]]
* @return {*}
*/
function
getTotlContent
(
total
,
keys
=
[
"
num
"
,
"
volume
"
,
"
weight
"
])
{
let
content
=
[];
for
(
const
key
of
keys
)
{
if
(
key
===
"
num
"
)
{
content
.
push
(
`
${
total
?.
num
??
0
}
箱
`);
}
if (key === "volume") {
content.push(`
$
{
total
?.
volume
??
0
}
m
³
`);
}
if (key === "weight") {
content.push(`
$
{
total
?.
weight
??
0
}
kg
`);
}
}
return content.join(" ");
}
export const fileTypes = [
"doc",
"xls",
...
...
@@ -917,4 +953,5 @@ export {
formatDateStr,
formatNumberString,
formatDate,
getTotlContent,
};
src/views/ecw/deptTarget/index.vue
View file @
ed168d68
This diff is collapsed.
Click to expand it.
src/views/ecw/order/batchSingleApplication.vue
View file @
ed168d68
<
template
>
<el-dialog
:visible.sync=
"dialogVisible"
width=
"80%"
:before-close=
"()=>
{
$emit('update:dialogVisible',false)
}">
<div
class=
"batch-single-application"
>
<h1
class=
"title"
>
调仓申请
</h1>
<el-table
:data=
"list"
>
...
...
@@ -36,14 +42,19 @@
<el-table-column
label=
"出货渠道"
>
</el-table-column>
<!-- <el-table-column label="始发仓" prop="startWarehouseName"></el-table-column>-->
<!-- <el-table-column label="始发仓" prop="startWarehouseName"></el-table-column>-->
<el-table-column
label=
"目的地"
prop=
"objectiveName"
></el-table-column>
<el-table-column
label=
"发货人"
>
<
template
v-slot=
"{row}"
>
<div>
<div>
<p>
{{
row
.
consignorName
}}
</p>
<p>
</p>
</div>
</div>
</
template
>
</el-table-column>
<el-table-column
label=
"收货人"
>
...
...
@@ -58,10 +69,17 @@
</div>
</
template
>
</el-table-column>
<el-table-column>
<
template
v-slot=
"{row}"
>
<el-button
type=
"text"
v-if=
"row.inWarehouseState === 10"
>
取消调仓
</el-button>
</
template
>
</el-table-column>
</el-table>
<div
style=
"display: flex;justify-content:center; margin-top: 20px"
>
<div
style=
"width: 200px; margin: 0 10px"
>
{{list[0].startWarehouseName
}}
{{ list[0]
&&
list[0].startWarehouseName ? list[0].startWarehouseName : ''
}}
</div>
<div
style=
"width: 200px;"
>
<el-select
v-model=
"params.warehouseInId"
>
...
...
@@ -77,11 +95,13 @@
<work-flow
xmlkey=
"warehouse_transfer"
v-model=
"params.copyUserId"
/>
</div>
<div
style=
"text-align: center"
>
<el-button
style=
"margin-right: 50px"
@
click=
"submit"
:disabled=
"isSubmit"
>
提交申请
</el-button>
<el-button
@
click=
"$router.push('/order/order')"
>
取消
</el-button>
<el-button
style=
"margin-right: 50px"
v-if=
"adjustmentBol"
>
审核中
</el-button>
<el-button
v-else
style=
"margin-right: 50px"
@
click=
"submit"
:disabled=
"isSubmit"
>
提交申请
</el-button>
<el-button
@
click=
"$emit('update:dialogVisible',false)"
>
取消
</el-button>
</div>
<!-- <warehouseDetails></warehouseDetails>-->
<!-- <warehouseDetails></warehouseDetails>-->
</div>
</el-dialog>
</template>
<
script
>
...
...
@@ -95,20 +115,30 @@ import {getProcessDefinitionBpmnXMLByKey} from "@/api/bpm/definition";
import
warehouseDetails
from
"
@/views/ecw/order/components/warehouseDetails
"
;
import
{
getOrderPage
}
from
"
@/api/ecw/order
"
;
import
workFlow
from
"
@/components/WorkFlow
"
;
import
Template
from
"
@/views/cms/template
"
;
export
default
{
name
:
"
batchSingleApplication
"
,
props
:{
orderList
:
String
,
orderList
:[
String
,
Number
],
dialogVisible
:{
type
:
Boolean
,
default
:
false
,
}
},
components
:{
Template
,
warehouseDetails
,
workFlow
},
created
()
{
watch
:{
dialogVisible
(
val
){
if
(
val
){
getOrderPage
({
orderIdList
:
this
.
orderList
}).
then
(
r
=>
{
this
.
list
=
r
.
data
.
list
warehouseAdjustmentList
({
id
:
this
.
list
[
0
].
startWarehouseId
}).
then
(
r
=>
this
.
availableWarehouse
=
r
.
data
)
})
}
}
},
computed
:{
isSubmit
(){
...
...
@@ -120,6 +150,9 @@ export default {
if
(
this
.
list
.
every
(
e
=>
e
.
status
===
5
)
&&
[...
new
Set
(
l
)].
length
===
1
)
flag
=
false
}
return
flag
;
},
adjustmentBol
(){
return
this
.
list
.
some
(
e
=>
e
.
inWarehouseState
===
10
)
}
},
data
(){
...
...
@@ -146,6 +179,7 @@ export default {
this
.
params
.
orderNo
=
this
.
list
[
0
].
orderNo
orderWarehouseInAdjustApply
(
this
.
params
).
then
(
r
=>
{
if
(
r
.
code
===
0
){
this
.
$emit
(
'
update:dialogVisible
'
,
false
)
this
.
$message
.
success
(
'
调仓成功
'
);
}
})
...
...
src/views/ecw/order/components/CargoControlEdit.vue
View file @
ed168d68
src/views/ecw/order/feeApplication.vue
View file @
ed168d68
<
template
>
<el-dialog
:visible.sync=
"dialogVisible"
width=
"80%"
:before-close=
"()=>
{
$emit('update:dialogVisible',false)
}">
<div
class=
"fee-application"
>
<h1>
费用申请-
{{
orderDetails
.
orderNo
}}
</h1>
...
...
@@ -63,6 +66,8 @@
<el-button>
取消
</el-button>
</div>
</div>
</el-dialog>
</template>
<
script
>
...
...
@@ -75,6 +80,10 @@ export default {
components
:
{
Template
,
workFlow
},
props
:{
orderId
:[
Number
,
String
],
dialogVisible
:{
type
:
Boolean
,
default
:
false
,
}
},
data
(){
return
{
...
...
@@ -89,12 +98,6 @@ export default {
}
},
created
()
{
getOrder
(
this
.
orderId
).
then
(
r
=>
{
if
(
r
.
code
===
0
){
this
.
orderDetails
=
r
.
data
}
})
this
.
getOrderList
()
this
.
getDictDatas
(
this
.
DICT_TYPE
.
AUDIT_STATUS
).
forEach
(
e
=>
{
this
.
STATUS
[
e
.
value
]
=
e
.
label
})
...
...
@@ -128,11 +131,10 @@ export default {
this
.
isModifyIf
=
false
;
},
submit
(){
if
(
this
.
isModifyIf
){
applicationUpdate
({...
this
.
list
[
this
.
isModify
.
findIndex
(
e
=>
e
===
false
)],
status
:
1
}).
then
(
r
=>
{
if
(
r
.
code
===
0
){
this
.
getOrderList
();
this
.
$emit
(
'
update:dialogVisible
'
,
false
)
this
.
$message
.
success
(
'
修改成功
'
);
}
})
...
...
@@ -140,7 +142,7 @@ export default {
if
(
this
.
list
[
this
.
list
.
length
-
1
].
status
===
0
){
feeApplicationCreate
(
{...
this
.
list
[
this
.
list
.
length
-
1
],
status
:
1
,
copyUserId
:
this
.
selectedUsers
}).
then
(
r
=>
{
if
(
r
.
code
===
0
){
this
.
getOrderList
();
this
.
$emit
(
'
update:dialogVisible
'
,
false
)
this
.
$message
.
success
(
'
添加成功
'
);
this
.
selectedUsers
=
[];
}
...
...
@@ -163,6 +165,18 @@ export default {
this
.
isModifyIf
=
true
;
this
.
$set
(
this
.
isModify
,
this
.
list
.
findIndex
(
e
=>
e
.
id
=
row
.
id
),
false
)
},
},
watch
:{
dialogVisible
(
val
){
if
(
val
){
this
.
getOrderList
()
getOrder
(
this
.
orderId
).
then
(
r
=>
{
if
(
r
.
code
===
0
){
this
.
orderDetails
=
r
.
data
}
})
}
},
}
}
</
script
>
...
...
src/views/ecw/order/index.vue
View file @
ed168d68
...
...
@@ -102,7 +102,7 @@
v-hasPermi=
"['ecw:order:create']"
>
新增
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"primary"
plain
icon=
"el-icon-setting"
size=
"mini"
@
click=
"handleEdit"
:disabled=
"
multiple
"
>
批量调仓
<el-button
type=
"primary"
plain
icon=
"el-icon-setting"
size=
"mini"
@
click=
"handleEdit"
:disabled=
"
!batchWarehouseAdjustment
"
>
批量调仓
</el-button>
<el-button
type=
"primary"
plain
icon=
"el-icon-setting"
size=
"mini"
@
click=
"showBatchPickup=true"
>
批量提货
</el-button>
...
...
@@ -169,7 +169,7 @@
<el-button
v-if=
"scope.row.status
<
5
"
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"oprateOrder(scope.row.orderId, 'cancelOrder')"
>
取消订单
</el-button>
<el-button
v-if=
"scope.row.status == 88"
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"oprateOrder(scope.row.orderId, 'recoveryOrder')"
>
恢复订单
</el-button>
<el-button
type=
"text"
size=
"mini"
@
click=
"
$router.push(`/order/fee-application/$
{scope.row.orderId}`)
">费用申请
</el-button>
<el-button
type=
"text"
size=
"mini"
@
click=
"
feeApplicationBol = true; orderId = scope.row.orderId
"
>
费用申请
</el-button>
<el-button
type=
"text"
size=
"mini"
@
click=
"orderId = scope.row.orderId;isShow = true"
>
特需
</el-button>
<el-button
type=
"text"
size=
"mini"
@
click=
"$router.push(`/order/associated-order/$
{scope.row.orderId}`)" >关联
</el-button>
<el-button
type=
"text"
size=
"mini"
@
click=
"$router.push(`/order/mutex-order/$
{scope.row.orderId}`)" >互斥
</el-button>
...
...
@@ -203,7 +203,7 @@
v-hasPermi=
"['ecw:order:update']"
>
入仓
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"show = true;orderId = scope.row.orderId; "
v-hasPermi=
"['ecw:order:update']"
>
退仓
</el-button>
<el-button
type=
"text"
v-if=
"scope.row.status === 5"
size=
"mini"
@
click=
"$router.push(
{path:'/order/batch-single-application',query:{list:scope.row.orderId}})"
>调仓
</el-button>
<el-button
type=
"text"
size=
"mini"
@
click=
"orderId = scope.row.orderId;warehouseBol=true;"
>
调仓
</el-button>
<el-button
type=
"text"
size=
"mini"
@
click=
"$router.push(
{path:'/order/transfer-warehousing/' + scope.row.orderId + '/' + 1 })" >调拨出仓
</el-button>
<el-button
type=
"text"
size=
"mini"
@
click=
"$router.push(
{path:'/order/transfer-to-warehouse/' + scope.row.orderId + '/' + 2 })" >调拨到仓
</el-button>
</div>
...
...
@@ -241,6 +241,8 @@
<print-lading-bill
v-if=
"printLadingBillInfo !== null"
v-bind=
"printLadingBillInfo"
@
close=
"printLadingBillInfo=null"
/>
<batch-pickup
v-if=
"showBatchPickup"
@
close=
"showBatchPickup=false"
/>
<withdrawal
v-if=
"show"
:dialog-visible=
"show"
:orderId=
"orderId"
></withdrawal>
<batch-single-application
:order-list=
"orderId"
:dialog-visible.sync=
"warehouseBol"
></batch-single-application>
<fee-application
:order-id=
"orderId"
:dialog-visible.sync=
"feeApplicationBol"
></fee-application>
</div>
</template>
...
...
@@ -270,10 +272,14 @@ import PrintLadingBill from './components/PrintLadingBill'
import
BatchPickup
from
'
./components/BatchPickup
'
import
withdrawal
from
"
@/views/ecw/order/withdrawal
"
;
import
UserSelector
from
'
@/components/UserSelector
'
import
BatchSingleApplication
from
"
@/views/ecw/order/batchSingleApplication
"
;
import
FeeApplication
from
"
@/views/ecw/order/feeApplication
"
;
export
default
{
name
:
"
Order
"
,
components
:
{
UserSelector
,
FeeApplication
,
BatchSingleApplication
,
CustomerSelector
,
ProductSelector
,
Selector
,
specialNeeds
,
PrintTag
,
PrintWarehouseReceipt
,
PrintLadingBill
,
BatchPickup
,
withdrawal
},
props
:
{
...
...
@@ -355,7 +361,9 @@ export default {
getDictDatas */
adjustmentList
:[],
show
:
false
,
warehouseBol
:
false
,
//调仓申请
feeApplicationBol
:
false
,
//费用申请
multipleSelection
:[]
};
},
computed
:
{
...
...
@@ -372,7 +380,11 @@ export default {
timeParams
[
'
end
'
+
this
.
dateFilterType
]
=
this
.
dateFilter
[
1
]
}
return
Object
.
assign
({},
this
.
queryParams
,
timeParams
)
}
},
batchWarehouseAdjustment
(){
return
this
.
multipleSelection
.
length
>
0
&&
this
.
multipleSelection
.
every
(
e
=>
e
.
status
===
5
)
},
},
created
()
{
this
.
getList
();
...
...
@@ -460,15 +472,14 @@ export default {
},
// 表格多选
handleSelectionChange
(
selection
)
{
this
.
multipleSelection
=
selection
this
.
ids
=
selection
.
map
(
item
=>
item
.
orderId
)
this
.
single
=
selection
.
length
!==
1
this
.
multiple
=
!
selection
.
length
},
handleEdit
()
{
this
.
$router
.
push
({
path
:
'
/order/batch-single-application
'
,
query
:{
list
:
this
.
ids
.
join
(
'
,
'
)}
})
this
.
warehouseBol
=
true
this
.
orderId
=
this
.
ids
.
join
(
'
,
'
)
},
moleculeChange
()
{
},
denominatorChange
()
{
},
...
...
src/views/ecw/order/transferWarehousing.vue
View file @
ed168d68
...
...
@@ -8,7 +8,7 @@
<el-divider
content-position=
"left"
>
货物信息
</el-divider>
<el-table
:data=
"
orderDetails.orderItemVOList
? orderDetails.orderItemVOList : [] "
>
<el-table
:data=
"
orderDetails.orderItemVOList && orderDetails.orderItemVOList.length > 0
? orderDetails.orderItemVOList : [] "
>
<el-table-column
type=
"index"
label=
"序号"
></el-table-column>
<el-table-column
label=
"品名"
>
<template
v-slot=
"
{row}">
...
...
@@ -31,16 +31,20 @@
<
template
v-slot=
"{row}"
>
<el-descriptions
size=
"mini"
:column=
"4"
>
<el-descriptions-item
label=
"品牌"
>
{{
row
.
brand
}}
</el-descriptions-item>
<el-descriptions-item
label=
"箱数"
>
{{
row
.
warehouseInInfoVO
.
cartonsNum
}}
</el-descriptions-item>
<el-descriptions-item
label=
"体积"
>
{{
row
.
warehouseInInfoVO
.
volume
}}
</el-descriptions-item>
<el-descriptions-item
label=
"重量"
>
{{
row
.
warehouseInInfoVO
.
weight
}}
</el-descriptions-item>
<el-descriptions-item
label=
"箱数"
>
{{
row
.
warehouseInInfoVO
?
row
.
warehouseInInfoVO
.
cartonsNum
:
''
}}
</el-descriptions-item>
<el-descriptions-item
label=
"体积"
>
{{
row
.
warehouseInInfoVO
?
row
.
warehouseInInfoVO
.
volume
:
''
}}
</el-descriptions-item>
<el-descriptions-item
label=
"重量"
>
{{
row
.
warehouseInInfoVO
?
row
.
warehouseInInfoVO
.
weight
:
''
}}
</el-descriptions-item>
</el-descriptions>
</
template
>
</el-table-column>
<el-table-column
label=
"最后操作时间"
></el-table-column>
<el-table-column
label=
"最后操作时间"
>
<
template
v-slot=
"{row}"
>
{{
parseTime
(
row
.
createTime
)
}}
</
template
>
</el-table-column>
<el-table-column
label=
"状态"
>
<
template
v-slot=
"{row}"
>
<dict-tag
:value=
"
row.warehouseInInfoVO.diffType
"
:type=
"DICT_TYPE.ORDER_WAREHOUSE_IN_STATUS"
/>
<dict-tag
:value=
"
row.warehouseInInfoVO ? row.warehouseInInfoVO.diffType :''
"
:type=
"DICT_TYPE.ORDER_WAREHOUSE_IN_STATUS"
/>
</
template
>
</el-table-column>
</el-table>
...
...
@@ -49,12 +53,12 @@
</el-divider>
<el-table
:data=
"warehouseList"
v-if=
"type == 2"
>
<el-table-column
label=
"调仓编号"
prop=
"id"
></el-table-column>
<el-table-column
label=
"调出仓库"
prop=
"warehouseOut
Id
"
></el-table-column>
<el-table-column
label=
"调入仓库"
prop=
"warehouseIn
Id
"
></el-table-column>
<el-table-column
label=
"申请人"
></el-table-column>
<el-table-column
label=
"调出仓库"
prop=
"warehouseOut
Name
"
></el-table-column>
<el-table-column
label=
"调入仓库"
prop=
"warehouseIn
Name
"
></el-table-column>
<el-table-column
label=
"申请人"
prop=
"creator"
></el-table-column>
<el-table-column
label=
"申请时间"
>
<
template
v-slot=
"{row}"
>
{{
parseTime
(
row
.
createTime
)
}}
</
template
>
</el-table-column>
<el-table-column
label=
"状态"
>
...
...
@@ -72,7 +76,9 @@
</el-table>
<el-descriptions
style=
"margin-top: 20px"
:column=
"4"
border
>
<el-descriptions-item
label=
"集运仓库"
>
{{ warehouseDetails.warehouseOutName }}
</el-descriptions-item>
<el-descriptions-item
label=
"储位"
>
{{}}
</el-descriptions-item>
<el-descriptions-item
label=
"储位"
>
<div
v-for=
"item in storageSpaceList"
style=
"display: flex;"
><div>
{{item.warehouseName}}
</div><div>
{{item.regionName}} 区
</div></div>
</el-descriptions-item>
<el-descriptions-item
label=
"调拨目标仓"
>
{{ warehouseDetails.warehouseInName }}
</el-descriptions-item>
<el-descriptions-item
label=
"物流公司"
>
<el-select
v-model=
"params.logisticsCompany"
>
...
...
@@ -110,7 +116,7 @@
</el-form-item>
</el-form>
<div>
<el-button
v-if=
"type ==
=
1"
@
click=
"submit"
>
确认出仓
</el-button>
<el-button
v-if=
"type == 1"
@
click=
"submit"
>
确认出仓
</el-button>
<el-button
v-else
@
click=
"submit2"
>
确认到仓
</el-button>
<el-button
@
click=
"$router.back()"
>
返回
</el-button>
</div>
...
...
@@ -120,6 +126,7 @@
<
script
>
import
ordeDetailsForm
from
"
@/views/ecw/order/components/ordeDetailsForm
"
;
import
{
getAdjustInfo
,
getOrder
,
listByOrderId
,
orderWarehouseInGetAdjustInfo
,
orderWarehousePicturePage
,
warehouseAdjustArrived
,
warehouseAdjustPage
,
...
...
@@ -129,6 +136,7 @@ import Template from "@/views/cms/template";
import
{
DICT_TYPE
}
from
'
@/utils/dict
'
;
import
ImageAndVideoUpload
from
"
@/components/ImageAndVideoUpload/index
"
;
import
{
getSupplierPage
}
from
"
@/api/ecw/supplier
"
;
import
{
getByWarehouseId
}
from
"
@/api/ecw/warehouseArea
"
;
let
STATUS
=
{
1
:
'
审核中
'
,
2
:
'
已通过
'
,
3
:
'
已拒绝
'
,
4
:
'
已出仓
'
,
5
:
'
已到仓
'
}
export
default
{
name
:
"
transferWarehousing
"
,
...
...
@@ -157,7 +165,8 @@ export default {
phone
:
""
,
urls
:
[]
},
expressList
:[]
expressList
:[],
storageSpaceList
:[],
}
},
created
()
{
...
...
@@ -171,14 +180,33 @@ export default {
}
})
if
(
this
.
type
==
2
){
warehouseAdjustPage
({
rows
:
100
,
orderId
:
this
.
orderId
}).
then
(
r
=>
{
this
.
warehouseList
=
r
.
data
.
list
getAdjustInfo
({
orderId
:
this
.
orderId
,
lang
:
0
}).
then
(
r
=>
{
this
.
warehouseList
=
r
.
data
})
}
orderWarehouseInGetAdjustInfo
({
orderId
:
this
.
orderId
,
lang
:
0
}).
then
(
r
=>
{
this
.
warehouseDetails
=
r
.
data
[
0
]
listByOrderId
({
orderId
:
this
.
orderId
}).
then
(
r
=>
{
console
.
log
(
r
,
'
r
'
)
listByOrderId
({
orderId
:
this
.
orderId
}).
then
(
res
=>
{
if
(
res
.
code
===
0
){
getByWarehouseId
().
then
(
r
=>
{
let
obj
=
[];
res
.
data
.
forEach
(
item
=>
{
r
.
data
.
forEach
(
itemm
=>
{
if
(
item
.
wareId
===
itemm
.
id
){
itemm
.
children
.
forEach
(
itemmm
=>
{
if
(
itemmm
.
id
===
item
.
areaId
){
obj
.
push
({
warehouseName
:
itemm
.
name
,
regionName
:
itemmm
.
name
})
}
})
}
})
})
this
.
storageSpaceList
=
obj
;
})
}
})
this
.
params
.
phone
=
this
.
warehouseDetails
.
phone
;
this
.
params
.
logisticsNo
=
this
.
warehouseDetails
.
logisticsNo
;
...
...
@@ -205,12 +233,10 @@ export default {
},
submit2
(){
warehouseAdjustArrived
(
this
.
params
).
then
(
r
=>
{
{
if
(
r
.
code
===
0
){
this
.
$message
.
success
(
'
调到仓成功
'
);
this
.
$router
.
back
();
}
}
})
}
},
...
...
src/views/ecw/order/warehousing/index.vue
View file @
ed168d68
...
...
@@ -103,14 +103,16 @@
<div
style=
"text-align: center"
>
在完成入仓前,您还可以
</div>
<div
style=
"text-align: center;padding: 15px 0"
>
<el-button
type=
"info"
@
click=
"areaVisible = true"
>
选择储位
</el-button>
<el-button
type=
"info"
@
click=
"isShowPrint = true"
>
打印标签
</el-button>
<el-button
type=
"info"
@
click=
"isShowPrint
Tag
= true"
>
打印标签
</el-button>
</div>
<div
style=
"text-align: center"
>
<el-button
type=
"primary"
@
click=
"handleSubmit()"
>
确 定
</el-button>
</div>
</el-dialog>
<print-tag
v-if=
"isShowPrint"
:order-id=
"orderId"
@
close=
"isShowPrint = false"
></print-tag>
<print-tag
v-if=
"isShowPrintTag"
:order-id=
"orderId"
@
close=
"isShowPrintTag = false"
></print-tag>
<print-warehouse-receipt
v-if=
"isShowPrint"
:order-id=
"orderId"
@
close=
"isShowPrint = false"
/>
</div>
</template>
...
...
@@ -128,6 +130,7 @@ import WarehouseAreaDialog from '@/components/WarehouseAreaDialog'
import
editDialog
from
'
@/views/ecw/order/warehousing/components/editDialog
'
import
{
DICT_TYPE
}
from
"
@/utils/dict
"
import
PrintTag
from
"
@/views/ecw/order/components/PrintTag
"
import
PrintWarehouseReceipt
from
"
@/views/ecw/order/components/PrintWarehouseReceipt
"
export
default
{
name
:
"
Warehousing
"
,
...
...
@@ -136,7 +139,8 @@ export default {
orderBaseInfo
,
WarehouseAreaDialog
,
editDialog
,
PrintTag
PrintTag
,
PrintWarehouseReceipt
},
mounted
()
{
...
...
@@ -166,6 +170,7 @@ export default {
orderItemList
:
[],
specialList
:
[],
warehousing
:
undefined
,
isShowPrintTag
:
false
,
isShowPrint
:
false
}
},
...
...
@@ -182,10 +187,12 @@ export default {
'
该订单已成功入仓,是否打印?
'
,
'
货物已入仓
'
,
{
confirmButton
Class
:
'
是
'
,
confirmButton
Text
:
'
是
'
,
cancelButtonText
:
'
否
'
}
).
then
().
catch
(()
=>
{
).
then
(()
=>
{
this
.
isShowPrint
=
true
}).
catch
(()
=>
{
// this.$store.dispatch('tagsView/delVisitedView')
this
.
$message
.
success
(
'
入仓成功
'
)
})
...
...
src/views/system/needKnow/index.vue
0 → 100644
View file @
ed168d68
This diff is collapsed.
Click to expand it.
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