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
e8be39d0
Commit
e8be39d0
authored
Nov 21, 2023
by
我在何方
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'release' of
http://gitlab.jdshangmen.com/jiedao-app/jiedao-app-operator
into release
parents
d6bfb347
33ad925e
Changes
16
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
147 additions
and
91 deletions
+147
-91
index.vue
src/components/ProductsSelector/index.vue
+2
-0
index.vue
src/components/RoutersSelector/index.vue
+31
-30
indexAir.vue
src/views/ecw/box/indexAir.vue
+5
-5
edit.vue
src/views/ecw/coupon/edit.vue
+14
-14
addPotentialCustom.vue
src/views/ecw/customer/addPotentialCustom.vue
+6
-2
index.vue
src/views/ecw/customer/index.vue
+2
-2
query.vue
src/views/ecw/customer/query.vue
+5
-3
imageDisplay.vue
src/views/ecw/order/components/imageDisplay.vue
+2
-1
detail.vue
src/views/ecw/order/detail.vue
+5
-2
edit.vue
src/views/ecw/order/edit.vue
+2
-1
feeApplication.vue
src/views/ecw/order/feeApplication.vue
+52
-23
index.vue
src/views/ecw/order/index.vue
+0
-1
index.vue
src/views/ecw/order/splitApply/index.vue
+3
-2
index.vue
src/views/ecw/productBrank/Empower/index.vue
+3
-0
batchEdit.vue
src/views/ecw/productPrice/batchEdit.vue
+7
-3
edit.vue
src/views/ecw/productPrice/edit.vue
+8
-2
No files found.
src/components/ProductsSelector/index.vue
View file @
e8be39d0
...
...
@@ -95,6 +95,8 @@ export default {
this
.
$emit
(
'
input
'
,
val
)
}
,
isAllProduct
(
isAllProduct
){
console
.
log
(
'
isAllProduct
'
,
isAllProduct
)
this
.
choosedList
=
[]
this
.
$emit
(
'
setall
'
,
isAllProduct
)
}
,
defaultIds
(
newValue
,
oldValue
){
...
...
src/components/RoutersSelector/index.vue
View file @
e8be39d0
...
...
@@ -2,8 +2,8 @@
<div>
<div
class=
"filters mb-10"
>
{{
$t
(
'
运输方式
'
)
}}
<dict-selector
:type=
'DICT_TYPE.ECW_TRANSPORT_TYPE'
v-model=
"transportType"
:placeholder=
"$t('请选择运输方式')"
style=
"width:150px"
/>
<dict-selector
:type=
'DICT_TYPE.ECW_TRANSPORT_TYPE'
v-model=
"transportType"
:placeholder=
"$t('请选择运输方式')"
clearable
style=
"width:150px"
/>
{{
$t
(
'
始发地
'
)
}}
:
<el-select
:placeholder=
"$t('请选择始发地')"
v-model=
"exportCity"
clearable
>
<el-option
v-for=
"item in exportCityList"
:key=
"item.id"
:label=
"item.titleZh"
:value=
"item.id"
/>
...
...
@@ -19,11 +19,12 @@
<el-option
v-for=
"item in channelList"
:key=
"item.channelId"
:label=
"item.nameZh"
:value=
"item.channelId"
/>
</el-select>
</div>
<div
class=
"mb-10"
>
<div
class=
"mb-10
flex-row
"
>
<el-radio-group
v-model=
"checkAll"
>
<el-radio
:label=
"true"
>
{{
$t
(
'
全选
'
)
}}
</el-radio>
<el-radio
:label=
"false"
>
{{
$t
(
'
全不选
'
)
}}
</el-radio>
</el-radio-group>
<el-link
class=
"ml-20"
type=
"danger"
>
{{
$t
(
'
已选择{n
}
条路线
'
,
{
n
:
selectedRoutes
.
length
}
)
}}
<
/el-link
>
<
/div
>
<
el
-
row
class
=
""
:
gutter
=
"
10
"
>
<
template
v
-
for
=
"
(item, index) in filteredRouterList
"
>
...
...
@@ -90,7 +91,8 @@ export default {
hideMap
:
{
}
,
// 折叠状态
checkAll
:
null
,
groupChecker
:
{
}
,
// 分组全选状态
inited
:
false
}
}
,
computed
:{
...
...
@@ -188,27 +190,25 @@ export default {
if
(
option
){
this
.
changeOption
()
}
}
}
,
// 显示的路线发生变化之后,清空已勾选的路线
filteredRouterList
(){
if
(
this
.
inited
)
this
.
selectedRoutes
=
[]
}
}
,
created
(){
getChannelList
().
then
(
res
=>
{
this
.
channelList
=
res
.
data
})
getTradeCityList
().
then
(
res
=>
{
this
.
tradeCityList
=
res
.
data
// 路线需要过滤失效的进出口城市,所以在程序加载后再加载路线
this
.
getOpenedRouterList
()
})
if
(
this
.
value
&&
this
.
value
.
length
){
this
.
selectedRoutes
=
this
.
value
}
async
created
(){
this
.
channelList
=
(
await
getChannelList
()).
data
this
.
tradeCityList
=
(
await
getTradeCityList
()).
data
// 路线需要过滤失效的进出口城市,所以在程序加载后再加载路线
await
this
.
getOpenedRouterList
()
if
(
this
.
option
){
this
.
changeOption
()
}
if
(
this
.
option
){
this
.
changeOption
()
}
await
this
.
$nextTick
()
if
(
this
.
value
&&
this
.
value
.
length
){
this
.
selectedRoutes
=
this
.
value
}
}
,
methods
:{
changeOption
(){
...
...
@@ -226,7 +226,7 @@ export default {
this
.
toggleChecker
(
router
,
selected
)
}
)
}
,
getOpenedRouterList
(){
async
getOpenedRouterList
(){
let
params
=
{
}
if
(
this
.
exportCity
){
params
.
startCityId
=
this
.
exportCity
...
...
@@ -234,9 +234,10 @@ export default {
if
(
this
.
importCity
){
params
.
destCityId
=
this
.
importCity
}
openedRouterList
(
params
).
then
(
res
=>
this
.
openedRouterList
=
res
.
data
.
filter
(
item
=>
{
return
this
.
exportCityIds
.
indexOf
(
item
.
startCityId
)
>
-
1
&&
this
.
importCityIds
.
indexOf
(
item
.
destCityId
)
>
-
1
}))
const
res
=
await
openedRouterList
(
params
)
this
.
openedRouterList
=
res
.
data
.
filter
(
item
=>
{
return
this
.
exportCityIds
.
indexOf
(
item
.
startCityId
)
>
-
1
&&
this
.
importCityIds
.
indexOf
(
item
.
destCityId
)
>
-
1
}
)
}
,
// 切换路线选择
toggleChecker
(
router
,
selected
){
...
...
@@ -258,7 +259,7 @@ export default {
if
(
index
>
-
1
){
this
.
selectedRoutes
.
splice
(
index
,
1
)
}
}
}
,
getSelectedIndex
(
router
){
...
...
@@ -266,7 +267,7 @@ export default {
return
item
.
lineId
==
router
.
id
&&
item
.
channelId
==
router
.
channel
.
channelId
}
)
/* let index = null
this.selectedRoutes.forEach((item, i)=>{
if(item.lineId == router.id && item.shippingChannelId == router.channel.channelId){
index = i
...
...
@@ -298,4 +299,4 @@ export default {
.
mb
-
10
{
margin
-
bottom
:
10
px
}
</
style
>
\ No newline at end of file
<
/style
>
src/views/ecw/box/indexAir.vue
View file @
e8be39d0
...
...
@@ -100,11 +100,11 @@
{{
$t
(
'
操作
'
)
}}
<i
class=
"el-icon-arrow-down el-icon--right"
></i>
</el-button>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-item
command=
"edit"
>
{{
$t
(
'
编辑
'
)
}}
</el-dropdown-item>
<el-dropdown-item
command=
"air"
>
{{
$t
(
'
操作
'
)
}}
-
{{
$t
(
'
空运
'
)
}}
</el-dropdown-item>
<el-dropdown-item
command=
"error"
>
{{
$t
(
'
异常登记
'
)
}}
</el-dropdown-item>
<el-dropdown-item
command=
"cost"
>
{{
$t
(
'
费用登记
'
)
}}
</el-dropdown-item>
<el-dropdown-item
command=
"delete"
>
{{
$t
(
'
删除
'
)
}}
</el-dropdown-item>
<el-dropdown-item
command=
"edit"
v-has-permi=
"['shipment:air:edit']"
>
{{
$t
(
'
编辑
'
)
}}
</el-dropdown-item>
<el-dropdown-item
command=
"air"
v-has-permi=
"['shipment:air:action']"
>
{{
$t
(
'
操作
'
)
}}
-
{{
$t
(
'
空运
'
)
}}
</el-dropdown-item>
<el-dropdown-item
command=
"error"
v-has-permi=
"['shipment:air:exception']"
>
{{
$t
(
'
异常登记
'
)
}}
</el-dropdown-item>
<el-dropdown-item
command=
"cost"
v-has-permi=
"['shipment:air:fee']"
>
{{
$t
(
'
费用登记
'
)
}}
</el-dropdown-item>
<el-dropdown-item
command=
"delete"
v-has-permi=
"['shipment:air:delete']"
>
{{
$t
(
'
删除
'
)
}}
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</
template
>
...
...
src/views/ecw/coupon/edit.vue
View file @
e8be39d0
...
...
@@ -77,7 +77,7 @@
<
template
v-if=
"form.type==7"
>
>
<el-input
v-model=
"item.startAmount"
@
blur=
"checkPositive(item, 'startAmount')"
style=
"width:100px"
/>
≤
<el-input
v-model=
"item.endAmount"
@
blur=
"checkPositive(item, 'endAmount')"
style=
"width:100px"
/>
<!--
<selector
v-model=
"item.startAndEndCurrencyId"
@
input=
"checkReduceCurrency(item)"
:options=
"currencyList"
label-field=
"titleZh"
value-field=
"id"
defaultable
style=
"width:100px"
/>
-->
<selector
v-model=
"item.combUnit"
@
input=
"checkReduceCurrency(item)"
:options=
"combUnitList"
label-field=
"label"
value-field=
"value"
defaultable
style=
"width:100px"
/>
...
...
@@ -92,7 +92,7 @@
/
<selector
v-model=
"item.prodUnit"
:options=
"unitList"
label-field=
"titleZh"
value-field=
"id"
defaultable
style=
"width:100px"
/>
</
template
>
<!-- 特价只有一行,不显示增删 -->
<
template
v-if=
"form.type != 6"
>
<el-button
class=
"el-icon-plus"
size=
"mini"
type=
"primary"
@
click=
"fee[1].push(
{type:1})" />
...
...
@@ -198,7 +198,7 @@
>
<!---第一个不是全部,所以不能使用defaultable-->
<dict-selector
:type=
"DICT_TYPE.ECW_SUITABLE_LINE_TYPE"
v-model=
"form.suitableLineType"
formatter=
"number"
defaultable
/>
<routers-selector
v-if=
"showRouterSelector"
v-model=
"form.lineIds"
style=
"margin-top:5px"
/>
<routers-selector
v-if=
"showRouterSelector"
v-model=
"form.lineIds"
:lineIds=
"form.lineIds"
style=
"margin-top:5px"
/>
</el-form-item>
<el-form-item
:label=
"$t('适用商品')"
...
...
@@ -372,7 +372,7 @@ export default {
})
})
}
this
.
unitList
.
forEach
(
item
=>
{
arr
.
push
({
...
...
@@ -388,7 +388,7 @@ export default {
// 非优惠券则查询优惠券列表
if
(
val
&&
val
!=
1
){
this
.
getCouponSelect
()
if
(
!
this
.
initing
){
// 非优惠券给默认数据
this
.
$set
(
this
.
form
,
'
documentDeclarationArr
'
,
[
"
1
"
,
"
2
"
,
"
3
"
])
...
...
@@ -441,15 +441,16 @@ export default {
this
.
readonly
=
true
}
this
.
getUnitList
()
getCurrencyList
().
then
(
res
=>
this
.
currencyList
=
res
.
data
)
getCurrencyList
().
then
(
res
=>
this
.
currencyList
=
res
.
data
)
if
(
this
.
$route
.
query
.
id
)
{
this
.
initing
=
true
getCoupon
(
this
.
$route
.
query
.
id
).
then
((
res
)
=>
{
this
.
form
=
res
.
data
;
[
'
orderAttr
'
,
'
isCargoControl
'
,
'
brand
'
,
'
documentDeclaration
'
].
forEach
(
field
=>
{
this
.
$set
(
this
.
form
,
field
+
'
Arr
'
,
str2arr
(
res
.
data
[
field
]))
})
// 没有商品则表示全部
if
(
!
this
.
form
.
prodIds
||
!
this
.
form
.
prodIds
.
length
){
this
.
isAllProduct
=
true
...
...
@@ -461,7 +462,7 @@ export default {
this
.
couponIds
=
couponIds
.
map
(
item
=>
parseInt
(
item
))
})
}
console
.
log
(
'
lineIds
'
,
this
.
form
.
lineIds
)
if
(
this
.
form
.
discountDetailedVOs
){
/* this[['clearanceFeeList', 'freightFeeList', 'discountList'][]] */
// this.fee[this.form.costType] = this.form.discountDetailedVOs.filter(item => item.type == this.form.costType)
...
...
@@ -477,7 +478,6 @@ export default {
this
.
fee
[
item
.
type
].
push
({...
item
})
})
console
.
log
(
JSON
.
stringify
(
this
.
fee
,
null
,
4
))
/* if(this.costType != this.form.costType){
console.error(`费用类型冲突,计算出来的类型为${this.costType},接口费用类型为${res.data.costType},类型为${res.data.type}`)
this.$alert(this.$t('费用类型冲突'))
...
...
@@ -512,7 +512,7 @@ export default {
3
:
[{}]
// 优惠券专用
}
}
this
.
reset
()
this
.
reset
()
},
methods
:
{
// 满减清关费修改满的货币后需要同步减的货币
...
...
@@ -545,7 +545,7 @@ export default {
this
.
$set
(
item
,
'
netReceiptsCurrencyId
'
,
currencyId
)
}
}
else
this
.
$set
(
item
,
'
reduceCurrencyDisabled
'
,
false
)
return
}
...
...
@@ -573,7 +573,7 @@ export default {
if
(
item
.
reduceCurrencyDisabled
){
this
.
$set
(
item
,
'
reduceCurrencyDisabled
'
,
false
)
}
},
getCouponSelect
(){
getCouponSelect
({
overdueStatus
:
1
,
status
:
1
,
pageSize
:
100
}).
then
(
res
=>
{
...
...
@@ -652,10 +652,10 @@ export default {
let
tmp
=
item
.
combUnit
.
split
(
'
_
'
)
/* if(this.form.type == 5){
item['fullCurrencyId'] =
item['fullCurrencyId'] =
} */
/* if(this.form.type == 7){
item.startAndEndCurrencyId =
item.startAndEndCurrencyId =
} */
// 这里目前只能是满减,优惠会提示 “优惠劵满减货币不能为空”
item
[
tmp
[
0
]]
=
tmp
[
1
]
...
...
src/views/ecw/customer/addPotentialCustom.vue
View file @
e8be39d0
...
...
@@ -54,6 +54,9 @@
</el-col>
</el-row>
</el-form-item>
<el-form-item
:label=
"$t('图片')"
prop=
"picture"
>
<upload
v-model=
"form.picture"
:limit=
"1"
></upload>
</el-form-item>
<el-form-item
:label=
"$t('询盘信息')"
>
<el-input
v-model=
"form.inquiry"
...
...
@@ -78,7 +81,7 @@ import {listServiceUser} from "@/api/system/user";
import
{
getProductTypeList
}
from
"
@/api/ecw/productType
"
;
import
{
getProductList
}
from
"
@/api/ecw/product
"
;
import
{
createPotential
}
from
"
@/api/ecw/customer
"
;
import
upload
from
'
@/components/ImageUpload
'
export
default
{
name
:
"
addPotentialCustom
"
,
methods
:
{
...
...
@@ -100,6 +103,7 @@ export default {
inquiry
:
undefined
,
productType
:
undefined
,
productId
:
undefined
,
picture
:
undefined
}
},
submit
(){
...
...
@@ -122,7 +126,7 @@ export default {
},
},
components
:
{
AreaCodeSelector
},
components
:
{
AreaCodeSelector
,
upload
},
created
()
{
this
.
reset
()
listServiceUser
().
then
(
r
=>
{
...
...
src/views/ecw/customer/index.vue
View file @
e8be39d0
...
...
@@ -92,11 +92,11 @@
<el-button
v-hasPermi=
"['ecw:customer:fcl']"
:disabled=
"!selectCustomerList.length"
@
click=
"setFullContainerLoad(true)"
v-if=
"$route.path === '/customer/customer'"
type=
"primary"
plain
size=
"mini"
:loading=
"exportLoading"
>
{{
$t
(
'
设置海运整柜客户
'
)
}}
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
v-hasPermi=
"['ecw:customer:
create-potential
']"
:disabled=
"!selectCustomerList.length"
@
click=
"setFullContainerLoad(false)"
v-if=
"$route.path === '/customer/customer'"
type=
"primary"
plain
size=
"mini"
:loading=
"exportLoading"
<el-button
v-hasPermi=
"['ecw:customer:
fcl-mistake
']"
:disabled=
"!selectCustomerList.length"
@
click=
"setFullContainerLoad(false)"
v-if=
"$route.path === '/customer/customer'"
type=
"primary"
plain
size=
"mini"
:loading=
"exportLoading"
>
{{
$t
(
'
设置海运非整柜客户
'
)
}}
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
v-has-permi=
"['ecw:customer:
fcl-mistake
']"
v-if=
"path === '/customer/customer'"
type=
"primary"
plain
icon=
"el-icon-plus"
size=
"mini"
@
click=
"handleAddPotential"
>
{{
$t
(
'
新增潜在客户
'
)
}}
</el-button>
<el-button
v-has-permi=
"['ecw:customer:
create-potential
']"
v-if=
"path === '/customer/customer'"
type=
"primary"
plain
icon=
"el-icon-plus"
size=
"mini"
@
click=
"handleAddPotential"
>
{{
$t
(
'
新增潜在客户
'
)
}}
</el-button>
</el-col>
<right-toolbar
:showSearch.sync=
"showSearch"
@
queryTable=
"getList"
></right-toolbar>
</el-row>
...
...
src/views/ecw/customer/query.vue
View file @
e8be39d0
...
...
@@ -47,9 +47,9 @@
<
el
-
descriptions
-
item
:
label
=
"
$t('主营类别')
"
>
{{
$l
(
customer
,
'
productTypeName
'
)
}}
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
:
label
=
"
$t('常提货网点')
"
>
{{
$l
(
customer
,
'
pickupPointName
'
)
}}
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
:
label
=
"
$t('图片')
"
>
<
el
-
image
v
-
if
=
"
customer.picture
"
:
src
=
"
customer.picture
"
style
=
"
width: 100px;height: 100px
"
>
<
span
slot
=
"
error
"
>
加载失败
<
/spa
n
>
<
/el-image
>
<
image
-
display
:
picture
-
urls
=
"
customer.picture ? customer.picture.split(',') : []
"
>
<
el
-
button
type
=
"
text
"
>
查看图片
<
/el-butto
n
>
<
/image-display
>
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
:
label
=
"
$t('备注')
"
>
{{
customer
.
remarks
}}
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
:
label
=
"
$t('业绩类型')
"
>
{{
customer
.
isNew
?
$t
(
'
新客户
'
)
:
$t
(
'
老客户
'
)
}}
<
/el-descriptions-item
>
...
...
@@ -513,10 +513,12 @@ import {getCountry} from "@/api/ecw/country"
import
{
getCurrencyList
}
from
"
@/api/ecw/currency
"
;
import
customerLog
from
"
@/views/ecw/customer/customerLog.vue
"
;
import
{
checkPermi
}
from
"
@/utils/permission
"
;
import
ImageDisplay
from
"
@/views/ecw/order/components/imageDisplay.vue
"
;
export
default
{
name
:
'
query
'
,
components
:
{
ImageDisplay
,
Template
,
CustomerFollow
,
CustomerComplaint
,
...
...
src/views/ecw/order/components/imageDisplay.vue
View file @
e8be39d0
...
...
@@ -6,7 +6,7 @@
<el-dialog
append-to-body
title=
"提示
"
:title=
"$t('图片')
"
:visible.sync=
"visible"
width=
"80%"
>
<div
style=
"display: flex;flex-wrap: wrap;"
>
...
...
@@ -14,6 +14,7 @@
<video
controls
width=
"148px"
height=
"148px"
slot=
"error"
:src=
"bizId ? item.url : item"
></video>
</el-image>
</div>
<el-empty
v-if=
"!list.length"
description=
"暂无图片"
></el-empty>
</el-dialog>
</div>
</
template
>
...
...
src/views/ecw/order/detail.vue
View file @
e8be39d0
...
...
@@ -142,6 +142,9 @@
<el-descriptions-item
:label=
"$t('创建时间')"
>
{{order.createTime|parseTime}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('客户经理')"
>
{{order.salesmanName}}
</el-descriptions-item>
</el-descriptions>
</el-card>
...
...
@@ -203,10 +206,10 @@
<
template
slot-scope=
"{row}"
>
<template
v-if=
"row.charging ==1"
>
<template
v-if=
"!row.o
ne
SeaFreight"
>
{{
$t
(
'
未报价
'
)
}}
</
template
>
<template
v-if=
"!row.o
riginal
SeaFreight"
>
{{
$t
(
'
未报价
'
)
}}
</
template
>
<el-link
type=
"primary"
@
click=
"showFeeDetail(row, 'clearance')"
v-else
>
{{$t('全包价')}} {{row.oneSeaFreight}} {{currencyMap[row.seaFreightCurrency]}} / {{unitMap[row.seaFreightVolume]}}
</el-link>
</template>
<
template
v-else-if=
"!row.o
neSeaFreight && !row.one
ClearanceFreight"
>
{{
$t
(
'
未报价
'
)
}}
</
template
>
<
template
v-else-if=
"!row.o
riginalSeaFreight && !row.original
ClearanceFreight"
>
{{
$t
(
'
未报价
'
)
}}
</
template
>
<
template
v-else
>
<el-link
type=
"primary"
@
click=
"showFeeDetail(row, 'freight')"
>
{{
$t
(
'
运费
'
)
}}
:
{{
row
.
oneSeaFreight
}}
{{
currencyMap
[
row
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
row
.
seaFreightVolume
]
}}
...
...
src/views/ecw/order/edit.vue
View file @
e8be39d0
...
...
@@ -243,7 +243,8 @@
]"
class="mb-0 mr-0"
>
<el-input
v-model.number=
"scope.row.worth"
:disabled=
"!canAddProduct"
@
input=
"calculationPrice"
type=
"number"
/>
<!--input事件在快速输入的时候,可能最后拿到的结果不是最后输入的参数,所以改成在blur的时候计算-->
<el-input
v-model.number=
"scope.row.worth"
:disabled=
"!canAddProduct"
@
blur=
"calculationPrice"
type=
"number"
/>
</el-form-item>
</
template
>
</el-table-column>
...
...
src/views/ecw/order/feeApplication.vue
View file @
e8be39d0
...
...
@@ -12,35 +12,35 @@
</div></el-form-item>
<el-form-item
:label=
"$t('发货人')+':'"
><div
class=
"content"
>
{{
orderDetails
.
consignorVO
?
orderDetails
.
consignorVO
.
name
:
''
}}
</div></el-form-item>
<el-form-item
:label=
"$t('唛头')"
><div
class=
"content"
>
{{
orderDetails
.
marks
}}
</div></el-form-item>
<el-form-item>
<el-button
:disabled=
"!!processInstanceId"
@
click=
"addCost"
>
{{
$t
(
'
添加申请
'
)
}}
</el-button></el-form-item>
<el-form-item>
<el-button
:disabled=
"!!processInstanceId
|| editMode
"
@
click=
"addCost"
>
{{
$t
(
'
添加申请
'
)
}}
</el-button></el-form-item>
</el-form>
<el-table
:data=
"list"
>
<el-table-column
:label=
"$t('序号')"
type=
"index"
></el-table-column>
<el-table-column
:label=
"$t('费用类型')"
>
<template
v-slot:default =
"scope"
>
<dict-selector
:disabled=
"!!scope.row.status"
:type=
"DICT_TYPE.FEE_TYPE"
v-model=
"scope.row.feeType"
/>
<dict-selector
:disabled=
"!
scope.row.editMode && !
!scope.row.status"
:type=
"DICT_TYPE.FEE_TYPE"
v-model=
"scope.row.feeType"
/>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('金额')"
>
<
template
v-slot:default =
'scope'
>
<el-input
:disabled=
"!!scope.row.status"
v-model.number=
"scope.row.applicationFee"
></el-input>
<el-input
:disabled=
"!
scope.row.editMode && !
!scope.row.status"
v-model.number=
"scope.row.applicationFee"
></el-input>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('货币类型')"
>
<
template
v-slot:default =
'scope'
>
<el-select
:disabled=
"!!scope.row.status"
v-model=
"scope.row.applicationFeeCurrency"
>
<el-select
:disabled=
"!
scope.row.editMode && !
!scope.row.status"
v-model=
"scope.row.applicationFeeCurrency"
>
<el-option
v-for=
"item in JSON.parse(currencys)"
:key=
"item.id"
:label=
"item.titleZh"
:value=
"item.id"
/>
</el-select>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('付款类型')"
>
<
template
v-slot =
{row}
>
<dict-selector
:disabled=
"row.status"
:type=
"DICT_TYPE.PAYMENT_TYPE"
v-model=
"row.payType"
/>
<dict-selector
:disabled=
"
!row.editMode && !!
row.status"
:type=
"DICT_TYPE.PAYMENT_TYPE"
v-model=
"row.payType"
/>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('备注')"
>
<
template
v-slot:default=
"scope"
>
<el-input
:disabled=
"!!scope.row.status"
v-model=
"scope.row.remarks"
type=
"textarea"
></el-input>
<el-input
:disabled=
"!
scope.row.editMode && !
!scope.row.status"
v-model=
"scope.row.remarks"
type=
"textarea"
></el-input>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('确认收款')"
>
...
...
@@ -55,9 +55,9 @@
</el-table-column>
<el-table-column
:label=
"$t('操作')"
>
<
template
v-slot:default =
'scope'
>
<el-
button
type=
"text"
v-if=
"scope.row.status !== 0&&scope.row.status !== 1"
>
{{
STATUS
[
scope
.
row
.
status
]
}}
</el-button
>
<!--el-button type="text" v-if="scope.row.status == 1" @click="examineFn">
{{
$t
(
'
审核中
'
)
}}
</el-button>
<el-button
type=
"text"
v-if=
"
scope.row.status === 2"
@
click=
"modify(scope.row)"
>
{{
$t
(
'
修改
'
)
}}
</el-button>
--
>
<el-
tag
v-if=
"scope.row.status !== 0 && !scope.row.editMode"
>
{{
STATUS
[
scope
.
row
.
status
]
}}
</el-tag
>
<!--el-button type="text" v-if="scope.row.status == 1" @click="examineFn">
{{
$t
(
'
审核中
'
)
}}
</el-button
--
>
<el-button
type=
"text"
v-if=
"
modifable(scope.$index)"
@
click=
"modify(scope.row)"
>
{{
$t
(
'
修改
'
)
}}
</el-button
>
<el-button
type=
"text"
v-if=
"scope.row.status === 0"
@
click=
"del(scope.$index)"
>
删除
</el-button>
</
template
>
</el-table-column>
...
...
@@ -66,7 +66,7 @@
<work-flow
xmlkey=
"free_apply"
v-model=
"selectedUsers"
/>
</div>
<div
style=
"text-align: center;margin-top: 20px;"
>
<el-button
type=
"primary"
v-if=
"!processInstanceId"
style=
"margin-right: 30px;"
:disabled=
"!feeList.length"
@
click=
"submit"
>
{{$t('提交')}}
</el-button>
<el-button
type=
"primary"
v-if=
"!processInstanceId"
style=
"margin-right: 30px;"
:disabled=
"!feeList.length
&& !editMode
"
@
click=
"submit"
>
{{$t('提交')}}
</el-button>
<el-button
type=
"primary"
v-if=
"processInstanceId"
style=
"margin-right: 30px;"
@
click=
"goProcessDetail"
>
{{$t('审核中')}}
</el-button>
<el-button
type=
"primary"
v-if=
"processInstanceId"
style=
"margin-right: 30px;"
@
click=
"cancel"
>
{{$t('取消审核')}}
</el-button>
<el-button
@
click=
"$emit('update:dialogVisible',false)"
>
{{$t('返回')}}
</el-button>
...
...
@@ -112,14 +112,31 @@ export default {
DICT_TYPE
,
getDictDatas
,
STATUS
:{},
isModify
:[],
isModifyIf
:
false
,
selectedUsers
:[]
}
},
computed
:{
feeList
(){
return
this
.
list
.
filter
(
item
=>
item
.
status
===
0
)
},
// 正在编辑的费用申请
currentItem
(){
return
this
.
list
.
find
(
item
=>
item
.
editMode
)
},
// 是否修改模式
editMode
(){
return
!!
this
.
currentItem
},
modifable
(){
return
(
index
)
=>
{
// 审核中不允许修改
if
(
this
.
processInstanceId
)
return
false
// 有未提交的不允许修改
if
(
this
.
feeList
.
length
)
return
false
// 有修改中的不允许修改
if
(
this
.
list
.
findIndex
(
item
=>
item
.
editMode
)
>
-
1
)
return
false
return
true
}
}
},
created
()
{
...
...
@@ -152,6 +169,10 @@ export default {
this
.
list
.
splice
(
index
,
1
)
})
},
// 修改
modify
(
item
){
this
.
$set
(
item
,
'
editMode
'
,
true
)
},
addCost
(){
this
.
list
.
push
({
orderId
:
this
.
orderId
,
...
...
@@ -172,17 +193,26 @@ export default {
if
(
errList
.
length
){
return
this
.
$message
.
error
(
'
请填写完整费用申请信息
'
)
}
feeApplicationCreateBatch
(
{
orderFeeApplicationCreateReqVOList
:
this
.
feeList
,
copyUserId
:
this
.
selectedUsers
,
orderId
:
this
.
orderId
}).
then
(
r
=>
{
if
(
r
.
code
===
0
){
this
.
$emit
(
'
update:dialogVisible
'
,
false
)
this
.
$message
.
success
(
this
.
$t
(
'
添加成功
'
));
this
.
selectedUsers
=
[];
if
(
this
.
editMode
){
// 要提交status=1,否则保持原状态
const
data
=
{...
this
.
currentItem
,
status
:
1
,
copyUserId
:
this
.
selectedUsers
}
return
applicationUpdate
(
data
).
then
(
r
=>
{
this
.
$message
.
success
(
this
.
$t
(
'
修改成功
'
));
this
.
$emit
(
'
update:dialogVisible
'
,
false
)
})
}
})
feeApplicationCreateBatch
(
{
orderFeeApplicationCreateReqVOList
:
this
.
feeList
,
copyUserId
:
this
.
selectedUsers
,
orderId
:
this
.
orderId
}).
then
(
r
=>
{
if
(
r
.
code
===
0
){
this
.
$emit
(
'
update:dialogVisible
'
,
false
)
this
.
$message
.
success
(
this
.
$t
(
'
添加成功
'
));
this
.
selectedUsers
=
[];
}
})
},
goProcessDetail
(){
this
.
$emit
(
'
update:dialogVisible
'
,
false
)
...
...
@@ -208,7 +238,6 @@ export default {
watch
:{
dialogVisible
(
val
){
if
(
val
){
this
.
isModify
=
[]
this
.
getOrderList
()
getOrder
(
this
.
orderId
).
then
(
r
=>
{
if
(
r
.
code
===
0
){
...
...
src/views/ecw/order/index.vue
View file @
e8be39d0
...
...
@@ -454,7 +454,6 @@
<!-- 打印入仓单 -->
<
template
v-if=
"
exclude(scope.row.status, [0, 2]) &&
exclude(scope.row.shipmentState, [320,322,323]) &&
exclude(scope.row.abnormalState, [5,6,7,8])
"
>
<el-dropdown-item
@
click.native=
"printWarehouseReceiptOrderId=scope.row.orderId"
v-hasPermi=
"['ecw:order:warehouse_receipt']"
>
{{
$t
(
'
打印入仓单
'
)
}}
</el-dropdown-item>
...
...
src/views/ecw/order/splitApply/index.vue
View file @
e8be39d0
...
...
@@ -390,7 +390,8 @@
<el-table-column
:label=
"$t('快递单号')"
prop=
"expressNo"
></el-table-column>
<el-table-column
:label=
"$t('储位')"
prop=
"orderLocationBackVOList"
>
<
template
v-slot=
"{ row, column, $index }"
>
{{
getLocationName
(
row
.
orderLocationList
)
}}
<warehouse-area-select
:value=
"row.orderLocationList"
:warehouse-id=
"currentWarehouseId"
readonly
></warehouse-area-select>
<!--
{{
getLocationName
(
row
.
orderLocationList
)
}}
-->
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('操作')"
>
...
...
@@ -583,7 +584,7 @@ export default {
Promise
.
all
([
this
.
getList
(),
this
.
getOrder
()]).
then
(
res
=>
{
console
.
log
(
"
拆单数据
"
,
this
.
splitData
,
this
.
splitData
.
length
)
if
(
this
.
orderData
.
inWarehouseState
!=
207
&&
this
.
splitData
.
length
){
this
.
reset
()
// TODO
this.reset()
}
})
// 获取入仓记录
...
...
src/views/ecw/productBrank/Empower/index.vue
View file @
e8be39d0
...
...
@@ -241,6 +241,9 @@ export default {
list1
:
[],
list2
:
[],
feeType
:[{
label
:
this
.
$t
(
'
无牌价
'
),
value
:
0
}
,{
label
:
this
.
$t
(
'
有牌价
'
),
value
:
1
}
,{
...
...
src/views/ecw/productPrice/batchEdit.vue
View file @
e8be39d0
<
template
>
<div
class=
"app-container"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"150px"
>
<products-selector
v-model=
"form.productIdList"
show-all
@
setall=
"isAllProduct=$event"
class=
"mb-20"
/>
<products-selector
ref=
"productSelector"
v-model=
"form.productIdList"
show-all
@
setall=
"isAllProduct=$event"
class=
"mb-20"
/>
<routers-selector
v-model=
"selectedRoutes"
/>
...
...
@@ -22,7 +22,7 @@
<el-form-item
:label=
"$t('单价模式')"
prop=
"priceType"
>
<dict-selector
:type=
"DICT_TYPE.ECW_PRICE_TYPE"
v-model=
"form.priceType"
form-type=
"radio"
/>
</el-form-item>
<!--阶梯订单-->
<template
v-if=
"form.stepPrice==1"
>
<div
v-for=
"(item, index) in form.priceStepList"
:key=
"index"
>
...
...
@@ -346,7 +346,7 @@ export default {
this
.
$set
(
this
.
form
,
'
allVolumeUnit
'
,
unit
)
}
,
submitForm
()
{
this
.
$refs
[
"
form
"
].
validate
(
valid
=>
{
this
.
$refs
[
"
form
"
].
validate
(
async
(
valid
)
=>
{
if
(
!
valid
)
{
return
;
}
...
...
@@ -377,6 +377,10 @@ export default {
if
(
data
.
lineChannelList
.
length
<
1
){
return
this
.
$message
.
error
(
this
.
$t
(
'
请选择需要修改的路线
'
))
}
await
this
.
$confirm
(
this
.
$t
(
'
已选择{route
}
条路线,{product
}
个商品;确认提交修改?
'
,
{
route
:
data
.
lineChannelList
.
length
,
product
:
this
.
isAllProduct
?
this
.
$refs
.
productSelector
.
allTotal
:
this
.
form
.
productIdList
.
length
}
))
this
.
loading
=
true
batchUpdateProductPrice
(
data
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
this
.
$t
(
"
修改成功
"
));
...
...
src/views/ecw/productPrice/edit.vue
View file @
e8be39d0
...
...
@@ -702,7 +702,7 @@ export default {
}
,
// force 为是否强制提交,在价格过期的时候需要确认后强制提交
submitForm
(
force
=
false
)
{
this
.
$refs
[
"
form
"
].
validate
(
valid
=>
{
this
.
$refs
[
"
form
"
].
validate
(
async
(
valid
)
=>
{
if
(
!
valid
)
{
return
;
}
...
...
@@ -768,6 +768,8 @@ export default {
}
}
// 修改单条路线
if
(
this
.
$route
.
query
.
action
==
'
update
'
)
{
this
.
loading
=
true
...
...
@@ -806,6 +808,7 @@ export default {
if
(
data
.
lineChannelList
.
length
<
1
){
return
this
.
$message
.
error
(
this
.
$t
(
'
请选择需要修改的路线
'
))
}
await
this
.
$confirm
(
this
.
t
(
"
已选择{route
}
条路线,确认提交?
"
,
{
route
:
data
.
lineChannelList
.
length
}
))
data
.
productIdList
=
[
this
.
form
.
productId
]
this
.
loading
=
true
batchUpdateProductPrice
(
data
).
then
(
response
=>
{
...
...
@@ -815,9 +818,12 @@ export default {
return
;
}
// 添加的提交
if
(
!
this
.
product
){
return
this
.
$message
.
error
(
this
.
$t
(
'
请选择商品
'
))
}
data
.
productId
=
this
.
product
.
id
;
data
.
lineChannelList
=
this
.
lineList
.
length
?
this
.
lineList
:
this
.
selectedRoutes
await
this
.
$confirm
(
this
.
$t
(
"
已选择{route
}
条路线,确认提交?
"
,
{
route
:
data
.
lineChannelList
.
length
}
))
this
.
loading
=
true
createProductPrice
(
data
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
this
.
$t
(
"
请求成功
"
));
...
...
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