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
4711720c
Commit
4711720c
authored
Mar 04, 2025
by
zs嵩
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
批量费用申请
parent
37897ac3
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
1248 additions
and
640 deletions
+1248
-640
index.js
src/router/index.js
+269
-248
batchMarkup.vue
src/views/ecw/box/batchMarkup.vue
+14
-6
batchMarkupComList.vue
src/views/ecw/box/batchMarkupComList.vue
+1
-1
feeApplication.vue
src/views/ecw/order/feeApplication.vue
+108
-220
batchMarkupComList.vue
...iews/ecw/order/feeApplicationBatch/batchMarkupComList.vue
+348
-0
index.vue
src/views/ecw/order/feeApplicationBatch/index.vue
+447
-0
index.vue
src/views/ecw/order/index.vue
+61
-165
No files found.
src/router/index.js
View file @
4711720c
import
Vue
from
'
vue
'
import
Vue
from
"
vue
"
import
Router
from
'
vue-router
'
import
Router
from
"
vue-router
"
/* Layout */
/* Layout */
import
Layout
from
'
@/layout
'
import
Layout
from
"
@/layout
"
Vue
.
use
(
Router
)
Vue
.
use
(
Router
)
/**
/**
...
@@ -26,178 +26,198 @@ Vue.use(Router)
...
@@ -26,178 +26,198 @@ Vue.use(Router)
// 公共路由
// 公共路由
export
const
constantRoutes
=
[
export
const
constantRoutes
=
[
{
{
path
:
'
/redirect
'
,
path
:
"
/redirect
"
,
component
:
Layout
,
component
:
Layout
,
hidden
:
true
,
hidden
:
true
,
children
:
[
children
:
[
{
{
path
:
'
/redirect/:path(.*)
'
,
path
:
"
/redirect/:path(.*)
"
,
component
:
(
resolve
)
=>
require
([
'
@/views/redirect
'
],
resolve
)
component
:
(
resolve
)
=>
require
([
"
@/views/redirect
"
],
resolve
)
}
}
]
]
},
},
{
{
path
:
'
/login
'
,
path
:
"
/login
"
,
component
:
(
resolve
)
=>
require
([
'
@/views/login
'
],
resolve
),
component
:
(
resolve
)
=>
require
([
"
@/views/login
"
],
resolve
),
hidden
:
true
hidden
:
true
},
},
{
{
path
:
'
/social-login
'
,
path
:
"
/social-login
"
,
component
:
(
resolve
)
=>
require
([
'
@/views/socialLogin
'
],
resolve
),
component
:
(
resolve
)
=>
require
([
"
@/views/socialLogin
"
],
resolve
),
hidden
:
true
hidden
:
true
},
},
{
{
path
:
'
/404
'
,
path
:
"
/404
"
,
component
:
(
resolve
)
=>
require
([
'
@/views/error/404
'
],
resolve
),
component
:
(
resolve
)
=>
require
([
"
@/views/error/404
"
],
resolve
),
hidden
:
true
hidden
:
true
},
},
{
{
path
:
'
/401
'
,
path
:
"
/401
"
,
component
:
(
resolve
)
=>
require
([
'
@/views/error/401
'
],
resolve
),
component
:
(
resolve
)
=>
require
([
"
@/views/error/401
"
],
resolve
),
hidden
:
true
hidden
:
true
},
},
{
{
path
:
''
,
path
:
""
,
component
:
Layout
,
component
:
Layout
,
redirect
:
'
index
'
,
redirect
:
"
index
"
,
children
:
[{
children
:
[
path
:
'
index
'
,
{
component
:
(
resolve
)
=>
require
([
'
@/views/index
'
],
resolve
),
path
:
"
index
"
,
name
:
'
首页
'
,
component
:
(
resolve
)
=>
require
([
"
@/views/index
"
],
resolve
),
nameEn
:
'
Home
'
,
name
:
"
首页
"
,
meta
:
{
title
:
'
首页
'
,
titleEn
:
'
Home
'
,
icon
:
'
dashboard
'
,
affix
:
true
}
nameEn
:
"
Home
"
,
meta
:
{
title
:
"
首页
"
,
titleEn
:
"
Home
"
,
icon
:
"
dashboard
"
,
affix
:
true
}
}
}
]
]
},
{
},
path
:
'
/user
'
,
{
path
:
"
/user
"
,
component
:
Layout
,
component
:
Layout
,
hidden
:
true
,
hidden
:
true
,
redirect
:
'
noredirect
'
,
redirect
:
"
noredirect
"
,
children
:
[{
children
:
[
path
:
'
profile
'
,
{
component
:
(
resolve
)
=>
require
([
'
@/views/system/user/profile/index
'
],
resolve
),
path
:
"
profile
"
,
name
:
'
Profile
'
,
component
:
(
resolve
)
=>
require
([
"
@/views/system/user/profile/index
"
],
resolve
),
meta
:
{
title
:
'
个人中心
'
,
titleEn
:
'
Profile
'
,
icon
:
'
user
'
}
name
:
"
Profile
"
,
meta
:
{
title
:
"
个人中心
"
,
titleEn
:
"
Profile
"
,
icon
:
"
user
"
}
}
}
]
]
},
{
},
path
:
'
/dict
'
,
{
path
:
"
/dict
"
,
component
:
Layout
,
component
:
Layout
,
hidden
:
true
,
hidden
:
true
,
children
:
[{
children
:
[
path
:
'
type/data/:dictId(
\\
d+)
'
,
{
component
:
(
resolve
)
=>
require
([
'
@/views/system/dict/data
'
],
resolve
),
path
:
"
type/data/:dictId(
\\
d+)
"
,
name
:
'
Data
'
,
component
:
(
resolve
)
=>
require
([
"
@/views/system/dict/data
"
],
resolve
),
meta
:
{
title
:
'
字典数据
'
,
icon
:
''
,
activeMenu
:
'
/system/dict
'
}
name
:
"
Data
"
,
meta
:
{
title
:
"
字典数据
"
,
icon
:
""
,
activeMenu
:
"
/system/dict
"
}
}
}
]
]
},
{
},
path
:
'
/job
'
,
{
path
:
"
/job
"
,
component
:
Layout
,
component
:
Layout
,
hidden
:
true
,
hidden
:
true
,
children
:
[{
children
:
[
path
:
'
log
'
,
{
component
:
(
resolve
)
=>
require
([
'
@/views/infra/job/log
'
],
resolve
),
path
:
"
log
"
,
name
:
'
JobLog
'
,
component
:
(
resolve
)
=>
require
([
"
@/views/infra/job/log
"
],
resolve
),
meta
:
{
title
:
'
调度日志
'
,
activeMenu
:
'
/infra/job
'
}
name
:
"
JobLog
"
,
meta
:
{
title
:
"
调度日志
"
,
activeMenu
:
"
/infra/job
"
}
}
}
]
]
},
{
},
path
:
'
/codegen
'
,
{
path
:
"
/codegen
"
,
component
:
Layout
,
component
:
Layout
,
hidden
:
true
,
hidden
:
true
,
children
:
[{
children
:
[
path
:
'
edit/:tableId(
\\
d+)
'
,
{
component
:
(
resolve
)
=>
require
([
'
@/views/infra/codegen/editTable
'
],
resolve
),
path
:
"
edit/:tableId(
\\
d+)
"
,
name
:
'
GenEdit
'
,
component
:
(
resolve
)
=>
require
([
"
@/views/infra/codegen/editTable
"
],
resolve
),
meta
:
{
title
:
'
修改生成配置
'
,
activeMenu
:
'
/infra/codegen
'
}
name
:
"
GenEdit
"
,
meta
:
{
title
:
"
修改生成配置
"
,
activeMenu
:
"
/infra/codegen
"
}
}
}
]
]
},
{
},
path
:
'
/bpm
'
,
{
path
:
"
/bpm
"
,
component
:
Layout
,
component
:
Layout
,
hidden
:
true
,
hidden
:
true
,
redirect
:
'
noredirect
'
,
redirect
:
"
noredirect
"
,
children
:
[{
children
:
[
path
:
'
oa/leave/create
'
,
{
component
:
(
resolve
)
=>
require
([
'
@/views/bpm/oa/leave/create
'
],
resolve
),
path
:
"
oa/leave/create
"
,
name
:
'
发起 OA 请假
'
,
component
:
(
resolve
)
=>
require
([
"
@/views/bpm/oa/leave/create
"
],
resolve
),
meta
:
{
title
:
'
发起 OA 请假
'
,
icon
:
'
form
'
,
activeMenu
:
'
/bpm/oa/leave
'
}
name
:
"
发起 OA 请假
"
,
},
{
meta
:
{
title
:
"
发起 OA 请假
"
,
icon
:
"
form
"
,
activeMenu
:
"
/bpm/oa/leave
"
}
path
:
'
oa/leave/detail
'
,
},
component
:
(
resolve
)
=>
require
([
'
@/views/bpm/oa/leave/detail
'
],
resolve
),
{
name
:
'
查看 OA 请假
'
,
path
:
"
oa/leave/detail
"
,
meta
:
{
title
:
'
查看 OA 请假
'
,
icon
:
'
view
'
,
activeMenu
:
'
/bpm/oa/leave
'
}
component
:
(
resolve
)
=>
require
([
"
@/views/bpm/oa/leave/detail
"
],
resolve
),
name
:
"
查看 OA 请假
"
,
meta
:
{
title
:
"
查看 OA 请假
"
,
icon
:
"
view
"
,
activeMenu
:
"
/bpm/oa/leave
"
}
}
}
]
]
},
{
},
path
:
'
/bpm
'
,
{
path
:
"
/bpm
"
,
component
:
Layout
,
component
:
Layout
,
hidden
:
true
,
hidden
:
true
,
children
:
[{
children
:
[
path
:
'
manager/form/edit
'
,
{
component
:
(
resolve
)
=>
require
([
'
@/views/bpm/form/formEditor
'
],
resolve
),
path
:
"
manager/form/edit
"
,
name
:
'
流程表单-编辑
'
,
component
:
(
resolve
)
=>
require
([
"
@/views/bpm/form/formEditor
"
],
resolve
),
meta
:
{
title
:
'
流程表单-编辑
'
,
activeMenu
:
'
/bpm/manager/form
'
}
name
:
"
流程表单-编辑
"
,
},
{
meta
:
{
title
:
"
流程表单-编辑
"
,
activeMenu
:
"
/bpm/manager/form
"
}
path
:
'
manager/definition
'
,
},
component
:
(
resolve
)
=>
require
([
'
@/views/bpm/definition/index
'
],
resolve
),
{
name
:
'
流程定义
'
,
path
:
"
manager/definition
"
,
meta
:
{
title
:
'
流程定义
'
,
activeMenu
:
'
/bpm/manager/model
'
}
component
:
(
resolve
)
=>
require
([
"
@/views/bpm/definition/index
"
],
resolve
),
},
{
name
:
"
流程定义
"
,
path
:
'
manager/model/design
'
,
meta
:
{
title
:
"
流程定义
"
,
activeMenu
:
"
/bpm/manager/model
"
}
component
:
(
resolve
)
=>
require
([
'
@/views/bpm/model/modelEditor
'
],
resolve
),
},
name
:
'
设计流程
'
,
{
meta
:
{
title
:
'
设计流程
'
,
activeMenu
:
'
/bpm/manager/model
'
}
path
:
"
manager/model/design
"
,
},
{
component
:
(
resolve
)
=>
require
([
"
@/views/bpm/model/modelEditor
"
],
resolve
),
path
:
'
process-instance/create
'
,
name
:
"
设计流程
"
,
component
:
(
resolve
)
=>
require
([
'
@/views/bpm/processInstance/create
'
],
resolve
),
meta
:
{
title
:
"
设计流程
"
,
activeMenu
:
"
/bpm/manager/model
"
}
name
:
'
发起流程
'
,
},
meta
:
{
title
:
'
发起流程
'
,
activeMenu
:
'
/bpm/task/my
'
}
{
},
{
path
:
"
process-instance/create
"
,
path
:
'
process-instance/detail
'
,
component
:
(
resolve
)
=>
require
([
"
@/views/bpm/processInstance/create
"
],
resolve
),
component
:
(
resolve
)
=>
require
([
'
@/views/bpm/processInstance/detail
'
],
resolve
),
name
:
"
发起流程
"
,
name
:
'
Flow details
'
,
meta
:
{
title
:
"
发起流程
"
,
activeMenu
:
"
/bpm/task/my
"
}
meta
:
{
title
:
'
流程详情
'
,
titleEn
:
'
Flow details
'
,
activeMenu
:
'
/bpm/task/my
'
}
},
{
path
:
"
process-instance/detail
"
,
component
:
(
resolve
)
=>
require
([
"
@/views/bpm/processInstance/detail
"
],
resolve
),
name
:
"
Flow details
"
,
meta
:
{
title
:
"
流程详情
"
,
titleEn
:
"
Flow details
"
,
activeMenu
:
"
/bpm/task/my
"
}
},
},
{
{
//lanbm 2024-06-07 add
//lanbm 2024-06-07 add
path
:
'
process-instance/detail2
'
,
path
:
"
process-instance/detail2
"
,
component
:
(
resolve
)
=>
require
([
'
@/views/bpm/processInstance/detail2
'
],
resolve
),
component
:
(
resolve
)
=>
require
([
"
@/views/bpm/processInstance/detail2
"
],
resolve
),
name
:
'
Flow details2
'
,
name
:
"
Flow details2
"
,
meta
:
{
title
:
'
流程详情
'
,
titleEn
:
'
Flow details
'
,
activeMenu
:
'
/bpm/task/my
'
}
meta
:
{
title
:
"
流程详情
"
,
titleEn
:
"
Flow details
"
,
activeMenu
:
"
/bpm/task/my
"
}
}
}
]
]
},
},
{
{
path
:
'
/deptTarget
'
,
path
:
"
/deptTarget
"
,
component
:
Layout
,
component
:
Layout
,
hidden
:
true
,
hidden
:
true
,
redirect
:
'
noredirect
'
,
redirect
:
"
noredirect
"
,
children
:
[
{
children
:
[
path
:
'
empAchievement
'
,
{
component
:
(
resolve
)
=>
require
([
'
@/views/ecw/deptTarget/empAchievement
'
],
resolve
),
path
:
"
empAchievement
"
,
name
:
'
员工业绩
'
,
component
:
(
resolve
)
=>
require
([
"
@/views/ecw/deptTarget/empAchievement
"
],
resolve
),
meta
:
{
title
:
'
员工业绩
'
,
titleEn
:
'
Emp Achievement
'
,
activeMenu
:
'
/deptTarget/index
'
}
name
:
"
员工业绩
"
,
},
meta
:
{
title
:
"
员工业绩
"
,
titleEn
:
"
Emp Achievement
"
,
activeMenu
:
"
/deptTarget/index
"
}
{
},
path
:
'
myDeptAchievement
'
,
{
component
:
(
resolve
)
=>
require
([
'
@/views/ecw/deptTarget/myDeptAchievement
'
],
resolve
),
path
:
"
myDeptAchievement
"
,
name
:
'
我的部门业绩
'
,
component
:
(
resolve
)
=>
require
([
"
@/views/ecw/deptTarget/myDeptAchievement
"
],
resolve
),
meta
:
{
title
:
'
我的部门业绩
'
,
titleEn
:
'
My dept Achievement
'
,
activeMenu
:
'
/deptTarget/myDeptAchievement
'
}
name
:
"
我的部门业绩
"
,
meta
:
{
title
:
"
我的部门业绩
"
,
titleEn
:
"
My dept Achievement
"
,
activeMenu
:
"
/deptTarget/myDeptAchievement
"
}
}
}
]
]
},
},
{
{
path
:
'
/node
'
,
path
:
"
/node
"
,
component
:
Layout
,
component
:
Layout
,
hidden
:
true
,
hidden
:
true
,
redirect
:
'
noredirect
'
,
redirect
:
"
noredirect
"
,
children
:
[{
children
:
[
path
:
'
warehouse-list
'
,
{
component
:
(
resolve
)
=>
require
([
'
@/views/ecw/warehouse/index
'
],
resolve
),
path
:
"
warehouse-list
"
,
name
:
'
WarehouseList
'
,
component
:
(
resolve
)
=>
require
([
"
@/views/ecw/warehouse/index
"
],
resolve
),
meta
:
{
title
:
'
网点仓库
'
,
activeMenu
:
'
/warehouse/node
'
}
name
:
"
WarehouseList
"
,
meta
:
{
title
:
"
网点仓库
"
,
activeMenu
:
"
/warehouse/node
"
}
}
}
]
]
},
},
...
@@ -215,17 +235,17 @@ export const constantRoutes = [
...
@@ -215,17 +235,17 @@ export const constantRoutes = [
// ]
// ]
// },
// },
{
{
path
:
'
/product
'
,
path
:
"
/product
"
,
component
:
Layout
,
component
:
Layout
,
hidden
:
true
,
hidden
:
true
,
redirect
:
'
noredirect
'
,
redirect
:
"
noredirect
"
,
children
:
[{
children
:
[
path
:
'
product-price
'
,
{
component
:
(
resolve
)
=>
require
([
'
@/views/ecw/productPrice/index
'
],
resolve
),
path
:
"
product-price
"
,
name
:
'
ProductPrice
'
,
component
:
(
resolve
)
=>
require
([
"
@/views/ecw/productPrice/index
"
],
resolve
),
meta
:
{
title
:
'
价格列表
'
,
activeMenu
:
'
/product/product-list
'
,
componentPath
:
'
/ecw/productprice/index
'
}
name
:
"
ProductPrice
"
,
meta
:
{
title
:
"
价格列表
"
,
activeMenu
:
"
/product/product-list
"
,
componentPath
:
"
/ecw/productprice/index
"
}
}
}
]
]
},
},
...
@@ -244,32 +264,32 @@ export const constantRoutes = [
...
@@ -244,32 +264,32 @@ export const constantRoutes = [
// ]
// ]
// },
// },
{
{
path
:
'
/shelf
'
,
path
:
"
/shelf
"
,
component
:
Layout
,
component
:
Layout
,
hidden
:
true
,
hidden
:
true
,
redirect
:
'
noredirect
'
,
redirect
:
"
noredirect
"
,
children
:
[{
children
:
[
path
:
'
grid
'
,
{
component
:
(
resolve
)
=>
require
([
'
@/views/ecw/shelfGrid/index
'
],
resolve
),
path
:
"
grid
"
,
name
:
'
ShelfGrid
'
,
component
:
(
resolve
)
=>
require
([
"
@/views/ecw/shelfGrid/index
"
],
resolve
),
meta
:
{
title
:
'
货架设置
'
,
activeMenu
:
'
/warehouse/shelf
'
}
name
:
"
ShelfGrid
"
,
meta
:
{
title
:
"
货架设置
"
,
activeMenu
:
"
/warehouse/shelf
"
}
}
}
]
]
},
},
{
{
path
:
'
/customer
'
,
path
:
"
/customer
"
,
component
:
Layout
,
component
:
Layout
,
hidden
:
true
,
hidden
:
true
,
redirect
:
'
noredirect
'
,
redirect
:
"
noredirect
"
,
children
:
[
children
:
[
{
{
path
:
'
/customerCommissionInfo/:dictId(
\\
d+)/:id(
\\
d+)?
'
,
path
:
"
/customerCommissionInfo/:dictId(
\\
d+)/:id(
\\
d+)?
"
,
component
:
(
resolve
)
=>
require
([
'
@/views/ecw/customerCommissionInfo/index
'
],
resolve
),
component
:
(
resolve
)
=>
require
([
"
@/views/ecw/customerCommissionInfo/index
"
],
resolve
),
name
:
'
customerCommissionInfo
'
,
name
:
"
customerCommissionInfo
"
,
meta
:
{
title
:
'
佣金设置
'
,
titleEn
:
'
Commission settings
'
,
icon
:
''
,
activeMenu
:
'
/customer/customerCommissionInfo
'
},
meta
:
{
title
:
"
佣金设置
"
,
titleEn
:
"
Commission settings
"
,
icon
:
""
,
activeMenu
:
"
/customer/customerCommissionInfo
"
},
props
:
true
,
props
:
true
},
},
// {
// {
// path: 'edit/:customerId(\\d+)',
// path: 'edit/:customerId(\\d+)',
...
@@ -279,11 +299,11 @@ export const constantRoutes = [
...
@@ -279,11 +299,11 @@ export const constantRoutes = [
// meta: {title:'编辑客户',titleEn:'Edit Customer', icon: ''}
// meta: {title:'编辑客户',titleEn:'Edit Customer', icon: ''}
// },
// },
{
{
path
:
'
edit-distribution/:customerId(
\\
d+)
'
,
path
:
"
edit-distribution/:customerId(
\\
d+)
"
,
component
:
(
resolve
)
=>
import
(
'
@/views/ecw/customer/edit
'
),
component
:
(
resolve
)
=>
import
(
"
@/views/ecw/customer/edit
"
),
props
:
true
,
props
:
true
,
name
:
'
allocatedCustomerEdit
'
,
name
:
"
allocatedCustomerEdit
"
,
meta
:
{
title
:
'
编辑客户
'
,
titleEn
:
'
Edit Customer
'
,
icon
:
''
}
meta
:
{
title
:
"
编辑客户
"
,
titleEn
:
"
Edit Customer
"
,
icon
:
""
}
},
},
// {
// {
// path: 'add-edit/:customerId(\\d+)',
// path: 'add-edit/:customerId(\\d+)',
...
@@ -293,12 +313,12 @@ export const constantRoutes = [
...
@@ -293,12 +313,12 @@ export const constantRoutes = [
// meta: {title: '新建客户',titleEn:'New customer', icon: ''}
// meta: {title: '新建客户',titleEn:'New customer', icon: ''}
// },
// },
{
{
path
:
'
perfect/:customerId(
\\
d+)
'
,
path
:
"
perfect/:customerId(
\\
d+)
"
,
component
:
(
resolve
)
=>
import
(
'
@/views/ecw/customer/edit
'
),
component
:
(
resolve
)
=>
import
(
"
@/views/ecw/customer/edit
"
),
props
:
true
,
props
:
true
,
name
:
'
perfect
'
,
name
:
"
perfect
"
,
meta
:
{
title
:
'
完善客户
'
,
titleEn
:
'
Perfect customers
'
,
icon
:
''
}
meta
:
{
title
:
"
完善客户
"
,
titleEn
:
"
Perfect customers
"
,
icon
:
""
}
}
,
}
// {
// {
// path: 'query/:customerId(\\d+)',
// path: 'query/:customerId(\\d+)',
// component: (resolve) => import('@/views/ecw/customer/query'),
// component: (resolve) => import('@/views/ecw/customer/query'),
...
@@ -309,17 +329,17 @@ export const constantRoutes = [
...
@@ -309,17 +329,17 @@ export const constantRoutes = [
]
]
},
},
{
{
path
:
'
/order
'
,
path
:
"
/order
"
,
component
:
Layout
,
component
:
Layout
,
hidden
:
true
,
hidden
:
true
,
redirect
:
'
noredirect
'
,
redirect
:
"
noredirect
"
,
children
:
[
children
:
[
{
{
path
:
'
special/:orderId(
\\
d+)
'
,
path
:
"
special/:orderId(
\\
d+)
"
,
component
:
(
resolve
)
=>
import
(
'
@/views/ecw/order/special
'
),
component
:
(
resolve
)
=>
import
(
"
@/views/ecw/order/special
"
),
props
:
true
,
props
:
true
,
name
:
'
order-special
'
,
name
:
"
order-special
"
,
meta
:
{
title
:
'
订单特价申请
'
,
titleEn
:
'
Order special price application
'
,
icon
:
''
,
activeMenu
:
'
/order/index
'
}
meta
:
{
title
:
"
订单特价申请
"
,
titleEn
:
"
Order special price application
"
,
icon
:
""
,
activeMenu
:
"
/order/index
"
}
},
},
/* {
/* {
path: 'discount/:orderItemId(\\d+)',
path: 'discount/:orderItemId(\\d+)',
...
@@ -358,173 +378,174 @@ export const constantRoutes = [
...
@@ -358,173 +378,174 @@ export const constantRoutes = [
},
},
*/
*/
{
{
path
:
'
associated-order/:orderId(
\\
d+)
'
,
path
:
"
associated-order/:orderId(
\\
d+)
"
,
component
:
(
resolve
)
=>
require
([
'
@/views/ecw/order/associatedOrder
'
],
resolve
),
component
:
(
resolve
)
=>
require
([
"
@/views/ecw/order/associatedOrder
"
],
resolve
),
props
:
true
,
props
:
true
,
name
:
'
associatedOrder
'
,
name
:
"
associatedOrder
"
,
meta
:
{
title
:
'
关联订单
'
,
titleEn
:
'
Associated order
'
,
icon
:
''
,
activeMenu
:
'
/order/associatedOrder
'
,
noCache
:
true
,
}
meta
:
{
title
:
"
关联订单
"
,
titleEn
:
"
Associated order
"
,
icon
:
""
,
activeMenu
:
"
/order/associatedOrder
"
,
noCache
:
true
}
},
},
{
{
path
:
'
add-associated-order/:orderId(
\\
d+)
'
,
path
:
"
add-associated-order/:orderId(
\\
d+)
"
,
component
:
(
resolve
)
=>
require
([
'
@/views/ecw/order/addAssociatedOrder
'
],
resolve
),
component
:
(
resolve
)
=>
require
([
"
@/views/ecw/order/addAssociatedOrder
"
],
resolve
),
props
:
true
,
props
:
true
,
name
:
'
addAssociatedOrder
'
,
name
:
"
addAssociatedOrder
"
,
meta
:{
meta
:
{
title
:
'
添加关联订单
'
,
title
:
"
添加关联订单
"
,
titleEn
:
'
Add associated order
'
,
titleEn
:
"
Add associated order
"
,
icon
:
''
,
icon
:
""
,
activeMenu
:
'
/order/addAssociatedOrder
'
,
activeMenu
:
"
/order/addAssociatedOrder
"
,
noCache
:
true
,
noCache
:
true
}
}
},
},
{
{
path
:
'
mutex-order/:orderId
'
,
path
:
"
mutex-order/:orderId
"
,
component
:
()
=>
import
(
'
@/views/ecw/order/mutexOrder
'
),
component
:
()
=>
import
(
"
@/views/ecw/order/mutexOrder
"
),
name
:
'
mutexOrder
'
,
name
:
"
mutexOrder
"
,
props
:
true
,
props
:
true
,
meta
:
{
meta
:
{
title
:
'
订单互斥
'
,
title
:
"
订单互斥
"
,
titleEn
:
'
Orders are mutually exclusive
'
,
titleEn
:
"
Orders are mutually exclusive
"
,
icon
:
''
,
icon
:
""
,
activeMenu
:
'
/order/mutexOrder
'
,
activeMenu
:
"
/order/mutexOrder
"
,
noCache
:
true
,
noCache
:
true
}
}
},{
},
path
:
'
not-mutex-order/:orderId
'
,
{
component
:()
=>
import
(
'
@/views/ecw/order/notMutexOrder
'
),
path
:
"
not-mutex-order/:orderId
"
,
name
:
'
notMutexOrder
'
,
component
:
()
=>
import
(
"
@/views/ecw/order/notMutexOrder
"
),
name
:
"
notMutexOrder
"
,
props
:
true
,
props
:
true
,
meta
:{
meta
:
{
title
:
'
未加入互斥
'
,
title
:
"
未加入互斥
"
,
titleEn
:
'
Mutual exclusion is not added
'
,
titleEn
:
"
Mutual exclusion is not added
"
,
icon
:
''
,
icon
:
""
,
activeMenu
:
'
/order/notMutexOrder
'
,
activeMenu
:
"
/order/notMutexOrder
"
,
noCache
:
true
,
noCache
:
true
}
}
},
},
{
{
path
:
'
transfer-warehousing/:orderId/:type
'
,
path
:
"
transfer-warehousing/:orderId/:type
"
,
component
:
()
=>
import
(
'
@/views/ecw/order/transferWarehousing
'
),
component
:
()
=>
import
(
"
@/views/ecw/order/transferWarehousing
"
),
name
:
'
transferWarehousing
'
,
name
:
"
transferWarehousing
"
,
props
:
true
,
props
:
true
,
meta
:{
meta
:
{
title
:
'
调拨出仓
'
,
title
:
"
调拨出仓
"
,
titleEn
:
'
Transfer out of warehouse
'
,
titleEn
:
"
Transfer out of warehouse
"
,
icon
:
''
,
icon
:
""
,
activeMenu
:
'
order/transferWarehousing
'
,
activeMenu
:
"
order/transferWarehousing
"
,
noCache
:
true
,
noCache
:
true
}
}
},
},
{
{
path
:
'
transfer-to-warehouse/:orderId/:type
'
,
path
:
"
transfer-to-warehouse/:orderId/:type
"
,
component
:
()
=>
import
(
'
@/views/ecw/order/transferWarehousing
'
),
component
:
()
=>
import
(
"
@/views/ecw/order/transferWarehousing
"
),
name
:
'
transferToWarehouse
'
,
name
:
"
transferToWarehouse
"
,
props
:
true
,
props
:
true
,
meta
:{
meta
:
{
title
:
'
调拨到仓
'
,
title
:
"
调拨到仓
"
,
titleEn
:
'
Transfer to warehouse
'
,
titleEn
:
"
Transfer to warehouse
"
,
icon
:
''
,
icon
:
""
,
activeMenu
:
'
order/transferToWarehouse
'
,
activeMenu
:
"
order/transferToWarehouse
"
,
noCache
:
true
,
noCache
:
true
}
}
}
}
]
,
]
},
},
{
{
path
:
'
/boxSea
'
,
path
:
"
/boxSea
"
,
component
:
Layout
,
component
:
Layout
,
hidden
:
true
,
hidden
:
true
,
redirect
:
'
noredirect
'
,
redirect
:
"
noredirect
"
,
children
:
[
children
:
[
{
{
path
:
'
query/:shipmentId(
\\
d+)
'
,
path
:
"
query/:shipmentId(
\\
d+)
"
,
component
:
(
resolve
)
=>
import
(
'
@/views/ecw/box/query
'
),
component
:
(
resolve
)
=>
import
(
"
@/views/ecw/box/query
"
),
props
:
true
,
props
:
true
,
name
:
'
shippingDetail
'
,
name
:
"
shippingDetail
"
,
meta
:
{
meta
:
{
titleZh
:
'
出货详情
'
,
titleZh
:
"
出货详情
"
,
titleEn
:
"
Shipping Details
"
,
titleEn
:
"
Shipping Details
"
,
icon
:
''
,
icon
:
""
,
activeMenu
:
'
/shipment/boxDetail
'
,
activeMenu
:
"
/shipment/boxDetail
"
,
componentPath
:
'
ecw/box/query
'
componentPath
:
"
ecw/box/query
"
}
}
},
},
{
{
path
:
'
shippingSea/:shipmentId(
\\
d+)
'
,
path
:
"
shippingSea/:shipmentId(
\\
d+)
"
,
component
:
(
resolve
)
=>
import
(
'
@/views/ecw/box/shippingSea/shippingSea
'
),
component
:
(
resolve
)
=>
import
(
"
@/views/ecw/box/shippingSea/shippingSea
"
),
props
:
true
,
props
:
true
,
name
:
'
shippingSea
'
,
name
:
"
shippingSea
"
,
meta
:
{
titleZh
:
'
海运出货操作
'
,
titleEn
:
"
Ocean shipment operation
"
,
icon
:
''
,
activeMenu
:
'
/shipment/boxSea
'
}
meta
:
{
titleZh
:
"
海运出货操作
"
,
titleEn
:
"
Ocean shipment operation
"
,
icon
:
""
,
activeMenu
:
"
/shipment/boxSea
"
}
}
}
]
]
},
},
{
{
path
:
'
/boxSeaAir
'
,
path
:
"
/boxSeaAir
"
,
component
:
Layout
,
component
:
Layout
,
hidden
:
true
,
hidden
:
true
,
redirect
:
'
noredirect
'
,
redirect
:
"
noredirect
"
,
children
:
[
children
:
[
{
{
path
:
'
query/:shipmentId(
\\
d+)
'
,
path
:
"
query/:shipmentId(
\\
d+)
"
,
component
:
(
resolve
)
=>
import
(
'
@/views/ecw/box/query
'
),
component
:
(
resolve
)
=>
import
(
"
@/views/ecw/box/query
"
),
props
:
true
,
props
:
true
,
name
:
'
shippingDetail
'
,
name
:
"
shippingDetail
"
,
meta
:
{
titleZh
:
'
出货详情
'
,
titleEn
:
"
Shipping Details
"
,
icon
:
''
,
activeMenu
:
'
/shipment/boxDetail
'
}
meta
:
{
titleZh
:
"
出货详情
"
,
titleEn
:
"
Shipping Details
"
,
icon
:
""
,
activeMenu
:
"
/shipment/boxDetail
"
}
},
},
{
{
path
:
'
shippingSeaAir/:shipmentId(
\\
d+)
'
,
path
:
"
shippingSeaAir/:shipmentId(
\\
d+)
"
,
component
:
(
resolve
)
=>
import
(
'
@/views/ecw/box/shippingSeaAir/shippingSeaAir
'
),
component
:
(
resolve
)
=>
import
(
"
@/views/ecw/box/shippingSeaAir/shippingSeaAir
"
),
props
:
true
,
props
:
true
,
name
:
'
shippingSeaAir
'
,
name
:
"
shippingSeaAir
"
,
meta
:
{
titleZh
:
'
海空联运出货操作
'
,
titleEn
:
"
Sea and Air Combined Shipping Operation
"
,
icon
:
''
,
activeMenu
:
'
/shipment/boxSeaAir
'
}
meta
:
{
titleZh
:
"
海空联运出货操作
"
,
titleEn
:
"
Sea and Air Combined Shipping Operation
"
,
icon
:
""
,
activeMenu
:
"
/shipment/boxSeaAir
"
}
}
}
]
]
},
},
{
{
path
:
'
/boxAir
'
,
path
:
"
/boxAir
"
,
component
:
Layout
,
component
:
Layout
,
hidden
:
true
,
hidden
:
true
,
redirect
:
'
noredirect
'
,
redirect
:
"
noredirect
"
,
children
:
[
children
:
[
{
{
path
:
'
query/:shipmentId(
\\
d+)
'
,
path
:
"
query/:shipmentId(
\\
d+)
"
,
component
:
(
resolve
)
=>
import
(
'
@/views/ecw/box/queryAir
'
),
component
:
(
resolve
)
=>
import
(
"
@/views/ecw/box/queryAir
"
),
props
:
true
,
props
:
true
,
name
:
'
shippingDetail
'
,
name
:
"
shippingDetail
"
,
meta
:
{
meta
:
{
titleZh
:
'
出货详情
'
,
titleZh
:
"
出货详情
"
,
titleEn
:
"
Shipping Details
"
,
titleEn
:
"
Shipping Details
"
,
icon
:
''
,
icon
:
""
,
activeMenu
:
'
/shipment/boxDetail
'
,
activeMenu
:
"
/shipment/boxDetail
"
,
componentPath
:
'
ecw/box/queryAir
'
componentPath
:
"
ecw/box/queryAir
"
}
}
},
},
{
{
path
:
'
shippingAir/:shipmentId(
\\
d+)
'
,
path
:
"
shippingAir/:shipmentId(
\\
d+)
"
,
component
:
(
resolve
)
=>
import
(
'
@/views/ecw/box/shippingAir/shippingAir
'
),
component
:
(
resolve
)
=>
import
(
"
@/views/ecw/box/shippingAir/shippingAir
"
),
props
:
true
,
props
:
true
,
name
:
'
shippingAir
'
,
name
:
"
shippingAir
"
,
meta
:
{
titleZh
:
'
空运出货操作
'
,
titleEn
:
"
Ocean shipment operation
"
,
icon
:
''
,
activeMenu
:
'
/shipment/boxAir
'
}
meta
:
{
titleZh
:
"
空运出货操作
"
,
titleEn
:
"
Ocean shipment operation
"
,
icon
:
""
,
activeMenu
:
"
/shipment/boxAir
"
}
},
},
{
{
path
:
'
batch_markup
'
,
path
:
"
batch_markup
"
,
component
:
(
resolve
)
=>
import
(
'
@/views/ecw/box/batchMarkup
'
),
component
:
(
resolve
)
=>
import
(
"
@/views/ecw/box/batchMarkup
"
),
name
:
'
batchMarkup
'
,
name
:
"
batchMarkup
"
,
meta
:
{
titleZh
:
'
批量加价
'
,
titleEn
:
"
Batch Markup
"
,
icon
:
''
,
activeMenu
:
'
/boxSeaAir
'
}
meta
:
{
titleZh
:
"
批量加价
"
,
titleEn
:
"
Batch Markup
"
,
icon
:
""
,
activeMenu
:
"
/boxSeaAir
"
}
}
}
]
]
}
,
}
]
]
// 防止连续点击多次路由报错
// 防止连续点击多次路由报错
let
routerPush
=
Router
.
prototype
.
push
;
let
routerPush
=
Router
.
prototype
.
push
Router
.
prototype
.
push
=
function
push
(
location
)
{
Router
.
prototype
.
push
=
function
push
(
location
)
{
return
routerPush
.
call
(
this
,
location
).
catch
(
err
=>
err
)
return
routerPush
.
call
(
this
,
location
).
catch
(
(
err
)
=>
err
)
}
}
export
default
new
Router
({
export
default
new
Router
({
base
:
process
.
env
.
VUE_APP_APP_NAME
?
process
.
env
.
VUE_APP_APP_NAME
:
"
/
"
,
base
:
process
.
env
.
VUE_APP_APP_NAME
?
process
.
env
.
VUE_APP_APP_NAME
:
"
/
"
,
mode
:
'
hash
'
,
// 去掉url中的#
mode
:
"
hash
"
,
// 去掉url中的#
scrollBehavior
:
()
=>
({
y
:
0
}),
scrollBehavior
:
()
=>
({
y
:
0
}),
routes
:
constantRoutes
routes
:
constantRoutes
})
})
src/views/ecw/box/batchMarkup.vue
View file @
4711720c
...
@@ -205,7 +205,7 @@
...
@@ -205,7 +205,7 @@
<el-button
type=
"default"
@
click=
"listOpen"
v-else
>
{{ $t("收起明细") }}
</el-button>
<el-button
type=
"default"
@
click=
"listOpen"
v-else
>
{{ $t("收起明细") }}
</el-button>
</div>
</div>
</div>
</div>
<el-table
v-loading=
"loading"
ref=
"orderTable"
border
:data=
"list || []"
@
selection-change=
"handleSelectionChange"
class=
"mt-10"
>
<el-table
v-loading=
"loading"
ref=
"orderTable"
border
:data=
"list || []"
@
selection-change=
"handleSelectionChange"
:row-style=
"rowStyle"
class=
"mt-10"
>
<el-table-column
type=
"selection"
width=
"50"
></el-table-column>
<el-table-column
type=
"selection"
width=
"50"
></el-table-column>
<el-table-column
:label=
"$t('序号')"
width=
"50"
type=
"index"
align=
"center"
/>
<el-table-column
:label=
"$t('序号')"
width=
"50"
type=
"index"
align=
"center"
/>
<el-table-column
prop=
"orderNo"
:label=
"$t('订单号')"
align=
"center"
width=
"150"
>
<el-table-column
prop=
"orderNo"
:label=
"$t('订单号')"
align=
"center"
width=
"150"
>
...
@@ -223,20 +223,20 @@
...
@@ -223,20 +223,20 @@
<router-link
:to=
"'/customer/query/' + row.consigneeCustomerId"
>
{{
row
.
consigneeCustomerNumber
}}
</router-link>
<router-link
:to=
"'/customer/query/' + row.consigneeCustomerId"
>
{{
row
.
consigneeCustomerNumber
}}
</router-link>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('始发仓/渠道-目的仓')"
align=
"center"
>
<el-table-column
:label=
"$t('始发仓/渠道-目的仓')"
align=
"center"
width=
"200"
>
<
template
v-slot=
"scope"
>
{{
scope
.
row
.
destAdjustToStartWarehouseName
}}
-
{{
scope
.
row
.
destAdjustToDestWarehouseName
}}
</
template
>
<
template
v-slot=
"scope"
>
{{
scope
.
row
.
destAdjustToStartWarehouseName
}}
-
{{
scope
.
row
.
destAdjustToDestWarehouseName
}}
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('额外费用')"
align=
"center"
width=
"15
0"
>
<el-table-column
:label=
"$t('额外费用')"
width=
"20
0"
>
<
template
slot-scope=
"{ row }"
>
<
template
slot-scope=
"{ row }"
>
<div
v-for=
"(item, feeIndex) in row.costVO.feeDtoList"
:key=
"feeIndex"
>
<div
v-for=
"(item, feeIndex) in row.costVO.feeDtoList"
:key=
"feeIndex"
>
<div
v-if=
"item.amount && item.feeType !== 1 && item.feeType !== 2"
><dict-tag
:type=
"DICT_TYPE.FEE_TYPE"
:value=
"item.feeType"
/>
:
{{
currencyMapF
[
item
.
currencyId
]
}}{{
item
.
amount
}}
</div>
<div
v-if=
"item.amount && item.feeType !== 1 && item.feeType !== 2"
><dict-tag
:type=
"DICT_TYPE.FEE_TYPE"
:value=
"item.feeType"
/>
:
{{
currencyMapF
[
item
.
currencyId
]
}}{{
item
.
amount
}}
</div>
</div>
</div>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('加价单价')"
align=
"center"
width=
"15
0"
>
<el-table-column
:label=
"$t('加价单价')"
width=
"20
0"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<div>
{{
$t
(
"
运费
"
)
}}
:
{{
form
.
freightFee
||
0
}}{{
currencyMap
[
form
.
freightCurrencyId
]
}}
/
{{
unitMap
[
form
.
freightUnitId
]
}}
</div>
<div>
{{
$t
(
"
运费
"
)
}}
:
{{
form
.
freightFee
||
0
}}{{
currencyMap
[
form
.
freightCurrencyId
]
}}
/
{{
unitMap
[
form
.
freightUnitId
]
}}
</div>
<div>
{{
$t
(
"
清关费
"
)
}}
:
{{
form
.
clearanceFee
||
0
}}{{
currencyMap
[
form
.
clearanceCurrencyId
]
}}
/
{{
unitMap
[
form
.
clearanceUnitId
]
}}
</div>
<div>
{{
$t
(
"
清关费
"
)
}}
:
{{
form
.
clearanceFee
||
0
}}{{
currencyMap
[
form
.
clearanceCurrencyId
]
}}
/
{{
unitMap
[
form
.
clearanceUnitId
]
}}
</div>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
prop=
"salesmanName"
:label=
"$t('客户经理')"
align=
"center"
></el-table-column>
<el-table-column
prop=
"salesmanName"
:label=
"$t('客户经理')"
align=
"center"
></el-table-column>
...
@@ -296,6 +296,7 @@ export default {
...
@@ -296,6 +296,7 @@ export default {
components
:
{
Template
,
selector
,
WorkFlow
,
batchMarkupComList
,
UserSelector
},
components
:
{
Template
,
selector
,
WorkFlow
,
batchMarkupComList
,
UserSelector
},
data
()
{
data
()
{
return
{
return
{
prodTypeList
:
[],
unitList
:
[],
unitList
:
[],
currencyList
:
[],
currencyList
:
[],
form
:
{
form
:
{
...
@@ -536,6 +537,13 @@ export default {
...
@@ -536,6 +537,13 @@ export default {
}
}
},
},
methods
:
{
methods
:
{
rowStyle
(
row
)
{
if
(
row
.
specialPriceType
)
{
return
{
background
:
"
#DBECFF
"
}
}
else
{
return
{}
}
},
listOpen
()
{
listOpen
()
{
this
.
isExpand
=
!
this
.
isExpand
this
.
isExpand
=
!
this
.
isExpand
this
.
$nextTick
(()
=>
{
this
.
$nextTick
(()
=>
{
...
...
src/views/ecw/box/batchMarkupComList.vue
View file @
4711720c
<
template
>
<
template
>
<div
style=
"padding: 20px; background: #f4f4f4; margin:
-10px 0 -10px 100px
"
>
<div
style=
"padding: 20px; background: #f4f4f4; margin:
0 20px 0 100px; border: 1px solid #e4e4e4
"
>
<el-table
:data=
"list"
border
style=
"width: 100%"
size=
"mini"
>
<el-table
:data=
"list"
border
style=
"width: 100%"
size=
"mini"
>
<el-table-column
:label=
"$t('序号')"
width=
"90px"
type=
"index"
align=
"center"
></el-table-column>
<el-table-column
:label=
"$t('序号')"
width=
"90px"
type=
"index"
align=
"center"
></el-table-column>
<el-table-column
prop=
"prodTitleZh"
:label=
"$t('品名')"
width=
"220px"
>
<el-table-column
prop=
"prodTitleZh"
:label=
"$t('品名')"
width=
"220px"
>
...
...
src/views/ecw/order/feeApplication.vue
View file @
4711720c
...
@@ -4,7 +4,7 @@
...
@@ -4,7 +4,7 @@
width=
"80%"
width=
"80%"
:before-close=
"
:before-close=
"
() =>
{
() =>
{
$emit('update:dialogVisible', false)
;
$emit('update:dialogVisible', false)
}
}
"
"
>
>
...
@@ -12,209 +12,105 @@
...
@@ -12,209 +12,105 @@
<h1>
{{
$t
(
"
费用申请
"
)
}}
-
{{
orderDetails
.
orderNo
}}
</h1>
<h1>
{{
$t
(
"
费用申请
"
)
}}
-
{{
orderDetails
.
orderNo
}}
</h1>
<el-divider></el-divider>
<el-divider></el-divider>
<el-form
label-width=
"100px"
inline
>
<el-form
label-width=
"100px"
inline
>
<el-form-item
:label=
"$t('订单号') + ':'"
<el-form-item
:label=
"$t('订单号') + ':'"
>
>
<div
class=
"content"
>
<div
class=
"content"
>
{{
orderDetails
.
orderNo
}}
{{
orderDetails
.
orderNo
}}
</div>
</div>
</el-form-item
</el-form-item>
>
<el-form-item
:label=
"$t('发货人') + ':'"
>
<el-form-item
:label=
"$t('发货人') + ':'"
>
<div
class=
"content"
>
<div
class=
"content"
>
{{
orderDetails
.
consignorVO
?
orderDetails
.
consignorVO
.
name
:
""
}}
{{
orderDetails
.
consignorVO
?
orderDetails
.
consignorVO
.
name
:
""
}}
</div>
</div>
</el-form-item
</el-form-item>
>
<el-form-item
:label=
"$t('唛头')"
>
<el-form-item
:label=
"$t('唛头')"
>
<div
class=
"content"
>
{{
orderDetails
.
marks
}}
</div>
<div
class=
"content"
>
{{
orderDetails
.
marks
}}
</div>
</el-form-item
</el-form-item>
>
<el-form-item>
<el-form-item>
<el-button
<el-button
:disabled=
"!!processInstanceId"
@
click=
"addCost"
>
{{
$t
(
"
添加申请
"
)
}}
</el-button>
:disabled=
"!!processInstanceId "
</el-form-item>
@
click=
"addCost"
>
{{
$t
(
"
添加申请
"
)
}}
</el-button
>
</el-form-item
>
</el-form>
</el-form>
<el-table
:data=
"list"
>
<el-table
:data=
"list"
>
<el-table-column
:label=
"$t('序号')"
type=
"index"
></el-table-column>
<el-table-column
:label=
"$t('序号')"
type=
"index"
></el-table-column>
<el-table-column
:label=
"$t('费用类型')"
>
<el-table-column
:label=
"$t('费用类型')"
>
<template
v-slot:default=
"scope"
>
<template
v-slot:default=
"scope"
>
<dict-selector
<dict-selector
:disabled=
"!scope.row.editMode && !!scope.row.status"
:type=
"DICT_TYPE.FEE_TYPE"
v-model=
"scope.row.feeType"
@
change=
"updatePayer(scope.row)"
/>
:disabled=
"!scope.row.editMode && !!scope.row.status"
:type=
"DICT_TYPE.FEE_TYPE"
v-model=
"scope.row.feeType"
@
change=
"updatePayer(scope.row)"
/>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('金额')"
>
<el-table-column
:label=
"$t('金额')"
>
<
template
v-slot:default=
"scope"
>
<
template
v-slot:default=
"scope"
>
<el-input
<el-input
:disabled=
"!scope.row.editMode && !!scope.row.status"
v-model=
"scope.row.applicationFee"
type=
"number"
@
input=
"formatAmount(scope.row)"
></el-input>
:disabled=
"!scope.row.editMode && !!scope.row.status"
v-model=
"scope.row.applicationFee"
type=
"number"
@
input=
"formatAmount(scope.row)"
></el-input>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('货币类型')"
>
<el-table-column
:label=
"$t('货币类型')"
>
<
template
v-slot:default=
"scope"
>
<
template
v-slot:default=
"scope"
>
<el-select
<el-select
:disabled=
"!scope.row.editMode && !!scope.row.status"
v-model=
"scope.row.applicationFeeCurrency"
>
:disabled=
"!scope.row.editMode && !!scope.row.status"
<el-option
v-for=
"item in JSON.parse(currencys)"
:key=
"item.id"
:label=
"isChinese ? item.titleZh : item.titleEn"
:value=
"item.id"
/>
v-model=
"scope.row.applicationFeeCurrency"
>
<el-option
v-for=
"item in JSON.parse(currencys)"
:key=
"item.id"
:label=
"isChinese ? item.titleZh : item.titleEn"
:value=
"item.id"
/>
</el-select>
</el-select>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('付款类型')"
>
<el-table-column
:label=
"$t('付款类型')"
>
<
template
v-slot=
"{ row }"
>
<
template
v-slot=
"{ row }"
>
<dict-selector
<dict-selector
:disabled=
"!row.editMode && !!row.status"
:type=
"DICT_TYPE.PAYMENT_TYPE"
v-model=
"row.payType"
/>
:disabled=
"!row.editMode && !!row.status"
:type=
"DICT_TYPE.PAYMENT_TYPE"
v-model=
"row.payType"
/>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('付款人')"
>
<el-table-column
:label=
"$t('付款人')"
>
<
template
v-slot=
"{ row }"
>
<
template
v-slot=
"{ row }"
>
<dict-selector
<dict-selector
:disabled=
"!row.editMode && !!row.status"
:type=
"DICT_TYPE.DRAWEE"
:filter=
"payerDictFilter"
v-model=
"row.payer"
/>
:disabled=
"!row.editMode && !!row.status"
:type=
"DICT_TYPE.DRAWEE"
:filter=
"payerDictFilter"
v-model=
"row.payer"
/>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('备注')"
>
<el-table-column
:label=
"$t('备注')"
>
<
template
v-slot:default=
"scope"
>
<
template
v-slot:default=
"scope"
>
<el-input
<el-input
:disabled=
"!scope.row.editMode && !!scope.row.status"
v-model=
"scope.row.remarks"
type=
"textarea"
></el-input>
:disabled=
"!scope.row.editMode && !!scope.row.status"
v-model=
"scope.row.remarks"
type=
"textarea"
></el-input>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('确认收款')"
>
<el-table-column
:label=
"$t('确认收款')"
>
<
template
v-slot:default=
"scope"
>
<
template
v-slot:default=
"scope"
>
<dict-tag
<dict-tag
:type=
"DICT_TYPE.ECW_RECEIVABLE_STATE"
:value=
"scope.row.receiveFlag"
/>
:type=
"DICT_TYPE.ECW_RECEIVABLE_STATE"
:value=
"scope.row.receiveFlag"
/>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('申请人')"
>
<el-table-column
:label=
"$t('申请人')"
>
<
template
v-slot:default=
"scope"
>
<
template
v-slot:default=
"scope"
>
{{
{{
scope
.
row
.
status
===
0
?
$t
(
"
未提交
"
)
:
scope
.
row
.
applicationAuthor
}}
scope
.
row
.
status
===
0
?
$t
(
"
未提交
"
)
:
scope
.
row
.
applicationAuthor
}}
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('操作')"
>
<el-table-column
:label=
"$t('操作')"
>
<
template
v-slot:default=
"scope"
>
<
template
v-slot:default=
"scope"
>
<el-tag
v-if=
"scope.row.status !== 0 && !scope.row.editMode"
>
{{
<el-tag
v-if=
"scope.row.status !== 0 && !scope.row.editMode"
>
{{
STATUS
[
scope
.
row
.
status
]
}}
</el-tag>
STATUS
[
scope
.
row
.
status
]
}}
</el-tag>
<!--el-button type="text" v-if="scope.row.status == 1" @click="examineFn">
{{
$t
(
'
审核中
'
)
}}
</el-button-->
<!--el-button type="text" v-if="scope.row.status == 1" @click="examineFn">
{{
$t
(
'
审核中
'
)
}}
</el-button-->
<el-button
<el-button
type=
"text"
v-if=
"scope.row.id && modifable(scope.row)"
@
click=
"modify(scope.row)"
>
{{
$t
(
"
修改
"
)
}}
</el-button>
type=
"text"
<el-button
type=
"text"
v-if=
"scope.row.status === 0"
@
click=
"del(scope.$index)"
>
删除
</el-button>
v-if=
"scope.row.id && modifable(scope.row)"
<el-button
type=
"text"
v-if=
"scope.row.id && scope.row.applicationFee === 0 && scope.row.status === 2 && !scope.row.editMode"
@
click=
"deleteByFeeIsZero(scope.row.id)"
>
删除
</el-button>
@
click=
"modify(scope.row)"
>
{{
$t
(
"
修改
"
)
}}
</el-button
>
<el-button
type=
"text"
v-if=
"scope.row.status === 0"
@
click=
"del(scope.$index)"
>
删除
</el-button
>
<el-button
type=
"text"
v-if=
"scope.row.id && scope.row.applicationFee === 0 && scope.row.status === 2 && !scope.row.editMode"
@
click=
"deleteByFeeIsZero(scope.row.id)"
>
删除
</el-button
>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
<div
style=
"padding: 20px"
>
<div
style=
"padding: 20px"
>
<work-flow
xmlkey=
"free_apply"
v-model=
"selectedUsers"
/>
<work-flow
xmlkey=
"free_apply"
v-model=
"selectedUsers"
/>
</div>
</div>
<div
style=
"text-align: center; margin-top: 20px"
>
<div
style=
"text-align: center; margin-top: 20px"
>
<el-button
<el-button
type=
"primary"
v-if=
"!processInstanceId"
style=
"margin-right: 30px"
:disabled=
"!feeList.length && !editMode"
@
click=
"submit"
>
{{ $t("提交") }}
</el-button>
type=
"primary"
<el-button
type=
"primary"
v-if=
"processInstanceId"
style=
"margin-right: 30px"
@
click=
"goProcessDetail"
>
{{ $t("审核中") }}
</el-button>
v-if=
"!processInstanceId"
<el-button
type=
"primary"
v-if=
"processInstanceId"
style=
"margin-right: 30px"
@
click=
"cancel"
>
{{ $t("取消审核") }}
</el-button>
style=
"margin-right: 30px"
<el-button
@
click=
"$emit('update:dialogVisible', false)"
>
{{ $t("返回") }}
</el-button>
:disabled=
"!feeList.length && !editMode"
@
click=
"submit"
>
{{ $t("提交") }}
</el-button>
<el-button
type=
"primary"
v-if=
"processInstanceId"
style=
"margin-right: 30px"
@
click=
"goProcessDetail"
>
{{ $t("审核中") }}
</el-button
>
<el-button
type=
"primary"
v-if=
"processInstanceId"
style=
"margin-right: 30px"
@
click=
"cancel"
>
{{ $t("取消审核") }}
</el-button
>
<el-button
@
click=
"$emit('update:dialogVisible', false)"
>
{{
$t("返回")
}}
</el-button>
</div>
</div>
</div>
</div>
</el-dialog>
</el-dialog>
</template>
</template>
<
script
>
<
script
>
import
{
import
{
getOrder
,
feeApplicationCreateBatch
,
ApplicationListByOrderId
,
applicationUpdate
,
feeApplicationListByOrderId
,
feeApplicationCancel
,
getFeeApplicationApproveByOrderId
,
getBatchFeeByProcessId
,
qetBatchFeeByBusinessId
,
getBatchFeeByBusinessId
,
feeApplicationDelete
,
getFeeDraweeByFeeType
}
from
"
@/api/ecw/order
"
getOrder
,
import
{
getDictDatas
,
DICT_TYPE
}
from
"
@/utils/dict
"
feeApplicationCreateBatch
,
import
workFlow
from
"
@/components/WorkFlow
"
ApplicationListByOrderId
,
applicationUpdate
,
feeApplicationListByOrderId
,
feeApplicationCancel
,
getFeeApplicationApproveByOrderId
,
getBatchFeeByProcessId
,
qetBatchFeeByBusinessId
,
getBatchFeeByBusinessId
,
feeApplicationDelete
,
getFeeDraweeByFeeType
,
}
from
"
@/api/ecw/order
"
;
import
{
getDictDatas
,
DICT_TYPE
}
from
"
@/utils/dict
"
;
import
workFlow
from
"
@/components/WorkFlow
"
;
export
default
{
export
default
{
name
:
"
feeApplication
"
,
name
:
"
feeApplication
"
,
components
:
{
workFlow
},
components
:
{
workFlow
},
props
:
{
props
:
{
orderId
:
[
Number
,
String
],
orderId
:
[
Number
,
String
],
dialogVisible
:
{
dialogVisible
:
{
type
:
Boolean
,
type
:
Boolean
,
default
:
false
,
default
:
false
},
},
currencys
:
String
,
currencys
:
String
},
},
data
()
{
data
()
{
return
{
return
{
...
@@ -227,77 +123,77 @@ export default {
...
@@ -227,77 +123,77 @@ export default {
DICT_TYPE
,
DICT_TYPE
,
getDictDatas
,
getDictDatas
,
STATUS
:
{},
STATUS
:
{},
selectedUsers
:
[]
,
selectedUsers
:
[]
}
;
}
},
},
computed
:
{
computed
:
{
isChinese
()
{
isChinese
()
{
return
this
.
$i18n
.
locale
===
"
zh_CN
"
;
return
this
.
$i18n
.
locale
===
"
zh_CN
"
},
},
feeList
()
{
feeList
()
{
// return this.list.filter((item) => item.status === 0);
// return this.list.filter((item) => item.status === 0);
return
this
.
list
;
return
this
.
list
},
},
// 正在编辑的费用申请
// 正在编辑的费用申请
currentItem
()
{
currentItem
()
{
return
this
.
list
.
find
((
item
)
=>
item
.
editMode
)
;
return
this
.
list
.
find
((
item
)
=>
item
.
editMode
)
},
},
// 是否修改模式
// 是否修改模式
editMode
()
{
editMode
()
{
return
!!
this
.
currentItem
;
return
!!
this
.
currentItem
},
},
modifable
()
{
modifable
()
{
return
(
item
)
=>
{
return
(
item
)
=>
{
// 审核中不允许修改
// 审核中不允许修改
if
(
this
.
processInstanceId
)
return
false
;
if
(
this
.
processInstanceId
)
return
false
// 有未提交的不允许修改
// 有未提交的不允许修改
// if (this.feeList.length) return false;
// if (this.feeList.length) return false;
// 修改中的不允许修改
// 修改中的不允许修改
if
(
item
.
editMode
)
return
false
;
if
(
item
.
editMode
)
return
false
return
true
;
return
true
}
}
}
}
},
},
created
()
{
created
()
{
this
.
getDictDatas
(
this
.
DICT_TYPE
.
AUDIT_STATUS
).
forEach
((
e
)
=>
{
this
.
getDictDatas
(
this
.
DICT_TYPE
.
AUDIT_STATUS
).
forEach
((
e
)
=>
{
this
.
STATUS
[
e
.
value
]
=
e
.
label
;
this
.
STATUS
[
e
.
value
]
=
e
.
label
})
;
})
getOrder
(
this
.
orderId
).
then
((
res
)
=>
{
getOrder
(
this
.
orderId
).
then
((
res
)
=>
{
this
.
orderDetails
=
res
.
data
;
this
.
orderDetails
=
res
.
data
})
;
})
// 查询历史申请
// 查询历史申请
feeApplicationListByOrderId
({
orderId
:
this
.
orderId
}).
then
((
res
)
=>
{
feeApplicationListByOrderId
({
orderId
:
this
.
orderId
}).
then
((
res
)
=>
{
this
.
list
=
res
.
data
;
this
.
list
=
res
.
data
})
;
})
// 查询是否有审核中的费用申请
// 查询是否有审核中的费用申请
getFeeApplicationApproveByOrderId
(
this
.
orderId
).
then
((
res
)
=>
{
getFeeApplicationApproveByOrderId
(
this
.
orderId
).
then
((
res
)
=>
{
if
(
res
.
data
)
{
if
(
res
.
data
)
{
this
.
processInstanceId
=
res
.
data
.
formId
;
this
.
processInstanceId
=
res
.
data
.
formId
/*getBatchFeeByBusinessId(res.data.orderApprovalId).then(res => {
/*getBatchFeeByBusinessId(res.data.orderApprovalId).then(res => {
this.list = res.data
this.list = res.data
})*/
})*/
}
}
})
;
})
},
},
methods
:
{
methods
:
{
formatAmount
(
row
)
{
formatAmount
(
row
)
{
// 使用正则表达式限制输入为数字和小数点,并限制小数点后最多两位数字
// 使用正则表达式限制输入为数字和小数点,并限制小数点后最多两位数字
// row.applicationFee = row.applicationFee.replace(/[^\d.]/g, '').replace(/(\..*)\./g, '$1');
// row.applicationFee = row.applicationFee.replace(/[^\d.]/g, '').replace(/(\..*)\./g, '$1');
if
(
row
.
applicationFee
.
indexOf
(
'
.
'
)
>
-
1
)
{
if
(
row
.
applicationFee
.
indexOf
(
"
.
"
)
>
-
1
)
{
const
decimalPart
=
row
.
applicationFee
.
split
(
'
.
'
)[
1
];
const
decimalPart
=
row
.
applicationFee
.
split
(
"
.
"
)[
1
]
if
(
decimalPart
.
length
>
2
)
{
if
(
decimalPart
.
length
>
2
)
{
row
.
applicationFee
=
row
.
applicationFee
.
substring
(
0
,
row
.
applicationFee
.
length
-
(
decimalPart
.
length
-
2
))
;
row
.
applicationFee
=
row
.
applicationFee
.
substring
(
0
,
row
.
applicationFee
.
length
-
(
decimalPart
.
length
-
2
))
}
}
}
}
},
},
del
(
index
)
{
del
(
index
)
{
this
.
$confirm
(
this
.
$t
(
"
确定要删除此条费用申请么?
"
)).
then
(()
=>
{
this
.
$confirm
(
this
.
$t
(
"
确定要删除此条费用申请么?
"
)).
then
(()
=>
{
this
.
list
.
splice
(
index
,
1
)
;
this
.
list
.
splice
(
index
,
1
)
})
;
})
},
},
// 过滤订单状态筛选字典内容
// 过滤订单状态筛选字典内容
payerDictFilter
(
item
)
{
payerDictFilter
(
item
)
{
...
@@ -308,35 +204,35 @@ export default {
...
@@ -308,35 +204,35 @@ export default {
},
},
// 修改
// 修改
modify
(
item
)
{
modify
(
item
)
{
this
.
$set
(
item
,
"
editMode
"
,
true
)
;
this
.
$set
(
item
,
"
editMode
"
,
true
)
},
},
updatePayer
(
item
)
{
updatePayer
(
item
)
{
console
.
log
(
"
变动的费用记录:
"
,
item
)
;
console
.
log
(
"
变动的费用记录:
"
,
item
)
this
.
$nextTick
(()
=>
{
this
.
$nextTick
(()
=>
{
// 根据新费用类型和索引更新payer付款人信息
// 根据新费用类型和索引更新payer付款人信息
this
.
orderDetails
.
drawee
?
(
this
.
orderDetails
.
drawee
!=
3
?
this
.
$set
(
item
,
"
payer
"
,
this
.
orderDetails
.
drawee
)
:
this
.
getDraweePayer
(
item
))
:
undefined
;
// 费用申请付款人
this
.
orderDetails
.
drawee
?
(
this
.
orderDetails
.
drawee
!=
3
?
this
.
$set
(
item
,
"
payer
"
,
this
.
orderDetails
.
drawee
)
:
this
.
getDraweePayer
(
item
))
:
undefined
// 费用申请付款人
console
.
log
(
"
变动的费用记录:
"
,
item
)
;
console
.
log
(
"
变动的费用记录:
"
,
item
)
})
})
},
},
getDraweePayer
(
item
)
{
getDraweePayer
(
item
)
{
let
feeType
=
item
.
feeType
let
feeType
=
item
.
feeType
if
(
feeType
)
{
if
(
feeType
)
{
getFeeDraweeByFeeType
(
feeType
).
then
(
res
=>
{
getFeeDraweeByFeeType
(
feeType
).
then
((
res
)
=>
{
console
.
log
(
res
.
data
)
console
.
log
(
res
.
data
)
let
drawee
=
res
.
data
let
drawee
=
res
.
data
console
.
log
(
"
自定义费用枚举值:
"
,
drawee
)
console
.
log
(
"
自定义费用枚举值:
"
,
drawee
)
if
(
drawee
)
{
if
(
drawee
)
{
if
(
this
.
orderDetails
.
customDraweeVOList
&&
this
.
orderDetails
.
customDraweeVOList
.
length
>
0
)
{
if
(
this
.
orderDetails
.
customDraweeVOList
&&
this
.
orderDetails
.
customDraweeVOList
.
length
>
0
)
{
let
customDrawee
=
this
.
orderDetails
.
customDraweeVOList
.
find
(
item
=>
item
.
name
==
drawee
)
let
customDrawee
=
this
.
orderDetails
.
customDraweeVOList
.
find
((
item
)
=>
item
.
name
==
drawee
)
console
.
log
(
"
自定义费用类型值:
"
,
customDrawee
)
console
.
log
(
"
自定义费用类型值:
"
,
customDrawee
)
if
(
customDrawee
)
{
if
(
customDrawee
)
{
console
.
log
(
"
返回值:
"
,
customDrawee
.
value
)
console
.
log
(
"
返回值:
"
,
customDrawee
.
value
)
this
.
$set
(
item
,
"
payer
"
,
customDrawee
.
value
)
this
.
$set
(
item
,
"
payer
"
,
customDrawee
.
value
)
}
}
}
}
}
});
}
}
})
}
},
},
addCost
()
{
addCost
()
{
...
@@ -349,33 +245,28 @@ export default {
...
@@ -349,33 +245,28 @@ export default {
remarks
:
undefined
,
remarks
:
undefined
,
receiveFlag
:
0
,
receiveFlag
:
0
,
applicationAuthor
:
undefined
,
applicationAuthor
:
undefined
,
status
:
0
,
status
:
0
})
;
})
},
},
deleteByFeeIsZero
(
id
)
{
deleteByFeeIsZero
(
id
)
{
this
.
$confirm
(
this
.
$t
(
"
确定要删除此条费用申请么?
"
)).
then
(()
=>
{
this
.
$confirm
(
this
.
$t
(
"
确定要删除此条费用申请么?
"
)).
then
(()
=>
{
feeApplicationDelete
(
id
).
then
((
r
)
=>
{
feeApplicationDelete
(
id
).
then
((
r
)
=>
{
this
.
$message
({
this
.
$message
({
type
:
"
success
"
,
type
:
"
success
"
,
message
:
this
.
$t
(
"
删除成功
"
)
,
message
:
this
.
$t
(
"
删除成功
"
)
})
;
})
this
.
$emit
(
"
update:dialogVisible
"
,
false
)
;
this
.
$emit
(
"
update:dialogVisible
"
,
false
)
})
;
})
})
;
})
},
},
submit
()
{
submit
()
{
// 判断费用申请是否有未填项
// 判断费用申请是否有未填项
// console.log("提交的费用信息列表", this.feeList)
// console.log("提交的费用信息列表", this.feeList)
const
errList
=
this
.
feeList
.
filter
((
item
)
=>
{
const
errList
=
this
.
feeList
.
filter
((
item
)
=>
{
return
(
return
!
item
[
"
feeType
"
]
||
item
.
applicationFee
==
null
||
item
.
applicationFee
==
undefined
||
!
item
[
"
applicationFeeCurrency
"
]
||
!
item
[
"
payType
"
]
!
item
[
"
feeType
"
]
||
})
item
.
applicationFee
==
null
||
item
.
applicationFee
==
undefined
||
!
item
[
"
applicationFeeCurrency
"
]
||
!
item
[
"
payType
"
]
);
});
if
(
errList
.
length
)
{
if
(
errList
.
length
)
{
return
this
.
$message
.
error
(
"
请填写完整费用申请信息
"
)
;
return
this
.
$message
.
error
(
"
请填写完整费用申请信息
"
)
}
}
// if (this.editMode) {
// if (this.editMode) {
// // 要提交status=1,否则保持原状态
// // 要提交status=1,否则保持原状态
...
@@ -393,57 +284,54 @@ export default {
...
@@ -393,57 +284,54 @@ export default {
feeApplicationCreateBatch
({
feeApplicationCreateBatch
({
orderFeeApplicationCreateReqVOList
:
this
.
feeList
,
orderFeeApplicationCreateReqVOList
:
this
.
feeList
,
copyUserId
:
this
.
selectedUsers
,
copyUserId
:
this
.
selectedUsers
,
orderId
:
this
.
orderId
,
orderId
:
this
.
orderId
}).
then
((
r
)
=>
{
}).
then
((
r
)
=>
{
if
(
r
.
code
===
0
)
{
if
(
r
.
code
===
0
)
{
this
.
$emit
(
"
update:dialogVisible
"
,
false
)
;
this
.
$emit
(
"
update:dialogVisible
"
,
false
)
this
.
$message
.
success
(
this
.
$t
(
"
添加成功
"
))
;
this
.
$message
.
success
(
this
.
$t
(
"
添加成功
"
))
this
.
selectedUsers
=
[]
;
this
.
selectedUsers
=
[]
this
.
$emit
(
"
refresh
"
)
this
.
$emit
(
"
refresh
"
)
}
}
})
;
})
},
},
goProcessDetail
()
{
goProcessDetail
()
{
this
.
$emit
(
"
update:dialogVisible
"
,
false
);
this
.
$emit
(
"
update:dialogVisible
"
,
false
)
this
.
$router
.
push
(
this
.
$router
.
push
(
"
/bpm/process-instance/detail?id=
"
+
this
.
processInstanceId
)
"
/bpm/process-instance/detail?id=
"
+
this
.
processInstanceId
);
},
},
cancel
()
{
cancel
()
{
this
.
$prompt
(
this
.
$t
(
"
请输入取消原因
"
),
this
.
$t
(
"
提示
"
),
{
this
.
$prompt
(
this
.
$t
(
"
请输入取消原因
"
),
this
.
$t
(
"
提示
"
),
{
confirmButtonText
:
this
.
$t
(
"
确定
"
),
confirmButtonText
:
this
.
$t
(
"
确定
"
),
cancelButtonText
:
this
.
$t
(
"
取消
"
)
,
cancelButtonText
:
this
.
$t
(
"
取消
"
)
})
})
.
then
(({
value
})
=>
{
.
then
(({
value
})
=>
{
let
item
=
this
.
list
.
find
((
e
)
=>
e
.
status
===
1
)
;
let
item
=
this
.
list
.
find
((
e
)
=>
e
.
status
===
1
)
feeApplicationCancel
({
feeApplicationCancel
({
huifu
:
value
,
huifu
:
value
,
bpmProcessId
:
this
.
processInstanceId
,
bpmProcessId
:
this
.
processInstanceId
}).
then
((
r
)
=>
{
}).
then
((
r
)
=>
{
this
.
$message
({
this
.
$message
({
type
:
"
success
"
,
type
:
"
success
"
,
message
:
this
.
$t
(
"
取消成功
"
)
,
message
:
this
.
$t
(
"
取消成功
"
)
})
;
})
this
.
$emit
(
"
update:dialogVisible
"
,
false
)
;
this
.
$emit
(
"
update:dialogVisible
"
,
false
)
})
;
})
})
})
.
catch
(()
=>
{
.
catch
(()
=>
{})
});
}
},
},
},
watch
:
{
watch
:
{
dialogVisible
(
val
)
{
dialogVisible
(
val
)
{
if
(
val
)
{
if
(
val
)
{
this
.
getOrderList
()
;
this
.
getOrderList
()
getOrder
(
this
.
orderId
).
then
((
r
)
=>
{
getOrder
(
this
.
orderId
).
then
((
r
)
=>
{
if
(
r
.
code
===
0
)
{
if
(
r
.
code
===
0
)
{
this
.
orderDetails
=
r
.
data
;
this
.
orderDetails
=
r
.
data
}
}
})
;
})
}
}
}
,
}
}
,
}
}
;
}
</
script
>
</
script
>
<
style
scoped
lang=
"scss"
>
<
style
scoped
lang=
"scss"
>
...
...
src/views/ecw/order/feeApplicationBatch/batchMarkupComList.vue
0 → 100644
View file @
4711720c
<
template
>
<div
style=
"padding: 20px; background: #f4f4f4; margin: 0 20px 0 100px; border: 1px solid #e4e4e4"
>
<el-table
:data=
"list"
border
style=
"width: 100%"
size=
"mini"
>
<el-table-column
:label=
"$t('序号')"
width=
"90px"
type=
"index"
align=
"center"
></el-table-column>
<el-table-column
prop=
"prodTitleZh"
:label=
"$t('品名')"
width=
"220px"
>
<template
slot-scope=
"
{ row }">
<div>
{{
getProdTypeName
(
row
.
prodType
)
}}
</div>
<div>
{{
row
.
prodTitleZh
}}
/
{{
row
.
prodTitleEn
}}
</div>
</
template
>
</el-table-column>
<!--<el-table-column prop="prodTitleEn" :label="$t('品名')" />-->
<el-table-column
prop=
"brand"
:label=
"$t('品牌')"
width=
"90px"
>
<
template
slot-scope=
"{ row }"
>
<template
v-if=
"row.brandName"
>
{{
row
.
brandName
}}
</
template
>
<dict-tag
v-else
:type=
"DICT_TYPE.ECW_IS_BRAND"
:value=
"row.brandType"
/>
</template>
</el-table-column>
<el-table-column
prop=
"brand"
:label=
"$t('特性')"
width=
"90px"
>
<
template
slot-scope=
"{ row }"
>
{{
showAttrText
(
row
.
warehouseInInfoVO
?
row
.
warehouseInProdAttrIds
:
row
.
prodAttrIds
)
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"sumNum"
:label=
"$t('入仓信息')"
width=
"220px"
>
<
template
slot-scope=
"{ row }"
>
<!--
<el-link
type=
"primary"
@
click.native=
"showWarehouseLogs(row,1)"
>
{{
row
.
warehouseInInfoVO
?
row
.
warehouseInInfoVO
.
cartonsNum
:
0
}}
</el-link>
<div
v-if=
"row.warehouseInInfoVO && row.warehouseInInfoVO.isMultiSpecification"
>
(
{{
$t
(
'
多规格
'
)
}}
)
</div>
-->
<el-link
type=
"primary"
@
click.native=
"$emit('showWarehouseLogs', row, 1)"
v-if=
"row.warehouseInInfoVO"
>
{{
row
.
warehouseInInfoVO
.
cartonsNum
}}{{
$t
(
"
箱
"
)
}}
{{
row
.
warehouseInInfoVO
.
weight
}}
Kg
{{
row
.
warehouseInInfoVO
.
volume
}}
m³
{{
row
.
warehouseInInfoVO
.
quantityAll
}}{{
$t
(
"
个
"
)
}}
</el-link>
<div
v-if=
"row.warehouseInInfoVO && row.warehouseInInfoVO.isMultiSpecification"
>
(
{{
$t
(
"
多规格
"
)
}}
)
</div>
</
template
>
</el-table-column>
<el-table-column
prop=
"warehouseType"
:label=
"$t('类型')"
width=
"120px"
/>
<el-table-column
prop=
"specificationType"
:label=
"$t('包装')"
width=
"120px"
/>
<el-table-column
prop=
"sumNum"
:label=
"$t('收费数据')"
width=
"220px"
>
<
template
slot-scope=
"{ row }"
>
<div
v-if=
"row.warehouseInInfoVO"
>
{{
row
.
chargeWeight
}}
Kg
{{
row
.
chargeVolume
}}
m³
</div>
</
template
>
</el-table-column>
<el-table-column
prop=
""
:label=
"`${$t('费用类型')}/${$t('模式')}`"
width=
"200px"
>
<
template
slot-scope=
"{ row }"
>
<dict-tag
:type=
"DICT_TYPE.ECW_PAY_ADVANCE"
:value=
"row.isPayAdvance"
/>
<div
v-if=
"row.charging == 0"
>
{{
$t
(
"
运费/清关费
"
)
}}
</div>
<div
v-if=
"row.charging == 1"
>
{{
$t
(
"
全包价
"
)
}}
</div>
</
template
>
</el-table-column>
<el-table-column
prop=
""
:label=
"$t('成交单价')"
width=
"220px"
>
<
template
slot-scope=
"{ row }"
>
<template
v-if=
"row.charging == 1"
>
<template
v-if=
"!row.originalSeaFreight"
>
{{
$t
(
"
未报价
"
)
}}
</
template
>
<el-link
type=
"primary"
@
click=
"showFeeDetail(row, 'clearance')"
v-else
>
{{ $t("全包价") }} {{ row.oneSeaFreight }} {{ currencyMap[row.seaFreightCurrency] }} / {{ unitMap[row.seaFreightVolume] }}
</el-link>
</template>
<
template
v-else-if=
"!row.originalSeaFreight && !row.originalClearanceFreight"
>
{{
$t
(
"
未报价
"
)
}}
</
template
>
<
template
v-else
>
<el-link
type=
"primary"
@
click=
"showFeeDetail(row, 'freight')"
>
{{
$t
(
"
运费
"
)
}}
:
{{
row
.
oneSeaFreight
}}
{{
currencyMap
[
row
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
row
.
seaFreightVolume
]
}}
</el-link>
<el-link
type=
"primary"
@
click=
"showFeeDetail(row, 'clearance')"
>
{{
$t
(
"
清关费
"
)
}}
:
{{
row
.
oneClearanceFreight
}}
{{
currencyMap
[
row
.
clearanceFreightCurrency
]
}}
/
{{
unitMap
[
row
.
clearanceFreightVolume
]
}}
</el-link>
</
template
>
</template>
</el-table-column>
<el-table-column
:label=
"$t('特价')"
align=
"center"
>
<
template
v-slot=
"scope"
>
{{
scope
.
row
.
specialPriceType
?
"
是
"
:
"
否
"
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"firstInTime"
:label=
"$t('首次入仓时间')"
align=
"center"
width=
"150"
></el-table-column>
<el-table-column
prop=
"lastInTime"
:label=
"$t('最后入仓时间')"
align=
"center"
width=
"150"
></el-table-column>
<el-table-column
prop=
""
:label=
"$t('材质')"
>
<
template
slot-scope=
"{ row }"
>
<dict-tag
:type=
"DICT_TYPE.ECW_PRODUCT_MATERIAL"
:value=
"row.material"
/>
</
template
>
</el-table-column>
<el-table-column
prop=
""
:label=
"$t('用途')"
>
<
template
slot-scope=
"{ row }"
>
<div
v-if=
"row.usageIds"
>
<div
v-for=
"(item, index) in row.usageIds.split(',')"
>
<dict-tag
:type=
"DICT_TYPE.OREER_ITEM_USAGE"
:value=
"item"
/>
<span
v-if=
"index + 1 != row.usageIds.split(',').length"
>
,
</span>
</div>
</div>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('原价')"
width=
"180px"
>
<
template
slot-scope=
"{ row }"
>
<template
v-if=
"row.charging == 1"
>
<template
v-if=
"!row.oneSeaFreight"
>
{{
$t
(
"
未报价
"
)
}}
</
template
>
<
template
>
{{
$t
(
"
全包价
"
)
}}
{{
row
.
oneSeaFreight
}}
{{
currencyMap
[
row
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
row
.
seaFreightVolume
]
}}
</
template
>
</template>
<
template
v-else-if=
"!row.oneSeaFreight && !row.oneClearanceFreight"
>
{{
$t
(
"
未报价
"
)
}}
</
template
>
<
template
v-else-if=
"row.specialPriceType"
>
<div
style=
"color: red; font-weight: 700"
>
{{
$t
(
"
原价
"
)
}}
</div>
<div>
{{
$t
(
"
运费
"
)
}}
:
{{
row
.
originalSeaFreight
}}
{{
currencyMap
[
row
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
row
.
seaFreightVolume
]
}}
</div>
<div>
{{
$t
(
"
清关费
"
)
}}
:
{{
row
.
originalClearanceFreight
}}
{{
currencyMap
[
row
.
clearanceFreightCurrency
]
}}
/
{{
unitMap
[
row
.
clearanceFreightVolume
]
}}
</div>
<div
style=
"color: red; font-weight: 700"
>
{{
$t
(
"
特价
"
)
}}
</div>
<div>
{{
$t
(
"
运费
"
)
}}
:
{{
row
.
oneSeaFreight
}}
{{
currencyMap
[
row
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
row
.
seaFreightVolume
]
}}
</div>
<div>
{{
$t
(
"
清关费
"
)
}}
:
{{
row
.
oneClearanceFreight
}}
{{
currencyMap
[
row
.
clearanceFreightCurrency
]
}}
/
{{
unitMap
[
row
.
clearanceFreightVolume
]
}}
</div>
</
template
>
<
template
v-else
>
<div>
{{
$t
(
"
运费
"
)
}}
:
{{
row
.
oneSeaFreight
}}
{{
currencyMap
[
row
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
row
.
seaFreightVolume
]
}}
</div>
<div
v-if=
"row.oneClearanceFreight"
>
{{
$t
(
"
清关费
"
)
}}
:
{{
row
.
oneClearanceFreight
}}
{{
currencyMap
[
row
.
clearanceFreightCurrency
]
}}
/
{{
unitMap
[
row
.
clearanceFreightVolume
]
}}
</div>
<div
v-else
>
{{
$t
(
"
清关费未报价
"
)
}}
</div>
</
template
>
</template>
</el-table-column>
</el-table>
<el-dialog
:title=
"$t('费用详情')"
:visible=
"!!showFeeDetailDialog"
:before-close=
"closeFeeDetail"
>
<el-row
v-if=
"feeDetail"
>
<el-col
:span=
"12"
>
<div>
{{ feeDetail.charging ? $t("全包价") : $t("运费") }}
</div>
<div
v-for=
"item in feeDetail.freight"
>
{{ item.label }}: {{ item.value }}
<
template
v-if=
"item.currency"
>
{{
currencyMap
[
item
.
currency
]
}}
/
{{
unitMap
[
item
.
volume
]
}}
<span
v-if=
"item.remark"
>
【
{{
item
.
remark
}}
】
</span>
</
template
>
</div>
</el-col>
<el-col
:span=
"12"
v-if=
"feeDetail.charging != 1"
>
<div>
{{ $t("清关费") }}
<
template
v-if=
"transportId == 3 || transportId == 4"
>
{{
$t
(
"
来自{source
}
"
,
{
source
:
feeDetail
.
airClearanceSource
+
feeDetail
.
sourceName
}
)
}}
<
/template
>
<
/div
>
<
div
v
-
for
=
"
item in feeDetail.clearance
"
>
{{
item
.
label
}}
:
{{
item
.
value
}}
<
template
v
-
if
=
"
item.currency
"
>
{{
currencyMap
[
item
.
currency
]
}}
/
{{
unitMap
[
item
.
volume
]
}}
<
span
v
-
if
=
"
item.remark
"
>
【
{{
item
.
remark
}}
】
<
/span
>
<
/template
>
<
/div
>
<
/el-col
>
<
/el-row
>
<
div
v
-
if
=
"
feeDetail && feeDetail.coupons && feeDetail.coupons.length
"
class
=
"
page-title
"
>
{{
$t
(
"
优惠详情
"
)
}}
<
/div
>
<
el
-
table
v
-
if
=
"
feeDetail && feeDetail.coupons && feeDetail.coupons.length
"
:
data
=
"
feeDetail.coupons
"
>
<
el
-
table
-
column
label
=
"
优惠ID
"
prop
=
"
couponId
"
><
/el-table-column
>
<
el
-
table
-
column
label
=
"
优惠名称
"
>
<
template
slot
-
scope
=
"
{ row
}
"
>
{{
$l
(
row
,
"
title
"
)
}}
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"
类型
"
>
<
template
slot
-
scope
=
"
{ row
}
"
>
<
dict
-
tag
:
type
=
"
DICT_TYPE.ECW_COUPON_TYPE
"
:
value
=
"
row.type
"
><
/dict-tag
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"
运费优惠
"
>
<
template
slot
-
scope
=
"
{ row
}
"
>
{{
row
.
freightReduceAmount
}}
{{
currencyMap
[
row
.
freightReduceCurrencyId
]
}}
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"
清关费优惠
"
>
<
template
slot
-
scope
=
"
{ row
}
"
>
{{
row
.
clearanceReduceAmount
}}
{{
currencyMap
[
row
.
clearanceReduceCurrencyId
]
}}
<
/template
>
<
/el-table-column
>
<
/el-table
>
<
/el-dialog
>
<
/div
>
<
/template
>
<
script
>
import
Decimal
from
"
decimal.js
"
import
{
parseTime
}
from
"
@/utils/ruoyi
"
export
default
{
props
:
{
list
:
{
type
:
Array
,
required
:
true
}
,
attrList
:
{
type
:
Array
,
required
:
true
}
,
prodTypeList
:
{
type
:
Array
,
required
:
true
}
,
currencyMap
:
{
type
:
Object
,
required
:
true
}
,
unitMap
:
{
type
:
Object
,
required
:
true
}
,
transportId
:
{
type
:
Number
,
required
:
false
}
}
,
data
()
{
return
{
feeDetail
:
null
,
showFeeDetailDialog
:
false
}
}
,
computed
:
{
getProdTypeName
()
{
return
(
prodType
)
=>
{
for
(
let
index
in
this
.
prodTypeList
)
{
let
prodTypeItem
=
this
.
prodTypeList
[
index
]
if
(
prodTypeItem
.
id
==
prodType
)
{
return
this
.
$l
(
prodTypeItem
,
"
title
"
)
}
}
}
}
,
// 显示特性
showAttrText
()
{
return
(
ids
)
=>
{
if
(
!
ids
)
return
""
ids
=
!
Array
.
isArray
(
ids
)
?
ids
.
split
(
"
,
"
)
:
ids
const
attrMap
=
{
}
this
.
attrList
.
forEach
((
item
)
=>
{
attrMap
[
item
.
id
]
=
this
.
$l
(
item
,
"
attrName
"
)
}
)
return
ids
.
map
((
id
)
=>
attrMap
[
id
]).
join
(
"
,
"
)
}
}
}
,
created
()
{
}
,
methods
:
{
closeFeeDetail
()
{
this
.
showFeeDetailDialog
=
null
}
,
showFeeDetail
(
row
,
type
)
{
console
.
log
(
"
showFeeDetail
"
,
row
,
type
)
this
.
showFeeDetailDialog
=
true
const
freight
=
[],
clearance
=
[]
let
freightFields
=
[]
let
clearanceFields
=
[]
const
brandType
=
row
.
warehouseInInfoVO
?
row
.
feeType
:
row
.
brandType
// 不是特价则显示其他字段
freightFields
=
[
//
{
field
:
'
oneSeaFreight
'
,
label
:
this
.
$t
(
'
成交单价
'
)
}
,
{
field
:
"
originalSeaFreight
"
,
label
:
this
.
$t
(
"
默认单价(无牌无液无电)
"
)
}
,
//
{
field
:
'
brandFreightPrice
'
,
label
:
this
.
$t
(
'
品牌加价
'
)
}
,
{
field
:
"
liquidFreightPrice
"
,
label
:
this
.
$t
(
"
液体加价
"
)
}
,
{
field
:
"
electrifiedFreightPrice
"
,
label
:
this
.
$t
(
"
带电加价
"
)
}
,
{
field
:
"
discountFreightPrice
"
,
label
:
this
.
$t
(
"
优惠活动减免
"
)
}
,
{
field
:
"
plainCommission
"
,
label
:
this
.
$t
(
"
明佣
"
)
}
,
{
field
:
"
hiddenCommission
"
,
label
:
this
.
$t
(
"
暗佣
"
)
}
]
// 批量加价
if
(
row
.
markupSeaFreight
)
{
freightFields
.
push
({
field
:
"
markupSeaFreight
"
,
label
:
this
.
$t
(
"
批量加价
"
)
}
)
}
// 品牌加价
if
(
row
[
"
brandFreightPrice
"
]
&&
row
[
"
brandFreightPrice
"
]
>
0
)
{
freightFields
.
push
({
field
:
"
brandFreightPrice
"
,
label
:
brandType
==
1
?
this
.
$t
(
"
有品牌加价
"
)
:
this
.
$t
(
"
中性品牌加价
"
)
}
)
}
// 有减免金额才显示优惠后单价
if
(
row
[
"
discountFreightPrice
"
]
&&
row
[
"
discountFreightPrice
"
]
>
0
)
{
freightFields
.
push
({
field
:
"
afterDiscountSeaFreight
"
,
label
:
this
.
$t
(
"
优惠后单价
"
)
}
)
}
// 包装加价
if
(
row
[
"
packagingFreightPrice
"
]
&&
row
[
"
packagingFreightPrice
"
]
>
0
)
{
freightFields
.
push
({
field
:
"
packagingFreightPrice
"
,
label
:
this
.
$t
(
"
包装加价
"
)
}
)
}
freightFields
.
push
({
field
:
"
oneSeaFreight
"
,
label
:
this
.
$t
(
"
成交单价
"
)
}
)
console
.
log
({
freightFields
}
)
freightFields
.
forEach
((
item
)
=>
{
if
(
row
[
item
.
field
])
{
freight
.
push
({
label
:
item
.
label
,
value
:
row
[
item
.
field
],
currency
:
row
.
seaFreightCurrency
,
volume
:
row
.
seaFreightVolume
,
// 特价通过四个字段标识,任一为true则为特价
remark
:
item
.
field
==
"
oneSeaFreight
"
&&
(
row
.
specialPriceType
||
row
.
splitCustomPriceType
||
row
.
channelManualPricing
)
?
this
.
$t
(
"
特价
"
)
:
null
}
)
}
}
)
clearanceFields
=
[
{
field
:
"
originalClearanceFreight
"
,
label
:
this
.
$t
(
"
默认单价(无牌无液无电)
"
)
}
,
//
{
field
:
'
brandClearanceFeePrice
'
,
label
:
this
.
$t
(
'
品牌加价
'
)
}
,
{
field
:
"
liquidClearanceFeePrice
"
,
label
:
this
.
$t
(
"
液体加价
"
)
}
,
{
field
:
"
electrifiedClearanceFeePrice
"
,
label
:
this
.
$t
(
"
带电加价
"
)
}
,
{
field
:
"
discountClearanceFeePrice
"
,
label
:
this
.
$t
(
"
优惠活动减免
"
)
}
]
// 批量加价
if
(
row
.
markupClearanceFreight
)
{
clearanceFields
.
push
({
field
:
"
markupClearanceFreight
"
,
label
:
this
.
$t
(
"
批量加价
"
)
}
)
}
// 品牌加价
if
(
row
[
"
brandClearanceFeePrice
"
]
&&
row
[
"
brandClearanceFeePrice
"
]
>
0
)
{
clearanceFields
.
push
({
field
:
"
brandClearanceFeePrice
"
,
label
:
brandType
==
1
?
this
.
$t
(
"
有品牌加价
"
)
:
this
.
$t
(
"
中性品牌加价
"
)
}
)
}
if
(
row
[
"
discountClearanceFeePrice
"
]
&&
row
[
"
discountClearanceFeePrice
"
]
>
0
)
{
clearanceFields
.
push
({
field
:
"
afterDiscountClearanceFreight
"
,
label
:
this
.
$t
(
"
优惠后单价
"
)
}
)
}
// 包装加价
if
(
row
[
"
packagingClearanceFeePrice
"
]
&&
row
[
"
packagingClearanceFeePrice
"
]
>
0
)
{
clearanceFields
.
push
({
field
:
"
packagingClearanceFeePrice
"
,
label
:
this
.
$t
(
"
包装加价
"
)
}
)
}
clearanceFields
.
push
({
field
:
"
oneClearanceFreight
"
,
label
:
this
.
$t
(
"
成交单价
"
)
}
)
clearanceFields
.
forEach
((
item
)
=>
{
if
(
row
[
item
.
field
])
{
clearance
.
push
({
label
:
item
.
label
,
value
:
row
[
item
.
field
],
currency
:
row
.
clearanceFreightCurrency
,
volume
:
row
.
clearanceFreightVolume
,
remark
:
(
row
.
specialPriceType
||
row
.
splitCustomPriceType
||
row
.
channelManualPricing
)
&&
item
.
field
==
"
oneClearanceFreight
"
?
this
.
$t
(
"
特价
"
)
:
null
}
)
}
}
)
freight
.
push
({
label
:
this
.
$t
(
"
价格更新时间
"
),
value
:
parseTime
(
row
.
lastFreightChargePriceTime
)
}
)
clearance
.
push
({
label
:
this
.
$t
(
"
价格更新时间
"
),
value
:
parseTime
(
row
.
lastClearanceChargePriceTime
)
}
)
this
.
feeDetail
=
{
freight
,
clearance
,
charging
:
row
.
charging
,
coupons
:
row
.
couponInfoVOList
,
airClearanceSource
:
[,
this
.
$t
(
"
商品
"
),
this
.
$t
(
"
渠道
"
),
this
.
$t
(
"
商品线路价格
"
),
this
.
$t
(
"
线路渠道
"
)][
row
.
airClearanceSource
],
// 1 商品 2 渠道 3 商品线路价格 4 线路渠道
airClearanceInfo
:
JSON
.
parse
(
row
.
airClearanceInfo
),
//空运清关费来源数据详情,
sourceName
:
row
.
airClearanceSource
==
1
?
this
.
$l
(
row
,
"
prodTitle
"
)
:
this
.
order
?.
channelName
}
}
,
// 获取储位名称
getLocationName
(
locationArr
)
{
if
(
!
locationArr
||
!
locationArr
.
length
)
return
""
let
arr
=
[]
locationArr
.
forEach
((
item
)
=>
{
arr
.
push
(
`${item.areaName
}
${item.locationName || ""
}
`
)
}
)
return
Array
.
from
(
new
Set
(
arr
)).
join
(
"
,
"
)
}
}
}
<
/script
>
src/views/ecw/order/feeApplicationBatch/index.vue
0 → 100644
View file @
4711720c
<
template
>
<el-dialog
:visible.sync=
"dialogVisible"
width=
"80%"
:before-close=
"
() =>
{
$emit('update:dialogVisible', false)
}
"
>
<div
class=
"fee-application"
>
<h1>
{{
$t
(
"
费用申请
"
)
}}
-
{{
orderDetails
.
orderNo
}}
</h1>
<el-divider></el-divider>
<el-form
label-width=
"100px"
inline
>
<el-form-item
:label=
"$t('订单号') + ':'"
>
<div
class=
"content"
>
{{
orderDetails
.
orderNo
}}
</div>
</el-form-item>
<el-form-item
:label=
"$t('发货人') + ':'"
>
<div
class=
"content"
>
{{
orderDetails
.
consignorVO
?
orderDetails
.
consignorVO
.
name
:
""
}}
</div>
</el-form-item>
<el-form-item
:label=
"$t('唛头')"
>
<div
class=
"content"
>
{{
orderDetails
.
marks
}}
</div>
</el-form-item>
<el-form-item>
<el-button
:disabled=
"!!processInstanceId"
@
click=
"addCost"
>
{{
$t
(
"
添加申请
"
)
}}
</el-button>
</el-form-item>
</el-form>
<el-table
:data=
"list"
>
<el-table-column
:label=
"$t('序号')"
type=
"index"
></el-table-column>
<el-table-column
:label=
"$t('费用类型')"
>
<template
v-slot:default=
"scope"
>
<dict-selector
:disabled=
"!scope.row.editMode && !!scope.row.status"
:type=
"DICT_TYPE.FEE_TYPE"
v-model=
"scope.row.feeType"
@
change=
"updatePayer(scope.row)"
/>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('金额')"
>
<
template
v-slot:default=
"scope"
>
<el-input
:disabled=
"!scope.row.editMode && !!scope.row.status"
v-model=
"scope.row.applicationFee"
type=
"number"
@
input=
"formatAmount(scope.row)"
></el-input>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('货币类型')"
>
<
template
v-slot:default=
"scope"
>
<el-select
:disabled=
"!scope.row.editMode && !!scope.row.status"
v-model=
"scope.row.applicationFeeCurrency"
>
<el-option
v-for=
"item in JSON.parse(currencys)"
:key=
"item.id"
:label=
"isChinese ? item.titleZh : item.titleEn"
:value=
"item.id"
/>
</el-select>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('付款类型')"
>
<
template
v-slot=
"{ row }"
>
<dict-selector
:disabled=
"!row.editMode && !!row.status"
:type=
"DICT_TYPE.PAYMENT_TYPE"
v-model=
"row.payType"
/>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('付款人')"
>
<
template
v-slot=
"{ row }"
>
<dict-selector
:disabled=
"!row.editMode && !!row.status"
:type=
"DICT_TYPE.DRAWEE"
:filter=
"payerDictFilter"
v-model=
"row.payer"
/>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('备注')"
>
<
template
v-slot:default=
"scope"
>
<el-input
:disabled=
"!scope.row.editMode && !!scope.row.status"
v-model=
"scope.row.remarks"
type=
"textarea"
></el-input>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('确认收款')"
>
<
template
v-slot:default=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.ECW_RECEIVABLE_STATE"
:value=
"scope.row.receiveFlag"
/>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('申请人')"
>
<
template
v-slot:default=
"scope"
>
{{
scope
.
row
.
status
===
0
?
$t
(
"
未提交
"
)
:
scope
.
row
.
applicationAuthor
}}
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('操作')"
>
<
template
v-slot:default=
"scope"
>
<el-tag
v-if=
"scope.row.status !== 0 && !scope.row.editMode"
>
{{
STATUS
[
scope
.
row
.
status
]
}}
</el-tag>
<!--el-button type="text" v-if="scope.row.status == 1" @click="examineFn">
{{
$t
(
'
审核中
'
)
}}
</el-button-->
<el-button
type=
"text"
v-if=
"scope.row.id && modifable(scope.row)"
@
click=
"modify(scope.row)"
>
{{
$t
(
"
修改
"
)
}}
</el-button>
<el-button
type=
"text"
v-if=
"scope.row.status === 0"
@
click=
"del(scope.$index)"
>
删除
</el-button>
<el-button
type=
"text"
v-if=
"scope.row.id && scope.row.applicationFee === 0 && scope.row.status === 2 && !scope.row.editMode"
@
click=
"deleteByFeeIsZero(scope.row.id)"
>
删除
</el-button>
</
template
>
</el-table-column>
</el-table>
<el-table
ref=
"orderTable"
border
:data=
"orderList"
@
selection-change=
"handleSelectionChange"
:row-style=
"rowStyle"
class=
"mt-10"
>
<el-table-column
type=
"selection"
width=
"50"
></el-table-column>
<el-table-column
:label=
"$t('序号')"
width=
"50"
type=
"index"
align=
"center"
/>
<el-table-column
prop=
"orderNo"
:label=
"$t('订单号')"
align=
"center"
width=
"150"
>
<
template
slot-scope=
"{ row }"
>
<router-link
:to=
"'/order/detail?orderId=' + row.orderId"
>
{{
row
.
orderNo
}}
</router-link>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('发货人')"
width=
"100"
align=
"center"
>
<
template
slot-scope=
"{ row }"
>
<router-link
:to=
"'/customer/query/' + row.consignorCustomerId"
>
{{
row
.
consignorCustomerNumber
}}
</router-link>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('收货人')"
width=
"100"
align=
"center"
>
<
template
slot-scope=
"{ row }"
>
<router-link
:to=
"'/customer/query/' + row.consigneeCustomerId"
>
{{
row
.
consigneeCustomerNumber
}}
</router-link>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('始发仓/渠道-目的仓')"
align=
"center"
width=
"200"
>
<
template
v-slot=
"scope"
>
{{
scope
.
row
.
destAdjustToStartWarehouseName
}}
-
{{
scope
.
row
.
destAdjustToDestWarehouseName
}}
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('额外费用')"
width=
"200"
>
<
template
slot-scope=
"{ row }"
>
<div
v-for=
"(item, feeIndex) in row.costVO.feeDtoList"
:key=
"feeIndex"
>
<div
v-if=
"item.amount && item.feeType !== 1 && item.feeType !== 2"
><dict-tag
:type=
"DICT_TYPE.FEE_TYPE"
:value=
"item.feeType"
/>
:
{{
currencyMapF
[
item
.
currencyId
]
}}{{
item
.
amount
}}
</div>
</div>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('加价单价')"
width=
"200"
>
<
template
slot-scope=
"scope"
>
<div>
{{
$t
(
"
运费
"
)
}}
:
{{
form
.
freightFee
||
0
}}{{
currencyMap
[
form
.
freightCurrencyId
]
}}
/
{{
unitMap
[
form
.
freightUnitId
]
}}
</div>
<div>
{{
$t
(
"
清关费
"
)
}}
:
{{
form
.
clearanceFee
||
0
}}{{
currencyMap
[
form
.
clearanceCurrencyId
]
}}
/
{{
unitMap
[
form
.
clearanceUnitId
]
}}
</div>
</
template
>
</el-table-column>
<el-table-column
prop=
"salesmanName"
:label=
"$t('客户经理')"
align=
"center"
></el-table-column>
<el-table-column
prop=
"firstInTime"
:label=
"$t('首次入仓时间')"
align=
"center"
width=
"150"
></el-table-column>
<el-table-column
prop=
"lastInTime"
:label=
"$t('最后入仓时间')"
align=
"center"
width=
"150"
></el-table-column>
<el-table-column
prop=
"createTime"
:label=
"$t('创建时间')"
align=
"center"
width=
"150"
></el-table-column>
<el-table-column
:label=
"$t('特价')"
align=
"center"
>
<
template
v-slot=
"scope"
>
{{
scope
.
row
.
specialPriceType
?
"
是
"
:
"
否
"
}}
</
template
>
</el-table-column>
<el-table-column
type=
"expand"
:label=
"$t('更多')"
>
<
template
v-slot=
"scope"
>
<batchMarkupComList
:list=
"scope.row.orderItemBackVOList"
:prodTypeList=
"prodTypeList"
:attrList=
"attrList"
:unitMap=
"unitMap"
:currencyMap=
"currencyMap"
/>
</
template
>
</el-table-column>
</el-table>
<div
style=
"padding: 20px"
>
<work-flow
xmlkey=
"free_apply"
v-model=
"selectedUsers"
/>
</div>
<div
style=
"text-align: center; margin-top: 20px"
>
<el-button
type=
"primary"
v-if=
"!processInstanceId"
style=
"margin-right: 30px"
:disabled=
"!feeList.length && !editMode"
@
click=
"submit"
>
{{ $t("提交") }}
</el-button>
<el-button
type=
"primary"
v-if=
"processInstanceId"
style=
"margin-right: 30px"
@
click=
"goProcessDetail"
>
{{ $t("审核中") }}
</el-button>
<el-button
type=
"primary"
v-if=
"processInstanceId"
style=
"margin-right: 30px"
@
click=
"cancel"
>
{{ $t("取消审核") }}
</el-button>
<el-button
@
click=
"$emit('update:dialogVisible', false)"
>
{{ $t("返回") }}
</el-button>
</div>
</div>
</el-dialog>
</template>
<
script
>
import
{
getOrder
,
feeApplicationCreateBatch
,
ApplicationListByOrderId
,
applicationUpdate
,
feeApplicationListByOrderId
,
feeApplicationCancel
,
getFeeApplicationApproveByOrderId
,
getBatchFeeByProcessId
,
qetBatchFeeByBusinessId
,
getBatchFeeByBusinessId
,
feeApplicationDelete
,
getFeeDraweeByFeeType
}
from
"
@/api/ecw/order
"
import
{
getDictDatas
,
DICT_TYPE
}
from
"
@/utils/dict
"
import
workFlow
from
"
@/components/WorkFlow
"
import
batchMarkupComList
from
"
./batchMarkupComList
"
export
default
{
name
:
"
feeApplicationBatch
"
,
components
:
{
workFlow
,
batchMarkupComList
},
props
:
{
orderList
:
[
Array
],
dialogVisible
:
{
type
:
Boolean
,
default
:
false
},
currencys
:
String
},
data
()
{
return
{
prodTypeList
:
[],
attrList
:
[],
unitList
:
[],
currencyList
:
[],
orderDetails
:
{},
// 费用列表
list
:
[],
// 审核ID,没有则表示不在审核中
processInstanceId
:
null
,
DICT_TYPE
,
getDictDatas
,
STATUS
:
{},
selectedUsers
:
[]
}
},
computed
:
{
currencyMap
()
{
let
map
=
{}
this
.
currencyList
.
forEach
((
item
)
=>
{
map
[
item
.
id
]
=
this
.
$l
(
item
,
"
title
"
)
})
return
map
},
currencyMapF
()
{
let
map
=
{}
this
.
currencyList
.
forEach
((
item
)
=>
{
map
[
item
.
id
]
=
item
.
fuhao
})
return
map
},
unitMap
()
{
let
map
=
{}
this
.
unitList
.
forEach
((
item
)
=>
{
map
[
item
.
id
]
=
this
.
$l
(
item
,
"
title
"
)
})
return
map
},
isChinese
()
{
return
this
.
$i18n
.
locale
===
"
zh_CN
"
},
feeList
()
{
// return this.list.filter((item) => item.status === 0);
return
this
.
list
},
// 正在编辑的费用申请
currentItem
()
{
return
this
.
list
.
find
((
item
)
=>
item
.
editMode
)
},
// 是否修改模式
editMode
()
{
return
!!
this
.
currentItem
},
modifable
()
{
return
(
item
)
=>
{
// 审核中不允许修改
if
(
this
.
processInstanceId
)
return
false
// 有未提交的不允许修改
// if (this.feeList.length) return false;
// 修改中的不允许修改
if
(
item
.
editMode
)
return
false
return
true
}
}
},
created
()
{
this
.
getDictDatas
(
this
.
DICT_TYPE
.
AUDIT_STATUS
).
forEach
((
e
)
=>
{
this
.
STATUS
[
e
.
value
]
=
e
.
label
})
getOrder
(
this
.
orderId
).
then
((
res
)
=>
{
this
.
orderDetails
=
res
.
data
})
// 查询历史申请
feeApplicationListByOrderId
({
orderId
:
this
.
orderId
}).
then
((
res
)
=>
{
this
.
list
=
res
.
data
})
// 查询是否有审核中的费用申请
getFeeApplicationApproveByOrderId
(
this
.
orderId
).
then
((
res
)
=>
{
if
(
res
.
data
)
{
this
.
processInstanceId
=
res
.
data
.
formId
/*getBatchFeeByBusinessId(res.data.orderApprovalId).then(res => {
this.list = res.data
})*/
}
})
getUnitList
().
then
((
res
)
=>
(
this
.
unitList
=
res
.
data
))
getCurrencyList
().
then
((
res
)
=>
(
this
.
currencyList
=
res
.
data
))
getProductAttrList
().
then
((
response
)
=>
{
this
.
attrList
=
response
.
data
})
getProductTypeList
().
then
((
response
)
=>
{
this
.
prodTypeList
=
response
.
data
})
},
methods
:
{
// 表格多选
handleSelectionChange
(
selection
)
{
this
.
multipleSelection
=
selection
this
.
ids
=
selection
.
map
((
item
)
=>
item
.
orderId
)
},
formatAmount
(
row
)
{
// 使用正则表达式限制输入为数字和小数点,并限制小数点后最多两位数字
// row.applicationFee = row.applicationFee.replace(/[^\d.]/g, '').replace(/(\..*)\./g, '$1');
if
(
row
.
applicationFee
.
indexOf
(
"
.
"
)
>
-
1
)
{
const
decimalPart
=
row
.
applicationFee
.
split
(
"
.
"
)[
1
]
if
(
decimalPart
.
length
>
2
)
{
row
.
applicationFee
=
row
.
applicationFee
.
substring
(
0
,
row
.
applicationFee
.
length
-
(
decimalPart
.
length
-
2
))
}
}
},
del
(
index
)
{
this
.
$confirm
(
this
.
$t
(
"
确定要删除此条费用申请么?
"
)).
then
(()
=>
{
this
.
list
.
splice
(
index
,
1
)
})
},
// 过滤订单状态筛选字典内容
payerDictFilter
(
item
)
{
if
(
item
.
value
&&
item
.
value
==
3
)
{
return
false
}
return
true
},
// 修改
modify
(
item
)
{
this
.
$set
(
item
,
"
editMode
"
,
true
)
},
updatePayer
(
item
)
{
console
.
log
(
"
变动的费用记录:
"
,
item
)
this
.
$nextTick
(()
=>
{
// 根据新费用类型和索引更新payer付款人信息
this
.
orderDetails
.
drawee
?
(
this
.
orderDetails
.
drawee
!=
3
?
this
.
$set
(
item
,
"
payer
"
,
this
.
orderDetails
.
drawee
)
:
this
.
getDraweePayer
(
item
))
:
undefined
// 费用申请付款人
console
.
log
(
"
变动的费用记录:
"
,
item
)
})
},
getDraweePayer
(
item
)
{
let
feeType
=
item
.
feeType
if
(
feeType
)
{
getFeeDraweeByFeeType
(
feeType
).
then
((
res
)
=>
{
console
.
log
(
res
.
data
)
let
drawee
=
res
.
data
console
.
log
(
"
自定义费用枚举值:
"
,
drawee
)
if
(
drawee
)
{
if
(
this
.
orderDetails
.
customDraweeVOList
&&
this
.
orderDetails
.
customDraweeVOList
.
length
>
0
)
{
let
customDrawee
=
this
.
orderDetails
.
customDraweeVOList
.
find
((
item
)
=>
item
.
name
==
drawee
)
console
.
log
(
"
自定义费用类型值:
"
,
customDrawee
)
if
(
customDrawee
)
{
console
.
log
(
"
返回值:
"
,
customDrawee
.
value
)
this
.
$set
(
item
,
"
payer
"
,
customDrawee
.
value
)
}
}
}
})
}
},
addCost
()
{
this
.
list
.
push
({
orderId
:
this
.
orderId
,
feeType
:
undefined
,
//费用申请类型
applicationFee
:
undefined
,
//金额
applicationFeeCurrency
:
undefined
,
// 费用申请货币类型
payer
:
this
.
orderDetails
.
drawee
&&
this
.
orderDetails
.
drawee
!=
3
?
this
.
orderDetails
.
drawee
:
undefined
,
// 费用申请付款人
remarks
:
undefined
,
receiveFlag
:
0
,
applicationAuthor
:
undefined
,
status
:
0
})
},
deleteByFeeIsZero
(
id
)
{
this
.
$confirm
(
this
.
$t
(
"
确定要删除此条费用申请么?
"
)).
then
(()
=>
{
feeApplicationDelete
(
id
).
then
((
r
)
=>
{
this
.
$message
({
type
:
"
success
"
,
message
:
this
.
$t
(
"
删除成功
"
)
})
this
.
$emit
(
"
update:dialogVisible
"
,
false
)
})
})
},
submit
()
{
// 判断费用申请是否有未填项
// console.log("提交的费用信息列表", this.feeList)
const
errList
=
this
.
feeList
.
filter
((
item
)
=>
{
return
!
item
[
"
feeType
"
]
||
item
.
applicationFee
==
null
||
item
.
applicationFee
==
undefined
||
!
item
[
"
applicationFeeCurrency
"
]
||
!
item
[
"
payType
"
]
})
if
(
errList
.
length
)
{
return
this
.
$message
.
error
(
"
请填写完整费用申请信息
"
)
}
// if (this.editMode) {
// // 要提交status=1,否则保持原状态
// const data = {
// ...this.currentItem,
// status: 1,
// copyUserId: this.selectedUsers,
// };
// return applicationUpdate(data).then((r) => {
// this.$message.success(this.$t("修改成功"));
// this.$emit("update:dialogVisible", false);
// });
// }
feeApplicationCreateBatch
({
orderFeeApplicationCreateReqVOList
:
this
.
feeList
,
copyUserId
:
this
.
selectedUsers
,
orderId
:
this
.
orderId
}).
then
((
r
)
=>
{
if
(
r
.
code
===
0
)
{
this
.
$emit
(
"
update:dialogVisible
"
,
false
)
this
.
$message
.
success
(
this
.
$t
(
"
添加成功
"
))
this
.
selectedUsers
=
[]
this
.
$emit
(
"
refresh
"
)
}
})
},
goProcessDetail
()
{
this
.
$emit
(
"
update:dialogVisible
"
,
false
)
this
.
$router
.
push
(
"
/bpm/process-instance/detail?id=
"
+
this
.
processInstanceId
)
},
cancel
()
{
this
.
$prompt
(
this
.
$t
(
"
请输入取消原因
"
),
this
.
$t
(
"
提示
"
),
{
confirmButtonText
:
this
.
$t
(
"
确定
"
),
cancelButtonText
:
this
.
$t
(
"
取消
"
)
})
.
then
(({
value
})
=>
{
let
item
=
this
.
list
.
find
((
e
)
=>
e
.
status
===
1
)
feeApplicationCancel
({
huifu
:
value
,
bpmProcessId
:
this
.
processInstanceId
}).
then
((
r
)
=>
{
this
.
$message
({
type
:
"
success
"
,
message
:
this
.
$t
(
"
取消成功
"
)
})
this
.
$emit
(
"
update:dialogVisible
"
,
false
)
})
})
.
catch
(()
=>
{})
}
},
watch
:
{
dialogVisible
(
val
)
{
if
(
val
)
{
this
.
getOrderList
()
getOrder
(
this
.
orderId
).
then
((
r
)
=>
{
if
(
r
.
code
===
0
)
{
this
.
orderDetails
=
r
.
data
}
})
}
}
}
}
</
script
>
<
style
scoped
lang=
"scss"
>
.fee-application
{
padding
:
0
20px
;
h1
{
font-weight
:
600
;
font-size
:
20px
;
}
.content
{
width
:
200px
;
}
}
.my-process-designer
{
height
:
calc
(
100vh
-
200px
);
}
.box-card
{
width
:
100%
;
margin-bottom
:
20px
;
}
</
style
>
src/views/ecw/order/index.vue
View file @
4711720c
...
@@ -2,13 +2,7 @@
...
@@ -2,13 +2,7 @@
<div
class=
"app-container"
>
<div
class=
"app-container"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
label-width=
"100px"
class=
"search-z"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
label-width=
"100px"
class=
"search-z"
>
<el-form-item
:label=
"$t('编号')"
prop=
"orderNo"
>
<el-form-item
:label=
"$t('编号')"
prop=
"orderNo"
>
<el-input
<el-input
v-model.trim=
"noParam.value"
:placeholder=
"$t('请输入订单号、唛头、提单号')"
clearable
class=
"w-200"
@
input=
"replaceSpace(noParam, 'value')"
@
keyup.enter.native=
"handleQuery"
>
v-model.trim=
"noParam.value"
:placeholder=
"$t('请输入订单号、唛头、提单号')"
clearable
class=
"w-200"
@
input=
"replaceSpace(noParam, 'value')"
@
keyup.enter.native=
"handleQuery"
>
<template
slot=
"prepend"
>
<template
slot=
"prepend"
>
<dict-selector
:type=
"DICT_TYPE.ORDER_QUERY_NO_FIELD"
defaultable
v-model=
"noParam.key"
/>
<dict-selector
:type=
"DICT_TYPE.ORDER_QUERY_NO_FIELD"
defaultable
v-model=
"noParam.key"
/>
</
template
>
</
template
>
...
@@ -18,14 +12,14 @@
...
@@ -18,14 +12,14 @@
<el-input v-model="queryParams.marks" :placeholder="$t('唛头')" clearable @keyup.enter.native="handleQuery" />
<el-input v-model="queryParams.marks" :placeholder="$t('唛头')" clearable @keyup.enter.native="handleQuery" />
</el-form-item> -->
</el-form-item> -->
<el-form-item
:label=
"$t('发货人电话')"
prop=
"consignorPhone"
>
<el-form-item
:label=
"$t('发货人电话')"
prop=
"consignorPhone"
>
<el-input
v-model.trim=
"queryParams.consignorPhone"
:placeholder=
"$t('发货人电话')"
clearable
@
keyup.enter.native=
"handleQuery"
@
input=
"queryParams.consignorPhone = queryParams.consignorPhone.replace(/\s+/g, '')"
class=
"w-200"
/>
<el-input
v-model.trim=
"queryParams.consignorPhone"
:placeholder=
"$t('发货人电话')"
clearable
@
keyup.enter.native=
"handleQuery"
@
input=
"queryParams.consignorPhone = queryParams.consignorPhone.replace(/\s+/g, '')"
class=
"w-200"
/>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('收货人电话')"
prop=
"consignorPhone"
>
<el-form-item
:label=
"$t('收货人电话')"
prop=
"consignorPhone"
>
<el-input
v-model.trim=
"queryParams.consigneePhone"
:placeholder=
"$t('收货人电话')"
clearable
@
keyup.enter.native=
"handleQuery"
@
input=
"queryParams.consigneePhone = queryParams.consigneePhone.replace(/\s+/g, '')"
class=
"w-200"
/>
<el-input
v-model.trim=
"queryParams.consigneePhone"
:placeholder=
"$t('收货人电话')"
clearable
@
keyup.enter.native=
"handleQuery"
@
input=
"queryParams.consigneePhone = queryParams.consigneePhone.replace(/\s+/g, '')"
class=
"w-200"
/>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('控货')"
prop=
"isCargoControl"
v-show=
"showSearch"
>
<el-form-item
:label=
"$t('控货')"
prop=
"isCargoControl"
v-show=
"showSearch"
>
<dict-selector
v-model=
"queryParams.isCargoControl"
:type=
"DICT_TYPE.INFRA_BOOLEAN_STRING"
fomatter=
"bool"
clearable
@
change=
"handleQuery"
class=
"w-200"
/>
<dict-selector
v-model=
"queryParams.isCargoControl"
:type=
"DICT_TYPE.INFRA_BOOLEAN_STRING"
fomatter=
"bool"
clearable
@
change=
"handleQuery"
class=
"w-200"
/>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('始发仓')"
prop=
"startWarehouseIds"
>
<el-form-item
:label=
"$t('始发仓')"
prop=
"startWarehouseIds"
>
<el-select
v-model=
"queryParams.startWarehouseIds"
multiple
:placeholder=
"$t('请选择始发仓')"
clearable
@
change=
"handleQuery"
class=
"w-200"
>
<el-select
v-model=
"queryParams.startWarehouseIds"
multiple
:placeholder=
"$t('请选择始发仓')"
clearable
@
change=
"handleQuery"
class=
"w-200"
>
...
@@ -49,7 +43,7 @@
...
@@ -49,7 +43,7 @@
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('运输方式')"
prop=
"transportId"
v-if=
"!transportId"
>
<el-form-item
:label=
"$t('运输方式')"
prop=
"transportId"
v-if=
"!transportId"
>
<dict-selector
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
v-model.number=
"queryParams.transportId"
clearable
@
change=
"handleQuery"
class=
"w-200"
/>
<dict-selector
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
v-model.number=
"queryParams.transportId"
clearable
@
change=
"handleQuery"
class=
"w-200"
/>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('商品类型')"
prop=
"goodsTypes"
v-show=
"showSearch"
>
<el-form-item
:label=
"$t('商品类型')"
prop=
"goodsTypes"
v-show=
"showSearch"
>
...
@@ -150,10 +144,10 @@
...
@@ -150,10 +144,10 @@
</el-input>
</el-input>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('发货人')"
prop=
"consignorKey"
v-show=
"showSearch"
>
<el-form-item
:label=
"$t('发货人')"
prop=
"consignorKey"
v-show=
"showSearch"
>
<el-input
v-model.trim=
"queryParams.consignorKey"
:placeholder=
"$t('发货人')"
clearable
@
keyup.enter.native=
"handleQuery"
class=
"w-200"
/>
<el-input
v-model.trim=
"queryParams.consignorKey"
:placeholder=
"$t('发货人')"
clearable
@
keyup.enter.native=
"handleQuery"
class=
"w-200"
/>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('收货人')"
prop=
"consigneeKey"
v-show=
"showSearch"
>
<el-form-item
:label=
"$t('收货人')"
prop=
"consigneeKey"
v-show=
"showSearch"
>
<el-input
v-model.trim=
"queryParams.consigneeKey"
:placeholder=
"$t('收货人')"
clearable
@
keyup.enter.native=
"handleQuery"
class=
"w-200"
/>
<el-input
v-model.trim=
"queryParams.consigneeKey"
:placeholder=
"$t('收货人')"
clearable
@
keyup.enter.native=
"handleQuery"
class=
"w-200"
/>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('付款人')"
prop=
"draweeList"
v-show=
"showSearch"
>
<el-form-item
:label=
"$t('付款人')"
prop=
"draweeList"
v-show=
"showSearch"
>
<dict-selector
:type=
"DICT_TYPE.DRAWEE"
v-model=
"queryParams.draweeList"
multiple
clearable
@
change=
"handleQuery"
class=
"w-200"
/>
<dict-selector
:type=
"DICT_TYPE.DRAWEE"
v-model=
"queryParams.draweeList"
multiple
clearable
@
change=
"handleQuery"
class=
"w-200"
/>
...
@@ -176,6 +170,9 @@
...
@@ -176,6 +170,9 @@
<!-- </el-button>-->
<!-- </el-button>-->
<el-button
type=
"primary"
v-hasPermi=
"['ecw:order:batch_release']"
plain
icon=
"el-icon-setting"
size=
"mini"
@
click=
"showBatchPickup = true"
>
{{ $t("批量提货") }}
</el-button>
<el-button
type=
"primary"
v-hasPermi=
"['ecw:order:batch_release']"
plain
icon=
"el-icon-setting"
size=
"mini"
@
click=
"showBatchPickup = true"
>
{{ $t("批量提货") }}
</el-button>
</el-col>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"primary"
plain
icon=
"el-icon-setting"
size=
"mini"
@
click=
"feeApplicationBatchOpen"
>
{{ $t("批量费用申请") }}
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-col
:span=
"1.5"
>
<!-- <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
<!-- <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
:loading="exportLoading" v-hasPermi="['ecw:order:export']">{{$t('导出')}}</el-button> -->
:loading="exportLoading" v-hasPermi="['ecw:order:export']">{{$t('导出')}}</el-button> -->
...
@@ -223,7 +220,7 @@
...
@@ -223,7 +220,7 @@
</div>
</div>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('唛头')"
align=
"center"
prop=
"marks"
fixed
/>
<el-table-column
:label=
"$t('唛头')"
align=
"center"
prop=
"marks"
fixed
/>
<el-table-column
:label=
"$t('总箱数/入仓箱数')"
align=
"center"
prop=
"sumNum"
width=
"200px"
>
<el-table-column
:label=
"$t('总箱数/入仓箱数')"
align=
"center"
prop=
"sumNum"
width=
"200px"
>
<
template
slot-scope=
"{ row }"
>
<
template
slot-scope=
"{ row }"
>
...
@@ -291,15 +288,14 @@
...
@@ -291,15 +288,14 @@
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
v-if=
"dept"
:label=
"$t('客户经理')"
align=
"center"
prop=
"salesmanName"
/>
<el-table-column
v-if=
"dept"
:label=
"$t('客户经理')"
align=
"center"
prop=
"salesmanName"
/>
<el-table-column
:label=
"$t('发货人客服')"
align=
"center"
prop=
"consignorFollowCustomerService"
/>
<el-table-column
:label=
"$t('发货人客服')"
align=
"center"
prop=
"consignorFollowCustomerService"
/>
<el-table-column
:label=
"$t('收货人客服')"
align=
"center"
prop=
"consigneeFollowCustomerService"
/>
<el-table-column
:label=
"$t('收货人客服')"
align=
"center"
prop=
"consigneeFollowCustomerService"
/>
<!-- <el-table-column :label="$t('到仓箱数/方数/重量')" align="center" prop="status">-->
<!-- <el-table-column :label="$t('到仓箱数/方数/重量')" align="center" prop="status">-->
<!-- <template slot-scope="{ row }">-->
<!-- <template slot-scope="{ row }">-->
<!-- {{ row.checkNum }}{{ $t("箱") }} / {{ row.checkVolume }}m³ /{{ row.checkWeight }}Kg-->
<!-- {{ row.checkNum }}{{ $t("箱") }} / {{ row.checkVolume }}m³ /{{ row.checkWeight }}Kg-->
<!-- </template>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- </el-table-column>-->
<el-table-column
:label=
"$t('提货率')"
align=
"center"
prop=
"pickRatio"
/>
<el-table-column
:label=
"$t('提货率')"
align=
"center"
prop=
"pickRatio"
/>
<el-table-column
:label=
"$t('状态')"
align=
"center"
prop=
"status"
>
<el-table-column
:label=
"$t('状态')"
align=
"center"
prop=
"status"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
...
@@ -342,52 +338,17 @@
...
@@ -342,52 +338,17 @@
<el-button
type=
"text"
>
{{
$t
(
"
操作
"
)
}}
</el-button>
<el-button
type=
"text"
>
{{
$t
(
"
操作
"
)
}}
</el-button>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-menu
slot=
"dropdown"
>
<!--出货订单编辑,shipmentState > 0表示出货后,inWarehouseState == 0 表示预装未审核或者是卸柜到仓 , shipmentState==307 表示已预装,待封柜, shipmentState==407 表示已预装,待封柜)-->
<!--出货订单编辑,shipmentState > 0表示出货后,inWarehouseState == 0 表示预装未审核或者是卸柜到仓 , shipmentState==307 表示已预装,待封柜, shipmentState==407 表示已预装,待封柜)-->
<template
<template
v-if=
"(scope.row.shipmentState > 0 || scope.row.status == 16) && scope.row.inWarehouseState == 0 && exclude(scope.row.auditType, [1, 2, 3, 4, 5, 6, 11, 23, 28, 31, 32]) && exclude(scope.row.shipmentState, [305, 307, 309, 310, 311, 313, 407, 409, 411])"
>
v-if=
"(scope.row.shipmentState > 0 || scope.row.status == 16) &&
<el-dropdown-item
@
click.native=
"handleUpdate(scope.row)"
v-hasPermi=
"['ecw:order:shipment:update']"
>
{{
$t
(
"
编辑
"
)
}}
</el-dropdown-item>
scope.row.inWarehouseState == 0 &&
exclude(scope.row.auditType, [1, 2, 3, 4, 5, 6, 11, 23, 28, 31, 32]) &&
exclude(scope.row.shipmentState, [305, 307, 309, 310, 311, 313, 407,409,411])"
>
<el-dropdown-item
@
click.native=
"handleUpdate(scope.row)"
v-hasPermi=
"['ecw:order:shipment:update']"
>
{{
$t
(
"
编辑
"
)
}}
</el-dropdown-item>
</
template
>
</
template
>
<!-- 其他编辑 -->
<!-- 其他编辑 -->
<
template
<
template
v-else-if=
"(scope.row.status < 12 || (scope.row.status == 12 && scope.row.shipmentState == 314)) && exclude(scope.row.auditType, [1, 2, 3, 4, 5, 6, 11, 23, 28, 31, 32]) && exclude(scope.row.inWarehouseState, [204, 205, 206]) && exclude(scope.row.shipmentState, [305, 307, 407])"
>
v-else-if=
"
<el-dropdown-item
@
click.native=
"handleUpdate(scope.row)"
v-hasPermi=
"['ecw:order:edit']"
>
{{
$t
(
"
编辑
"
)
}}
</el-dropdown-item>
(scope.row.status < 12 ||
(scope.row.status == 12 &&
scope.row.shipmentState == 314)) &&
exclude(scope.row.auditType, [1, 2, 3, 4, 5, 6, 11, 23, 28, 31, 32]) &&
exclude(scope.row.inWarehouseState, [204, 205, 206]) &&
exclude(scope.row.shipmentState, [305, 307, 407])
"
>
<el-dropdown-item
@
click.native=
"handleUpdate(scope.row)"
v-hasPermi=
"['ecw:order:edit']"
>
{{
$t
(
"
编辑
"
)
}}
</el-dropdown-item
>
</
template
>
</
template
>
<!-- 修改货值(已预装/已理货/添加到预装) -->
<!-- 修改货值(已预装/已理货/添加到预装) -->
<
template
v-if=
"scope.row.status == 11 ||
<
template
v-if=
"scope.row.status == 11 || scope.row.auditType == 18 || scope.row.auditType == 19 || scope.row.auditType == 24 || scope.row.auditType == 25 || scope.row.auditType == 50 || scope.row.auditType == 51 || scope.row.shipmentState == 407 || scope.row.shipmentState == 409 || scope.row.shipmentState == 411 || (scope.row.status == 5 && scope.row.shipmentState == 304)"
>
scope.row.auditType == 18 ||
<el-dropdown-item
@
click.native=
"handleUpdate(scope.row, false, true)"
v-hasPermi=
"['ecw:order:edit-worth']"
>
{{
$t
(
"
修改货值
"
)
}}
</el-dropdown-item>
scope.row.auditType == 19 ||
scope.row.auditType == 24 ||
scope.row.auditType == 25 ||
scope.row.auditType == 50 ||
scope.row.auditType == 51 ||
scope.row.shipmentState == 407 ||
scope.row.shipmentState == 409 ||
scope.row.shipmentState == 411 ||
(scope.row.status == 5 && scope.row.shipmentState == 304)
"
>
<el-dropdown-item
@
click.native=
"handleUpdate(scope.row,false ,true)"
v-hasPermi=
"['ecw:order:edit-worth']"
>
{{
$t
(
"
修改货值
"
)
}}
</el-dropdown-item>
</
template
>
</
template
>
<!-- 删除 -->
<!-- 删除 -->
...
@@ -472,16 +433,7 @@
...
@@ -472,16 +433,7 @@
</
template
>
</
template
>
<!--转异-->
<!--转异-->
<
template
<
template
v-if=
"(scope.row.status < 12 || (scope.row.status == 12 && scope.row.shipmentState == 314)) && !scope.row.abnormalState && exclude(scope.row.inWarehouseState, [204, 205, 206]) && exclude(scope.row.shipmentState, [305, 307, 407])"
>
v-if=
"
(scope.row.status < 12 ||
(scope.row.status == 12 &&
scope.row.shipmentState == 314)) &&
!scope.row.abnormalState &&
exclude(scope.row.inWarehouseState, [204, 205, 206]) &&
exclude(scope.row.shipmentState, [305, 307, 407])
"
>
<el-dropdown-item
@
click.native=
"handleException(scope.row)"
v-hasPermi=
"['ecw:order:turnException']"
>
{{
$t
(
"
转异
"
)
}}
</el-dropdown-item>
<el-dropdown-item
@
click.native=
"handleException(scope.row)"
v-hasPermi=
"['ecw:order:turnException']"
>
{{
$t
(
"
转异
"
)
}}
</el-dropdown-item>
</
template
>
</
template
>
<
template
v-if=
"scope.row.abnormalState != 0"
>
<
template
v-if=
"scope.row.abnormalState != 0"
>
...
@@ -491,96 +443,29 @@
...
@@ -491,96 +443,29 @@
</el-dropdown-menu>
</el-dropdown-menu>
</el-dropdown>
</el-dropdown>
<
template
<
template
v-if=
"(exclude(scope.row.status, [0, 11, 12, 13, 14, 15, 17, 18, 32]) && exclude(scope.row.inWarehouseState, [204, 205, 206])) || (scope.row.shipmentState > 0 && scope.row.inWarehouseState == 0)"
>
v-if=
"
(exclude(scope.row.status,[0, 11, 12, 13, 14, 15, 17, 18, 32]) && exclude(scope.row.inWarehouseState, [204, 205, 206]))
||
(scope.row.shipmentState > 0 && scope.row.inWarehouseState == 0)
"
>
<!--
<el-divider
direction=
"vertical"
></el-divider>
-->
<!--
<el-divider
direction=
"vertical"
></el-divider>
-->
<!--仓库相关的-->
<!--仓库相关的-->
<el-dropdown
<el-dropdown
v-hasPermi=
"['ecw:order:warehouse_add', 'ecw:order:warehouse_update', 'ecw:order:warehouse_exit', 'ecw:order:warehouse_adjustment', 'ecw:order:warehouse_transfer', 'ecw:order:warehouse_arrive', 'ecw:order:stocking', 'ecw:order:shipment:warehouse_replenish', 'ecw:order:shipment:warehouse_update']"
>
v-hasPermi=
"[
'ecw:order:warehouse_add',
'ecw:order:warehouse_update',
'ecw:order:warehouse_exit',
'ecw:order:warehouse_adjustment',
'ecw:order:warehouse_transfer',
'ecw:order:warehouse_arrive',
'ecw:order:stocking',
'ecw:order:shipment:warehouse_replenish',
'ecw:order:shipment:warehouse_update',
]"
>
<el-button
type=
"text"
>
{{
$t
(
"
仓库
"
)
}}
</el-button>
<el-button
type=
"text"
>
{{
$t
(
"
仓库
"
)
}}
</el-button>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-menu
slot=
"dropdown"
>
<!-- 入仓操作 -->
<!-- 入仓操作 -->
<template
v-if=
"
(include(scope.row.status, [0, 2]) || scope.row.inWarehouseState == 208)
"
>
<template
v-if=
"
include(scope.row.status, [0, 2]) || scope.row.inWarehouseState == 208
"
>
<el-dropdown-item
@
click.native=
"$router.push('/order/warehousing?id=' + scope.row.orderId)"
v-hasPermi=
"['ecw:order:warehouse_add']"
>
{{
$t
(
"
入仓操作
"
)
}}
</el-dropdown-item>
<el-dropdown-item
@
click.native=
"$router.push('/order/warehousing?id=' + scope.row.orderId)"
v-hasPermi=
"['ecw:order:warehouse_add']"
>
{{
$t
(
"
入仓操作
"
)
}}
</el-dropdown-item>
</
template
>
</
template
>
<!-- 入仓补充 -->
<!-- 入仓补充 -->
<
template
<
template
v-if=
"scope.row.shipmentState > 0 && scope.row.inWarehouseState == 0 && exclude(scope.row.shipmentState, [305, 307, 309, 310, 311, 313, 407, 409, 411])"
>
v-if=
"scope.row.shipmentState > 0 && scope.row.inWarehouseState == 0 && exclude(scope.row.shipmentState, [305, 307, 309, 310, 311, 313, 407,409,411])"
<el-dropdown-item
@
click.native=
"$router.push('/order/warehousing-add?shipment=1&id=' + scope.row.orderId)"
v-hasPermi=
"['ecw:order:shipment:warehouse_replenish']"
>
{{
$t
(
"
入仓补充
"
)
}}
</el-dropdown-item>
>
<el-dropdown-item
@
click.native=
"$router.push('/order/warehousing-add?shipment=1&id=' + scope.row.orderId)"
v-hasPermi=
"['ecw:order:shipment:warehouse_replenish']"
>
{{
$t
(
"
入仓补充
"
)
}}
</el-dropdown-item
>
</
template
>
</
template
>
<
template
<
template
v-else-if=
"include(scope.row.inWarehouseState, [201, 202, 202, 210, 202, 211, 202, 214, 215, 216]) && include(scope.row.status, [2, 3, 5, 10, 9, 8]) && include(scope.row.airShipment, [0, 1])"
>
v-else-if=
"
<el-dropdown-item
@
click.native=
"$router.push('/order/warehousing-add?id=' + scope.row.orderId)"
v-hasPermi=
"['ecw:order:warehouse_replenish']"
>
{{
$t
(
"
入仓补充
"
)
}}
</el-dropdown-item>
include(
scope.row.inWarehouseState,
[201, 202, 202, 210, 202, 211, 202, 214, 215, 216]
) && include(scope.row.status, [2, 3, 5, 10, 9, 8]) && include(scope.row.airShipment, [0, 1])
"
>
<el-dropdown-item
@
click.native=
"
$router.push(
'/order/warehousing-add?id=' + scope.row.orderId
)
"
v-hasPermi=
"['ecw:order:warehouse_replenish']"
>
{{
$t
(
"
入仓补充
"
)
}}
</el-dropdown-item
>
</
template
>
</
template
>
<!-- 入仓修改 -->
<!-- 入仓修改 -->
<
template
<
template
v-if=
"scope.row.shipmentState > 0 && scope.row.inWarehouseState == 0 && exclude(scope.row.shipmentState, [305, 307, 309, 310, 311, 313, 407, 409, 411])"
>
v-if=
"scope.row.shipmentState > 0 && scope.row.inWarehouseState == 0
<el-dropdown-item
@
click.native=
"$router.push('/order/warehousing-update?shipment=1&id=' + scope.row.orderId)"
v-hasPermi=
"['ecw:order:shipment:warehouse_update']"
>
{{
$t
(
"
入仓修改
"
)
}}
</el-dropdown-item>
&& exclude(scope.row.shipmentState, [305, 307, 309, 310, 311, 313, 407,409,411])"
>
<el-dropdown-item
@
click.native=
"$router.push('/order/warehousing-update?shipment=1&id=' + scope.row.orderId)"
v-hasPermi=
"['ecw:order:shipment:warehouse_update']"
>
{{
$t
(
"
入仓修改
"
)
}}
</el-dropdown-item
>
</
template
>
</
template
>
<
template
<
template
v-else-if=
"include(scope.row.inWarehouseState, [201, 202, 207, 202, 209, 210, 202, 211, 202, 214, 215, 216, 204, 205]) && scope.row.status != 11 && exclude(scope.row.shipmentState, [305, 307, 407]) && include(scope.row.airShipment, [0, 1])"
>
v-else-if=
"
<el-dropdown-item
@
click.native=
"$router.push('/order/warehousing-update?id=' + scope.row.orderId)"
v-hasPermi=
"['ecw:order:warehouse_update']"
:disabled2=
"scope.row.parentOrderId"
>
{{
$t
(
"
入仓修改
"
)
}}
</el-dropdown-item>
include(
scope.row.inWarehouseState,
[
201, 202, 207, 202, 209, 210, 202, 211, 202, 214, 215,
216, 204, 205,
]
) &&
scope.row.status != 11 &&
exclude(scope.row.shipmentState, [305, 307, 407]) && include(scope.row.airShipment, [0, 1])
"
>
<el-dropdown-item
@
click.native=
"
$router.push(
'/order/warehousing-update?id=' + scope.row.orderId
)
"
v-hasPermi=
"['ecw:order:warehouse_update']"
:disabled2=
"scope.row.parentOrderId"
>
{{
$t
(
"
入仓修改
"
)
}}
</el-dropdown-item
>
</
template
>
</
template
>
<!-- 退仓 -->
<!-- 退仓 -->
...
@@ -703,7 +588,8 @@
...
@@ -703,7 +588,8 @@
<batch-pickup
v-if=
"showBatchPickup"
@
close=
"onBatchClose"
@
success=
"onBatchClose"
/>
<batch-pickup
v-if=
"showBatchPickup"
@
close=
"onBatchClose"
@
success=
"onBatchClose"
/>
<withdrawal
v-if=
"show"
:dialog-visible=
"show"
:orderId=
"orderId"
></withdrawal>
<withdrawal
v-if=
"show"
:dialog-visible=
"show"
:orderId=
"orderId"
></withdrawal>
<batch-single-application
@
getList=
"getList"
:order-list=
"orderId"
:dialog-visible.sync=
"warehouseBol"
></batch-single-application>
<batch-single-application
@
getList=
"getList"
:order-list=
"orderId"
:dialog-visible.sync=
"warehouseBol"
></batch-single-application>
<fee-application
v-if=
"feeApplicationBol"
:order-id=
"orderId"
:currencys=
"JSON.stringify(currencyList)"
:dialog-visible.sync=
"feeApplicationBol "
@
refresh=
"getList"
></fee-application>
<fee-application
v-if=
"feeApplicationBol"
:order-id=
"orderId"
:currencys=
"JSON.stringify(currencyList)"
:dialog-visible.sync=
"feeApplicationBol"
@
refresh=
"getList"
></fee-application>
<feeApplicationBatch
v-if=
"feeApplicationBatch"
:order-list=
"multipleSelection"
:currencys=
"JSON.stringify(currencyList)"
:dialog-visible.sync=
"feeApplicationBatch"
@
refresh=
"getList"
/>
<merge-log
:order-no=
"showMergedLogOrderNo"
v-if=
"showMergedLogOrderNo !== null"
@
close=
"showMergedLogOrderNo = null"
/>
<merge-log
:order-no=
"showMergedLogOrderNo"
v-if=
"showMergedLogOrderNo !== null"
@
close=
"showMergedLogOrderNo = null"
/>
<pickup-log
v-if=
"showPickupLogOrderNo"
:order-no=
"showPickupLogOrderNo"
@
close=
"showPickupLogOrderNo = null"
@
delete=
"getList"
/>
<pickup-log
v-if=
"showPickupLogOrderNo"
:order-no=
"showPickupLogOrderNo"
@
close=
"showPickupLogOrderNo = null"
@
delete=
"getList"
/>
<SplitRevoke
<SplitRevoke
...
@@ -736,6 +622,7 @@ import withdrawal from "@/views/ecw/order/withdrawal"
...
@@ -736,6 +622,7 @@ import withdrawal from "@/views/ecw/order/withdrawal"
import
UserSelector
from
"
@/components/UserSelector
"
import
UserSelector
from
"
@/components/UserSelector
"
import
BatchSingleApplication
from
"
@/views/ecw/order/batchSingleApplication
"
import
BatchSingleApplication
from
"
@/views/ecw/order/batchSingleApplication
"
import
FeeApplication
from
"
@/views/ecw/order/feeApplication
"
import
FeeApplication
from
"
@/views/ecw/order/feeApplication
"
import
feeApplicationBatch
from
"
@/views/ecw/order/feeApplicationBatch
"
import
MergeLog
from
"
@/views/ecw/order/components/MergeLog
"
import
MergeLog
from
"
@/views/ecw/order/components/MergeLog
"
import
PickupLog
from
"
./components/PickupLog
"
import
PickupLog
from
"
./components/PickupLog
"
import
{
getWarehouseList
}
from
"
@/api/ecw/warehouse
"
import
{
getWarehouseList
}
from
"
@/api/ecw/warehouse
"
...
@@ -752,6 +639,7 @@ export default {
...
@@ -752,6 +639,7 @@ export default {
Template
,
Template
,
UserSelector
,
UserSelector
,
FeeApplication
,
FeeApplication
,
feeApplicationBatch
,
BatchSingleApplication
,
BatchSingleApplication
,
MergeLog
,
MergeLog
,
PickupLog
,
PickupLog
,
...
@@ -866,7 +754,8 @@ export default {
...
@@ -866,7 +754,8 @@ export default {
key
:
"
eqPickRatio
"
,
key
:
"
eqPickRatio
"
,
value
:
""
value
:
""
},
},
autoHeight
:
null
autoHeight
:
null
,
feeApplicationBatch
:
false
}
}
},
},
watch
:
{
watch
:
{
...
@@ -1023,10 +912,10 @@ export default {
...
@@ -1023,10 +912,10 @@ export default {
},
},
computed
:
{
computed
:
{
isMobile
()
{
isMobile
()
{
const
userAgent
=
navigator
.
userAgent
||
navigator
.
vendor
||
window
.
opera
;
const
userAgent
=
navigator
.
userAgent
||
navigator
.
vendor
||
window
.
opera
// 匹配常见的移动设备标识
// 匹配常见的移动设备标识
const
mobileIdentifiers
=
[
'
Android
'
,
'
webOS
'
,
'
iPhone
'
,
'
iPad
'
,
'
iPod
'
,
'
BlackBerry
'
,
'
Windows Phone
'
];
const
mobileIdentifiers
=
[
"
Android
"
,
"
webOS
"
,
"
iPhone
"
,
"
iPad
"
,
"
iPod
"
,
"
BlackBerry
"
,
"
Windows Phone
"
]
return
mobileIdentifiers
.
some
(
identifier
=>
userAgent
.
includes
(
identifier
));
return
mobileIdentifiers
.
some
(
(
identifier
)
=>
userAgent
.
includes
(
identifier
))
},
},
// 导出的权限字符串
// 导出的权限字符串
exportPermiString
()
{
exportPermiString
()
{
...
@@ -1407,10 +1296,10 @@ export default {
...
@@ -1407,10 +1296,10 @@ export default {
let
url
=
"
edit?id=
"
+
row
.
orderId
let
url
=
"
edit?id=
"
+
row
.
orderId
if
(
updateChannel
)
{
if
(
updateChannel
)
{
url
+=
"
&updateChannel=1
"
url
+=
"
&updateChannel=1
"
}
else
if
(
updateWorth
)
{
}
else
if
(
updateWorth
)
{
url
+=
"
&updateWorth=1
"
url
+=
"
&updateWorth=1
"
}
}
console
.
log
(
'
url:
'
+
url
);
console
.
log
(
"
url:
"
+
url
)
this
.
$router
.
push
(
url
)
this
.
$router
.
push
(
url
)
},
},
...
@@ -1539,20 +1428,27 @@ export default {
...
@@ -1539,20 +1428,27 @@ export default {
},
},
//表格高度自适应
//表格高度自适应
getHeight
()
{
getHeight
()
{
if
(
!
this
.
isMobile
)
{
if
(
!
this
.
isMobile
)
{
this
.
$refs
.
dataTable
.
doLayout
()
this
.
$refs
.
dataTable
.
doLayout
()
let
getHeightFromBottom
=
(
element
,
variableHeight
)
=>
{
let
getHeightFromBottom
=
(
element
,
variableHeight
)
=>
{
const
elementRect
=
element
.
getBoundingClientRect
().
top
;
const
elementRect
=
element
.
getBoundingClientRect
().
top
const
windowHeight
=
document
.
documentElement
.
clientHeight
;
const
windowHeight
=
document
.
documentElement
.
clientHeight
const
elementHeightFromBottom
=
windowHeight
-
elementRect
;
const
elementHeightFromBottom
=
windowHeight
-
elementRect
const
result
=
elementHeightFromBottom
-
variableHeight
;
const
result
=
elementHeightFromBottom
-
variableHeight
return
result
;
return
result
}
}
const
element
=
document
.
getElementById
(
'
dataTable
'
);
const
element
=
document
.
getElementById
(
"
dataTable
"
)
const
variableHeight
=
70
;
// 给定的变量高度 一般留于分页器高度
const
variableHeight
=
70
// 给定的变量高度 一般留于分页器高度
this
.
autoHeight
=
getHeightFromBottom
(
element
,
variableHeight
)
;
this
.
autoHeight
=
getHeightFromBottom
(
element
,
variableHeight
)
}
}
},
},
feeApplicationBatchOpen
()
{
if
(
!
this
.
ids
.
length
)
{
this
.
$message
(
this
.
$t
(
"
请先勾选订单
"
))
return
}
this
.
feeApplicationBatch
=
true
}
}
}
}
}
</
script
>
</
script
>
...
...
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