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
c0153bfa
Commit
c0153bfa
authored
Sep 15, 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
fb29057f
02e91d10
Changes
21
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
1055 additions
and
642 deletions
+1055
-642
index.vue
src/components/ChooseContactDialog/index.vue
+1
-1
index.vue
src/components/CustomerContactSelector/index.vue
+8
-24
index.vue
src/components/DictSelector/index.vue
+3
-2
index.vue
src/components/ProductSelector/index.vue
+5
-11
index.vue
src/components/QuickCreateCustomer/index.vue
+10
-9
index.vue
src/components/SupplierSelector/index.vue
+10
-7
startPacking.vue
...ews/ecw/box/shippingSea/nodePage/cabinet/startPacking.vue
+7
-1
cusDeclaration.vue
src/views/ecw/box/shippingSea/nodePage/cusDeclaration.vue
+126
-37
preinstall.vue
src/views/ecw/box/shippingSea/nodePage/preinstall.vue
+13
-2
startUnloading.vue
...ecw/box/shippingSea/nodePage/unloading/startUnloading.vue
+8
-3
seaProcess.vue
src/views/ecw/box/shippingSea/seaProcess.vue
+20
-3
utils.js
src/views/ecw/box/shippingSea/utils.js
+13
-0
edit.vue
src/views/ecw/coupon/edit.vue
+33
-5
edit.vue
src/views/ecw/offer/edit.vue
+338
-315
Transfer.vue
src/views/ecw/order/components/Transfer.vue
+4
-3
detail.vue
src/views/ecw/order/detail.vue
+6
-2
edit.vue
src/views/ecw/order/edit.vue
+90
-84
editDialog.vue
src/views/ecw/order/warehousing/components/editDialog.vue
+317
-121
edit.vue
src/views/ecw/supplier/edit.vue
+11
-5
index.vue
src/views/index.vue
+2
-1
index.vue
src/views/system/notice/index.vue
+30
-6
No files found.
src/components/ChooseContactDialog/index.vue
View file @
c0153bfa
<
template
>
<
template
>
<el-dialog
title=
"选择联系人"
visible
:before-close=
"closeDialog"
:close-on-click-modal=
"false"
>
<el-dialog
title=
"选择联系人"
visible
:before-close=
"closeDialog"
:close-on-click-modal=
"false"
>
<div
class=
"header mb-10"
>
<div
class=
"header mb-10
flex-center
"
>
<div
class=
"flex-center"
>
关键字:
</div>
<div
class=
"flex-center"
>
关键字:
</div>
<el-input
v-model=
"form.searchKey"
placeholder=
""
class=
"w-200"
></el-input>
<el-input
v-model=
"form.searchKey"
placeholder=
""
class=
"w-200"
></el-input>
<el-button
type=
"primary"
class=
"ml-10"
@
click=
"handleQuery"
>
搜索
</el-button>
<el-button
type=
"primary"
class=
"ml-10"
@
click=
"handleQuery"
>
搜索
</el-button>
...
...
src/components/CustomerContactSelector/index.vue
View file @
c0153bfa
...
@@ -16,7 +16,7 @@
...
@@ -16,7 +16,7 @@
:value="index">
:value="index">
</el-option>
</el-option>
</el-select>
</el-select>
<
el-button
v-if=
"quickable"
type=
"text"
@
click=
"showQuickCreate=true"
class=
"ml-10"
>
{{
$t
(
'
快速新建
'
)
}}
</el-button
>
<
!--
<el-button
v-if=
"quickable"
type=
"text"
@
click=
"showQuickCreate=true"
class=
"ml-10"
>
{{
$t
(
'
快速新建
'
)
}}
</el-button>
--
>
<!--
<quick-create
v-if=
"showQuickCreate"
@
success=
"onQuickCreateSuccess"
@
close=
"showQuickCreate=false"
:default=
"
{type}">
</quick-create>
-->
<!--
<quick-create
v-if=
"showQuickCreate"
@
success=
"onQuickCreateSuccess"
@
close=
"showQuickCreate=false"
:default=
"
{type}">
</quick-create>
-->
</div>
</div>
...
@@ -33,7 +33,7 @@ export default {
...
@@ -33,7 +33,7 @@ export default {
type
:
Boolean
,
type
:
Boolean
,
default
:
true
default
:
true
},
},
type
:
[
String
,
Number
]
,
// 客户类别,新建时指定默认类别,也可以根据需要筛选联系人所属的客户类别
type
:
String
,
// 客户类别,新建时指定默认类别,也可以根据需要筛选联系人所属的客户类别
},
},
data
(){
data
(){
return
{
return
{
...
@@ -78,19 +78,10 @@ export default {
...
@@ -78,19 +78,10 @@ export default {
const
QuickCreateComp
=
Vue
.
extend
(
QuickCreateCustomer
)
const
QuickCreateComp
=
Vue
.
extend
(
QuickCreateCustomer
)
const
dialog
=
new
QuickCreateComp
({
const
dialog
=
new
QuickCreateComp
({
propsData
:{
propsData
:{
default
:
{
type
:
this
.
type
}
type
:
this
.
type
},
},
})
})
/* dialog.$on = () => {
return {
success: this.onQuickCreateSuccess,
close: () => {
console.log('关闭拉')
this.showQuickCreate = false
}
}
} */
dialog
.
$on
(
'
close
'
,
()
=>
{
dialog
.
$on
(
'
close
'
,
()
=>
{
console
.
log
(
'
关闭拉
'
)
console
.
log
(
'
关闭拉
'
)
this
.
showQuickCreate
=
false
this
.
showQuickCreate
=
false
...
@@ -104,17 +95,8 @@ export default {
...
@@ -104,17 +95,8 @@ export default {
dialog
.
$mount
()
dialog
.
$mount
()
console
.
log
({
dialog
,
parent
:
this
})
window
.
dialogComp
=
dialog
window
.
dialogComp
=
dialog
document
.
body
.
append
(
dialog
.
$el
)
document
.
body
.
append
(
dialog
.
$el
)
/* dialog.remove = () => {
console.log('关闭拉11')
document.body.removeChild(dialog.$el)
} */
}
}
},
},
created
(){
created
(){
...
@@ -145,9 +127,11 @@ export default {
...
@@ -145,9 +127,11 @@ export default {
.
then
(
res
=>
this
.
list
=
res
.
data
)
.
then
(
res
=>
this
.
list
=
res
.
data
)
.
finally
(()
=>
this
.
loading
=
false
)
.
finally
(()
=>
this
.
loading
=
false
)
},
},
onQuickCreateSuccess
(
id
){
onQuickCreateSuccess
(
data
){
this
.
showQuickCreate
=
false
this
.
showQuickCreate
=
false
getCustomerContactsListByCustomer
({
customerId
:
id
}).
then
(
res
=>
{
this
.
list
.
unshift
(
data
)
this
.
index
=
0
/* getCustomerContactsListByCustomer({customerId: id}).then(res => {
if(!res.data || !res.data.length){
if(!res.data || !res.data.length){
return this.$message.error(this.$t('联系人信息获取失败'))
return this.$message.error(this.$t('联系人信息获取失败'))
}
}
...
@@ -155,7 +139,7 @@ export default {
...
@@ -155,7 +139,7 @@ export default {
data.contactsName = data.name // 字段名跟getCustomerContactsSelect对齐
data.contactsName = data.name // 字段名跟getCustomerContactsSelect对齐
this.list.unshift(data)
this.list.unshift(data)
this.index = 0
this.index = 0
})
})
*/
}
}
}
}
}
}
...
...
src/components/DictSelector/index.vue
View file @
c0153bfa
<
template
>
<
template
>
<div
class=
"dict-selector"
>
<div
class=
"dict-selector"
>
<el-select
v-if=
"formType == 'select'"
v-model=
"valueSync"
:placeholder=
"placeholder"
clearable
:multiple=
"multiple"
:disabled=
"disabled"
@
change=
"val => $emit('change', val)"
>
<el-select
v-if=
"formType == 'select'"
v-model=
"valueSync"
:placeholder=
"placeholder"
:clearable=
"clearable"
:multiple=
"multiple"
:disabled=
"disabled"
@
change=
"val => $emit('change', val)"
>
<el-option
v-for=
"dict in formattedList"
<el-option
v-for=
"dict in formattedList"
:key=
"dict.value"
:label=
"$l(dict, 'label')"
:value=
"dict.value"
/>
:key=
"dict.value"
:label=
"$l(dict, 'label')"
:value=
"dict.value"
/>
</el-select>
</el-select>
...
@@ -52,7 +52,8 @@ export default {
...
@@ -52,7 +52,8 @@ export default {
filter
:
{
filter
:
{
type
:
Function
,
type
:
Function
,
default
:
()
=>
true
default
:
()
=>
true
}
},
clearable
:
Boolean
},
},
data
(){
data
(){
return
{
return
{
...
...
src/components/ProductSelector/index.vue
View file @
c0153bfa
...
@@ -41,7 +41,6 @@ export default {
...
@@ -41,7 +41,6 @@ export default {
},
},
watch
:{
watch
:{
index
(
val
){
index
(
val
){
let
productId
=
val
!==
''
&&
val
!==
null
?
this
.
list
[
val
].
id
:
null
let
productId
=
val
!==
''
&&
val
!==
null
?
this
.
list
[
val
].
id
:
null
console
.
log
(
'
index val
'
,
val
,
productId
)
console
.
log
(
'
index val
'
,
val
,
productId
)
this
.
$emit
(
'
input
'
,
productId
)
this
.
$emit
(
'
input
'
,
productId
)
...
@@ -50,15 +49,7 @@ export default {
...
@@ -50,15 +49,7 @@ export default {
},
},
value
(
val
){
value
(
val
){
console
.
log
(
'
初始化内容
'
,
val
)
console
.
log
(
'
初始化内容
'
,
val
)
/* let index = this.list.findIndex(item => item.id == val)
if(index < 0){
getProduct(val).then(res => {
this.list.unshift(res.data)
this.index = 0
})
} */
this
.
init
()
this
.
init
()
}
}
},
},
created
(){
created
(){
...
@@ -67,14 +58,17 @@ export default {
...
@@ -67,14 +58,17 @@ export default {
},
},
methods
:{
methods
:{
init
(){
init
(){
if
(
!
this
.
value
)
return
null
if
(
!
this
.
value
){
this
.
index
=
null
return
}
let
index
=
this
.
list
.
findIndex
(
item
=>
item
.
id
==
this
.
value
)
let
index
=
this
.
list
.
findIndex
(
item
=>
item
.
id
==
this
.
value
)
if
(
index
<
0
){
if
(
index
<
0
){
getProduct
(
this
.
value
).
then
(
res
=>
{
getProduct
(
this
.
value
).
then
(
res
=>
{
this
.
list
.
unshift
(
res
.
data
)
this
.
list
.
unshift
(
res
.
data
)
this
.
index
=
0
this
.
index
=
0
})
})
}
}
else
this
.
index
=
index
},
},
remoteMethod
(
keyword
){
remoteMethod
(
keyword
){
let
params
=
{
let
params
=
{
...
...
src/components/QuickCreateCustomer/index.vue
View file @
c0153bfa
...
@@ -73,14 +73,15 @@ export default {
...
@@ -73,14 +73,15 @@ export default {
},
},
// 表单校验
// 表单校验
rules
:
{
rules
:
{
name
:
[{
required
:
true
,
message
:
"
客户名称不能为空
"
,
trigger
:
"
blur
"
}],
name
:
[{
required
:
true
,
message
:
this
.
$t
(
"
客户名称不能为空
"
),
trigger
:
"
blur
"
}],
'
customerContacts.0.phoneNew
'
:
[{
required
:
true
,
message
:
"
手机号不能为空
"
,
trigger
:
"
blur
"
}],
'
customerContacts.0.phoneNew
'
:
[{
required
:
true
,
message
:
this
.
$t
(
"
手机号不能为空
"
),
trigger
:
"
blur
"
}],
type
:
[{
required
:
true
,
message
:
"
客户类别不能为空
"
,
trigger
:
"
blur
"
}],
'
customerContacts.0.name
'
:
[{
required
:
true
,
message
:
this
.
$t
(
"
联系人不能为空
"
),
trigger
:
"
blur
"
}],
createTime
:
[{
required
:
true
,
message
:
"
创建时间不能为空
"
,
trigger
:
"
blur
"
}],
type
:
[{
required
:
true
,
message
:
this
.
$t
(
"
客户类别不能为空
"
),
trigger
:
"
blur
"
}],
source
:
[{
required
:
true
,
message
:
"
客户来源不能为空
"
,
trigger
:
"
blur
"
}],
createTime
:
[{
required
:
true
,
message
:
this
.
$t
(
"
创建时间不能为空
"
),
trigger
:
"
blur
"
}],
customerService
:
[{
required
:
true
,
message
:
"
客户经理不能为空
"
,
trigger
:
"
blur
"
}],
source
:
[{
required
:
true
,
message
:
this
.
$t
(
"
客户来源不能为空
"
),
trigger
:
"
blur
"
}],
status
:
[{
required
:
true
,
message
:
"
客户状态不能为空
"
,
trigger
:
"
blur
"
}],
customerService
:
[{
required
:
true
,
message
:
this
.
$t
(
"
客户经理不能为空
"
),
trigger
:
"
blur
"
}],
founder
:
[{
required
:
true
,
message
:
"
创建人不能为空
"
,
trigger
:
"
blur
"
}],
status
:
[{
required
:
true
,
message
:
this
.
$t
(
"
客户状态不能为空
"
),
trigger
:
"
blur
"
}],
founder
:
[{
required
:
true
,
message
:
this
.
$t
(
"
创建人不能为空
"
),
trigger
:
"
blur
"
}],
},
},
serviceUserList
:
[],
serviceUserList
:
[],
countryList
:
[],
countryList
:
[],
...
@@ -121,7 +122,7 @@ export default {
...
@@ -121,7 +122,7 @@ export default {
// 添加的提交
// 添加的提交
createCustomer
(
this
.
form
).
then
(
res
=>
{
createCustomer
(
this
.
form
).
then
(
res
=>
{
this
.
$modal
.
msgSuccess
(
"
新增成功
"
);
this
.
$modal
.
msgSuccess
(
"
新增成功
"
);
return
getCustomerContactsSelect
({
ids
:
res
.
data
})
return
getCustomerContactsSelect
({
customerId
:
res
.
data
})
}).
then
(
res
=>
{
}).
then
(
res
=>
{
this
.
$emit
(
'
success
'
,
res
.
data
[
0
])
this
.
$emit
(
'
success
'
,
res
.
data
[
0
])
})
})
...
...
src/components/SupplierSelector/index.vue
View file @
c0153bfa
...
@@ -11,17 +11,17 @@
...
@@ -11,17 +11,17 @@
<el-option
<el-option
v-for=
"(item, index) in list"
v-for=
"(item, index) in list"
:key=
"item.id"
:key=
"item.id"
:label=
"
`$
{item.name}(${item.number})`
"
:label=
"
$l(item, 'company') + '('+item.companyCode+')'
"
:value=
"index"
>
:value=
"index"
>
</el-option>
</el-option>
</el-select>
</el-select>
</
template
>
</
template
>
<
script
>
<
script
>
import
{
getSupplier
,
getSupplierPage
}
from
'
@/api/ecw/supplier
'
import
{
getSupplier
,
getSupplierPage
}
from
'
@/api/ecw/supplier
'
// TODO 接口暂不支持关键词搜索,待接口支持后完善
export
default
{
export
default
{
props
:{
props
:{
product
Type
:
[
String
,
Number
],
company
Type
:
[
String
,
Number
],
value
:
[
String
,
Number
]
value
:
[
String
,
Number
]
},
},
data
(){
data
(){
...
@@ -41,6 +41,7 @@ export default {
...
@@ -41,6 +41,7 @@ export default {
}
}
},
},
created
(){
created
(){
this
.
remoteMethod
(
''
)
this
.
init
()
this
.
init
()
},
},
methods
:{
methods
:{
...
@@ -52,14 +53,16 @@ export default {
...
@@ -52,14 +53,16 @@ export default {
this
.
list
.
unshift
(
res
.
data
)
this
.
list
.
unshift
(
res
.
data
)
this
.
index
=
0
this
.
index
=
0
})
})
}
}
else
this
.
index
=
index
},
},
remoteMethod
(
keyword
){
remoteMethod
(
keyword
){
let
params
=
{}
let
params
=
{
params
.
searchKey
=
keyword
pageSize
:
100
}
params
.
keyword
=
keyword
this
.
loading
=
true
this
.
loading
=
true
getSupplierPage
(
params
)
getSupplierPage
(
params
)
.
then
(
res
=>
this
.
list
=
res
.
data
)
.
then
(
res
=>
this
.
list
=
res
.
data
.
list
)
.
finally
(()
=>
this
.
loading
=
false
)
.
finally
(()
=>
this
.
loading
=
false
)
}
}
}
}
...
...
src/views/ecw/box/shippingSea/nodePage/cabinet/startPacking.vue
View file @
c0153bfa
...
@@ -117,7 +117,7 @@
...
@@ -117,7 +117,7 @@
<el-button
type=
"primary"
@
click=
"handlerClick('modifyCabinet','修改柜信息')"
>
修改柜信息
</el-button>
<el-button
type=
"primary"
@
click=
"handlerClick('modifyCabinet','修改柜信息')"
>
修改柜信息
</el-button>
</div>
</div>
<div
v-if=
"isUnderReview"
>
<div
v-if=
"isUnderReview"
>
<el-button
type=
"primary"
:disabled=
true
>
封柜审核中
</el-button>
<el-button
type=
"primary"
@
click=
"jumpReviewDetail"
>
封柜审核中
</el-button>
<el-button
plain
type=
"primary"
@
click=
"canclAudit"
>
取消审核
</el-button>
<el-button
plain
type=
"primary"
@
click=
"canclAudit"
>
取消审核
</el-button>
<el-button
plain
type=
"primary"
@
click=
"$emit('closeDialog')"
>
返回
</el-button>
<el-button
plain
type=
"primary"
@
click=
"$emit('closeDialog')"
>
返回
</el-button>
</div>
</div>
...
@@ -220,6 +220,7 @@ import {
...
@@ -220,6 +220,7 @@ import {
serviceMsg
,
serviceMsg
,
getCapacity
,
getCapacity
,
sumStatistics
,
sumStatistics
,
toReviewDetail
,
}
from
"
../../utils
"
;
}
from
"
../../utils
"
;
import
splitOrder
from
"
./splitOrder.vue
"
;
import
splitOrder
from
"
./splitOrder.vue
"
;
import
WorkFlow
from
"
@/components/WorkFlow
"
;
import
WorkFlow
from
"
@/components/WorkFlow
"
;
...
@@ -519,6 +520,11 @@ export default {
...
@@ -519,6 +520,11 @@ export default {
});
});
});
});
},
},
jumpReviewDetail
()
{
const
{
cabinetApprovalInfo
}
=
this
.
shipmentObj
;
toReviewDetail
.
apply
(
this
,
[
cabinetApprovalInfo
.
bpmProcessId
]);
this
.
$emit
(
"
closeDialog
"
,
"
close
"
);
},
},
},
computed
:
{
computed
:
{
/* 是否审核中 */
/* 是否审核中 */
...
...
src/views/ecw/box/shippingSea/nodePage/cusDeclaration.vue
View file @
c0153bfa
...
@@ -30,7 +30,7 @@
...
@@ -30,7 +30,7 @@
<el-date-picker
type=
"datetime"
placeholder=
"请选择日期"
v-model=
"cusDeclarationObj.dcCutOffTime"
value-format=
"yyyy-MM-dd HH:mm:ss"
></el-date-picker>
<el-date-picker
type=
"datetime"
placeholder=
"请选择日期"
v-model=
"cusDeclarationObj.dcCutOffTime"
value-format=
"yyyy-MM-dd HH:mm:ss"
></el-date-picker>
</el-form-item>
</el-form-item>
<el-form-item
label=
"状态"
prop=
"dcCustomsStatus"
>
<el-form-item
label=
"状态"
prop=
"dcCustomsStatus"
>
<el-radio-group
v-model=
"cusDeclarationObj.dcCustomsStatus"
>
<el-radio-group
v-model=
"cusDeclarationObj.dcCustomsStatus"
:disabled=
"inReview"
>
<el-radio
v-for=
"item in this.getDictDatas(DICT_TYPE.BOX_SHIPPING_DCCUSTOMS_STATUS)"
:key=
"item.value"
:label=
"item.value"
>
{{item.label}}
</el-radio>
<el-radio
v-for=
"item in this.getDictDatas(DICT_TYPE.BOX_SHIPPING_DCCUSTOMS_STATUS)"
:key=
"item.value"
:label=
"item.value"
>
{{item.label}}
</el-radio>
</el-radio-group>
</el-radio-group>
</el-form-item>
</el-form-item>
...
@@ -38,7 +38,7 @@
...
@@ -38,7 +38,7 @@
<!-- 查验 -->
<!-- 查验 -->
<div
v-show=
"cusDeclarationObj.dcCustomsStatus === '3'"
>
<div
v-show=
"cusDeclarationObj.dcCustomsStatus === '3'"
>
<el-form-item
label=
"查验"
>
<el-form-item
label=
"查验"
>
<el-radio-group
v-model=
"cusDeclarationObj.dcCheckStatus"
>
<el-radio-group
v-model=
"cusDeclarationObj.dcCheckStatus"
:disabled=
"inReview"
>
<el-radio
v-for=
"item in this.getDictDatas(DICT_TYPE.BOX_SHIPPING_CHECK_STATUS)"
:key=
"item.value"
:label=
"item.value"
>
{{item.label}}
</el-radio>
<el-radio
v-for=
"item in this.getDictDatas(DICT_TYPE.BOX_SHIPPING_CHECK_STATUS)"
:key=
"item.value"
:label=
"item.value"
>
{{item.label}}
</el-radio>
</el-radio-group>
</el-radio-group>
</el-form-item>
</el-form-item>
...
@@ -70,9 +70,13 @@
...
@@ -70,9 +70,13 @@
</el-form-item>
</el-form-item>
</el-form>
</el-form>
<el-row
class=
"operate-button"
v-if=
"inReview"
>
<el-button
type=
"primary"
@
click=
"jumpReviewDetail"
>
{{cusDeclarationObj.dcCheckStatus === '1' ? '部分退场审核中' : '全部退场审核中'}}
</el-button>
<el-button
type=
"primary"
plain
@
click=
"canclAudit"
>
{{cusDeclarationObj.dcCheckStatus === '1' ? '取消部分退场审核' : '取消全部退场审核'}}
</el-button>
</el-row>
<el-row
class=
"operate-button"
>
<el-row
class=
"operate-button"
>
<el-button
type=
"primary"
@
click=
"onSubmit(1)"
>
保存
</el-button>
<el-button
type=
"primary"
@
click=
"onSubmit(1)"
>
保存
</el-button>
<el-button
type=
"success"
@
click=
"onSubmit(2)"
>
提交
</el-button>
<el-button
type=
"success"
v-if=
"!inReview"
@
click=
"onSubmit(2)"
>
提交
</el-button>
<el-button
@
click=
"cancel"
>
关闭
</el-button>
<el-button
@
click=
"cancel"
>
关闭
</el-button>
<el-button
type=
"primary"
@
click=
"extraCost"
v-show=
"cusDeclarationObj.dcCustomsStatus === '2' || cusDeclarationObj.dcCustomsStatus === '3'"
>
额外费用
</el-button>
<el-button
type=
"primary"
@
click=
"extraCost"
v-show=
"cusDeclarationObj.dcCustomsStatus === '2' || cusDeclarationObj.dcCustomsStatus === '3'"
>
额外费用
</el-button>
</el-row>
</el-row>
...
@@ -141,7 +145,12 @@ import {
...
@@ -141,7 +145,12 @@ import {
extraCostUpdate
,
extraCostUpdate
,
approvalCreate
,
approvalCreate
,
}
from
"
@/api/ecw/boxSea
"
;
}
from
"
@/api/ecw/boxSea
"
;
import
{
formatNumberString
,
formatDateStr
,
serviceMsg
}
from
"
../utils
"
;
import
{
formatNumberString
,
formatDateStr
,
serviceMsg
,
toReviewDetail
,
}
from
"
../utils
"
;
import
ImageUpload
from
"
@/components/ImageUpload
"
;
import
ImageUpload
from
"
@/components/ImageUpload
"
;
/**
/**
...
@@ -151,6 +160,9 @@ export default {
...
@@ -151,6 +160,9 @@ export default {
name
:
"
cusDeclaration
"
,
name
:
"
cusDeclaration
"
,
inheritAttrs
:
false
,
inheritAttrs
:
false
,
components
:
{
supplierSelect
,
ImageUpload
},
components
:
{
supplierSelect
,
ImageUpload
},
props
:
{
shipmentObj
:
Object
,
},
data
()
{
data
()
{
return
{
return
{
// 报关对象
// 报关对象
...
@@ -160,7 +172,9 @@ export default {
...
@@ -160,7 +172,9 @@ export default {
dcBoxWgt
:
[{
required
:
true
,
message
:
"
必填
"
,
trigger
:
"
change
"
}],
dcBoxWgt
:
[{
required
:
true
,
message
:
"
必填
"
,
trigger
:
"
change
"
}],
dcGoodsWgt
:
[{
required
:
true
,
message
:
"
必填
"
,
trigger
:
"
change
"
}],
dcGoodsWgt
:
[{
required
:
true
,
message
:
"
必填
"
,
trigger
:
"
change
"
}],
dcCustomsType
:
[{
required
:
true
,
message
:
"
必填
"
,
trigger
:
"
change
"
}],
dcCustomsType
:
[{
required
:
true
,
message
:
"
必填
"
,
trigger
:
"
change
"
}],
dcCustomsStatus
:
[{
required
:
true
,
message
:
"
必填
"
,
trigger
:
"
change
"
}],
dcCustomsStatus
:
[
{
required
:
true
,
message
:
"
必填
"
,
trigger
:
"
change
"
},
],
},
},
// 弹窗配置
// 弹窗配置
dialogConfig
:
{
dialogConfig
:
{
...
@@ -173,14 +187,16 @@ export default {
...
@@ -173,14 +187,16 @@ export default {
costOrderList
:
[],
costOrderList
:
[],
// 额外费用列表
// 额外费用列表
costList
:
[],
costList
:
[],
// 是否审核中
inReview
:
false
,
};
};
},
},
created
()
{
created
()
{
const
{
currNode
,
shipmentObj
}
=
this
.
$attrs
;
const
{
currNode
}
=
this
.
$attrs
;
const
{
voName
}
=
currNode
;
const
{
voName
}
=
currNode
;
let
oldData
=
{
let
oldData
=
{
...
shipmentObj
[
voName
],
...
this
.
shipmentObj
[
voName
],
documentInfo
:
shipmentObj
.
documentInfo
?.
split
(
"
,
"
)
??
[],
documentInfo
:
this
.
shipmentObj
.
documentInfo
?.
split
(
"
,
"
)
??
[],
};
};
oldData
=
formatDateStr
(
oldData
,
[
oldData
=
formatDateStr
(
oldData
,
[
"
dcCutOffTime
"
,
"
dcCutOffTime
"
,
...
@@ -199,36 +215,73 @@ export default {
...
@@ -199,36 +215,73 @@ export default {
const
newList
=
Array
.
from
(
new
Set
(
documentInfo
));
const
newList
=
Array
.
from
(
new
Set
(
documentInfo
));
return
newList
.
length
>
2
?
"
混合报关
"
:
"
VGM声明
"
;
return
newList
.
length
>
2
?
"
混合报关
"
:
"
VGM声明
"
;
},
},
submitCustomsCreate
(
operateType
)
{
customsCreate
({
...
this
.
cusDeclarationObj
,
shipmentId
:
this
.
shipmentObj
.
id
,
operateType
,
}).
then
((
res
)
=>
{
serviceMsg
(
res
,
this
).
then
(()
=>
{
this
.
cancel
(
"
submit
"
);
});
});
},
/** 提交 */
/** 提交 */
onSubmit
(
operateType
)
{
onSubmit
(
operateType
)
{
this
.
$refs
[
"
cusDeclarationForm
"
].
validate
((
valid
)
=>
{
this
.
$refs
[
"
cusDeclarationForm
"
].
validate
((
valid
)
=>
{
if
(
valid
)
{
if
(
valid
)
{
customsCreate
({
if
(
operateType
===
1
)
{
...
this
.
cusDeclarationObj
,
this
.
submitCustomsCreate
(
operateType
);
shipmentId
:
this
.
$attrs
.
shipmentObj
.
id
,
return
;
operateType
,
// 保存
}).
then
((
res
)
=>
{
}
// 查验
// 提交
const
{
dcCustomsStatus
,
dcCheckStatus
}
=
this
.
cusDeclarationObj
;
const
{
dcCustomsStatus
,
dcCheckStatus
}
=
this
.
cusDeclarationObj
;
if
(
dcCustomsStatus
===
"
3
"
)
{
// 1.状态 报关中/放行 直接提交
// 退场/部分退场
if
(
dcCustomsStatus
!==
"
3
"
)
{
if
([
"
1
"
,
"
2
"
].
includes
(
dcCheckStatus
))
{
this
.
submitCustomsCreate
(
operateType
);
approvalCreate
({
return
;
approvalStatus
:
0
,
}
approvalType
:
dcCheckStatus
===
"
1
"
?
5
:
6
,
// 5报关全退,6报关部分退
// 2.查验状态,空 直接提交
shipmentId
:
this
.
$attrs
.
shipmentObj
.
id
,
if
(
!
dcCheckStatus
)
{
}).
then
((
res
)
=>
{
this
.
submitCustomsCreate
(
operateType
);
serviceMsg
(
res
,
this
).
then
(()
=>
{
return
;
this
.
cancel
(
"
submit
"
);
}
// 3.查验状态,查验后放行 直接提交
if
(
dcCheckStatus
===
"
3
"
)
{
const
{
checkExamineStatus
}
=
this
.
shipmentObj
;
// 没有退场审核中的状态
if
(
checkExamineStatus
!==
1
)
{
this
.
submitCustomsCreate
(
operateType
);
return
;
}
}
// 4.查验状态,退场/部分退场 提示
if
([
"
1
"
,
"
2
"
].
includes
(
dcCheckStatus
))
{
const
{
checkExamineStatus
}
=
this
.
shipmentObj
;
// 退场审核状态,1-审核中,2-审核成功,3-审核失败,4-取消
if
([
0
,
3
,
4
].
includes
(
checkExamineStatus
))
{
this
.
$modal
.
confirm
(
`您确认提交
${
dcCheckStatus
===
"
1
"
?
"
全部退场
"
:
"
部分退场
"
}
审核吗?`
)
.
then
(()
=>
{
customsCreate
({
...
this
.
cusDeclarationObj
,
shipmentId
:
this
.
shipmentObj
.
id
,
operateType
,
}).
then
((
res
)
=>
{
serviceMsg
(
res
,
this
).
then
(()
=>
{
// 触发外层重新查询出货信息
this
.
$emit
(
"
getBoxInfo
"
);
});
});
});
});
})
}
.
catch
(()
=>
{});
}
else
{
serviceMsg
(
res
,
this
).
then
(()
=>
{
this
.
cancel
(
"
submit
"
);
});
}
}
}
);
}
}
}
});
});
},
},
...
@@ -239,7 +292,7 @@ export default {
...
@@ -239,7 +292,7 @@ export default {
return
;
return
;
}
}
extraCostOrder
({
extraCostOrder
({
shipmentId
:
this
.
$attrs
.
shipmentObj
.
id
,
shipmentId
:
this
.
shipmentObj
.
id
,
orderNo
:
this
.
orderNo
,
orderNo
:
this
.
orderNo
,
}).
then
((
res
)
=>
{
}).
then
((
res
)
=>
{
this
.
costOrderList
=
[
this
.
costOrderList
=
[
...
@@ -254,7 +307,7 @@ export default {
...
@@ -254,7 +307,7 @@ export default {
/* 查询额外费用订单 */
/* 查询额外费用订单 */
searchCostList
(
orderId
)
{
searchCostList
(
orderId
)
{
extraCostList
({
extraCostList
({
shipmentId
:
this
.
$attrs
.
shipmentObj
.
id
,
shipmentId
:
this
.
shipmentObj
.
id
,
orderId
:
orderId
,
orderId
:
orderId
,
}).
then
((
res
)
=>
{
}).
then
((
res
)
=>
{
this
.
costList
=
res
.
data
.
map
((
item
)
=>
{
this
.
costList
=
res
.
data
.
map
((
item
)
=>
{
...
@@ -272,7 +325,7 @@ export default {
...
@@ -272,7 +325,7 @@ export default {
fee
:
row
.
fee
,
fee
:
row
.
fee
,
orderId
:
row
.
orderId
,
orderId
:
row
.
orderId
,
orderNo
:
row
.
orderNo
,
orderNo
:
row
.
orderNo
,
shipmentId
:
this
.
$attrs
.
shipmentObj
.
id
,
shipmentId
:
this
.
shipmentObj
.
id
,
}).
then
((
res
)
=>
{
}).
then
((
res
)
=>
{
serviceMsg
(
res
,
this
).
then
(()
=>
{
serviceMsg
(
res
,
this
).
then
(()
=>
{
this
.
searchCostList
(
row
.
orderId
);
this
.
searchCostList
(
row
.
orderId
);
...
@@ -321,12 +374,15 @@ export default {
...
@@ -321,12 +374,15 @@ export default {
},
},
// 额外费用
// 额外费用
extraCost
()
{
extraCost
()
{
const
{
shipmentObj
}
=
this
.
$attrs
;
// 清空额外费用
// 清空额外费用
this
.
orderNo
=
""
;
this
.
orderNo
=
""
;
this
.
costOrderList
=
[];
this
.
costOrderList
=
[];
this
.
costList
=
[];
this
.
costList
=
[];
this
.
$set
(
this
.
dialogConfig
,
"
title
"
,
`
${
shipmentObj
.
selfNo
}
报关费用`
);
this
.
$set
(
this
.
dialogConfig
,
"
title
"
,
`
${
this
.
shipmentObj
.
selfNo
}
报关费用`
);
this
.
$set
(
this
.
dialogConfig
,
"
dialogVisible
"
,
true
);
this
.
$set
(
this
.
dialogConfig
,
"
dialogVisible
"
,
true
);
},
},
// 计算VGM重量
// 计算VGM重量
...
@@ -345,6 +401,27 @@ export default {
...
@@ -345,6 +401,27 @@ export default {
dcBoxWgtTmp
+
dcGoodsWgtTmp
dcBoxWgtTmp
+
dcGoodsWgtTmp
);
);
},
},
// 审核详情
jumpReviewDetail
()
{
const
{
customsApprovalInfo
}
=
this
.
shipmentObj
;
toReviewDetail
.
apply
(
this
,
[
customsApprovalInfo
.
bpmProcessId
]);
this
.
cancel
(
"
close
"
);
},
/* 取消审核 */
canclAudit
()
{
const
{
currNode
,
shipmentObj
}
=
this
.
$attrs
;
const
{
voName
}
=
currNode
;
approvalCancel
({
applyReason
:
"
取消审核
"
,
id
:
shipmentObj
[
voName
].
id
,
shipmentId
:
shipmentObj
.
id
,
}).
then
((
res
)
=>
{
serviceMsg
(
res
,
this
).
then
(()
=>
{
// 触发外层重新查询出货信息
this
.
$emit
(
"
getBoxInfo
"
);
});
});
},
},
},
watch
:
{
watch
:
{
"
cusDeclarationObj.dcBoxWgt
"
(
dcBoxWgt
)
{
"
cusDeclarationObj.dcBoxWgt
"
(
dcBoxWgt
)
{
...
@@ -358,6 +435,18 @@ export default {
...
@@ -358,6 +435,18 @@ export default {
this
.
$set
(
this
.
cusDeclarationObj
,
"
dcCheckStatus
"
,
""
);
this
.
$set
(
this
.
cusDeclarationObj
,
"
dcCheckStatus
"
,
""
);
}
}
},
},
shipmentObj
:
{
deep
:
true
,
immediate
:
true
,
handler
:
function
(
val
)
{
// 监听查验状态变化
let
{
checkExamineStatus
}
=
val
;
if
(
checkExamineStatus
===
1
)
{
// 按钮变成审核中
this
.
inReview
=
true
;
}
},
},
},
},
};
};
</
script
>
</
script
>
...
...
src/views/ecw/box/shippingSea/nodePage/preinstall.vue
View file @
c0153bfa
...
@@ -277,7 +277,7 @@
...
@@ -277,7 +277,7 @@
<work-flow
xmlkey=
"shipment_preassemble"
v-model=
"selectedUsers"
></work-flow>
<work-flow
xmlkey=
"shipment_preassemble"
v-model=
"selectedUsers"
></work-flow>
</div>
</div>
<div
v-show=
"isAudit"
>
<div
v-show=
"isAudit"
>
<el-button
type=
"primary"
:disabled=
true
>
审核中
</el-button>
<el-button
type=
"primary"
@
click=
"jumpReviewDetail"
>
审核中
</el-button>
<el-button
plain
type=
"primary"
@
click=
"canclAudit"
>
取消审核
</el-button>
<el-button
plain
type=
"primary"
@
click=
"canclAudit"
>
取消审核
</el-button>
<el-button
plain
type=
"primary"
@
click=
"closeDialog"
>
返回
</el-button>
<el-button
plain
type=
"primary"
@
click=
"closeDialog"
>
返回
</el-button>
</div>
</div>
...
@@ -302,7 +302,13 @@ import {
...
@@ -302,7 +302,13 @@ import {
approvalCancel
,
approvalCancel
,
}
from
"
@/api/ecw/boxSea
"
;
}
from
"
@/api/ecw/boxSea
"
;
import
userSelect
from
"
./common/userSelect.vue
"
;
import
userSelect
from
"
./common/userSelect.vue
"
;
import
{
formatDate
,
getTotlContent
,
serviceMsg
,
getCapacity
}
from
"
../utils
"
;
import
{
formatDate
,
getTotlContent
,
serviceMsg
,
getCapacity
,
toReviewDetail
,
}
from
"
../utils
"
;
import
dayjs
from
"
dayjs
"
;
import
dayjs
from
"
dayjs
"
;
import
WorkFlow
from
"
@/components/WorkFlow
"
;
import
WorkFlow
from
"
@/components/WorkFlow
"
;
...
@@ -613,6 +619,11 @@ export default {
...
@@ -613,6 +619,11 @@ export default {
});
});
});
});
},
},
jumpReviewDetail
()
{
const
{
currNode
,
shipmentObj
}
=
this
.
$attrs
;
toReviewDetail
.
apply
(
this
,
[
shipmentObj
[
currNode
.
voName
].
bpmProcessId
]);
this
.
$emit
(
"
closeDialog
"
);
},
},
},
};
};
</
script
>
</
script
>
...
...
src/views/ecw/box/shippingSea/nodePage/unloading/startUnloading.vue
View file @
c0153bfa
...
@@ -56,7 +56,7 @@
...
@@ -56,7 +56,7 @@
</el-table-column>
</el-table-column>
<el-table-column
label=
"异常状态"
align=
"center"
prop=
""
>
<el-table-column
label=
"异常状态"
align=
"center"
prop=
""
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-button
type=
"text"
size=
"small"
@
click=
"handleError(scope.row)"
icon=
"el-icon-edit"
>
{{
getOrderError
(
scope
.
row
,
'
errorStatus
'
)
}}
</el-button>
<el-button
v-if=
"scope.row.exceptionList"
type=
"text"
size=
"small"
@
click=
"handleError(scope.row)"
icon=
"el-icon-edit"
>
{{
getOrderError
(
scope
.
row
,
'
errorStatus
'
)
}}
</el-button>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"异常类型"
align=
"center"
prop=
""
>
<el-table-column
label=
"异常类型"
align=
"center"
prop=
""
>
...
@@ -100,7 +100,7 @@
...
@@ -100,7 +100,7 @@
<el-button
plain
type=
"primary"
@
click=
"$emit('closeStart')"
>
返回
</el-button>
<el-button
plain
type=
"primary"
@
click=
"$emit('closeStart')"
>
返回
</el-button>
</div>
</div>
<div
v-if=
"isUnderReview"
>
<div
v-if=
"isUnderReview"
>
<el-button
type=
"primary"
:disabled=
true
>
卸柜审核中
</el-button>
<el-button
type=
"primary"
@
click=
"jumpReviewDetail"
>
卸柜审核中
</el-button>
<el-button
plain
type=
"primary"
@
click=
"canclAudit"
>
取消审核
</el-button>
<el-button
plain
type=
"primary"
@
click=
"canclAudit"
>
取消审核
</el-button>
<el-button
plain
type=
"primary"
@
click=
"$emit('closeStart')"
>
返回
</el-button>
<el-button
plain
type=
"primary"
@
click=
"$emit('closeStart')"
>
返回
</el-button>
</div>
</div>
...
@@ -123,7 +123,7 @@ import {
...
@@ -123,7 +123,7 @@ import {
approvalCancel
,
approvalCancel
,
getSectionList
,
getSectionList
,
}
from
"
@/api/ecw/boxSea
"
;
}
from
"
@/api/ecw/boxSea
"
;
import
{
serviceMsg
,
getTotlContent
}
from
"
../../utils
"
;
import
{
serviceMsg
,
getTotlContent
,
toReviewDetail
}
from
"
../../utils
"
;
import
WorkFlow
from
"
@/components/WorkFlow
"
;
import
WorkFlow
from
"
@/components/WorkFlow
"
;
/**
/**
...
@@ -302,6 +302,11 @@ export default {
...
@@ -302,6 +302,11 @@ export default {
path
:
`/order/pending?id=
${
row
.
orderId
}
`
,
path
:
`/order/pending?id=
${
row
.
orderId
}
`
,
});
});
},
},
jumpReviewDetail
()
{
const
{
cabinetUnloadApprovalInfo
}
=
this
.
$attrs
.
shipmentObj
;
toReviewDetail
.
apply
(
this
,
[
cabinetUnloadApprovalInfo
.
bpmProcessId
]);
this
.
$emit
(
"
closeStart
"
,
"
close
"
);
},
},
},
computed
:
{
computed
:
{
/* 是否审核中 */
/* 是否审核中 */
...
...
src/views/ecw/box/shippingSea/seaProcess.vue
View file @
c0153bfa
...
@@ -20,7 +20,7 @@
...
@@ -20,7 +20,7 @@
<!-- 弹窗 -->
<!-- 弹窗 -->
<el-dialog
custom-class=
"shipping-dialog"
:title=
"dialogConfig.title"
:visible.sync=
"dialogConfig.dialogVisible"
:width=
"dialogConfig.width"
:fullscreen=
"dialogConfig.fullscreen"
:close-on-click-modal=
false
:modal-append-to-body=
false
append-to-body
>
<el-dialog
custom-class=
"shipping-dialog"
:title=
"dialogConfig.title"
:visible.sync=
"dialogConfig.dialogVisible"
:width=
"dialogConfig.width"
:fullscreen=
"dialogConfig.fullscreen"
:close-on-click-modal=
false
:modal-append-to-body=
false
append-to-body
>
<component
v-bind:is=
"currentComponent"
v-if=
"dialogConfig.dialogVisible"
@
closeDialog=
"closeDialog"
v-bind=
"$attrs"
:shipmentObj=
"shipmentObj"
:currNode=
"currNode"
></component>
<component
v-bind:is=
"currentComponent"
v-if=
"dialogConfig.dialogVisible"
@
closeDialog=
"closeDialog"
v-bind=
"$attrs"
v-on=
"$listeners"
:shipmentObj=
"shipmentObj"
:currNode=
"currNode"
></component>
</el-dialog>
</el-dialog>
</div>
</div>
</
template
>
</
template
>
...
@@ -178,7 +178,8 @@ export default {
...
@@ -178,7 +178,8 @@ export default {
watch
:
{
watch
:
{
/* 监听发货对象 */
/* 监听发货对象 */
shipmentObj
(
val
)
{
shipmentObj
(
val
)
{
let
newNodes
=
[];
let
newNodes
=
[],
finish
=
0
;
// 迭代每个节点
// 迭代每个节点
for
(
let
i
=
0
;
i
<
this
.
seaBaseData
.
length
;
i
++
)
{
for
(
let
i
=
0
;
i
<
this
.
seaBaseData
.
length
;
i
++
)
{
const
nodes
=
this
.
seaBaseData
[
i
];
const
nodes
=
this
.
seaBaseData
[
i
];
...
@@ -187,6 +188,7 @@ export default {
...
@@ -187,6 +188,7 @@ export default {
const
node
=
nodes
[
j
];
const
node
=
nodes
[
j
];
const
{
keyName
,
voName
,
status
,
type
}
=
node
;
const
{
keyName
,
voName
,
status
,
type
}
=
node
;
// agent
if
(
!
keyName
&&
type
===
"
agent
"
)
{
if
(
!
keyName
&&
type
===
"
agent
"
)
{
if
(
val
[
voName
])
{
if
(
val
[
voName
])
{
// 已完成agent节点
// 已完成agent节点
...
@@ -212,6 +214,20 @@ export default {
...
@@ -212,6 +214,20 @@ export default {
if
(
end
.
includes
(
val
[
keyName
]))
{
if
(
end
.
includes
(
val
[
keyName
]))
{
node
.
currStatus
=
"
end
"
;
node
.
currStatus
=
"
end
"
;
// 报关
if
(
type
===
"
cusDeclaration
"
)
{
const
{
dcCustomsStatus
,
dcCheckStatus
}
=
val
;
// 查验状态并且是退场/部分退场
if
(
dcCustomsStatus
===
3
&&
[
1
,
2
].
includes
(
dcCheckStatus
))
{
// 只有审核通过并且已处理才算完成
if
(
val
.
checkExamineStatus
===
2
&&
val
.
checkDealStatus
===
1
)
{
// 已完成节点个数
++
nodeIndex
;
}
else
{
continue
;
}
}
}
// 已完成节点个数
// 已完成节点个数
++
nodeIndex
;
++
nodeIndex
;
}
}
...
@@ -219,10 +235,11 @@ export default {
...
@@ -219,10 +235,11 @@ export default {
// 如果相等标识该步骤已完成
// 如果相等标识该步骤已完成
if
(
nodeIndex
===
nodes
.
length
)
{
if
(
nodeIndex
===
nodes
.
length
)
{
// 加1表示为已完成步骤后一步
// 加1表示为已完成步骤后一步
this
.
currIndex
=
i
+
1
;
finish
=
finish
+
1
;
}
}
newNodes
.
push
(
nodes
);
newNodes
.
push
(
nodes
);
}
}
this
.
currIndex
=
finish
;
this
.
processData
=
newNodes
;
this
.
processData
=
newNodes
;
},
},
},
},
...
...
src/views/ecw/box/shippingSea/utils.js
View file @
c0153bfa
...
@@ -1030,6 +1030,18 @@ function serviceMsg(result, _vue) {
...
@@ -1030,6 +1030,18 @@ function serviceMsg(result, _vue) {
});
});
}
}
/**
* 跳转审核详情
*
* @param {*} bpmProcessId
*/
function toReviewDetail(bpmProcessId) {
this.$router.push({
path: "/bpm/process-instance/detail",
query: { id: bpmProcessId },
});
}
export {
export {
getStatusName,
getStatusName,
getColmnMapping,
getColmnMapping,
...
@@ -1044,4 +1056,5 @@ export {
...
@@ -1044,4 +1056,5 @@ export {
getCapacity,
getCapacity,
sumStatistics,
sumStatistics,
serviceMsg,
serviceMsg,
toReviewDetail,
};
};
src/views/ecw/coupon/edit.vue
View file @
c0153bfa
...
@@ -60,8 +60,8 @@
...
@@ -60,8 +60,8 @@
<!--
<el-select
v-model=
"item.fullCurrencyId"
style=
"width:100px"
>
<!--
<el-select
v-model=
"item.fullCurrencyId"
style=
"width:100px"
>
<el-option
v-for=
"item in currencyList"
:key=
"item.id"
:label=
"item.titleZh"
:value=
"item.id"
/>
<el-option
v-for=
"item in currencyList"
:key=
"item.id"
:label=
"item.titleZh"
:value=
"item.id"
/>
</el-select>
-->
</el-select>
-->
<selector
v-if=
"[
2,
4,5].indexOf(form.type) > -1"
v-model=
"item.fullCurrencyId"
:options=
"currencyList"
label-field=
"titleZh"
value-field=
"id"
defaultable
style=
"width:100px"
/>
<selector
v-if=
"[4,5].indexOf(form.type) > -1"
v-model=
"item.fullCurrencyId"
:options=
"currencyList"
label-field=
"titleZh"
value-field=
"id"
defaultable
style=
"width:100px"
/>
<selector
v-if=
"form.type ==
3"
v-model=
"item.prodUnit"
:options=
"unitList"
label-field=
"titleZh"
value-field=
"id
"
defaultable
style=
"width:100px"
/>
<selector
v-if=
"form.type ==
2"
v-model=
"item.combUnit"
:options=
"combUnitList"
label-field=
"label"
value-field=
"value
"
defaultable
style=
"width:100px"
/>
<span
v-if=
"[2].indexOf(form.type) > -1"
>
减
</span>
<span
v-if=
"[2].indexOf(form.type) > -1"
>
减
</span>
<span
v-if=
"[4].indexOf(form.type) > -1"
>
折扣率
</span>
<span
v-if=
"[4].indexOf(form.type) > -1"
>
折扣率
</span>
...
@@ -267,7 +267,12 @@ export default {
...
@@ -267,7 +267,12 @@ export default {
status
:
1
,
status
:
1
,
},
},
// 表单校验
// 表单校验
rules
:
{},
rules
:
{
isCargoControl
:
[{
required
:
true
,
message
:
'
请选择是否控货
'
}],
brand
:
[{
required
:
true
,
message
:
'
请选择品牌
'
}],
orderAttr
:
[{
required
:
true
,
message
:
'
请选择订单属性
'
}],
documentDeclaration
:
[{
required
:
true
,
message
:
'
请选择单证报关
'
}]
},
currencyList
:[],
currencyList
:[],
/* clearanceFeeList:[{},{}],
/* clearanceFeeList:[{},{}],
freightFeeList:[{},{}],
freightFeeList:[{},{}],
...
@@ -317,12 +322,29 @@ export default {
...
@@ -317,12 +322,29 @@ export default {
})
})
}
}
return
costType
return
costType
},
// 满减组合单位列表
combUnitList
(){
let
arr
=
[]
this
.
currencyList
.
forEach
(
item
=>
{
arr
.
push
({
label
:
this
.
$l
(
item
,
'
title
'
),
value
:
'
fullCurrencyId_
'
+
item
.
id
})
})
this
.
unitList
.
forEach
(
item
=>
{
arr
.
push
({
label
:
this
.
$l
(
item
,
'
title
'
),
value
:
'
prodUnit_
'
+
item
.
id
})
})
return
arr
}
}
},
},
watch
:{
watch
:{
'
form.type
'
(
val
){
'
form.type
'
(
val
){
// 方数满减3和特价6需要单位
// 方数满减3和特价6需要单位
if
((
val
==
3
||
val
==
6
)
&&
!
this
.
unitList
.
length
){
if
((
val
==
3
||
val
==
6
||
val
==
2
)
&&
!
this
.
unitList
.
length
){
this
.
getUnitList
()
this
.
getUnitList
()
}
}
...
@@ -429,7 +451,13 @@ export default {
...
@@ -429,7 +451,13 @@ export default {
return
this
.
$message
(
'
暂无费用设置
'
)
return
this
.
$message
(
'
暂无费用设置
'
)
}
}
// 非有优惠券需要把运费和清关费一起提交
// 非有优惠券需要把运费和清关费一起提交
let
discountDetailedVOs
=
this
.
costType
==
3
?
this
.
fee
[
3
]
:
this
.
fee
[
1
].
concat
(
this
.
fee
[
2
])
let
discountDetailedVOs
=
this
.
costType
==
3
?
this
.
fee
[
3
]
:
this
.
fee
[
1
].
concat
(
this
.
fee
[
2
]).
filter
(
item
=>
item
.
netReceiptsAmount
||
item
.
fullAmount
)
discountDetailedVOs
.
map
(
item
=>
{
if
(
item
.
combUnit
){
let
tmp
=
item
.
combUnit
.
split
(
'
_
'
)
item
[
tmp
[
0
]]
=
tmp
[
1
]
}
})
let
data
=
Object
.
assign
({},
this
.
form
,
{
discountDetailedVOs
})
let
data
=
Object
.
assign
({},
this
.
form
,
{
discountDetailedVOs
})
// 开始时间必填
// 开始时间必填
if
(
!
data
.
startTime
)
data
.
startTime
=
'
2022-01-01 00:00:00
'
if
(
!
data
.
startTime
)
data
.
startTime
=
'
2022-01-01 00:00:00
'
...
...
src/views/ecw/offer/edit.vue
View file @
c0153bfa
This diff is collapsed.
Click to expand it.
src/views/ecw/order/components/Transfer.vue
View file @
c0153bfa
...
@@ -3,10 +3,10 @@
...
@@ -3,10 +3,10 @@
<div
class=
""
v-if=
"agreement"
>
<div
class=
""
v-if=
"agreement"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-position=
"left"
label-width=
"120px"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-position=
"left"
label-width=
"120px"
>
<el-form-item
:label=
"$t('原控货人')"
>
<el-form-item
:label=
"$t('原控货人')"
>
<el-input
v-model=
"cargoControlName"
readonly
></el-input>
<el-input
v-model=
"cargoControlName"
disabled
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('原控货手机号')"
>
<el-form-item
:label=
"$t('原控货手机号')"
>
<el-input
v-model=
"cargoControlPhone"
readonly
></el-input>
<el-input
:value=
"cargoControlPhone"
disabled
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('新控货人')"
prop=
"name"
>
<el-form-item
:label=
"$t('新控货人')"
prop=
"name"
>
...
@@ -49,7 +49,8 @@ export default {
...
@@ -49,7 +49,8 @@ export default {
orderId
:
[
String
,
Number
],
orderId
:
[
String
,
Number
],
cargoControlName
:
String
,
cargoControlName
:
String
,
cargoControlPhone
:
String
,
cargoControlPhone
:
String
,
orderNo
:
String
orderNo
:
String
,
},
},
components
:
{
SendSmsCode
,
NeedKnow
,
AreaCodeSelector
},
components
:
{
SendSmsCode
,
NeedKnow
,
AreaCodeSelector
},
data
(){
data
(){
...
...
src/views/ecw/order/detail.vue
View file @
c0153bfa
...
@@ -9,7 +9,9 @@
...
@@ -9,7 +9,9 @@
<el-col
:span=
"8"
v-if=
"order.consignorVO"
>
<el-col
:span=
"8"
v-if=
"order.consignorVO"
>
<el-descriptions
class=
"margin-top"
border
:title=
"$t('发货人')"
:column=
"1"
:labelStyle=
"{width:'150px'}"
>
<el-descriptions
class=
"margin-top"
border
:title=
"$t('发货人')"
:column=
"1"
:labelStyle=
"{width:'150px'}"
>
<el-descriptions-item
:label=
"$t('发货人')"
>
{{order.consignorVO.name}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('发货人')"
>
{{order.consignorVO.name}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('发货人电话')"
>
{{order.consignorVO.phone}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('发货人电话')"
>
{{order.consignorVO.countryCode}} {{order.consignorVO.phone}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('发货人邮箱')"
>
{{order.consignorVO.email}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('发货人邮箱')"
>
{{order.consignorVO.email}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('发货人公司名称')"
>
<el-descriptions-item
:label=
"$t('发货人公司名称')"
>
{{order.consignorVO.company}}
{{order.consignorVO.company}}
...
@@ -19,7 +21,9 @@
...
@@ -19,7 +21,9 @@
<el-col
:span=
"16"
v-if=
"order.consigneeVO"
>
<el-col
:span=
"16"
v-if=
"order.consigneeVO"
>
<el-descriptions
class=
"margin-top"
border
:title=
"$t('收货人')"
:column=
"2"
:labelStyle=
"{width:'150px'}"
>
<el-descriptions
class=
"margin-top"
border
:title=
"$t('收货人')"
:column=
"2"
:labelStyle=
"{width:'150px'}"
>
<el-descriptions-item
:label=
"$t('收货人')"
>
{{order.consigneeVO.name}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('收货人')"
>
{{order.consigneeVO.name}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('收货人电话')"
>
{{order.consigneeVO.phone}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('收货人电话')"
>
{{order.consigneeVO.countryCode}} {{order.consigneeVO.phone}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('收货人邮箱')"
>
{{order.consigneeVO.email}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('收货人邮箱')"
>
{{order.consigneeVO.email}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('收货人公司名称')"
>
<el-descriptions-item
:label=
"$t('收货人公司名称')"
>
{{order.consigneeVO.company}}
{{order.consigneeVO.company}}
...
...
src/views/ecw/order/edit.vue
View file @
c0153bfa
This diff is collapsed.
Click to expand it.
src/views/ecw/order/warehousing/components/editDialog.vue
View file @
c0153bfa
This diff is collapsed.
Click to expand it.
src/views/ecw/supplier/edit.vue
View file @
c0153bfa
...
@@ -3,16 +3,22 @@
...
@@ -3,16 +3,22 @@
<el-form
ref=
"elForm"
:model=
"formData"
:rules=
"rules"
size=
"small"
label-width=
"100px"
<el-form
ref=
"elForm"
:model=
"formData"
:rules=
"rules"
size=
"small"
label-width=
"100px"
label-position=
"left"
>
label-position=
"left"
>
<el-form-item
:label=
"$t('公司全称')"
prop=
"companyZh"
>
<el-form-item
:label=
"$t('公司全称')"
prop=
"companyZh"
>
<el-input
v-model=
"formData.companyZh"
:placeholder=
"$t('请输入公司全称')"
show-word-limit
clearable
<el-input
v-model=
"formData.companyZh"
:placeholder=
"$t('请输入公司全称')"
show-word-limit
clearable
></el-input>
:style=
"
{width: '100%'}">
</el-input>
</el-form-item>
<el-form-item
:label=
"$t('英文名称')"
prop=
"companyEn"
>
<el-input
v-model=
"formData.companyZh"
:placeholder=
"$t('请输入公司英文名')"
show-word-limit
clearable
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('代理名称')"
prop=
"agentName"
>
<
!--
<
el-form-item
:label=
"$t('代理名称')"
prop=
"agentName"
>
<el-input
v-model=
"formData.agentName"
:placeholder=
"$t('请输入代理名称')"
clearable
:style=
"
{width: '100%'}">
<el-input
v-model=
"formData.agentName"
:placeholder=
"$t('请输入代理名称')"
clearable
:style=
"
{width: '100%'}">
</el-input>
</el-input>
</el-form-item>
</el-form-item>
-->
<el-form-item
:label=
"$t('公司电话')"
prop=
"tell"
>
<el-form-item
:label=
"$t('公司电话')"
prop=
"tell"
>
<el-input
v-model=
"formData.tell"
:placeholder=
"$t('请输入公司电话')"
clearable
:style=
"
{width: '100%'}"
>
</el-input>
<el-input
v-model=
"formData.tell"
:placeholder=
"$t('请输入公司电话')"
clearable
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"$t('邮件地址')"
prop=
"email"
>
<el-input
v-model=
"formData.email"
:placeholder=
"$t('请输入邮箱地址')"
clearable
></el-input>
</el-form-item>
<el-form-item
:label=
"$t('公司地址')"
prop=
"address"
>
<el-form-item
:label=
"$t('公司地址')"
prop=
"address"
>
<!--
<el-select
v-model=
"formData.country"
>
<!--
<el-select
v-model=
"formData.country"
>
<el-option
v-for=
"(item, index) in treeList"
:value=
"item.id"
:label=
"item.titleZh"
:key=
"item.id"
/>
<el-option
v-for=
"(item, index) in treeList"
:value=
"item.id"
:label=
"item.titleZh"
:key=
"item.id"
/>
...
...
src/views/index.vue
View file @
c0153bfa
...
@@ -22,6 +22,7 @@
...
@@ -22,6 +22,7 @@
<work-flow
xmlkey=
"free_apply"
v-model=
"selectedUsers"
/>
<work-flow
xmlkey=
"free_apply"
v-model=
"selectedUsers"
/>
<div>
选择的用户:
{{
selectedUsers
}}
</div>
<div>
选择的用户:
{{
selectedUsers
}}
</div>
</el-card>
</el-card>
<el-row>
<el-row>
<my-process-viewer
key=
"designer"
v-model=
"bpmnXML"
v-bind=
"bpmnControlForm"
/>
<my-process-viewer
key=
"designer"
v-model=
"bpmnXML"
v-bind=
"bpmnControlForm"
/>
</el-row>
</el-row>
...
@@ -109,7 +110,7 @@ export default {
...
@@ -109,7 +110,7 @@ export default {
},
},
created
()
{
created
()
{
this
.
handlerBpm
();
this
.
handlerBpm
();
},
},
methods
:
{
methods
:
{
handleSetLineChartData
(
type
)
{
handleSetLineChartData
(
type
)
{
...
...
src/views/system/notice/index.vue
View file @
c0153bfa
...
@@ -9,7 +9,7 @@
...
@@ -9,7 +9,7 @@
</el-form-item>
</el-form-item>
<el-form-item
label=
"类型"
prop=
"type"
>
<el-form-item
label=
"类型"
prop=
"type"
>
<el-select
v-model=
"queryParams.type"
placeholder=
"公告类型"
clearable
>
<el-select
v-model=
"queryParams.type"
placeholder=
"公告类型"
clearable
>
<el-option
v-for=
"dict in noticeTypeDictDatas"
:key=
"parseInt(dict.value)"
:label=
"
dict.label
"
:value=
"parseInt(dict.value)"
/>
<el-option
v-for=
"dict in noticeTypeDictDatas"
:key=
"parseInt(dict.value)"
:label=
"
$l(dict, 'label')
"
:value=
"parseInt(dict.value)"
/>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item>
<el-form-item>
...
@@ -39,14 +39,19 @@
...
@@ -39,14 +39,19 @@
<dict-tag
:type=
"DICT_TYPE.COMMON_STATUS"
:value=
"scope.row.status"
/>
<dict-tag
:type=
"DICT_TYPE.COMMON_STATUS"
:value=
"scope.row.status"
/>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"创建者"
align=
"center"
prop=
"createBy"
width=
"100"
/>
<el-table-column
label=
"有效日期"
align=
"center"
prop=
"validateDate"
width=
"150"
>
<el-table-column
label=
"创建时间"
align=
"center"
prop=
"createTime"
width=
"100"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
createTim
e
,
'
{y
}
-{m
}
-{d
}
'
)
}}
<
/span
>
<span>
{{
parseTime
(
scope
.
row
.
validateDat
e
,
'
{y
}
-{m
}
-{d
}
'
)
}}
<
/span
>
<
/template
>
<
/template
>
<
/el-table-column
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"
操作
"
align
=
"
center
"
class
-
name
=
"
small-padding fixed-width
"
>
<!--
<
el
-
table
-
column
label
=
"
创建者
"
align
=
"
center
"
prop
=
"
createBy
"
width
=
"
150
"
/>-->
<
el
-
table
-
column
label
=
"
创建时间
"
align
=
"
center
"
prop
=
"
createTime
"
width
=
"
150
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
span
>
{{
parseTime
(
scope
.
row
.
createTime
,
'
{y
}
-{m
}
-{d
}
'
)
}}
<
/span
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"
操作
"
align
=
"
center
"
class
-
name
=
"
small-padding fixed-width
"
width
=
"
200
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
icon
=
"
el-icon-edit
"
@
click
=
"
handleUpdate(scope.row)
"
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
icon
=
"
el-icon-edit
"
@
click
=
"
handleUpdate(scope.row)
"
v
-
hasPermi
=
"
['system:notice:update']
"
>
修改
<
/el-button
>
v
-
hasPermi
=
"
['system:notice:update']
"
>
修改
<
/el-button
>
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
icon
=
"
el-icon-delete
"
@
click
=
"
handleDelete(scope.row)
"
<
el
-
button
size
=
"
mini
"
type
=
"
text
"
icon
=
"
el-icon-delete
"
@
click
=
"
handleDelete(scope.row)
"
...
@@ -67,6 +72,11 @@
...
@@ -67,6 +72,11 @@
<
el
-
input
v
-
model
=
"
form.title
"
placeholder
=
"
请输入公告标题
"
/>
<
el
-
input
v
-
model
=
"
form.title
"
placeholder
=
"
请输入公告标题
"
/>
<
/el-form-item
>
<
/el-form-item
>
<
/el-col
>
<
/el-col
>
<
el
-
col
:
span
=
"
12
"
>
<
el
-
form
-
item
label
=
"
标题英文
"
prop
=
"
title
"
>
<
el
-
input
v
-
model
=
"
form.titleEn
"
placeholder
=
"
请输入标题英文
"
/>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"
12
"
>
<
el
-
col
:
span
=
"
12
"
>
<
el
-
form
-
item
label
=
"
公告类型
"
prop
=
"
type
"
>
<
el
-
form
-
item
label
=
"
公告类型
"
prop
=
"
type
"
>
<
el
-
select
v
-
model
=
"
form.type
"
placeholder
=
"
请选择
"
>
<
el
-
select
v
-
model
=
"
form.type
"
placeholder
=
"
请选择
"
>
...
@@ -79,7 +89,7 @@
...
@@ -79,7 +89,7 @@
<
/el-select
>
<
/el-select
>
<
/el-form-item
>
<
/el-form-item
>
<
/el-col
>
<
/el-col
>
<
el
-
col
:
span
=
"
24
"
>
<
el
-
col
:
span
=
"
12
"
>
<
el
-
form
-
item
label
=
"
状态
"
>
<
el
-
form
-
item
label
=
"
状态
"
>
<
el
-
radio
-
group
v
-
model
=
"
form.status
"
>
<
el
-
radio
-
group
v
-
model
=
"
form.status
"
>
<
el
-
radio
<
el
-
radio
...
@@ -90,11 +100,23 @@
...
@@ -90,11 +100,23 @@
<
/el-radio-group
>
<
/el-radio-group
>
<
/el-form-item
>
<
/el-form-item
>
<
/el-col
>
<
/el-col
>
<
el
-
col
:
span
=
"
12
"
>
<
el
-
form
-
item
label
=
"
有效日期
"
>
<
el
-
date
-
picker
type
=
"
date
"
value
-
format
=
"
yyyy-MM-dd
"
format
=
"
yyyy-MM-dd
"
:
editable
=
"
false
"
v
-
model
=
"
form.validateDate
"
style
=
"
width: 100%;
"
><
/el-date-picker
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"
24
"
>
<
el
-
col
:
span
=
"
24
"
>
<
el
-
form
-
item
label
=
"
内容
"
>
<
el
-
form
-
item
label
=
"
内容
"
>
<
editor
v
-
model
=
"
form.content
"
:
min
-
height
=
"
192
"
/>
<
editor
v
-
model
=
"
form.content
"
:
min
-
height
=
"
192
"
/>
<
/el-form-item
>
<
/el-form-item
>
<
/el-col
>
<
/el-col
>
<
el
-
col
:
span
=
"
24
"
>
<
el
-
form
-
item
label
=
"
内容英文
"
>
<
editor
v
-
model
=
"
form.contentEn
"
:
min
-
height
=
"
192
"
/>
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
<
/el-row
>
<
/el-form
>
<
/el-form
>
<
div
slot
=
"
footer
"
class
=
"
dialog-footer
"
>
<
div
slot
=
"
footer
"
class
=
"
dialog-footer
"
>
...
@@ -181,8 +203,10 @@ export default {
...
@@ -181,8 +203,10 @@ export default {
this
.
form
=
{
this
.
form
=
{
id
:
undefined
,
id
:
undefined
,
title
:
undefined
,
title
:
undefined
,
titleEn
:
undefined
,
type
:
undefined
,
type
:
undefined
,
content
:
undefined
,
content
:
undefined
,
contentEn
:
undefined
,
status
:
CommonStatusEnum
.
ENABLE
status
:
CommonStatusEnum
.
ENABLE
}
;
}
;
this
.
resetForm
(
"
form
"
);
this
.
resetForm
(
"
form
"
);
...
...
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