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
36a3de98
Commit
36a3de98
authored
Sep 19, 2022
by
我在何方
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' of
http://gitlab.jdshangmen.com/jiedao-app/jiedao-app-operator
into dev
parents
bf995089
d202add2
Changes
46
Hide whitespace changes
Inline
Side-by-side
Showing
46 changed files
with
764 additions
and
287 deletions
+764
-287
ueditor.config.js
public/static/plugins/ueditor/ueditor.config.js
+2
-2
batchSingleApplication.js
src/api/ecw/batchSingleApplication.js
+8
-0
customer.js
src/api/ecw/customer.js
+26
-2
order.js
src/api/ecw/order.js
+26
-0
productBrank.js
src/api/ecw/productBrank.js
+9
-0
user.js
src/api/member/user.js
+12
-4
needKnow.js
src/api/system/needKnow.js
+10
-0
index.vue
src/components/ChooseContactDialog/index.vue
+2
-2
index.vue
src/components/NeedKnow/index.vue
+7
-1
main.js
src/main.js
+19
-0
download.js
src/plugins/download.js
+5
-0
tab.js
src/plugins/tab.js
+5
-1
index.js
src/router/index.js
+7
-0
startPacking.vue
...ews/ecw/box/shippingSea/nodePage/cabinet/startPacking.vue
+1
-1
shippingSea.vue
src/views/ecw/box/shippingSea/shippingSea.vue
+1
-3
edit.vue
src/views/ecw/customer/edit.vue
+3
-3
index.vue
src/views/ecw/customer/index.vue
+5
-6
query.vue
src/views/ecw/customer/query.vue
+107
-40
index.vue
src/views/ecw/customerConfirm/index.vue
+4
-4
index.vue
src/views/ecw/customerToBeAssigned/index.vue
+3
-3
index.vue
src/views/ecw/myCustomerService/index.vue
+1
-1
index.vue
src/views/ecw/oceanCustomer/index.vue
+3
-3
edit.vue
src/views/ecw/offer/edit.vue
+59
-37
index.vue
src/views/ecw/offer/index.vue
+124
-38
result.vue
src/views/ecw/offer/result.vue
+7
-3
special.vue
src/views/ecw/offer/special.vue
+20
-11
associatedOrder.vue
src/views/ecw/order/associatedOrder.vue
+1
-1
cargoControl.vue
src/views/ecw/order/cargoControl.vue
+5
-1
PrintWarehouseReceipt.vue
src/views/ecw/order/components/PrintWarehouseReceipt.vue
+2
-2
ordeDetailsForm.vue
src/views/ecw/order/components/ordeDetailsForm.vue
+2
-3
specialNeeds.vue
src/views/ecw/order/components/specialNeeds.vue
+2
-0
warehouseDetails.vue
src/views/ecw/order/components/warehouseDetails.vue
+8
-17
create.vue
src/views/ecw/order/create.vue
+6
-0
edit.vue
src/views/ecw/order/edit.vue
+42
-25
feeApplication.vue
src/views/ecw/order/feeApplication.vue
+34
-3
index.vue
src/views/ecw/order/index.vue
+6
-6
mutexOrder.vue
src/views/ecw/order/mutexOrder.vue
+1
-1
notMutexOrder.vue
src/views/ecw/order/notMutexOrder.vue
+1
-1
success.vue
src/views/ecw/order/success.vue
+1
-1
transferWarehousing.vue
src/views/ecw/order/transferWarehousing.vue
+16
-9
editDialog.vue
src/views/ecw/order/warehousing/components/editDialog.vue
+32
-20
index.vue
src/views/ecw/order/warehousing/index.vue
+43
-3
withdrawal.vue
src/views/ecw/order/withdrawal.vue
+43
-4
index.vue
src/views/ecw/product/index.vue
+30
-12
index.vue
src/views/system/internalMessage/index.vue
+9
-9
index.vue
src/views/system/needKnow/index.vue
+4
-4
No files found.
public/static/plugins/ueditor/ueditor.config.js
View file @
36a3de98
...
...
@@ -106,7 +106,7 @@
//,fullscreen : false //是否开启初始化时即全屏,默认关闭
//
,imagePopup:true //图片操作的浮层开关,默认打开
,
imagePopup
:
true
//图片操作的浮层开关,默认打开
//,autoSyncData:true //自动同步编辑器要提交的数据
//,emotionLocalization:false //是否开启表情本地化,默认关闭。若要开启请确保emotion文件夹下包含官网提供的images表情文件夹
...
...
@@ -297,7 +297,7 @@
//,toolbarTopOffset:400
//设置远程图片是否抓取到本地保存
//
,catchRemoteImageEnable: true //设置是否抓取远程图片
,
catchRemoteImageEnable
:
true
//设置是否抓取远程图片
//pageBreakTag
//分页标识符,默认是_ueditor_page_break_tag_
...
...
src/api/ecw/batchSingleApplication.js
View file @
36a3de98
...
...
@@ -33,6 +33,14 @@ export function orderWarehouseInDelete(data){
data
:
data
,
})
}
//获取退仓审批详情
export
function
getRollbackApprovalInfo
(
params
){
return
request
({
url
:
'
/order/order-warehouse-in/get-rollback-approval-info
'
,
method
:
'
get
'
,
params
})
}
//通过bpmFormId 获得仓库审核单详情
export
function
warehouseApprovalGetByFormId
(
params
){
return
request
({
...
...
src/api/ecw/customer.js
View file @
36a3de98
...
...
@@ -166,7 +166,7 @@ export function getBrankByCustomer(data){
//
export
function
levelLogPage
(
params
){
return
request
({
url
:
'
/customer/
level-log/p
age
'
,
url
:
'
/customer/
detail/infoList/levelLogP
age
'
,
method
:
'
get
'
,
params
})
...
...
@@ -174,7 +174,31 @@ export function levelLogPage(params){
//获取信用等级日志列表
export
function
customerCreditLogPage
(
params
){
return
request
({
url
:
'
/customer/credit-log/page
'
,
url
:
'
/customer/detail/infoList/creditLogPage
'
,
method
:
'
get
'
,
params
})
}
//客户详情订单分页
export
function
infoListOrderPage
(
params
){
return
request
({
url
:
'
/customer/detail/infoList/orderPage
'
,
method
:
'
get
'
,
params
})
}
//客户详情 --- 报价
export
function
infoListOfferPage
(
params
){
return
request
({
url
:
'
/customer/detail/infoList/offerPage
'
,
method
:
'
get
'
,
params
})
}
//客户数据
export
function
orderStatistics
(
params
){
return
request
({
url
:
'
/customer/detail/infoList/orderStatistics
'
,
method
:
'
get
'
,
params
})
...
...
src/api/ecw/order.js
View file @
36a3de98
...
...
@@ -171,6 +171,16 @@ export function orderWarehouseInUpdateApply(data){
data
})
}
// 入仓修改箱号
export
function
orderWarehouseInUpdateLabel
(
data
){
return
request
({
url
:
'
/order/order-warehouse-in/update-label
'
,
method
:
'
post
'
,
data
})
}
// 获取入仓修改审批单详情-审批使用
export
function
getWarehouseUpdateApprovalInfo
(
id
)
{
return
request
({
...
...
@@ -429,3 +439,19 @@ export function orderSpecialNeedGet(params){
params
})
}
//取消调仓
export
function
cancelAdjust
(
data
){
return
request
({
url
:
'
/order/order-warehouse-in/cancel-adjust
'
,
method
:
'
post
'
,
data
})
}
//取消订单费用申请
export
function
feeApplicationCancel
(
data
){
return
request
({
url
:
'
/order/fee-application/cancel
'
,
method
:
'
delete
'
,
data
})
}
src/api/ecw/productBrank.js
View file @
36a3de98
...
...
@@ -10,6 +10,15 @@ export function createProductBrank(data) {
}
// 更新品牌
export
function
updateProductBrank
(
data
)
{
return
request
({
url
:
'
/ecw/product-brank/update
'
,
method
:
'
put
'
,
data
:
data
})
}
// 修改品牌默认收费模式
export
function
changeFeeModel
(
data
)
{
return
request
({
url
:
'
/ecw/product-brank/changeFeeMode
'
,
...
...
src/api/member/user.js
View file @
36a3de98
...
...
@@ -36,11 +36,11 @@ export function getUser(id) {
}
// 获得用户分页
export
function
getUserPage
(
query
)
{
export
function
getUserPage
(
params
)
{
return
request
({
url
:
'
/member/user/page
'
,
method
:
'
get
'
,
params
:
query
params
:
params
})
}
...
...
@@ -104,8 +104,8 @@ export function memberUserAuditIdCard(query) {
export
function
memberUserAuditEnterprise
(
query
)
{
return
request
({
url
:
'
/member/user/audit-enterprise
'
,
method
:
'
ge
t
'
,
params
:
query
,
method
:
'
pu
t
'
,
data
:
query
,
})
}
...
...
@@ -143,3 +143,11 @@ export function userCreateAuditEnterprise(data){
data
:
data
,
})
}
//新增用户
export
function
createAuditIdCard
(
data
){
return
request
({
url
:
'
/member/user/create-audit-idcard
'
,
method
:
'
put
'
,
data
})
}
src/api/system/needKnow.js
View file @
36a3de98
...
...
@@ -60,3 +60,13 @@ export function exportNeedKnowExcel(query) {
responseType
:
'
blob
'
})
}
// 下载需知
export
function
download
(
query
)
{
return
request
({
url
:
'
/system/need-know/download
'
,
method
:
'
get
'
,
params
:
query
,
responseType
:
'
blob
'
})
}
src/components/ChooseContactDialog/index.vue
View file @
36a3de98
...
...
@@ -2,7 +2,7 @@
<el-dialog
title=
"选择联系人"
visible
:before-close=
"closeDialog"
:close-on-click-modal=
"false"
>
<div
class=
"header mb-10 flex-center"
>
<div
class=
"flex-center"
>
关键字:
</div>
<el-input
v-model=
"form.searchKey"
placeholder=
""
class=
"w-200"
></el-input>
<el-input
v-model=
"form.searchKey"
clearable
class=
"w-200"
></el-input>
<el-button
type=
"primary"
class=
"ml-10"
@
click=
"handleQuery"
>
搜索
</el-button>
</div>
<div
class=
"list"
>
...
...
@@ -18,7 +18,7 @@
</div>
<div
class=
"line"
>
<div
class=
"label"
>
邮箱:
</div>
<div
class=
"value"
>
{{
item
.
em
ia
l
}}
</div>
<div
class=
"value"
>
{{
item
.
em
ai
l
}}
</div>
</div>
<div
class=
"line"
>
<div
class=
"label"
>
公司:
</div>
...
...
src/components/NeedKnow/index.vue
View file @
36a3de98
...
...
@@ -5,9 +5,10 @@
</div>
</
template
>
<
script
>
import
{
getNeedKnowByKey
}
from
'
@/api/system/needKnow
'
import
{
getNeedKnowByKey
,
download
}
from
'
@/api/system/needKnow
'
import
html2canvas
from
'
html2canvas
'
import
FileSaver
from
'
file-saver
'
import
saveFie
from
'
@/plugins/download
'
export
default
{
props
:{
keyname
:
String
...
...
@@ -23,6 +24,11 @@ export default {
})
},
methods
:{
downloadPdf
(){
download
({
id
:
this
.
detail
.
id
}).
then
(
res
=>
{
this
.
$download
.
pdf
(
res
,
'
入仓须知.pdf
'
)
})
},
download
(){
// 直接保存图片
let
l
=
this
.
$loading
()
...
...
src/main.js
View file @
36a3de98
...
...
@@ -108,11 +108,30 @@ import '@/styles/index.scss'
Vue
.
use
(
Element
,
{
size
:
Cookies
.
get
(
'
size
'
)
||
'
medium
'
// set element-ui default size
})
// 重定向路由(关闭当前标签)
Vue
.
prototype
.
$redirect
=
(
path
)
=>
{
let
currentView
=
router
.
history
.
current
router
.
replace
(
path
)
store
.
dispatch
(
"
tagsView/delView
"
,
currentView
)
}
window
.
ElementUI
=
Element
// 显示表单错误信息
Vue
.
prototype
.
$showFormValidateErrors
=
(
errors
)
=>
{
let
vm
=
new
Vue
()
let
createElement
=
vm
.
$createElement
let
fieldList
=
Object
.
values
(
errors
)
Element
.
Notification
({
title
:
'
表单错误
'
,
type
:
'
warning
'
,
duration
:
3000
,
message
:
createElement
(
'
div
'
,
fieldList
.
map
(
function
(
errorList
)
{
return
createElement
(
'
div
'
,
errorList
.
map
((
item
)
=>
{
return
createElement
(
'
div
'
,
item
.
message
)
}))
}))
})
}
Vue
.
config
.
productionTip
=
false
...
...
src/plugins/download.js
View file @
36a3de98
...
...
@@ -24,6 +24,11 @@ export default {
this
.
download0
(
data
,
fileName
,
'
text/markdown
'
);
},
// 下载pdf
pdf
(
data
,
fileName
){
this
.
download0
(
data
,
fileName
,
'
application/pdf
'
);
},
download0
(
data
,
fileName
,
mineType
)
{
// 创建 blob
let
blob
=
new
Blob
([
data
],
{
type
:
mineType
});
...
...
src/plugins/tab.js
View file @
36a3de98
...
...
@@ -32,7 +32,11 @@ export default {
// 关闭指定tab页签
closePage
(
obj
)
{
if
(
obj
===
undefined
)
{
return
store
.
dispatch
(
'
tagsView/delView
'
,
router
.
currentRoute
).
then
(({
lastPath
})
=>
{
return
store
.
dispatch
(
'
tagsView/delView
'
,
router
.
currentRoute
).
then
(({
visitedViews
})
=>
{
let
lastPath
=
'
/
'
if
(
visitedViews
.
length
>
0
){
lastPath
=
visitedViews
[
visitedViews
.
length
-
1
]
}
return
router
.
push
(
lastPath
||
'
/
'
);
});
}
...
...
src/router/index.js
View file @
36a3de98
...
...
@@ -252,6 +252,13 @@ export const constantRoutes = [
name
:
'
customerEdit
'
,
meta
:
{
title
:
'
编辑客户
'
,
icon
:
''
,
activeMenu
:
'
/customer/customer
'
}
},
{
path
:
'
add-edit/:customerId(
\\
d+)
'
,
component
:
(
resolve
)
=>
import
(
'
@/views/ecw/customer/edit
'
),
props
:
true
,
name
:
'
customerEdit
'
,
meta
:
{
title
:
'
新建客户
'
,
icon
:
''
,
activeMenu
:
'
/customer/customer
'
}
},
{
path
:
'
query/:customerId(
\\
d+)
'
,
component
:
(
resolve
)
=>
import
(
'
@/views/ecw/customer/query
'
),
...
...
src/views/ecw/box/shippingSea/nodePage/cabinet/startPacking.vue
View file @
36a3de98
...
...
@@ -317,7 +317,7 @@ export default {
/** 表格订单号点击 */
orderClick
(
row
)
{
orderTagList
({
orderId
:
row
.
orderId
}).
then
((
res
)
=>
{
const
{
data
=
[]
}
=
res
;
const
{
data
=
{}
}
=
res
;
this
.
orderList
=
[];
// 取最长的list
let
dataLength
=
data
.
loadList
.
length
;
...
...
src/views/ecw/box/shippingSea/shippingSea.vue
View file @
36a3de98
...
...
@@ -74,6 +74,7 @@ export default {
};
},
created
()
{
this
.
getBoxInfo
();
// 仓库
getWarehouseList
().
then
((
r
)
=>
{
this
.
warehouseList
=
r
.
data
;
...
...
@@ -99,9 +100,6 @@ export default {
this
.
allUsers
=
data
.
list
??
[];
});
},
activated
()
{
this
.
getBoxInfo
();
},
methods
:
{
/* 获取仓库 */
importCityName
(
id
)
{
...
...
src/views/ecw/customer/edit.vue
View file @
36a3de98
...
...
@@ -33,7 +33,7 @@
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"客户类别"
prop=
"type"
>
<dict-selector
:type=
"DICT_TYPE.CUSTOMER_TYPE"
form-type=
"
select
"
multiple
v-model=
"form.type"
></dict-selector>
<dict-selector
:type=
"DICT_TYPE.CUSTOMER_TYPE"
form-type=
"
checkbox
"
multiple
v-model=
"form.type"
></dict-selector>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
...
...
@@ -412,7 +412,7 @@ import {getTradeCityList} from "@/api/ecw/region"
import
{
getWarehouseList
}
from
"
@/api/ecw/warehouse
"
import
CustomerLineTable
from
'
@/components/CustomerLineTable
'
import
{
getCustomerSelect
}
from
"
@/api/ecw/customer
"
import
{
listServiceUser
}
from
"
@/api/system/user
"
import
{
listServiceUser
,
listSimpleUsers
}
from
"
@/api/system/user
"
import
{
getZhongPaoBest
,
getZhongPaoPage
}
from
'
@/api/ecw/zhongPao
'
import
{
getCustomerContactsListByCustomer
}
from
'
@/api/ecw/customerContacts
'
import
{
getCountryListAll
}
from
'
@/api/ecw/country
'
...
...
@@ -456,7 +456,7 @@ export default {
getCustomerSelect
().
then
(
r
=>
{
this
.
customerSelect
=
r
.
data
})
listS
erviceUser
().
then
(
r
=>
{
listS
impleUsers
().
then
(
r
=>
{
this
.
serviceUserList
=
r
.
data
})
getCountryListAll
().
then
(
r
=>
{
...
...
src/views/ecw/customer/index.vue
View file @
36a3de98
...
...
@@ -23,8 +23,8 @@
</el-form-item>
<el-form-item
label=
"客户经理"
prop=
"customerService"
>
<el-select
v-model=
"queryParams.customerService"
placeholder=
"请选择客户经理"
clearable
size=
"small"
>
<el-option
v-for=
"dict in
getDictDatas(DICT_TYPE.COMMON_STATUS)
"
:key=
"dict.
value"
:label=
"dict.label"
:value=
"dict.value
"
/>
<el-option
v-for=
"dict in
customerServiceList
"
:key=
"dict.
id"
:label=
"dict.nickname"
:value=
"dict.id
"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"客户状态"
prop=
"status"
>
...
...
@@ -209,8 +209,8 @@
<el-col
:span=
"12"
>
<el-form-item
label=
"客户经理"
prop=
"customerService"
>
<el-select
v-model=
"form.customerService"
placeholder=
"请选择客户经理"
>
<el-option
v-for=
"dict in
getDictDatas(DICT_TYPE.COMMON_STATUS)
"
:key=
"dict.
value"
:label=
"dict.label"
:value=
"parseInt(dict.value)
"
/>
<el-option
v-for=
"dict in
customerServiceList
"
:key=
"dict.
id"
:label=
"dict.nickname"
:value=
"dict.id
"
/>
</el-select>
</el-form-item>
</el-col>
...
...
@@ -535,7 +535,6 @@ export default {
// this.nodeList = r.data
// })
listServiceUser
().
then
(
r
=>
{
console
.
log
(
r
,
'
客服
'
);
this
.
customerServiceList
=
r
.
data
;
})
getCountryListAll
().
then
(
r
=>
{
...
...
@@ -627,7 +626,7 @@ export default {
},
/** 新增按钮操作 */
handleAdd
()
{
this
.
$router
.
push
(
'
/customer/edit/0
'
)
this
.
$router
.
push
(
'
/customer/
add-
edit/0
'
)
// this.reset();
// this.open = true;
// this.title = "添加客户";
...
...
src/views/ecw/customer/query.vue
View file @
36a3de98
...
...
@@ -109,7 +109,7 @@
<
el
-
form
-
item
label
=
"
报关方式:
"
>
<
dict
-
selector
:
type
=
"
DICT_TYPE.ECW_CUSTOMS_TYPE
"
v
-
model
=
"
queryParams.custom
s
Type
"
v
-
model
=
"
queryParams.custom
er
Type
"
/>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"
控货
"
>
...
...
@@ -119,7 +119,8 @@
/>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"
入仓时间:
"
>
<
el
-
date
-
picker
v
-
model
=
"
queryParams.rucangtime
"
<
el
-
date
-
picker
v
-
model
=
"
rucangtime
"
@
change
=
"
changeDate
"
style
=
"
width: 240px
"
value
-
format
=
"
yyyy-MM-dd HH:mm:ss
"
type
=
"
daterange
"
...
...
@@ -172,55 +173,58 @@
<
/template
>
<
/el-table-column
>
<
/el-table
>
<
pagination
@
pagination
=
"
creditLogPage
"
:
page
.
sync
=
"
queryParams.page
"
:
limit
.
sync
=
"
queryParams.row
"
:
total
=
"
orderTotal
"
><
/pagination
>
<
pagination
@
pagination
=
"
getorderList
"
:
page
.
sync
=
"
queryParams.pageNo
"
:
limit
.
sync
=
"
queryParams.pageSize
"
:
total
=
"
orderTotal
"
><
/pagination
>
<
/el-card
>
<
/el-tab-pane
>
<
el
-
tab
-
pane
label
=
"
报价
"
>
<
el
-
table
:
data
=
"
[]
"
:
data
=
"
infoListOfferList
"
style
=
"
width: 100%
"
>
<
el
-
table
-
column
prop
=
"
"
type
=
"
index
"
label
=
"
序号
"
>
<
/el-table-column
>
<
el
-
table
-
column
prop
=
""
prop
=
"
number
"
label
=
"
报价单号
"
>
<
/el-table-column
>
<
el
-
table
-
column
prop
=
""
prop
=
"
orderNo
"
label
=
"
订单号
"
>
<
/el-table-column
>
<
el
-
table
-
column
prop
=
""
prop
=
"
consignorName
"
label
=
"
客户名称
"
>
<
/el-table-column
>
<
el
-
table
-
column
prop
=
""
prop
=
"
objectiveName
"
label
=
"
目的地
"
>
<
/el-table-column
>
<
el
-
table
-
column
prop
=
""
label
=
"
销售阶段
"
>
<
template
v
-
slot
=
"
{row
}
"
>
{{
STATUS
[
row
.
status
]
}}
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
prop
=
""
prop
=
"
stopTime
"
label
=
"
预计结束时间
"
>
<
/el-table-column
>
<
el
-
table
-
column
prop
=
""
prop
=
"
businessManagerName
"
label
=
"
负责人
"
>
<
/el-table-column
>
<
/el-table
>
<
pagination
@
pagination
=
"
getInfoListOfferPage
"
:
page
.
sync
=
"
infoListOfferFrom.pageNo
"
:
limit
.
sync
=
"
infoListOfferFrom.pageSize
"
:
total
=
"
infoListOfferTotal
"
><
/pagination
>
<
/el-tab-pane
>
<
el
-
tab
-
pane
label
=
"
跟进
"
>
<
customer
-
follow
ref
=
"
customerFollow
"
:
id
=
"
id
"
:
customer
-
id
=
"
id
"
><
/customer-follow
>
...
...
@@ -247,13 +251,13 @@
<
/el-tab-pane
>
<
el
-
tab
-
pane
label
=
"
数据
"
>
<
el
-
descriptions
:
column
=
"
2
"
>
<
el
-
descriptions
-
item
label
=
"
海空联运/海运拼柜/海运整柜/专线空运
:
"
>
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
label
=
"
最后交易日期
:
"
>
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
label
=
"
全部订单/控货订单
"
><
/el-descriptions-item
>
<
el
-
descriptions
-
item
label
=
"
最后交易单号
:
"
>
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
label
=
"
报价/下单/入仓
"
><
/el-descriptions-item
>
<
el
-
descriptions
-
item
label
=
"
储存量
"
><
/el-descriptions-item
>
<
el
-
descriptions
-
item
label
=
"
已出货订单
"
><
/el-descriptions-item
>
<
el
-
descriptions
-
item
label
=
"
海空联运/海运拼柜/海运整柜/专线空运
"
>
{{
orderStatisticsObj
.
hklyTotal
||
0
}}
/
{{
orderStatisticsObj
.
hypgTotal
||
0
}}
/
{{
orderStatisticsObj
.
hyzgTotal
||
0
}}
/
{{
orderStatisticsObj
.
zxkyTotal
||
0
}}
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
label
=
"
最后交易日期
"
>
{{
orderStatisticsObj
.
lastBusinessDate
}}
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
label
=
"
全部订单/控货订单
"
>
{{
orderStatisticsObj
.
allOrderTotal
||
0
}}
/
{{
orderStatisticsObj
.
controlOrderTotal
||
0
}}
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
label
=
"
最后交易单号
"
>
{{
orderStatisticsObj
.
lastBusinessOrderNo
}}
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
label
=
"
报价/下单/入仓
"
>
{{
orderStatisticsObj
.
offerOrderTotal
||
0
}}
/
{{
orderStatisticsObj
.
pickOrderTotal
||
0
}}
/
{{
orderStatisticsObj
.
wareHousingTotal
||
0
}}
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
label
=
"
储存量
"
>
{{
orderStatisticsObj
.
stock
||
0
}}
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
label
=
"
已出货订单
"
>
{{
orderStatisticsObj
.
shipmentTotal
||
0
}}
<
/el-descriptions-item
>
<
/el-descriptions
>
<
/el-tab-pane
>
<
el
-
tab
-
pane
label
=
"
品牌授权
"
>
...
...
@@ -306,15 +310,23 @@
<
el
-
tab
-
pane
label
=
"
信用日志
"
>
<
el
-
card
class
=
"
box-card
"
>
<
div
slot
=
"
header
"
class
=
"
clearfix
"
>
<
div
style
=
"
width:300px;height: 300px;margin: auto
"
>
<
/div
>
<
el
-
button
style
=
"
float: right;
"
type
=
"
primary
"
@
click
=
"
dialogVisible = true
"
>
添加信用日志
<
/el-button
>
<
el
-
descriptions
:
column
=
"
5
"
border
>
<
el
-
descriptions
-
item
label
=
"
信用分
"
><
/el-descriptions-item
>
<
el
-
descriptions
-
item
label
=
"
身份认证
"
><
/el-descriptions-item
>
<
el
-
descriptions
-
item
label
=
"
贷款
"
><
/el-descriptions-item
>
<
el
-
descriptions
-
item
label
=
"
提货率
"
><
/el-descriptions-item
>
<
el
-
descriptions
-
item
label
=
"
发货
"
><
/el-descriptions-item
>
<
/el-descriptions
>
<
/div
>
<
el
-
table
:
data
=
"
customerCreditLogList
"
>
<
el
-
table
-
column
label
=
"
序号
"
type
=
"
index
"
><
/el-table-column
>
<
el
-
table
-
column
prop
=
"
name
"
label
=
"
规则名称
"
><
/el-table-column
>
<
el
-
table
-
column
prop
=
"
type
"
label
=
"
规则分类
"
><
/el-table-column
>
<
el
-
table
-
column
prop
=
"
type
"
label
=
"
规则分类
"
>
<
template
v
-
slot
=
"
{row
}
"
>
<
dict
-
tag
:
type
=
"
DICT_TYPE.CUSTOMER_CREDIT_RULE_TYPE
"
:
value
=
"
row.type
"
/>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
prop
=
"
score
"
label
=
"
规则得分
"
><
/el-table-column
>
<
el
-
table
-
column
prop
=
"
remark
"
label
=
"
备注
"
><
/el-table-column
>
<
el
-
table
-
column
label
=
"
添加人
"
><
/el-table-column
>
...
...
@@ -323,16 +335,19 @@
{{
parseTime
(
row
.
createTime
)
}}
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"
操作
"
><
/el-table-column
>
<
/el-table
>
<
pagination
@
pagination
=
"
creditLogPage
"
:
page
.
sync
=
"
customerCreditLogFrom.page
"
:
limit
.
sync
=
"
customerCreditLogFrom.row
"
:
total
=
"
customerCreditLogFrom.total
"
><
/pagination
>
<
pagination
@
pagination
=
"
creditLogPage
"
:
page
.
sync
=
"
customerCreditLogFrom.page
No
"
:
limit
.
sync
=
"
customerCreditLogFrom.pageSize
"
:
total
=
"
customerCreditLogFrom.total
"
><
/pagination
>
<
/el-card
>
<
/el-tab-pane
>
<
el
-
tab
-
pane
label
=
"
等级日志
"
>
<
el
-
table
style
=
"
width: 100%
"
:
data
=
"
getCustomerGradeList
"
>
<
el
-
table
-
column
label
=
"
序号
"
type
=
"
index
"
><
/el-table-column
>
<
el
-
table
-
column
label
=
"
规则名称
"
prop
=
"
name
"
><
/el-table-column
>
<
el
-
table
-
column
label
=
"
规则分类
"
prop
=
"
type
"
><
/el-table-column
>
<
el
-
table
-
column
label
=
"
规则分类
"
prop
=
"
type
"
>
<
template
v
-
slot
=
"
{row
}
"
>
<
dict
-
tag
:
type
=
"
DICT_TYPE.CUSTOMER_LEVEL_RULE_TYPE
"
:
value
=
"
row.type
"
/>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"
规则得分
"
prop
=
"
score
"
><
/el-table-column
>
<
el
-
table
-
column
label
=
"
备注
"
prop
=
"
remark
"
><
/el-table-column
>
<
el
-
table
-
column
label
=
"
时间
"
>
...
...
@@ -340,9 +355,8 @@
{{
parseTime
(
row
.
createTime
)
}}
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"
操作
"
><
/el-table-column
>
<
/el-table
>
<
pagination
@
pagination
=
"
getCustomerGrade
"
:
page
.
sync
=
"
getCustomerGradeFrom.page
"
:
limit
.
sync
=
"
getCustomerGradeFrom.row
"
:
total
=
"
getCustomerGradeFrom.total
"
><
/pagination
>
<
pagination
@
pagination
=
"
getCustomerGrade
"
:
page
.
sync
=
"
getCustomerGradeFrom.page
No
"
:
limit
.
sync
=
"
getCustomerGradeFrom.pageSize
"
:
total
=
"
getCustomerGradeFrom.total
"
><
/pagination
>
<
/el-tab-pane
>
<
/el-tabs
>
<
/el-col
>
...
...
@@ -378,7 +392,7 @@ import {
getCustomerSelect
,
getBrankByCustomer
,
levelLogPage
,
customerCreditLogPage
customerCreditLogPage
,
infoListOrderPage
,
infoListOfferPage
,
orderStatistics
}
from
'
@/api/ecw/customer
'
import
{
DICT_TYPE
,
getDictDataLabel
}
from
'
@/utils/dict
'
import
{
getProductTypeList
}
from
'
@/api/ecw/productType
'
...
...
@@ -389,6 +403,7 @@ import CustomerComplaint from '@/views/ecw/customerComplaint'
import
{
listServiceUser
}
from
'
@/api/system/user
'
import
{
getCustomerContactsListByCustomer
}
from
'
@/api/ecw/customerContacts
'
import
{
getOrderPage
}
from
"
@/api/ecw/order
"
;
import
Template
from
"
@/views/cms/template
"
;
export
default
{
name
:
'
query
'
,
...
...
@@ -396,6 +411,7 @@ export default {
customerId
:
String
}
,
components
:
{
Template
,
CustomerFollow
,
CustomerComplaint
}
,
...
...
@@ -424,9 +440,20 @@ export default {
this
.
getCustomerGrade
()
this
.
creditLogPage
()
this
.
getorderList
()
this
.
getInfoListOfferPage
()
this
.
getOrderStatistics
()
}
,
data
()
{
return
{
STATUS
:{
0
:
'
取消报价
'
,
1
:
'
特价审批中
'
,
2
:
'
需求确认
'
,
3
:
'
跟进中
'
,
4
:
'
赢单
'
,
5
:
'
输单
'
,
6
:
'
报价完成
'
}
,
dialogVisible
:
false
,
DICT_TYPE
,
getDictDataLabel
,
...
...
@@ -480,23 +507,31 @@ export default {
brandAuthorizationList
:[],
brandAuthorizationTotal
:
0
,
getCustomerGradeFrom
:{
page
:
1
,
rows
:
10
,
page
No
:
1
,
pageSize
:
10
,
total
:
0
}
,
getCustomerGradeList
:[],
customerCreditLogFrom
:{
page
:
1
,
rows
:
10
,
total
:
0
,
page
No
:
1
,
pageSize
:
10
,
total
:
0
}
,
customerCreditLogList
:[],
rucangtime
:[],
queryParams
:{
rows
:
10
,
page
:
1
pageSize
:
10
,
page
No
:
1
}
,
orderList
:[],
orderTotal
:
0
orderTotal
:
0
,
infoListOfferFrom
:{
pageNo
:
1
,
pageSize
:
10
,
}
,
infoListOfferTotal
:
0
,
infoListOfferList
:[],
orderStatisticsObj
:{
}
}
}
,
computed
:
{
...
...
@@ -519,34 +554,66 @@ export default {
}
}
,
methods
:{
changeDate
(
val
){
if
(
val
){
this
.
queryParams
.
houseStartDate
=
val
[
0
];
this
.
queryParams
.
houseEndDate
=
val
[
1
];
}
else
{
this
.
queryParams
.
houseStartDate
=
undefined
;
this
.
queryParams
.
houseEndDate
=
undefined
;
}
}
,
//品牌授权
getBrankByCustomerList
(){
getBrankByCustomer
({...
this
.
brandAuthorizationFrom
,
customerId
:
this
.
id
}
).
then
(
r
=>
{
this
.
brandAuthorizationList
=
r
.
data
.
list
;
this
.
brandAuthorizationTotal
=
r
.
data
.
total
}
)
}
,
getCustomerGrade
(){
levelLogPage
({...
this
.
getCustomerGradeFrom
,
customerId
:
this
.
id
}
).
then
(
r
=>
{
console
.
log
(
r
)
levelLogPage
({...
this
.
getCustomerGradeFrom
,
customerId
:
this
.
id
,
total
:
undefined
}
).
then
(
r
=>
{
console
.
log
(
r
,
'
客户等级
'
);
if
(
r
.
code
===
0
){
this
.
getCustomerGradeList
=
r
.
data
.
list
;
this
.
getCustomerGradeFrom
.
total
=
r
.
data
.
total
;
}
}
)
}
,
// 获取信用等级日志列表
creditLogPage
(){
customerCreditLogPage
({...
this
.
customerCreditLogFrom
,
customerId
:
this
.
id
}
).
then
(
r
=>
{
if
(
r
.
code
===
0
){
console
.
log
(
r
,
'
r
'
);
this
.
customerCreditLogList
=
r
.
data
.
list
;
this
.
customerCreditLogFrom
.
total
=
r
.
data
.
total
;
}
}
)
}
,
//订单
getorderList
(){
getOrderPage
({
consigno
rId
:
this
.
id
,...
this
.
queryParams
}
).
then
(
r
=>
{
infoListOrderPage
({
custome
rId
:
this
.
id
,...
this
.
queryParams
}
).
then
(
r
=>
{
console
.
log
(
r
)
if
(
r
.
code
===
0
){
this
.
orderList
=
r
.
data
.
list
this
.
orderTotal
=
r
.
data
.
total
}
}
)
}
,
// 客户报价
getInfoListOfferPage
(){
infoListOfferPage
({...
this
.
infoListOfferFrom
,
customerId
:
this
.
id
}
).
then
(
r
=>
{
console
.
log
(
r
,
'
报价
'
)
this
.
infoListOfferList
=
r
.
data
.
list
;
this
.
infoListOfferTotal
=
r
.
data
.
total
;
}
).
catch
(
r
=>
{
console
.
log
(
r
,
'
报价
'
)
}
)
}
,
// 数据
getOrderStatistics
(){
orderStatistics
({
customerId
:
this
.
id
}
).
then
(
r
=>
{
console
.
log
(
r
,
'
数据
'
)
if
(
r
.
code
===
0
){
this
.
orderStatisticsObj
=
r
.
data
}
}
)
}
}
}
...
...
src/views/ecw/customerConfirm/index.vue
View file @
36a3de98
...
...
@@ -23,8 +23,8 @@
</el-form-item>
<el-form-item
label=
"客户经理"
prop=
"customerService"
>
<el-select
v-model=
"queryParams.customerService"
placeholder=
"请选择客户经理"
clearable
size=
"small"
>
<el-option
v-for=
"dict in
this.getDictDatas(DICT_TYPE.COMMON_STATUS)
"
:key=
"dict.
value"
:label=
"dict.label"
:value=
"dict.value
"
/>
<el-option
v-for=
"dict in
serviceStaffOptions
"
:key=
"dict.
id"
:label=
"dict.nickname"
:value=
"dict.id
"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"客户状态"
prop=
"status"
>
...
...
@@ -195,8 +195,8 @@
<el-form-item
label=
"客户经理"
prop=
"customerService"
>
<el-select
v-model=
"form.customerService"
placeholder=
"请选择客户经理"
>
<el-option
v-for=
"dict in
this.getDictDatas(DICT_TYPE.COMMON_STATUS)
"
:key=
"dict.
value"
:label=
"dict.label"
:value=
"parseInt(dict.value)
"
/>
<el-option
v-for=
"dict in
serviceStaffOptions
"
:key=
"dict.
id"
:label=
"dict.nickname"
:value=
"dict.id
"
/>
</el-select>
</el-form-item>
</el-col>
...
...
src/views/ecw/customerToBeAssigned/index.vue
View file @
36a3de98
...
...
@@ -24,8 +24,8 @@
</el-form-item>
<el-form-item
label=
"客户经理"
prop=
"customerService"
>
<el-select
v-model=
"queryParams.customerService"
placeholder=
"请选择客户经理"
clearable
size=
"small"
>
<el-option
v-for=
"dict in
getDictDatas(DICT_TYPE.COMMON_STATUS)
"
:key=
"dict.
value"
:label=
"dict.label"
:value=
"dict.value
"
/>
<el-option
v-for=
"dict in
customerServiceList
"
:key=
"dict.
id"
:label=
"dict.nickname"
:value=
"dict.id
"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"客户状态"
prop=
"status"
>
...
...
@@ -271,7 +271,7 @@ export default {
},
/** 新增按钮操作 */
handleAdd
()
{
this
.
$router
.
push
(
'
/customer/edit/0
'
)
this
.
$router
.
push
(
'
/customer/
add-
edit/0
'
)
// this.reset();
// this.open = true;
// this.title = "添加客户";
...
...
src/views/ecw/myCustomerService/index.vue
View file @
36a3de98
...
...
@@ -244,7 +244,7 @@ export default {
},
/** 新增按钮操作 */
handleAdd
()
{
this
.
$router
.
push
(
'
/customer/edit/0
'
)
this
.
$router
.
push
(
'
/customer/
add-
edit/0
'
)
// this.reset();
// this.open = true;
// this.title = "添加客户";
...
...
src/views/ecw/oceanCustomer/index.vue
View file @
36a3de98
...
...
@@ -24,8 +24,8 @@
</el-form-item>
<el-form-item
label=
"客户经理"
prop=
"customerService"
>
<el-select
v-model=
"queryParams.customerService"
placeholder=
"请选择客户经理"
clearable
size=
"small"
>
<el-option
v-for=
"dict in
getDictDatas(DICT_TYPE.COMMON_STATUS)
"
:key=
"dict.
value"
:label=
"dict.label"
:value=
"dict.value
"
/>
<el-option
v-for=
"dict in
customerServiceList
"
:key=
"dict.
id"
:label=
"dict.nickname"
:value=
"dict.id
"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"客户状态"
prop=
"status"
>
...
...
@@ -278,7 +278,7 @@ export default {
},
/** 新增按钮操作 */
handleAdd
()
{
this
.
$router
.
push
(
'
/customer/edit/0
'
)
this
.
$router
.
push
(
'
/customer/
add-
edit/0
'
)
// this.reset();
// this.open = true;
// this.title = "添加客户";
...
...
src/views/ecw/offer/edit.vue
View file @
36a3de98
...
...
@@ -6,8 +6,8 @@
<div
slot=
"header"
class=
"card-title"
>
{{
$t
(
'
新建报价单
'
)
}}
</div>
<el-form-item
:label=
"$t('所属人')"
prop=
"relation"
>
<el-radio-group
v-model=
"form.relation"
>
<el-radio
label=
"1"
>
{{
$t
(
'
发件人
'
)
}}
</el-radio>
<el-radio
label=
"2"
>
{{
$t
(
'
收件人
'
)
}}
</el-radio>
<el-radio
:
label=
"1"
>
{{
$t
(
'
发件人
'
)
}}
</el-radio>
<el-radio
:
label=
"2"
>
{{
$t
(
'
收件人
'
)
}}
</el-radio>
</el-radio-group>
</el-form-item>
<br/>
...
...
@@ -21,39 +21,39 @@
<div
class=
"form-section"
>
<el-form-item
:label=
"$t('发货人')"
prop=
"consignorId"
>
<div
class=
"contact"
>
<el-input
v-model=
"form.consignorName"
placeholder=
"选择或新建"
disabled
/>
<el-input
v-model=
"form.consignorName"
placeholder=
"选择或新建"
disabled
style=
"width:120px"
/>
<img
src=
"@/assets/images/phonebook.png"
class=
"phonebook"
@
click=
"contactChooseType='consignor'"
/>
<img
src=
"@/assets/images/new_customer.png"
class=
"phonebook"
@
click=
"quickCreateType='1'"
/>
</div>
</el-form-item>
<el-form-item
:label=
"$t('发货人电话')"
prop=
"consignorPhone"
>
<!--
<area-code-selector
v-model=
"form.consignorCountryCode"
class=
"w-200 mr-10"
disabled
/>
-->
<el-input
:value=
"`$
{form.consignorCountryCode || ''} ${form.consignorPhone || ''}`" class="w-200" disabled
/>
<el-input
:value=
"`$
{form.consignorCountryCode || ''} ${form.consignorPhone || ''}`" class="w-200" disabled/>
</el-form-item>
<el-form-item
:label=
"$t('发货人公司')"
prop=
"consignorCompany"
>
<el-input
v-model=
"form.consignorCompany"
disabled
/>
<el-input
v-model=
"form.consignorCompany"
disabled
class=
"w-200"
/>
</el-form-item>
<el-form-item
label=
"Email"
prop=
"consignorEmail"
>
<el-input
v-model=
"form.consignorEmail"
disabled
/>
<el-input
v-model=
"form.consignorEmail"
disabled
class=
"w-200"
/>
</el-form-item>
</div>
<div
class=
"form-section"
>
<el-form-item
:label=
"$t('收货人')"
prop=
"consigneeId"
>
<div
class=
"contact"
>
<el-input
v-model=
"form.consigneeName"
placeholder=
"请选择或新建"
:disabled=
"true"
/>
<el-input
v-model=
"form.consigneeName"
placeholder=
"请选择或新建"
:disabled=
"true"
style=
"width:120px"
/>
<img
src=
"@/assets/images/phonebook.png"
class=
"phonebook"
@
click=
"contactChooseType='consignee'"
/>
<img
src=
"@/assets/images/new_customer.png"
class=
"phonebook"
@
click=
"quickCreateType='2'"
/>
</div>
</el-form-item>
<el-form-item
:label=
"$t('收货人电话')"
prop=
"consigneePhone"
>
<!--
<area-code-selector
v-model=
"form.consigneeCountryCode"
class=
"w-200 mr-10"
disabled
/>
-->
<el-input
:value=
"`$
{form.consigneeCountryCode || ''} ${form.consigneePhone || ''}`" class="w-200"
disabled
/>
<el-input
:value=
"`$
{form.consigneeCountryCode || ''} ${form.consigneePhone || ''}`" class="w-200"/>
</el-form-item>
<el-form-item
:label=
"$t('收货人公司')"
prop=
"consigneeCompany"
>
<el-input
v-model=
"form.consigneeCompany"
:disabled=
"true"
/>
<el-input
v-model=
"form.consigneeCompany"
:disabled=
"true"
class=
"w-200"
/>
</el-form-item>
<el-form-item
label=
"Email"
prop=
"consigneeEmail"
>
<el-input
v-model=
"form.consigneeEmail"
:disabled=
"true"
/>
<el-input
v-model=
"form.consigneeEmail"
:disabled=
"true"
class=
"w-200"
/>
</el-form-item>
</div>
...
...
@@ -93,7 +93,7 @@
<div
class=
"form-section"
>
<el-form-item
:label=
"$t('运输方式')"
prop=
"transportId"
>
<dict-selector
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
v-model=
"form.transportId"
@
input=
"calculationPrice"
/>
<dict-selector
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
v-model=
"form.transportId"
@
input=
"calculationPrice"
class=
"w-200"
/>
</el-form-item>
<el-form-item
:label=
"$t('出货渠道')"
v-if=
"getDictData(DICT_TYPE.ECW_TRANSPORT_TYPE, form.transportId).cssClass == 'channel'"
prop=
"channelId"
>
<selector
...
...
@@ -103,18 +103,19 @@
value-field=
"channelId"
label-field=
"nameZh"
@
input=
"calculationPrice"
class=
"w-200"
></selector>
</el-form-item>
</div>
<div
class=
"form-section"
>
<el-form-item
:label=
"$t('始发城市')"
prop=
"departureId"
>
<el-select
v-model=
"form.departureId"
:placeholder=
"$t('请选择始发地')"
>
<el-select
v-model=
"form.departureId"
:placeholder=
"$t('请选择始发地')"
class=
"w-200"
>
<el-option
v-for=
"item in exportCityList"
:label=
"$l(item, 'title')"
:value=
"item.id"
:key=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('目的城市')"
prop=
"objectiveId"
>
<el-select
v-model=
"form.objectiveId"
:placeholder=
"$t('请选择目的地')"
>
<el-select
v-model=
"form.objectiveId"
:placeholder=
"$t('请选择目的地')"
class=
"w-200"
>
<el-option
v-for=
"item in importCityList"
:label=
"$l(item, 'title')"
:value=
"item.id"
:key=
"item.id"
></el-option>
</el-select>
</el-form-item>
...
...
@@ -122,7 +123,7 @@
<div
class=
"form-section"
>
<el-form-item
:label=
"$t('选择线路')"
prop=
"lineId"
>
<!--
<el-input
:value=
"getRouterNameById(form.lineId)"
readonly
:placeholder=
"$t('请在右侧选择线路')"
></el-input>
-->
<el-input
:value=
"selectedRouter ? $l(selectedRouter, 'startTitle') + ' > ' + $l(selectedRouter, 'destTitle') : ''"
disabled
:placeholder=
"$t('请在右侧选择线路')"
></el-input>
<el-input
:value=
"selectedRouter ? $l(selectedRouter, 'startTitle') + ' > ' + $l(selectedRouter, 'destTitle') : ''"
disabled
:placeholder=
"$t('请在右侧选择线路')"
class=
"w-200"
></el-input>
</el-form-item>
<select
size=
"5"
v-model=
"form.lineId"
style=
"min-width: 300px; border:1px solid #DCDFE6; border-radius:4px"
>
<template
v-for=
"item in routerList"
>
...
...
@@ -208,7 +209,7 @@
}"
class="mb-0 mr-0"
>
<el-input
v-model=
"scope.row.worth"
/>
<el-input
v-model=
"scope.row.worth"
@
input=
"calculationPrice"
/>
</el-form-item>
</
template
>
</el-table-column>
...
...
@@ -294,13 +295,13 @@
{{fee.insuranceFee || 0}} {{$t('美元')}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('总运费')"
>
<
template
v-for=
"item in
clearance
FeeList"
>
<
template
v-for=
"item in
freight
FeeList"
>
<div
:key=
"item.currencyId"
>
{{
item
.
amount
||
0
}}{{
currencyMap
[
item
.
currencyId
]
}}
</div>
</
template
>
</el-descriptions-item>
<!--代收货款,只有非控货订单、并且线路开通了代收货款后,才显示是否代收货款选项-->
<el-descriptions-item
:label=
"$t('总清关费')"
>
<
template
v-for=
"item in
freight
FeeList"
>
<
template
v-for=
"item in
clearance
FeeList"
>
<div
:key=
"item.currencyId"
>
{{
item
.
amount
||
0
}}{{
currencyMap
[
item
.
currencyId
]
}}
</div>
</
template
>
</el-descriptions-item>
...
...
@@ -365,7 +366,7 @@
<div
class=
"card-title"
slot=
"header"
>
{{$t('通用')}}
</div>
<div
class=
"form-section"
>
<el-form-item
:label=
"$t('唛头')"
prop=
"marks"
>
<el-input
v-model=
"form.marks"
placeholder=
""
></el-input>
<el-input
v-model=
"form.marks"
placeholder=
""
class=
"w-200"
></el-input>
</el-form-item>
</div>
<div
class=
"form-section"
>
...
...
@@ -375,15 +376,15 @@
</div>
<div
class=
"form-section"
>
<el-form-item
:label=
"$t('预计结束时间')"
prop=
"stopTime"
>
<el-date-picker
v-model=
"form.stopTime"
value-format=
"yyyy-MM-dd HH:mm:ss"
></el-date-picker>
<el-date-picker
v-model=
"form.stopTime"
value-format=
"yyyy-MM-dd HH:mm:ss"
class=
"w-200"
></el-date-picker>
</el-form-item>
<el-form-item
:label=
"$t('是否控货')"
prop=
"control"
>
<dict-selector
:type=
"DICT_TYPE.INFRA_BOOLEAN_STRING"
formatter=
"bool"
v-model=
"form.control"
form-type=
"radio"
defaultable
/>
<dict-selector
:type=
"DICT_TYPE.INFRA_BOOLEAN_STRING"
formatter=
"bool"
v-model=
"form.control"
form-type=
"radio"
/>
</el-form-item>
</div>
<div
class=
"form-section"
>
<el-form-item
:label=
"$t('竞争对手')"
prop=
"competitor"
>
<el-input
v-model=
"form.competitor"
placeholder=
""
></el-input>
<el-input
v-model=
"form.competitor"
placeholder=
""
class=
"w-200"
></el-input>
</el-form-item>
<el-form-item
:label=
"$t('重要程度')"
prop=
"importance"
>
<el-rate
v-model=
"form.importance"
></el-rate>
...
...
@@ -391,10 +392,10 @@
</div>
<div
class=
"form-section"
>
<el-form-item
:label=
"$t('价格有效时间')"
prop=
"startTime"
>
<el-date-picker
v-model=
"form.startTime"
placeholder=
""
value-format=
"yyyy-MM-dd HH:mm:ss"
></el-date-picker>
<el-date-picker
v-model=
"form.startTime"
placeholder=
""
value-format=
"yyyy-MM-dd HH:mm:ss"
class=
"w-200"
></el-date-picker>
</el-form-item>
<el-form-item
label=
""
prop=
"endTime"
>
<el-date-picker
v-model=
"form.endTime"
placeholder=
""
value-format=
"yyyy-MM-dd HH:mm:ss"
></el-date-picker>
<el-date-picker
v-model=
"form.endTime"
placeholder=
""
value-format=
"yyyy-MM-dd HH:mm:ss"
class=
"w-200"
></el-date-picker>
</el-form-item>
</div>
...
...
@@ -404,7 +405,7 @@
接口要求数据为整数,所以增加trade_type类型的字典,用1234代码以下不同类型
FOB(离岸价),CIF(到岸价),CNF(成本加运费),EXW(出厂价)
-->
<dict-selector
:type=
"DICT_TYPE.ECW_TRADE_TYPE"
fomtter=
"number"
v-model=
"form.tradeType"
/>
<dict-selector
:type=
"DICT_TYPE.ECW_TRADE_TYPE"
fomtter=
"number"
v-model=
"form.tradeType"
class=
"w-200"
/>
</el-form-item>
<el-form-item
:label=
"$t('交货地址')"
>
...
...
@@ -464,7 +465,8 @@
<el-form-item
label=
""
class=
"mt-20"
>
<el-button
type=
"primary"
@
click=
"submitForm"
>
{{$t('确定')}}
</el-button>
<el-button
type=
"primary"
@
click=
"submitForm(2)"
>
{{$t('保存草稿')}}
</el-button>
<el-button
type=
"primary"
@
click=
"submitForm(3)"
>
{{$t('确认报价')}}
</el-button>
<el-button
@
click=
"$store.dispatch('tagsView/delCurrentView')"
>
{{$t('取消')}}
</el-button>
</el-form-item>
</el-form>
...
...
@@ -517,6 +519,7 @@ export default {
form
:
{
sendstatus
:
0
,
type
:
[],
control
:
false
,
isCargoControl
:
false
,
prodCreateReqVOList
:[],
transportVO
:
{}
...
...
@@ -706,6 +709,11 @@ export default {
})
}
},
activated
(){
if
(
this
.
form
.
offerId
!=
this
.
$route
.
query
.
id
){
this
.
getOffer
()
}
},
created
()
{
getProductAttrList
().
then
(
res
=>
this
.
productAttrList
=
res
.
data
)
getChannelList
().
then
(
res
=>
this
.
channelList
=
res
.
data
)
...
...
@@ -715,6 +723,11 @@ export default {
this
.
transportList
=
this
.
getDictDatas
(
this
.
DICT_TYPE
.
ECW_TRANSPORT_TYPE
)
if
(
this
.
$route
.
query
.
id
){
this
.
getOffer
()
}
else
this
.
addProduct
()
},
methods
:
{
getOffer
(){
getOffer
(
this
.
$route
.
query
.
id
).
then
(
res
=>
{
let
formData
=
res
.
data
formData
.
type
=
formData
.
type
?
formData
.
type
.
split
(
'
,
'
).
filter
(
item
=>
item
!=
''
)
:
[]
...
...
@@ -748,9 +761,7 @@ export default {
this
.
onContactChoose
(
data
.
list
.
find
(
item
=>
item
.
customerContactsId
==
res
.
data
.
consignorId
))
})
})
}
//else this.addProduct()
},
methods
:
{
},
onContactChoose
(
contact
){
console
.
log
(
'
选择联系人
'
,
contact
)
if
(
!
this
.
contactChooseType
&&
!
this
.
quickCreateType
)
return
...
...
@@ -788,10 +799,6 @@ export default {
this
.
calculationPrice
()
},
addProduct
(
data
){
if
(
!
data
&&
!
this
.
form
.
lineId
){
return
this
.
$message
.
error
(
this
.
$t
(
'
请先选择路线
'
))
}
console
.
log
(
'
addProduct
'
,
JSON
.
stringify
(
data
))
this
.
form
.
prodCreateReqVOList
.
push
(
data
||
{
prodAttrArr
:[]})
},
// 计算商品运费
...
...
@@ -838,9 +845,20 @@ export default {
})
},
/** 提交按钮 */
submitForm
()
{
this
.
$refs
[
"
form
"
].
validate
(
valid
=>
{
submitForm
(
status
)
{
this
.
$refs
[
"
form
"
].
validate
((
valid
,
errors
)
=>
{
console
.
log
({
valid
,
errors
})
if
(
!
valid
)
{
return
this
.
$showFormValidateErrors
(
errors
);
/* let h = this.$createElement
this.$notify({
'title': '表单错误',
type: 'warning',
message: h('div', [
h('div', '请填写某某'),
h('div', '水电费水电费')
])
}) */
return
;
}
...
...
@@ -851,18 +869,21 @@ export default {
item
.
transportId
=
this
.
form
.
transportId
// item.brandType = item.brand ? 1 : 0
})
this
.
transportList
.
map
(
item
=>
{
/*
this.transportList.map(item => {
if(item._enabled){
item.lineIds = Array.from(item.lineIdSet).join(',')
item.channelIds = Array.from(item.channelIdSet).join(',')
}
})
})
*/
// 修改的提交
if
(
this
.
form
.
offerId
!=
null
)
{
let
data
=
Object
.
assign
({},
this
.
form
,
{
// transportUpdateReqVOList: this.transportList.filter(item => item._enabled),
prodUpdateReqVOList
:
this
.
getProductListWithDefaultValue
()
})
if
(
data
.
status
<
3
){
data
.
status
=
status
}
updateOffer
(
data
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
this
.
$t
(
"
修改成功
"
));
this
.
$router
.
back
()
...
...
@@ -871,7 +892,8 @@ export default {
}
let
data
=
Object
.
assign
({},
this
.
form
,
{
// transportCreateReqVOList: this.transportList.filter(item => item._enabled),
prodCreateReqVOList
:
this
.
getProductListWithDefaultValue
()
prodCreateReqVOList
:
this
.
getProductListWithDefaultValue
(),
status
})
// 添加的提交
createOffer
(
data
).
then
(
response
=>
{
...
...
src/views/ecw/offer/index.vue
View file @
36a3de98
...
...
@@ -2,19 +2,67 @@
<div
class=
"app-container"
>
<!-- 搜索工作栏 -->
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"68px"
>
<el-form-item
:label=
"$t('报价单号')"
prop=
"number"
>
<el-input
v-model=
"queryParams.number"
:placeholder=
"$t('请输入报价单号')"
clearable
@
keyup.enter.native=
"handleQuery"
/>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"100px"
>
<el-form-item
:label=
"$t('编号')"
prop=
"number"
>
<el-input
v-model=
"queryParams.number"
:placeholder=
"$t('请输入报价单号、订单号')"
clearable
@
keyup.enter.native=
"handleQuery"
/>
<!--// TODO -->
</el-form-item>
<el-form-item
:label=
"$t('订单编号')"
prop=
"orderNo"
>
<el-input
v-model=
"queryParams.orderNo"
:placeholder=
"$t('请输入订单编号')"
clearable
@
keyup.enter.native=
"handleQuery"
/>
<el-form-item
:label=
"$t('客户')"
prop=
"orderNo"
>
<el-input
v-model=
"queryParams.orderNo"
:placeholder=
"$t('请输入客户')"
clearable
@
keyup.enter.native=
"handleQuery"
/>
<!--// TODO -->
</el-form-item>
<el-form-item
:label=
"$t('创建时间')"
prop=
"orderNo"
>
<el-date-picker
v-model=
"queryParams.beginCreateTime"
value-format=
"yyyy-MM-dd HH:mm:ss"
></el-date-picker>
到
<el-date-picker
v-model=
"queryParams.endCreateTime"
value-format=
"yyyy-MM-dd HH:mm:ss"
></el-date-picker>
</el-form-item>
<el-form-item
:label=
"$t('始发地')"
prop=
"departureId"
>
<el-select
v-model=
"queryParams.departureId"
:placeholder=
"$t('请选择始发地')"
>
<el-option
v-for=
"item in exportCityList"
:label=
"$l(item, 'title')"
:value=
"item.id"
:key=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('目的地')"
prop=
"objectiveId"
>
<el-select
v-model=
"queryParams.objectiveId"
:placeholder=
"$t('请选择目的地')"
>
<el-option
v-for=
"item in importCityList"
:label=
"$l(item, 'title')"
:value=
"item.id"
:key=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"handleQuery"
>
{{
$t
(
'
搜索
'
)
}}
</el-button>
<el-button
icon=
"el-icon-refresh"
@
click=
"resetQuery"
>
{{
$t
(
'
重置
'
)
}}
</el-button>
<el-form-item
:label=
"$t('运输方式')"
prop=
"orderNo"
>
<dict-selector
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
v-model=
"queryParams.transportId"
formatter=
"number"
/>
</el-form-item>
<el-form-item
:label=
"$t('商品')"
prop=
"orderNo"
>
<el-input
v-model=
"queryParams.product"
:placeholder=
"$t('请输入商品类型、品名或品牌')"
clearable
@
keyup.enter.native=
"handleQuery"
/>
<!--// TODO -->
</el-form-item>
<el-form-item
:label=
"$t('控货')"
prop=
"control"
>
<dict-selector
:type=
"DICT_TYPE.INFRA_BOOLEAN_STRING"
v-model=
"queryParams.control"
/>
</el-form-item>
<el-form-item
:label=
"$t('客户经理')"
prop=
"orderNo"
>
<user-selector
v-model=
"queryParams.salesman"
/>
<!--// TODO -->
</el-form-item>
<el-form-item
:label=
"$t('销售阶段')"
prop=
"status"
>
<dict-selector
:type=
"DICT_TYPE.ECW_OFFER_STATUS"
v-model=
"queryParams.status"
/>
</el-form-item>
<el-form-item
:label=
"$t('报关方式')"
prop=
"customsType"
>
<dict-selector
:type=
"DICT_TYPE.ECW_CUSTOMS_TYPE"
v-model=
"queryParams.customsType"
/>
</el-form-item>
<div>
<el-form-item
:label=
"$t('预计结束时间')"
prop=
"orderNo"
>
<el-date-picker
v-model=
"queryParams.beginStopTime"
value-format=
"yyyy-MM-dd HH:mm:ss"
></el-date-picker>
到
<el-date-picker
v-model=
"queryParams.endStopTime"
value-format=
"yyyy-MM-dd HH:mm:ss"
></el-date-picker>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"handleQuery"
>
{{
$t
(
'
搜索
'
)
}}
</el-button>
<el-button
icon=
"el-icon-refresh"
@
click=
"resetQuery"
>
{{
$t
(
'
重置
'
)
}}
</el-button>
</el-form-item>
</div>
</el-form>
<!-- 操作工具栏 -->
...
...
@@ -55,7 +103,7 @@
<
el
-
table
-
column
:
label
=
"
$t('预计销售额')
"
align
=
"
left
"
prop
=
"
estCost
"
>
<
template
slot
-
scope
=
"
{row
}
"
>
<
div
class
=
""
v
-
for
=
"
item in row.estCostVO.feeDtoList
"
:
key
=
"
item.feeType
"
>
<
div
class
=
""
v
-
for
=
"
(item, feeIndex) in row.estCostVO.feeDtoList
"
:
key
=
"
feeIndex
"
>
<
dict
-
tag
:
type
=
"
DICT_TYPE.ECW_COST_FEE_TYPE
"
:
value
=
"
item.feeType
"
/>
{{
item
.
amount
}}
{{
currencyMap
[
item
.
currencyId
]
}}
<
/div
>
...
...
@@ -65,32 +113,58 @@
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('操作')
"
align
=
"
center
"
class
-
name
=
"
small-padding fixed-width
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
template
v
-
if
=
"
[1,2].indexOf(scope.row.status) > -1
"
>
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
@
click
=
"
$router.push('detail?offerId=' + scope.row.offerId)
"
v
-
hasPermi
=
"
['ecw:offer:update']
"
>
{{
$t
(
'
详情
'
)
}}
<
/el-button
>
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
@
click
=
"
$router.push('edit?id=' + scope.row.offerId)
"
v
-
hasPermi
=
"
['ecw:offer:update']
"
>
{{
$t
(
'
编辑
'
)
}}
<
/el-button
>
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
@
click
=
"
$router.push('logList?offerId=' + scope.row.offerId)
"
v
-
hasPermi
=
"
['ecw:offer:update']
"
>
{{
$t
(
'
跟进
'
)
}}
<
/el-button
>
<
/template
>
<
template
v
-
if
=
"
scope.row.status == 2
"
>
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
@
click
=
"
$router.push('detail?offerId=' + scope.row.offerId)
"
v
-
hasPermi
=
"
['ecw:offer:update']
"
>
{{
$t
(
'
详情
'
)
}}
<
/el-button
>
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
@
click
=
"
$router.push(`result?offerId=${scope.row.offerId
}
&number=${scope.row.number
}
`)
"
v
-
hasPermi
=
"
['ecw:offer:update']
"
>
{{
$t
(
'
结果
'
)
}}
<
/el-button
>
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
@
click
=
"
$router.push('/offer/special/' + scope.row.offerId)
"
v
-
hasPermi
=
"
['ecw:offer:update']
"
>
{{
$t
(
'
特价
'
)
}}
<
/el-button
>
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
v
-
hasPermi
=
"
['ecw:offer:update']
"
>
{{
$t
(
'
取消
'
)
}}
<
/el-button
>
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
v
-
hasPermi
=
"
['ecw:offer:update']
"
>
{{
$t
(
'
恢复
'
)
}}
<
/el-button
>
<
/template
>
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
@
click
=
"
$router.push('detail?offerId=' + scope.row.offerId)
"
v
-
hasPermi
=
"
['ecw:offer:update']
"
>
{{
$t
(
'
详情
'
)
}}
<
/el-button
>
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
v
-
hasPermi
=
"
['ecw:offer:delete']
"
>
{{
$t
(
'
删除
'
)
}}
<
/el-button
>
<
el
-
dropdown
>
<
el
-
button
icon
=
"
el-icon-plus
"
circle
type
=
"
primary
"
><
/el-button
>
<
el
-
dropdown
-
menu
slot
=
"
dropdown
"
>
<
el
-
dropdown
-
item
@
click
.
native
=
"
$router.push('detail?offerId=' + scope.row.offerId)
"
>
{{
$t
(
'
详情
'
)
}}
<
/el-dropdown-item
>
<
el
-
dropdown
-
item
v
-
if
=
"
[1,2].indexOf(scope.row.status) > -1
"
@
click
.
native
=
"
$router.push('edit?id=' + scope.row.offerId)
"
v
-
hasPermi
=
"
['ecw:offer:update']
"
>
{{
$t
(
'
编辑
'
)
}}
<
/el-dropdown-item
>
<
el
-
dropdown
-
item
v
-
if
=
"
[1,2].indexOf(scope.row.status) > -1
"
@
click
.
native
=
"
$router.push('logList?offerId=' + scope.row.offerId)
"
v
-
hasPermi
=
"
['ecw:offer:update']
"
>
{{
$t
(
'
跟进
'
)
}}
<
/el-dropdown-item
>
<
el
-
dropdown
-
item
v
-
if
=
"
[2].indexOf(scope.row.status) > -1
"
@
click
.
native
=
"
$router.push(`result?offerId=${scope.row.offerId
}
&number=${scope.row.number
}
`)
"
v
-
hasPermi
=
"
['ecw:offer:update']
"
>
{{
$t
(
'
结果
'
)
}}
<
/el-dropdown-item
>
<
el
-
dropdown
-
item
v
-
if
=
"
[2].indexOf(scope.row.status) > -1
"
@
click
.
native
=
"
$router.push('/offer/special/' + scope.row.offerId)
"
v
-
hasPermi
=
"
['ecw:offer:update']
"
>
{{
$t
(
'
特价
'
)
}}
<
/el-dropdown-item
>
<
el
-
dropdown
-
item
v
-
if
=
"
[1,2].indexOf(scope.row.status) > -1
"
v
-
hasPermi
=
"
['ecw:offer:update']
"
>
{{
$t
(
'
取消
'
)
}}
<
/el-dropdown-item
>
<
el
-
dropdown
-
item
v
-
if
=
"
[0].indexOf(scope.row.status) > -1
"
v
-
hasPermi
=
"
['ecw:offer:update']
"
>
{{
$t
(
'
恢复
'
)
}}
<
/el-dropdown-item
>
<
el
-
dropdown
-
item
v
-
if
=
"
[1,2,4,5].indexOf(scope.row.status) > -1
"
v
-
hasPermi
=
"
['ecw:offer:delete']
"
>
{{
$t
(
'
删除
'
)
}}
<
/el-dropdown-item
>
<
/el-dropdown-menu
>
<
/el-dropdown
>
<!--
<
el
-
popover
style
=
"
margin-left: 10px;
"
placement
=
"
bottom
"
width
=
"
100
"
trigger
=
"
hover
"
>
<
el
-
button
slot
=
"
reference
"
icon
=
"
el-icon-plus
"
circle
type
=
"
primary
"
><
/el-button
>
<
div
style
=
"
display:flex; flex-direction:column
"
>
<
template
v
-
if
=
"
[1,2].indexOf(scope.row.status) > -1
"
>
<
el
-
link
type
=
"
primary
"
@
click
.
native
=
"
$router.push('detail?offerId=' + scope.row.offerId)
"
v
-
hasPermi
=
"
['ecw:offer:detail']
"
>
{{
$t
(
'
详情
'
)
}}
<
/el-link
>
<
el
-
link
type
=
"
primary
"
@
click
=
"
$router.push('edit?id=' + scope.row.offerId)
"
v
-
hasPermi
=
"
['ecw:offer:update']
"
>
{{
$t
(
'
编辑
'
)
}}
<
/el-link
>
<
el
-
link
type
=
"
primary
"
@
click
=
"
$router.push('logList?offerId=' + scope.row.offerId)
"
v
-
hasPermi
=
"
['ecw:offer:update']
"
>
{{
$t
(
'
跟进
'
)
}}
<
/el-link
>
<
/template
>
<
template
v
-
if
=
"
scope.row.status == 2
"
>
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
@
click
=
"
$router.push('detail?offerId=' + scope.row.offerId)
"
v
-
hasPermi
=
"
['ecw:offer:update']
"
>
{{
$t
(
'
详情
'
)
}}
<
/el-button
>
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
@
click
=
"
$router.push(`result?offerId=${scope.row.offerId
}
&number=${scope.row.number
}
`)
"
v
-
hasPermi
=
"
['ecw:offer:update']
"
>
{{
$t
(
'
结果
'
)
}}
<
/el-button
>
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
@
click
=
"
$router.push('/offer/special/' + scope.row.offerId)
"
v
-
hasPermi
=
"
['ecw:offer:update']
"
>
{{
$t
(
'
特价
'
)
}}
<
/el-button
>
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
v
-
hasPermi
=
"
['ecw:offer:update']
"
>
{{
$t
(
'
取消
'
)
}}
<
/el-button
>
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
v
-
hasPermi
=
"
['ecw:offer:update']
"
>
{{
$t
(
'
恢复
'
)
}}
<
/el-button
>
<
/template
>
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
@
click
=
"
$router.push('detail?offerId=' + scope.row.offerId)
"
v
-
hasPermi
=
"
['ecw:offer:update']
"
>
{{
$t
(
'
详情
'
)
}}
<
/el-button
>
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
v
-
hasPermi
=
"
['ecw:offer:delete']
"
>
{{
$t
(
'
删除
'
)
}}
<
/el-button
>
<
/div
>
<
/el-popover> --
>
<
/template
>
<
/el-table-column
>
<
/el-table
>
...
...
@@ -104,10 +178,12 @@
<
script
>
import
{
deleteOffer
,
getOfferPage
,
exportOfferExcel
}
from
"
@/api/ecw/offer
"
;
import
{
getCurrencyList
}
from
'
@/api/ecw/currency
'
;
import
{
getTradeCityList
}
from
'
@/api/ecw/region
'
import
UserSelector
from
'
@/components/UserSelector
'
export
default
{
name
:
"
Offer
"
,
components
:
{
UserSelector
}
,
data
()
{
return
{
...
...
@@ -160,7 +236,8 @@ export default {
estCost
:
null
,
sendstatus
:
null
,
}
,
currencyList
:
[]
currencyList
:
[],
tradeCityList
:[]
}
;
}
,
...
...
@@ -172,12 +249,21 @@ export default {
}
)
return
map
}
,
exportCityList
()
{
return
this
.
tradeCityList
.
filter
(
item
=>
item
.
type
==
2
)
}
,
importCityList
()
{
return
this
.
tradeCityList
.
filter
(
item
=>
item
.
type
==
1
)
}
,
}
,
created
()
{
this
.
getList
();
getTradeCityList
().
then
(
res
=>
this
.
tradeCityList
=
res
.
data
)
getCurrencyList
().
then
(
res
=>
{
this
.
currencyList
=
res
.
data
}
)
this
.
getList
();
}
,
methods
:
{
/** 查询列表 */
...
...
src/views/ecw/offer/result.vue
View file @
36a3de98
...
...
@@ -25,7 +25,7 @@
</
template
>
<el-form-item>
<el-button
type=
"primary"
@
click=
"submitForm"
>
{{form.result==1?
"确定并新增草稿订单":"提交"
}}
</el-button>
<el-button
type=
"primary"
@
click=
"submitForm"
>
{{form.result==1?
$t("确定并新增草稿订单") : $t("提交")
}}
</el-button>
<el-button
@
click=
"$router.back()"
>
返 回
</el-button>
</el-form-item>
</el-form>
...
...
@@ -86,8 +86,12 @@ export default {
return
;
}
let
data
=
Object
.
assign
({},
this
.
form
)
updateOfferResult
(
data
).
then
((
response
)
=>
{
this
.
$modal
.
msgSuccess
(
"
修改成功
"
);
updateOfferResult
(
data
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
this
.
$t
(
"
赢单成功
"
));
if
(
response
.
data
>
0
){
this
.
$redirect
(
'
../order/edit?id=
'
+
response
.
data
)
return
}
this
.
$router
.
back
();
});
});
...
...
src/views/ecw/offer/special.vue
View file @
36a3de98
...
...
@@ -11,7 +11,7 @@
<dict-tag
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"offer.transportId"
/>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('出货渠道')"
>
// TODO
{{
channel
?
$l
(
channel
,
'
name
'
)
:
'
/
'
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('创建时间')"
>
{{
offer
.
createTime
}}
</el-descriptions-item>
...
...
@@ -47,25 +47,25 @@
<el-table-column
:label=
"$t('原价')"
>
<
template
v-slot=
"{row}"
>
运费
:
{{
row
.
originalSeaFreight
}}
{{
currencyMap
[
row
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
row
.
seaFreightVolume
]
}}
{{
$t
(
'
运费
'
)
}}
:
{{
row
.
originalSeaFreight
}}
{{
currencyMap
[
row
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
row
.
seaFreightVolume
]
}}
<br>
清关费:
{{
row
.
original
ClearanceFreight
}}
{{
currencyMap
[
row
.
clearanceFreightCurrency
]
}}
/
{{
unitMap
[
row
.
clearanceFreightVolume
]
}}
{{
$t
(
'
清关费
'
)
}}
:
{{
row
.
one
ClearanceFreight
}}
{{
currencyMap
[
row
.
clearanceFreightCurrency
]
}}
/
{{
unitMap
[
row
.
clearanceFreightVolume
]
}}
</
template
>
</el-table-column>
<el-table-column
label=
"成本价"
>
<
template
v-slot=
"{row}"
>
运费
:
{{
row
.
seaFreight
}}
{{
currencyMap
[
row
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
row
.
seaFreightVolume
]
}}
{{
$t
(
'
运费
'
)
}}
:
{{
row
.
seaFreight
}}
{{
currencyMap
[
row
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
row
.
seaFreightVolume
]
}}
<br>
清关费:
{{
row
.
c
learanceFreight
}}
{{
currencyMap
[
row
.
clearanceFreightCurrency
]
}}
/
{{
unitMap
[
row
.
clearanceFreightVolume
]
}}
{{
$t
(
'
清关费
'
)
}}
:
{{
row
.
oneC
learanceFreight
}}
{{
currencyMap
[
row
.
clearanceFreightCurrency
]
}}
/
{{
unitMap
[
row
.
clearanceFreightVolume
]
}}
</
template
>
</el-table-column>
<el-table-column
label=
"销售价
"
>
:label=
"$t('销售价')
"
>
<
template
v-slot=
"{row}"
>
运费:
{{
row
.
s
eaFreight
}}
{{
currencyMap
[
row
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
row
.
seaFreightVolume
]
}}
{{
$t
(
'
运费
'
)
}}
:
{{
row
.
saleS
eaFreight
}}
{{
currencyMap
[
row
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
row
.
seaFreightVolume
]
}}
<br>
清关费:
{{
row
.
c
learanceFreight
}}
{{
currencyMap
[
row
.
clearanceFreightCurrency
]
}}
/
{{
unitMap
[
row
.
clearanceFreightVolume
]
}}
{{
$t
(
'
清关费
'
)
}}
:
{{
row
.
oneC
learanceFreight
}}
{{
currencyMap
[
row
.
clearanceFreightCurrency
]
}}
/
{{
unitMap
[
row
.
clearanceFreightVolume
]
}}
</
template
>
</el-table-column>
<el-table-column
...
...
@@ -96,6 +96,7 @@ import {getCurrencyList} from "@/api/ecw/currency"
import
{
getProductAttrList
}
from
"
@/api/ecw/productAttr
"
import
{
parseTime
}
from
'
@/utils/ruoyi
'
import
{
listByIds
}
from
'
@/api/ecw/region
'
import
{
getChannel
}
from
'
@/api/ecw/channel
'
export
default
{
name
:
"
OfferSpecial
"
,
components
:
{
...
...
@@ -128,7 +129,8 @@ export default {
currencyList
:[],
productAttrList
:[],
objective
:
null
,
departure
:
null
departure
:
null
,
channel
:
null
,
// 渠道信息
};
},
watch
:{
...
...
@@ -147,6 +149,13 @@ export default {
this
.
loading
=
false
this
.
offer
=
response
.
data
this
.
getCity
()
this
.
getChannel
()
})
},
getChannel
(){
if
(
!
this
.
offer
.
channelId
)
return
getChannel
(
this
.
offer
.
channelId
).
then
(
res
=>
{
this
.
channel
=
res
.
data
})
},
getCity
(){
...
...
@@ -171,14 +180,14 @@ export default {
currencyMap
(){
let
map
=
{}
this
.
currencyList
.
forEach
(
item
=>
{
map
[
item
.
id
]
=
item
.
titleZh
map
[
item
.
id
]
=
this
.
$l
(
item
,
'
title
'
)
})
return
map
},
unitMap
(){
let
map
=
{}
this
.
unitList
.
forEach
(
item
=>
{
map
[
item
.
id
]
=
item
.
titleZh
map
[
item
.
id
]
=
this
.
$l
(
item
,
'
title
'
)
})
return
map
}
...
...
src/views/ecw/order/associatedOrder.vue
View file @
36a3de98
...
...
@@ -43,7 +43,7 @@
{{
row
.
orderBackVO
.
costVO
.
totalVolume
}}
m³
</div>
<div>
{{
row
.
orderBackVO
.
costVO
.
totalW
orth
}}
KG
{{
row
.
orderBackVO
.
costVO
.
totalW
eight
}}
KG
</div>
</
template
>
</el-table-column>
...
...
src/views/ecw/order/cargoControl.vue
View file @
36a3de98
...
...
@@ -78,7 +78,11 @@
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('唛头')"
align=
"center"
prop=
"marks"
/>
<el-table-column
:label=
"$t('箱数')"
align=
"center"
prop=
"sumNum"
/>
<el-table-column
:label=
"$t('箱数')"
align=
"center"
prop=
"sumNum"
>
<
template
v-slot=
"{row}"
>
{{
row
.
inWarehouseState
>
1
?
row
.
sumNum
:
row
.
totalNum
}}
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('已放箱数')"
align=
"center"
prop=
"sumWeight"
>
<
template
slot-scope=
"{row}"
>
{{
row
.
releaseNum
}}
</
template
>
</el-table-column>
...
...
src/views/ecw/order/components/PrintWarehouseReceipt.vue
View file @
36a3de98
...
...
@@ -5,7 +5,7 @@
<div
id=
"myproa"
>
<p
style=
"padding-bottom:10px;font-size:16px;"
>
{{
$t
(
'
订单号
'
)
}}
:
{{
detail
.
orderNo
}}
{{
$t
(
'
发货人电话
'
)
}}
:
{{
detail
.
name
}}
{{
detail
.
phone
}}
{{
$t
(
'
发货人电话
'
)
}}
:
{{
detail
.
consignorVO
.
countryCode
}}
{{
detail
.
consignorVO
.
phone
}}
{{
$t
(
'
提货地点
'
)
}}
:
{{
objective
.
titleZh
}}
<img
:src=
"qrcode"
style=
"margin-left: 10px;width:17mm;vertical-align:middle"
/>
</p>
...
...
@@ -33,7 +33,7 @@
</label>
</td>
<td
style=
"text-align:center;padding:0 0px;border:1px dashed #ccc;"
>
{{
item
.
marks
}}
{{
detail
.
marks
}}
</td>
<td
style=
"text-align:center;padding:0 0px;border:1px dashed #ccc;"
>
{{
item
.
prodTitleZh
}}
<br/>
{{
item
.
prodTitleEn
}}
...
...
src/views/ecw/order/components/ordeDetailsForm.vue
View file @
36a3de98
...
...
@@ -11,18 +11,17 @@
<dict-tag
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"details.transportId"
></dict-tag>
</el-descriptions-item>
<el-descriptions-item
label=
"出货渠道"
>
{{
details
.
channelId
}}
123
<dict-tag
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"details.channelId"
></dict-tag>
</el-descriptions-item>
<el-descriptions-item
label=
"始发地"
>
{{
details
.
logisticsInfoDto
?
details
.
logisticsInfoDto
.
startTitleZh
:
''
}}
</el-descriptions-item>
<el-descriptions-item
label=
"目的地"
>
{{
details
.
logisticsInfoDto
?
details
.
logisticsInfoDto
.
destTitleZh
:
''
}}
</el-descriptions-item>
<el-descriptions-item
label=
"发货人姓名"
>
{{
details
.
consignorVO
?
details
.
consignorVO
.
name
:
''
}}
</el-descriptions-item>
<el-descriptions-item
label=
"发货人公司"
>
{{
details
.
consignorVO
?
details
.
consignorVO
.
company
:
''
}}
</el-descriptions-item>
<el-descriptions-item
label=
"发货人电话"
>
{{
details
.
consignorVO
?
details
.
consignorVO
.
phone
:
''
}}
</el-descriptions-item>
<el-descriptions-item
label=
"发货人电话"
>
{{
details
.
consignorVO
?
details
.
consignorVO
.
countryCode
:
''
}}
{{
details
.
consignorVO
?
details
.
consignorVO
.
phone
:
''
}}
</el-descriptions-item>
<el-descriptions-item></el-descriptions-item>
<el-descriptions-item
label=
"收货人姓名"
>
{{
details
.
consigneeVO
?
details
.
consigneeVO
.
name
:
''
}}
</el-descriptions-item>
<el-descriptions-item
label=
"收货人公司"
>
{{
details
.
consigneeVO
?
details
.
consigneeVO
.
company
:
''
}}
</el-descriptions-item>
<el-descriptions-item
label=
"收货人电话"
>
{{
details
.
consigneeVO
?
details
.
consigneeVO
.
phone
:
''
}}
</el-descriptions-item>
<el-descriptions-item
label=
"收货人电话"
>
{{
details
.
consigneeVO
?
details
.
consigneeVO
.
countryCode
:
''
}}
{{
details
.
consigneeVO
?
details
.
consigneeVO
.
phone
:
''
}}
</el-descriptions-item>
<el-descriptions-item></el-descriptions-item>
</el-descriptions>
</div>
...
...
src/views/ecw/order/components/specialNeeds.vue
View file @
36a3de98
...
...
@@ -3,6 +3,7 @@
<el-dialog
:before-close=
"()=>
{$emit('update:show',false)
}" center width="80%" :visible.sync="show">
<div
class=
"content"
>
<h1>
{{
orderNo
}}
特需
</h1>
<el-form
label-width=
"180px"
label-position=
"left"
>
<el-form-item
label=
"特殊要求"
>
<el-checkbox-group
v-model=
"advanceType"
>
...
...
@@ -40,6 +41,7 @@ export default {
orderId
:{
type
:[
String
,
Number
],
},
orderNo
:[
String
,
Number
],
show
:
Boolean
,
},
computed
:{
...
...
src/views/ecw/order/components/warehouseDetails.vue
View file @
36a3de98
...
...
@@ -54,32 +54,23 @@
</el-table-column>
<el-table-column
label=
"始发仓"
prop=
"startWarehouseName"
></el-table-column>
<el-table-column
label=
"目的地"
prop=
"objectiveName"
></el-table-column>
<el-table-column
label=
"发货人"
>
<el-table-column
label=
"发货人"
>
<
template
v-slot=
"{row}"
>
<p>
{{
row
.
consignorName
}}
</p>
<p>
{{
row
.
consignorPhone
}}
{{
row
.
consignorCountryCode
}}
{{
row
.
consignorPhone
}}
</p>
</
template
>
</el-table-column>
<
<
el-table-column
header-align=
"center"
align=
"center"
prop=
"columnProp"
label=
"columnLabel"
>
</el-table-column>
label="收货人">
<
template
v-slot=
"{row}"
>
<el-table-column
label=
"收货人"
>
<
template
v-slot=
"{row}"
>
<p>
{{
row
.
consigneeName
}}
</p>
<p>
{{
row
.
consigneePhone
}}
{{
row
.
consignee
CountryCode
}}
{{
row
.
consignee
Phone
}}
</p>
</
template
>
</el-table-column>
...
...
@@ -123,8 +114,8 @@
申请说明
</p>
<div
>
从
【{{selectWarehouse(FeeDetails.details
&&
FeeDetails.details.warehouseInId ? FeeDetails.details.warehouseIn
Id : '' )}}】 调到
【{{selectWarehouse(FeeDetails.details
&&
FeeDetails.details.warehouseOutId ? FeeDetails.details.warehouseOut
Id : '' )}}】
从
【{{selectWarehouse(FeeDetails.details
&&
FeeDetails.details.warehouseOutId ? FeeDetails.details.warehouseOut
Id : '' )}}】 调到
【{{selectWarehouse(FeeDetails.details
&&
FeeDetails.details.warehouseInId ? FeeDetails.details.warehouseIn
Id : '' )}}】
</div>
</div>
<div
v-if=
"type === 2"
>
...
...
@@ -226,7 +217,7 @@ export default {
warehouseApprovalGetByFormId
({
formId
:
this
.
processInstanceID
}).
then
(
r
=>
{
this
.
FeeDetails
=
r
.
data
this
.
FeeDetails
.
details
=
JSON
.
parse
(
r
.
data
.
details
)
getOrderPage
({
orderIdList
:
r
.
data
.
adjustActualOrderIds
}).
then
(
res
=>
{
getOrderPage
({
orderIdList
:
r
.
data
.
adjustActualOrderIds
}).
then
(
res
=>
{
this
.
list
=
res
.
data
.
list
})
...
...
src/views/ecw/order/create.vue
0 → 100644
View file @
36a3de98
<
script
>
// 对edit组件复用并更名,防止keepalive缓存数据
import
edit
from
'
./edit.vue
'
edit
.
name
=
'
OrderCreate
'
export
default
edit
</
script
>
\ No newline at end of file
src/views/ecw/order/edit.vue
View file @
36a3de98
...
...
@@ -360,12 +360,11 @@
</div>
</div>
<div>
<el-form-item
:label=
"$t('预计送货日期')"
prop=
"deliveryDate"
class=
"ml-20"
>
<el-form-item
:label=
"$t('预计送货日期')"
prop=
"deliveryDate"
>
<el-date-picker
v-model=
"form.deliveryDate"
value-format=
"yyyy-MM-dd HH:mm:ss"
></el-date-picker>
</el-form-item>
</div>
<div>
<el-form-item
:label=
"$t('收货方式')"
prop=
"harvestMethod"
class=
"ml-20"
>
<dict-selector
:type=
"DICT_TYPE.ECW_HARVEST_METHOD"
v-model=
"form.harvestMethod"
:filter=
"item => item.value == 1 || homeDeliveryService"
defaultable
/>
</el-form-item>
...
...
@@ -407,30 +406,39 @@
<el-button
type=
"primary"
slot=
"append"
@
click=
"getOrderCourierNumber"
>
{{$t('生成单号')}}
</el-button>
</el-input>
</el-form-item>
<br/>
<el-form-item
:label=
"$t('是否双清')"
v-if=
"[2,3,4].indexOf(+form.transportId) > -1"
>
<dict-selector
v-model=
"form.doubleClear"
form-type=
"radio"
:type=
"DICT_TYPE.ECW_DOUBLE_CLEAR"
/>
</el-form-item>
<el-form-item
:label=
"$t('航空公司')"
v-if=
"[3,4].indexOf(+form.transportId) > -1"
>
<!--待查询备选数据-->
<el-select
placeholder=
""
v-model=
"form.airlineCompany"
>
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('船公司')"
v-if=
"[2].indexOf(+form.transportId) > -1"
>
<el-select
placeholder=
""
v-model=
"form.shippingCompany"
>
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('清关证书')"
v-if=
"[2,3,4].indexOf(+form.transportId) > -1"
>
<dict-selector
v-model=
"form.customsClearCert"
form-type=
"radio"
:type=
"DICT_TYPE.INFRA_BOOLEAN_STRING"
fomatter=
"bool"
/>
</el-form-item>
<el-form-item
label=
"清关证书备注"
v-if=
"[2,3,4].indexOf(+form.transportId) > -1"
>
<el-input
v-model=
"form.remarks"
></el-input>
</el-form-item>
<el-form-item
label=
"是否拆包"
v-if=
"[3,4].indexOf(+form.transportId) > -1"
>
<dict-selector
v-model=
"form.isUnpack"
form-type=
"radio"
:type=
"DICT_TYPE.INFRA_BOOLEAN_STRING"
fomatter=
"bool"
/>
</el-form-item>
<div
v-if=
"[2,3,4].indexOf(+form.transportId) > -1"
>
<el-form-item
:label=
"$t('是否双清')"
>
<dict-selector
v-model=
"form.doubleClear"
form-type=
"radio"
:type=
"DICT_TYPE.ECW_DOUBLE_CLEAR"
/>
</el-form-item>
</div>
<div
v-if=
"[3,4].indexOf(+form.transportId) > -1"
>
<el-form-item
:label=
"$t('航空公司')"
>
<!--待查询备选数据-->
<el-select
placeholder=
""
v-model=
"form.airlineCompany"
>
</el-select>
</el-form-item>
</div>
<div
v-if=
"[2].indexOf(+form.transportId) > -1"
>
<el-form-item
:label=
"$t('船公司')"
>
<el-select
placeholder=
""
v-model=
"form.shippingCompany"
>
</el-select>
</el-form-item>
</div>
<div
v-if=
"[2,3,4].indexOf(+form.transportId) > -1"
>
<el-form-item
:label=
"$t('清关证书')"
>
<dict-selector
v-model=
"form.customsClearCert"
form-type=
"radio"
:type=
"DICT_TYPE.INFRA_BOOLEAN_STRING"
fomatter=
"bool"
/>
</el-form-item>
<el-form-item
label=
"清关证书备注"
>
<el-input
v-model=
"form.remarks"
></el-input>
</el-form-item>
</div>
<div
v-if=
"[3,4].indexOf(+form.transportId) > -1"
>
<el-form-item
label=
"是否拆包"
>
<dict-selector
v-model=
"form.isUnpack"
form-type=
"radio"
:type=
"DICT_TYPE.INFRA_BOOLEAN_STRING"
fomatter=
"bool"
/>
</el-form-item>
</div>
<div
class=
"form-section"
>
<el-form-item
:label=
"$t('单票立刻转运')"
v-if=
"[3,4].indexOf(+form.transportId) > -1"
>
<dict-selector
v-model=
"form.isSingleTicketTransport"
form-type=
"radio"
:type=
"DICT_TYPE.INFRA_BOOLEAN_STRING"
fomatter=
"bool"
/>
...
...
@@ -513,6 +521,8 @@ import ChooseContactDialog from '@/components/ChooseContactDialog'
import
QuickCreateCustomer
from
'
@/components/QuickCreateCustomer
'
import
{
calculationPrice
}
from
'
@/api/ecw/product
'
// 缓存默认的表单数据
let
defaultFormData
=
null
export
default
{
name
:
"
EcwOrderEdit
"
,
...
...
@@ -716,6 +726,8 @@ export default {
}
},
created
()
{
defaultFormData
=
Object
.
assign
({},
this
.
form
)
this
.
couponTypeList
=
this
.
getDictDatas
(
this
.
DICT_TYPE
.
ECW_COUPON_TYPE
)
this
.
couponTypeList
.
forEach
(
item
=>
{
this
.
$set
(
this
.
selectedCoupons
,
item
.
value
,
null
)
...
...
@@ -935,6 +947,11 @@ export default {
// 添加的提交
createOrder
(
data
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
this
.
$t
(
"
新增成功
"
));
// 重置数据
this
.
form
=
{...
defaultFormData
}
this
.
$refs
.
form
.
clearValidate
()
this
.
$redirect
(
'
success?orderId=
'
+
response
.
data
)
});
});
...
...
src/views/ecw/order/feeApplication.vue
View file @
36a3de98
...
...
@@ -62,7 +62,9 @@
<work-flow
xmlkey=
"free_apply"
v-model=
"selectedUsers"
/>
</div>
<div
style=
"text-align: center;margin-top: 20px;"
>
<el-button
style=
"margin-right: 30px;"
@
click=
"submit"
>
提交
</el-button>
<el-button
v-if=
"!IsExamine"
style=
"margin-right: 30px;"
@
click=
"submit"
>
提交
</el-button>
<el-button
v-if=
"IsExamine"
style=
"margin-right: 30px;"
@
click=
"examineFn"
>
审核中
</el-button>
<el-button
v-if=
"IsExamine"
style=
"margin-right: 30px;"
@
click=
"cancel"
>
取消审核
</el-button>
<el-button>
取消
</el-button>
</div>
</div>
...
...
@@ -71,7 +73,13 @@
</template>
<
script
>
import
{
getOrder
,
feeApplicationCreate
,
ApplicationListByOrderId
,
applicationUpdate
}
from
"
@/api/ecw/order
"
;
import
{
getOrder
,
feeApplicationCreate
,
ApplicationListByOrderId
,
applicationUpdate
,
feeApplicationListByOrderId
,
feeApplicationCancel
}
from
"
@/api/ecw/order
"
;
import
{
getDictDatas
,
DICT_TYPE
}
from
'
@/utils/dict
'
;
import
Template
from
"
@/views/cms/template
"
;
import
workFlow
from
"
@/components/WorkFlow
"
;
...
...
@@ -108,6 +116,9 @@ export default {
return
(
row
)
=>
{
return
this
.
list
.
findIndex
(
e
=>
e
.
id
=
row
.
id
)
}
},
IsExamine
(){
return
this
.
list
.
some
(
e
=>
e
.
status
===
1
)
}
},
methods
:{
...
...
@@ -163,8 +174,28 @@ export default {
},
modify
(
row
){
this
.
isModifyIf
=
true
;
this
.
$set
(
this
.
isModify
,
this
.
list
.
findIndex
(
e
=>
e
.
id
=
row
.
id
),
false
)
this
.
$set
(
this
.
isModify
,
this
.
list
.
findIndex
(
e
=>
e
.
id
=
row
.
id
),
false
)
},
examineFn
(){
let
item
=
this
.
list
.
find
(
e
=>
e
.
status
===
1
);
this
.
$router
.
push
({
path
:
'
/bpm/process-instance/detail
'
,
query
:{
id
:
item
.
bpmProcessId
}})
},
cancel
(){
this
.
$prompt
(
'
请输入取消原因
'
,
'
提示
'
,
{
confirmButtonText
:
'
确定
'
,
cancelButtonText
:
'
取消
'
,
}).
then
(({
value
})
=>
{
let
item
=
this
.
list
.
find
(
e
=>
e
.
status
===
1
);
feeApplicationCancel
({
huifu
:
value
,
bpmProcessId
:
item
.
bpmProcessId
}).
then
(
r
=>
{
this
.
$message
({
type
:
'
success
'
,
message
:
'
取消成功
'
});
this
.
$emit
(
'
update:dialogVisible
'
,
false
)
})
}).
catch
(()
=>
{
});
}
},
watch
:{
dialogVisible
(
val
){
...
...
src/views/ecw/order/index.vue
View file @
36a3de98
...
...
@@ -22,7 +22,7 @@
</el-form-item>
<el-form-item
:label=
"$t('始发地')"
prop=
"startWarehouseId"
>
<el-select
v-model=
"queryParams.startWarehouseId"
:placeholder=
"$t('请选择始发地')"
>
<el-option
v-for=
"item in expo
er
CityList"
:label=
"item.titleZh"
:value=
"item.id"
:key=
"item.id"
></el-option>
<el-option
v-for=
"item in expo
rt
CityList"
:label=
"item.titleZh"
:value=
"item.id"
:key=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
:label=
"$t('目的地')"
prop=
"destWarehouseId"
>
...
...
@@ -173,7 +173,7 @@
<el-button
v-if=
"scope.row.status == 88"
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"oprateOrder(scope.row.orderId, 'recoveryOrder')"
>
{{
$t
(
'
恢复订单
'
)
}}
</el-button>
<el-button
type=
"text"
size=
"mini"
@
click=
"feeApplicationBol = true; orderId = scope.row.orderId"
>
{{
$t
(
'
费用申请
'
)
}}
</el-button>
<el-button
type=
"text"
size=
"mini"
@
click=
"orderId = scope.row.orderId;isShow = true"
>
{{
$t
(
'
特需
'
)
}}
</el-button>
<el-button
type=
"text"
size=
"mini"
@
click=
"orderId = scope.row.orderId;
orderNo = scope.row.orderNo;
isShow = true"
>
{{
$t
(
'
特需
'
)
}}
</el-button>
<el-button
type=
"text"
size=
"mini"
@
click=
"$router.push(`/order/associated-order/$
{scope.row.orderId}`)" >
{{
$t
(
'
关联
'
)
}}
</el-button>
<el-button
type=
"text"
size=
"mini"
@
click=
"$router.push(`/order/mutex-order/$
{scope.row.orderId}`)" >
{{
$t
(
'
互斥
'
)
}}
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"$router.push('/order/special/' + scope.row.orderId)"
...
...
@@ -209,9 +209,9 @@
v-hasPermi=
"['ecw:order:update']"
>
{{
$t
(
'
入仓
'
)
}}
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"show = true;orderId = scope.row.orderId; "
v-hasPermi=
"['ecw:order:update']"
>
{{
$t
(
'
退仓
'
)
}}
</el-button>
<el-button
type=
"text"
size=
"mini"
@
click=
"orderId = scope.row.orderId;warehouseBol=true;"
>
{{
$t
(
'
调仓
'
)
}}
</el-button>
<el-button
type=
"text"
size=
"mini"
@
click=
"$router.push(
{path:'/order/transfer-warehousing/' + scope.row.orderId + '/' + 1 })" >
{{
$t
(
'
调拨出仓
'
)
}}
</el-button>
<el-button
type=
"text"
size=
"mini"
@
click=
"$router.push(
{path:'/order/transfer-to-warehouse/' + scope.row.orderId + '/' + 2 })" >
{{
$t
(
'
调拨到仓
'
)
}}
</el-button>
<el-button
type=
"text"
:disabled=
"!(scope.row.status === 5 && (scope.row.inWarehouseState === 215 ||scope.row.inWarehouseState === 0))"
size=
"mini"
@
click=
"orderId = scope.row.orderId;warehouseBol=true;"
>
{{
$t
(
'
调仓
'
)
}}
</el-button>
<el-button
type=
"text"
:disabled=
"!(scope.row.status === 8 && scope.row.inWarehouseState === 213)"
size=
"mini"
@
click=
"$router.push(
{path:'/order/transfer-warehousing/' + scope.row.orderId + '/' + 1 })" >
{{
$t
(
'
调拨出仓
'
)
}}
</el-button>
<el-button
type=
"text"
:disabled=
"!(scope.row.status === 8 && scope.row.inWarehouseState === 214)"
size=
"mini"
@
click=
"$router.push(
{path:'/order/transfer-to-warehouse/' + scope.row.orderId + '/' + 2 })" >
{{
$t
(
'
调拨到仓
'
)
}}
</el-button>
</div>
</el-popover>
...
...
@@ -373,7 +373,7 @@ export default {
};
},
computed
:
{
expo
er
CityList
()
{
expo
rt
CityList
()
{
return
this
.
tradeCityList
.
filter
(
item
=>
item
.
type
==
2
)
},
importCityList
()
{
...
...
src/views/ecw/order/mutexOrder.vue
View file @
36a3de98
...
...
@@ -43,7 +43,7 @@
{{
row
.
orderBackVO
.
costVO
.
totalVolume
}}
m³
</div>
<div>
{{
row
.
orderBackVO
.
costVO
.
totalW
orth
}}
KG
{{
row
.
orderBackVO
.
costVO
.
totalW
eight
}}
KG
</div>
</
template
>
</el-table-column>
...
...
src/views/ecw/order/notMutexOrder.vue
View file @
36a3de98
...
...
@@ -33,7 +33,7 @@
{{
row
.
costVO
.
totalVolume
}}
m³
</div>
<div>
{{
row
.
costVO
.
totalW
orth
}}
KG
{{
row
.
costVO
.
totalW
eight
}}
KG
</div>
</
template
>
</el-table-column>
...
...
src/views/ecw/order/success.vue
View file @
36a3de98
...
...
@@ -31,7 +31,7 @@
<!-- <img :src="noticeUrl" id="noticeImg" /> -->
<need-know
keyname=
"warehousing"
ref=
"needKnow"
/>
<div
style=
"text-align:center"
>
<el-button
type=
"primary"
@
click=
"$refs.needKnow.download()"
>
{{$t('下载')}}
</el-button>
<el-button
type=
"primary"
@
click=
"$refs.needKnow.download
Pdf
()"
>
{{$t('下载')}}
</el-button>
</div>
</el-dialog>
</div>
...
...
src/views/ecw/order/transferWarehousing.vue
View file @
36a3de98
<
template
>
<div
style=
"padding: 0 20px"
>
<h1>
调拨出仓
</h1>
<h1>
{{
type
==
1
?
'
调拨出仓
'
:
'
调拨到仓
'
}}
</h1>
<el-divider
content-position=
"left"
>
订单信息
</el-divider>
...
...
@@ -123,7 +123,7 @@
<el-button
v-if=
"type == 1"
size=
"medium"
@
click=
"cancellationOfOrder"
>
取消调仓
</el-button>
<el-button
size=
"medium"
@
click=
"$tab.closeOpenPage({path:'/order/order'})"
>
返回
</el-button>
</div>
<warehouse-location
ref=
"area"
:city-id=
"warehouse
Details.warehouse
InShi"
:visible.sync=
"areaVisible"
v-model=
"params.orderLocationCreateReqVOList"
:warehouse-id=
"warehouseDetails.warehouseInId"
:order-id=
"Number(orderId)"
></warehouse-location>
<warehouse-location
ref=
"area"
:city-id=
"warehouseInShi"
:visible.sync=
"areaVisible"
v-model=
"params.orderLocationCreateReqVOList"
:warehouse-id=
"warehouseDetails.warehouseInId"
:order-id=
"Number(orderId)"
></warehouse-location>
<el-dialog
:title=
"'订单转异'"
center
:visible.sync=
"escapeBol"
>
<el-form
label-position=
"top"
label-width=
"200"
>
<el-form-item
label=
"原因类型"
>
...
...
@@ -147,6 +147,7 @@
<
script
>
import
ordeDetailsForm
from
"
@/views/ecw/order/components/ordeDetailsForm
"
;
import
{
cancelAdjust
,
getAdjustInfo
,
getOrder
,
listByOrderId
,
orderWarehouseInGetAdjustInfo
,
...
...
@@ -198,7 +199,7 @@ export default {
descZh
:
''
,
exceptionUrls
:[]
},
warehouseInShi
:
''
,
warehouseInShi
:
0
,
expressList
:[],
storageSpaceList
:[],
applyStatus
:{}
...
...
@@ -282,7 +283,7 @@ export default {
})
}
})
this
.
warehouseInShi
=
this
.
warehouseDetails
.
warehouseInShi
this
.
warehouseInShi
=
this
.
warehouseDetails
.
warehouseInShi
||
''
this
.
params
.
phone
=
this
.
warehouseDetails
.
phone
||
''
;
this
.
params
.
logisticsNo
=
this
.
warehouseDetails
.
logisticsNo
;
this
.
params
.
id
=
this
.
warehouseDetails
.
id
;
...
...
@@ -335,11 +336,17 @@ export default {
confirmButtonText
:
'
确定
'
,
cancelButtonText
:
'
取消
'
,
}).
then
(({
value
})
=>
{
warehouseApprovalCancel
(
this
.
applyStatus
.
orderWarehouseApprovalBackVO
.
id
,
value
)
.
then
(
r
=>
{
if
(
r
.
data
){
this
.
$message
.
success
(
'
取消调仓成功
'
)
cancelAdjust
({
orderId
:
this
.
orderId
,
reason
:
value
,
}).
then
(
r
=>
{
console
.
log
(
r
,
'
r
'
);
if
(
r
.
code
===
0
){
this
.
$message
({
type
:
'
info
'
,
message
:
'
取消调仓成功
'
});
this
.
$tab
.
closeOpenPage
({
path
:
'
/order/order
'
})
}
})
}).
catch
(()
=>
{
...
...
@@ -348,7 +355,7 @@ export default {
message
:
'
取消成功
'
});
});
}
}
,
},
}
</
script
>
...
...
src/views/ecw/order/warehousing/components/editDialog.vue
View file @
36a3de98
<
template
>
<div>
<el-dialog
:title=
"(edit ? '入仓修改' : (warehousing.orderWarehouseInBackItemDoList.length > 0 ? '入仓补充' : '入仓操作')) + '
-货物入仓'
"
:title=
"(edit ? '入仓修改' : (warehousing.orderWarehouseInBackItemDoList.length > 0 ? '入仓补充' : '入仓操作')) + '
- ' + warehousing.orderNo
"
:visible.sync=
"opened"
width=
"1080px"
>
...
...
@@ -11,7 +11,7 @@
<el-descriptions-item
label=
"中文品名"
>
{{
warehousing
.
prodTitleZh
}}
</el-descriptions-item>
<el-descriptions-item
label=
"英文品名"
>
{{
warehousing
.
prodTitleEn
}}
</el-descriptions-item>
<el-descriptions-item
label=
"品牌"
>
<span
v-if=
"
warehousing.orderWarehouseInBackItemDoList && warehousing.orderWarehouseInBackItemDoList.length
"
>
{{
form
.
brand
?
brand
:
'
无
'
}}
</span>
<span
v-if=
"
false
"
>
{{
form
.
brand
?
brand
:
'
无
'
}}
</span>
<el-select
v-else
v-model=
"form.brand"
placeholder=
"可修改"
...
...
@@ -29,16 +29,22 @@
<el-descriptions-item
label=
"是否备案"
>
{{
isBeian
}}
</el-descriptions-item>
<el-descriptions-item
label=
"收费模式"
>
{{
feeType
}}
</el-descriptions-item>
<el-descriptions-item
label=
"填单参数"
>
箱数:
{{
warehousing
.
num
}}
<br>
体积:
{{
warehousing
.
volume
}}
m³
<br>
重量:
{{
warehousing
.
weight
}}
Kg
箱数:
<el-input
size=
"mini"
v-if=
"edit"
v-model=
"warehousing.num"
style=
"display: inline-block;width: 100px"
></el-input>
<span
v-else
>
{{
warehousing
.
num
}}
</span><br>
体积:
<el-input
size=
"mini"
v-if=
"edit"
v-model=
"warehousing.volume"
style=
"display: inline-block;width: 100px"
></el-input>
<span
v-else
>
{{
warehousing
.
volume
}}
</span>
m³
<br>
重量:
<el-input
size=
"mini"
v-if=
"edit"
v-model=
"warehousing.weight"
style=
"display: inline-block;width: 100px"
></el-input>
<span
v-else
>
{{
warehousing
.
weight
}}
</span>
Kg
</el-descriptions-item>
</el-descriptions>
<el-form
ref=
"form"
:model=
"form"
label-width=
"80px"
style=
"margin-top: 20px"
>
<el-form-item
label=
"材质"
>
<dict-selector
:type=
"DICT_TYPE.ECW_PRODUCT_MATERIAL"
v-model=
"form.material"
></dict-selector>
</el-form-item>
<el-form-item
label=
"入仓时间"
>
<el-form-item
label=
"入仓时间"
v-if=
"!edit"
>
<el-date-picker
v-model=
"form.inTime"
type=
"datetime"
placeholder=
"请选择入仓时间"
value-format=
"yyyy-MM-dd HH:mm:ss"
></el-date-picker>
</el-form-item>
</el-form>
...
...
@@ -56,7 +62,7 @@
<el-table-column
label=
"箱数"
width=
"150px"
>
<template
v-slot=
"
{r,c,$index}">
<el-form-item
:rules=
"tableFormRules.cartonsNum"
:prop=
"$index + '.cartonsNum'"
>
<span
v-if=
"tableData[$index].id"
>
<span
v-if=
"tableData[$index].id
&& !edit
"
>
{{
tableData
[
$index
].
cartonsNum
}}
{{
getDictDataLabel
(
DICT_TYPE
.
ECW_PACKAGE_TYPE
,
tableData
[
$index
].
unit
)
}}
</span>
...
...
@@ -69,31 +75,31 @@
<el-table-column
label=
"包装类型"
width=
"100px"
>
<
template
v-slot=
"{r,c,$index}"
>
<el-form-item>
<span
v-if=
"tableData[$index].id"
>
{{
getDictDataLabel
(
DICT_TYPE
.
ECW_PACKAGE_TYPE
,
tableData
[
$index
].
unit
)
}}
</span>
<span
v-if=
"tableData[$index].id
&& !edit
"
>
{{
getDictDataLabel
(
DICT_TYPE
.
ECW_PACKAGE_TYPE
,
tableData
[
$index
].
unit
)
}}
</span>
<dict-selector
v-else
:type=
"DICT_TYPE.ECW_PACKAGE_TYPE"
v-model=
"tableData[$index].unit"
></dict-selector>
</el-form-item>
</
template
>
</el-table-column>
<el-table-column
label=
"长(cm)"
>
<
template
v-slot=
"{r,c,$index}"
>
<el-form-item
:rules=
"tableFormRules.boxGauge1"
:prop=
"$index + '.boxGauge1'"
>
<span
v-if=
"tableData[$index].id"
>
{{
tableData
[
$index
].
boxGauge
?
tableData
[
$index
].
boxGauge
.
split
(
'
*
'
)[
0
]
:
''
}}
</span>
<el-form-item
:rules=
"tableFormRules.boxGauge1"
:prop=
"
!tableData[$index].id &&
$index + '.boxGauge1'"
>
<span
v-if=
"tableData[$index].id
&& !edit
"
>
{{
tableData
[
$index
].
boxGauge
?
tableData
[
$index
].
boxGauge
.
split
(
'
*
'
)[
0
]
:
''
}}
</span>
<el-input
v-else
v-model.number=
"tableData[$index].boxGauge1"
placeholder=
""
@
blur=
"handleVolume($index)"
></el-input>
</el-form-item>
</
template
>
</el-table-column>
<el-table-column
label=
"宽(cm)"
>
<
template
v-slot=
"{r,c,$index}"
>
<el-form-item
:rules=
"tableFormRules.boxGauge2"
:prop=
"$index + '.boxGauge2'"
>
<span
v-if=
"tableData[$index].id"
>
{{
tableData
[
$index
].
boxGauge
?
tableData
[
$index
].
boxGauge
.
split
(
'
*
'
)[
1
]
:
''
}}
</span>
<el-form-item
:rules=
"tableFormRules.boxGauge2"
:prop=
"
!tableData[$index].id &&
$index + '.boxGauge2'"
>
<span
v-if=
"tableData[$index].id
&& !edit
"
>
{{
tableData
[
$index
].
boxGauge
?
tableData
[
$index
].
boxGauge
.
split
(
'
*
'
)[
1
]
:
''
}}
</span>
<el-input
v-else
v-model.number=
"tableData[$index].boxGauge2"
placeholder=
""
@
blur=
"handleVolume($index)"
></el-input>
</el-form-item>
</
template
>
</el-table-column>
<el-table-column
label=
"高(cm)"
>
<
template
v-slot=
"{r,c,$index}"
>
<el-form-item
:rules=
"tableFormRules.boxGauge3"
:prop=
"$index + '.boxGauge3'"
>
<span
v-if=
"tableData[$index].id"
>
{{
tableData
[
$index
].
boxGauge
?
tableData
[
$index
].
boxGauge
.
split
(
'
*
'
)[
2
]
:
''
}}
</span>
<el-form-item
:rules=
"tableFormRules.boxGauge3"
:prop=
"
!tableData[$index].id &&
$index + '.boxGauge3'"
>
<span
v-if=
"tableData[$index].id
&& !edit
"
>
{{
tableData
[
$index
].
boxGauge
?
tableData
[
$index
].
boxGauge
.
split
(
'
*
'
)[
2
]
:
''
}}
</span>
<el-input
v-else
v-model.number=
"tableData[$index].boxGauge3"
placeholder=
""
@
blur=
"handleVolume($index)"
></el-input>
</el-form-item>
</
template
>
...
...
@@ -101,7 +107,7 @@
<el-table-column
label=
"体积(m³)"
>
<
template
v-slot=
"{r,c,$index}"
>
<el-form-item
:rules=
"tableFormRules.volume"
:prop=
"$index + '.volume'"
>
<span
v-if=
"tableData[$index].id"
>
{{
tableData
[
$index
].
volume
}}
</span>
<span
v-if=
"tableData[$index].id
&& !edit
"
>
{{
tableData
[
$index
].
volume
}}
</span>
<el-input
v-else
v-model.number=
"tableData[$index].volume"
placeholder=
""
></el-input>
</el-form-item>
</
template
>
...
...
@@ -109,7 +115,7 @@
<el-table-column
label=
"重量(Kg)"
>
<
template
v-slot=
"{r,c,$index}"
>
<el-form-item
:rules=
"tableFormRules.weight"
:prop=
"$index + '.weight'"
>
<span
v-if=
"tableData[$index].id"
>
{{
tableData
[
$index
].
weight
}}
</span>
<span
v-if=
"tableData[$index].id
&& !edit
"
>
{{
tableData
[
$index
].
weight
}}
</span>
<el-input
v-else
v-model.number=
"tableData[$index].weight"
placeholder=
""
></el-input>
</el-form-item>
</
template
>
...
...
@@ -117,7 +123,7 @@
<el-table-column
label=
"数量"
width=
"130px"
>
<
template
v-slot=
"{r,c,$index}"
>
<el-form-item
:rules=
"tableFormRules.quantityAll"
:prop=
"$index + '.quantityAll'"
>
<span
v-if=
"tableData[$index].id"
>
{{
tableData
[
$index
].
quantityAll
}}
</span>
<span
v-if=
"tableData[$index].id
&& !edit
"
>
{{
tableData
[
$index
].
quantityAll
}}
</span>
<el-input
v-else
v-model.number=
"tableData[$index].quantityAll"
placeholder=
""
>
<template
slot=
"append"
>
个
</
template
>
</el-input>
...
...
@@ -127,7 +133,7 @@
<el-table-column
label=
"快递单号"
>
<
template
v-slot=
"{r,c,$index}"
>
<el-form-item>
<span
v-if=
"tableData[$index].id"
>
{{
tableData
[
$index
].
expressNo
}}
</span>
<span
v-if=
"tableData[$index].id
&& !edit
"
>
{{
tableData
[
$index
].
expressNo
}}
</span>
<el-input
v-else
v-model=
"tableData[$index].expressNo"
placeholder=
""
></el-input>
</el-form-item>
</
template
>
...
...
@@ -588,7 +594,13 @@ export default {
return
this
.
brandList
.
find
(
e
=>
e
.
id
===
this
.
form1
.
brand
)
||
''
},
tableData
()
{
return
[...
this
.
warehousing
.
orderWarehouseInBackItemDoList
,
...
this
.
form
.
orderWarehouseInItemDoList
]
if
(
!
this
.
edit
){
return
[...
this
.
warehousing
.
orderWarehouseInBackItemDoList
,
...
this
.
form
.
orderWarehouseInItemDoList
]
}
// 入仓修改的时候
this
.
form
.
orderWarehouseInItemDoList
=
this
.
warehousing
.
orderWarehouseInBackItemDoList
return
this
.
form
.
orderWarehouseInItemDoList
},
tableData1
()
{
return
this
.
form1
.
orderWarehouseInItemDoList
...
...
@@ -638,7 +650,7 @@ export default {
return
brand
.
titleZh
}
}
return
''
return
'
0
'
}
}
}
...
...
src/views/ecw/order/warehousing/index.vue
View file @
36a3de98
...
...
@@ -86,8 +86,8 @@
</el-table>
<h2
v-if=
"orderSpecialNeeds.length > 0"
>
特殊需求
</h2>
<el-form
ref=
"form"
:model=
"form"
label-width=
"120px"
style=
"max-width: 500px;"
>
<el-form-item
:label=
"item.label"
v-for=
"(item, index) in orderSpecialNeeds"
:key=
"item.value"
>
<el-form
ref=
"form"
:model=
"form"
label-width=
"120px"
>
<el-form-item
:label=
"item.label"
v-for=
"(item, index) in orderSpecialNeeds"
:key=
"item.value"
style=
"width: 400px"
>
<el-input
v-model=
"form.orderSpecialNeedReceivableReqVoList[index].receivableMoney"
:placeholder=
"'请输入' + item.label"
>
<el-select
v-model=
"form.orderSpecialNeedReceivableReqVoList[index].receivableMoneyCurrency"
placeholder=
"请选择"
slot=
"append"
style=
"width: 100px"
>
<el-option
...
...
@@ -125,6 +125,20 @@
<el-button
@
click=
"escapeBol = true;"
type=
"primary"
>
转异
</el-button>
<el-button
type=
"primary"
@
click=
"finishVisible = true"
>
完成入仓
</el-button>
</div>
<
template
v-if=
"order.status === 5"
>
<h2>
标枪箱号
</h2>
<div
v-for=
"(item, index) in label.orderLabelDtoList"
:key=
"index"
style=
"margin-bottom: 10px"
>
<el-input-number
v-model=
"item.start"
controls-position=
"right"
></el-input-number>
-
<el-input-number
v-model=
"item.end"
controls-position=
"right"
></el-input-number>
<el-button
icon=
"el-icon-minus"
circle
v-show=
"index !== 0"
@
click=
"label.orderLabelDtoList.splice(index, 1)"
style=
"margin-left: 10px"
></el-button>
<el-button
icon=
"el-icon-plus"
circle
@
click=
"handleLabelAdd(index)"
></el-button>
</div>
<div
style=
"text-align: center"
>
<el-button
type=
"primary"
@
click=
"handleLabelSubmit"
>
修改箱号
</el-button>
</div>
</
template
>
</el-form>
<warehouse-area-dialog
ref=
"area"
:visible.sync=
"areaVisible"
v-model=
"form.orderLocationCreateReqVOList"
...
...
@@ -176,7 +190,7 @@ import {
getOrder
,
getOrderWarehouseIn
,
getSpecialListByOrderId
,
listByOrderId
,
orderWarehouseInFinish
,
orderWarehouseInFinish
,
orderWarehouseInUpdateLabel
,
rollbackDelete
}
from
'
@/api/ecw/order
'
import
orderBaseInfo
from
"
@/components/OrderBaseInfo
"
...
...
@@ -238,10 +252,36 @@ export default {
isShowPrintTag
:
false
,
isShowPrint
:
false
,
escapeBol
:
false
,
label
:
{
"
orderId
"
:
0
,
"
orderLabelDtoList
"
:
[
{
"
end
"
:
0
,
"
start
"
:
0
}
]
}
}
},
methods
:
{
handleLabelSubmit
(){
orderWarehouseInUpdateLabel
({
...
this
.
label
,
orderId
:
this
.
orderId
}).
then
(
r
=>
{
if
(
r
.
code
===
0
){
}
})
},
handleLabelAdd
(
index
){
this
.
label
.
orderLabelDtoList
.
splice
(
index
+
1
,
0
,
{
"
end
"
:
''
,
"
start
"
:
''
})
},
getTowSum
(){
let
sumVolume
=
0
let
sumWeight
=
0
...
...
src/views/ecw/order/withdrawal.vue
View file @
36a3de98
...
...
@@ -20,7 +20,9 @@
<work-flow
xmlkey=
"retired_warehouse"
v-model=
"params.copyUserId"
/>
</div>
<div>
<el-button
@
click=
"submit"
type=
"primary"
style=
"margin-right: 20px;"
>
确定退仓
</el-button>
<el-button
v-if=
"isExamine"
@
click=
"submit"
type=
"primary"
style=
"margin-right: 20px;"
>
确定退仓
</el-button>
<el-button
v-if=
"!isExamine"
@
click=
"$router.push(
{query:{id:details.formId},path:'/bpm/process-instance/detail'})" type="primary" style="margin-right: 20px;">审核中
</el-button>
<el-button
v-if=
"!isExamine"
type=
"primary"
style=
"margin-right: 20px;"
@
click=
"cancellationOfOrder"
>
取消审核
</el-button>
<el-button
@
click=
"$parent.show = false;"
>
不,再考虑考虑
</el-button>
</div>
</div>
...
...
@@ -28,8 +30,12 @@
</
template
>
<!--退仓-->
<
script
>
import
{
getOrder
}
from
"
@/api/ecw/order
"
;
import
{
orderWarehouseInDelete
}
from
"
@/api/ecw/batchSingleApplication
"
;
import
{
cancelAdjust
,
getOrder
}
from
"
@/api/ecw/order
"
;
import
{
getRollbackApprovalInfo
,
orderWarehouseInDelete
,
warehouseApprovalCancel
}
from
"
@/api/ecw/batchSingleApplication
"
;
import
workFlow
from
"
@/components/WorkFlow
"
;
export
default
{
...
...
@@ -48,12 +54,25 @@ export default {
orderId
:
undefined
,
orderNo
:
undefined
,
reason
:
''
,
copyUserId
:[]
copyUserId
:[]
,
},
isExamine
:
true
,
details
:{},
}
},
created
()
{
getOrder
(
this
.
orderId
).
then
(
r
=>
this
.
orderDetails
=
r
.
data
);
getRollbackApprovalInfo
({
orderId
:
this
.
orderId
}).
then
(
r
=>
{
console
.
log
(
r
)
if
(
r
.
data
.
status
===
1
){
this
.
details
=
r
.
data
;
this
.
isExamine
=
false
;
this
.
params
.
reason
=
JSON
.
parse
(
this
.
details
.
details
).
reason
}
})
},
methods
:{
submit
(){
...
...
@@ -66,6 +85,26 @@ export default {
this
.
$parent
.
show
=
false
}
})
},
cancellationOfOrder
(){
this
.
$prompt
(
'
请输入取消审核原因
'
,
'
提示
'
,
{
confirmButtonText
:
'
确定
'
,
cancelButtonText
:
'
取消
'
,
}).
then
(({
value
})
=>
{
warehouseApprovalCancel
(
this
.
details
.
id
,
value
)
.
then
(
r
=>
{
if
(
r
.
data
){
this
.
$message
.
success
(
'
取消成功
'
)
this
.
params
=
{}
this
.
$parent
.
show
=
false
}
})
}).
catch
(()
=>
{
this
.
$message
({
type
:
'
info
'
,
message
:
'
取消成功
'
});
});
}
}
}
...
...
src/views/ecw/product/index.vue
View file @
36a3de98
...
...
@@ -15,11 +15,11 @@
<el-input
v-model=
"queryParams.titleZh"
placeholder=
"请输入商品名称"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<
el-form-item
label=
"商品类型"
prop=
"type
Id"
>
<
!--
<el-form-item
label=
"商品属性"
prop=
"attr
Id"
>
<el-select
v-model=
"queryParams.typeId"
placeholder=
"选择商品类型"
clearable
>
<el-option
v-for=
"type in typeList"
:key=
"type.id"
:label=
"type.titleZh"
:value=
"type.id"
/>
</el-select>
</el-form-item>
</el-form-item>
-->
<el-form-item
label=
"商品特性"
prop=
"attrId"
>
<el-select
v-model=
"queryParams.attrId"
placeholder=
"选择商品特性"
clearable
>
...
...
@@ -27,7 +27,7 @@
</el-select>
</el-form-item>
<el-form-item
label=
"审核状态"
prop=
"auditStatus"
>
<
!--
<
el-form-item
label=
"审核状态"
prop=
"auditStatus"
>
<el-select
v-model=
"queryParams.auditStatus"
placeholder=
"选择审核状态"
clearable
>
<el-option
v-for=
"auditStatusItem in auditStatusDictDatas"
:key=
"auditStatusItem.id"
:label=
"auditStatusItem.label"
:value=
"auditStatusItem.value"
/>
</el-select>
...
...
@@ -37,7 +37,7 @@
<el-select
v-model=
"queryParams.status"
placeholder=
"选择上架状态"
clearable
>
<el-option
v-for=
"statusItem in statusDictDatas"
:key=
"statusItem.id"
:label=
"statusItem.value == CommonStatusEnum.ENABLE ? '已上架' : '已下架'"
:value=
"statusItem.value"
/>
</el-select>
</el-form-item>
</el-form-item>
-->
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"handleQuery"
>
搜索
</el-button>
...
...
@@ -70,11 +70,19 @@
<el-table-column
label=
"海关编码"
align=
"center"
prop=
"customsCode"
/>
<el-table-column
label=
"中文标题"
align=
"center"
prop=
"titleZh"
/>
<el-table-column
label=
"英文标题"
align=
"center"
prop=
"titleEn"
/>
<el-table-column
label=
"商品
特
性"
align=
"center"
prop=
"attrId"
>
<el-table-column
label=
"商品
属
性"
align=
"center"
prop=
"attrId"
>
<
template
slot-scope=
"scope"
>
<span>
{{
getAttrName
(
scope
.
row
.
attrId
)
}}
</span>
</
template
>
</el-table-column>
<!--商品特性-->
<el-table-column
label=
"商品图片"
align=
"center"
prop=
"attrId"
>
<
template
slot-scope=
"scope"
>
<el-image
:src=
"firstImg(scope.row.imgs)"
style=
"width:50px; height:50px"
>
无
</el-image>
</
template
>
</el-table-column>
<el-table-column
prop=
"auditStatus"
align=
"center"
label=
"是否审核"
width=
"120"
>
<
template
slot-scope=
"scope"
>
...
...
@@ -86,9 +94,10 @@
<el-table-column
prop=
"status"
align=
"center"
label=
"状态"
width=
"120"
>
<
template
slot-scope=
"scope"
>
<el-select
v-model=
"scope.row.status"
@
change=
"handleStatusChange(scope.row, 'status')"
>
<dict-tag
:type=
"DICT_TYPE.COMMON_STATUS"
:value=
"scope.row.status"
/>
<!--
<el-select
v-model=
"scope.row.status"
@
change=
"handleStatusChange(scope.row, 'status')"
>
<el-option
v-for=
"statusItem in statusDictDatas"
:key=
"statusItem.id"
:label=
"statusItem.value == CommonStatusEnum.ENABLE + '' ? '已上架' : '已下架'"
:value=
"parseInt(statusItem.value)"
/>
</el-select>
</el-select>
-->
</
template
>
</el-table-column>
...
...
@@ -123,16 +132,17 @@
</el-form-item>
<el-form-item
label=
"商品图片"
prop=
"img"
>
<el-col
:span=
"8"
>
<image-upload
v-model=
"form.imgs"
/>
<!-- <el-col :span="8">
<el-input v-model="form.imgs" placeholder="请上传图片" disabled />
</el-col>
</el-col>
-->
<el-upload
action=
"#"
:http-request=
"requestUpload"
:show-file-list=
"false"
:before-upload=
"beforeUpload"
>
<
!-- <
el-upload action="#" :http-request="requestUpload" :show-file-list="false" :before-upload="beforeUpload">
<el-button size="small">
上传图片
<i class="el-icon-upload el-icon--right"></i>
</el-button>
</el-upload>
</el-upload>
-->
</el-form-item>
...
...
@@ -206,10 +216,11 @@ import { getProductTypeList } from "@/api/ecw/productType";
import
{
getDictDatas
,
DICT_TYPE
}
from
'
@/utils/dict
'
;
import
{
CommonStatusEnum
,
AuditStatusEnum
}
from
'
@/utils/constants
'
;
import
{
uploadFile
}
from
"
@/api/infra/file
"
;
import
ImageUpload
from
'
@/components/ImageUpload
'
export
default
{
name
:
"
ProductList
"
,
components
:
{
ImageUpload
},
data
()
{
return
{
...
...
@@ -309,6 +320,13 @@ export default {
return
productAttrArray
.
join
(
'
,
'
);
}
},
firstImg
(){
return
imgString
=>
{
if
(
!
imgString
||
imgString
==
''
)
return
imgString
let
imgs
=
imgString
.
split
(
'
,
'
)
return
imgs
.
length
?
imgs
[
0
]
:
null
}
}
},
...
...
src/views/system/internalMessage/index.vue
View file @
36a3de98
...
...
@@ -45,7 +45,7 @@
<!-- 列表 -->
<el-table
v-loading=
"loading"
:data=
"list"
>
<el-table-column
label=
""
align=
"center"
prop=
"id"
/>
<!--
<el-table-column
label=
"来源"
align=
"center"
prop=
"fromId"
/>
--
>
<el-table-column
label=
"来源"
align=
"center"
prop=
"fromId"
/
>
<el-table-column
label=
"发送时间"
align=
"center"
prop=
"sendTime"
width=
"180"
>
<template
slot-scope=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
sendTime
)
}}
</span>
...
...
@@ -58,11 +58,11 @@
<dict-tag
:type=
"DICT_TYPE.INTERNAL_MESSAGE_TYPE"
:value=
"scope.row.type"
/>
</
template
>
</el-table-column>
<!-- <el-table-column label="创建时间" align="center" prop="createTime" width="180">--
>
<!-- <template slot-scope="scope">--
>
<!-- <span>{{ parseTime(scope.row.createTime) }}</span>--
>
<!-- </template>--
>
<!-- </el-table-column>--
>
<el-table-column
label=
"创建时间"
align=
"center"
prop=
"createTime"
width=
"180"
>
<
template
slot-scope=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
createTime
)
}}
</span
>
</
template
>
</el-table-column
>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleUpdate(scope.row)"
...
...
@@ -79,9 +79,9 @@
<!-- 对话框(添加 / 修改) -->
<el-dialog
:title=
"title"
:visible.sync=
"open"
width=
"500px"
append-to-body
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"80px"
>
<!-- <el-form-item label="来源" prop="fromId">--
>
<!-- <el-input v-model="form.fromId" placeholder="请输入站内信来源" />--
>
<!-- </el-form-item>--
>
<el-form-item
label=
"来源"
prop=
"fromId"
>
<el-input
v-model=
"form.fromId"
placeholder=
"请输入站内信来源"
/
>
</el-form-item
>
<el-form-item
label=
"发送时间"
prop=
"sendTime"
>
<el-date-picker
clearable
v-model=
"form.sendTime"
type=
"date"
value-format=
"yyyy-MM-dd"
placeholder=
"选择发送时间"
/>
</el-form-item>
...
...
src/views/system/needKnow/index.vue
View file @
36a3de98
...
...
@@ -95,10 +95,10 @@
<el-input
v-model=
"form.titleEn"
placeholder=
"请输入标题英文"
/>
</el-form-item>
<el-form-item
label=
"内容中文"
prop=
"contentZh"
>
<editor
v-model=
"form.contentZh"
:min-height=
"192"
placeholder=
"请输入内容中文"
/>
<
u
editor
v-model=
"form.contentZh"
:min-height=
"192"
placeholder=
"请输入内容中文"
/>
</el-form-item>
<el-form-item
label=
"内容英语"
prop=
"contentEn"
>
<editor
v-model=
"form.contentEn"
:min-height=
"192"
placeholder=
"plese entry english"
/>
<
u
editor
v-model=
"form.contentEn"
:min-height=
"192"
placeholder=
"plese entry english"
/>
</el-form-item>
<el-form-item
label=
"状态"
prop=
"status"
>
<el-radio-group
v-model=
"form.status"
>
...
...
@@ -117,11 +117,11 @@
<
script
>
import
{
createNeedKnow
,
updateNeedKnow
,
deleteNeedKnow
,
getNeedKnow
,
getNeedKnowPage
,
exportNeedKnowExcel
}
from
"
@/api/system/needKnow
"
;
import
Editor
from
'
@/components/Editor
'
;
import
Ueditor
from
'
@/components/Ueditor
'
export
default
{
name
:
"
NeedKnow
"
,
components
:
{
E
ditor
Ue
ditor
},
data
()
{
return
{
...
...
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