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
f5d996fc
Commit
f5d996fc
authored
Sep 21, 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
c3ee67ac
eae3e96f
Changes
22
Show whitespace changes
Inline
Side-by-side
Showing
22 changed files
with
638 additions
and
403 deletions
+638
-403
customer.js
src/api/ecw/customer.js
+25
-0
offer.js
src/api/ecw/offer.js
+3
-2
order.js
src/api/ecw/order.js
+1
-27
orderPickup.js
src/api/ecw/orderPickup.js
+55
-0
index.js
src/router/index.js
+0
-22
detail.vue
src/views/bpm/processInstance/detail.vue
+3
-3
query.vue
src/views/ecw/customer/query.vue
+91
-28
specialDetail.vue
src/views/ecw/offer/components/specialDetail.vue
+121
-0
specialDiscount.vue
src/views/ecw/offer/components/specialDiscount.vue
+162
-0
edit.vue
src/views/ecw/offer/edit.vue
+9
-22
index.vue
src/views/ecw/offer/index.vue
+17
-9
special.vue
src/views/ecw/offer/special.vue
+11
-4
specialDiscount.vue
src/views/ecw/offer/specialDiscount.vue
+0
-253
batchSingleApplication.vue
src/views/ecw/order/batchSingleApplication.vue
+1
-11
BatchPickup.vue
src/views/ecw/order/components/BatchPickup.vue
+48
-12
PickupLog.vue
src/views/ecw/order/components/PickupLog.vue
+60
-0
warehouseDetails.vue
src/views/ecw/order/components/warehouseDetails.vue
+1
-1
edit.vue
src/views/ecw/order/edit.vue
+2
-2
feeApplication.vue
src/views/ecw/order/feeApplication.vue
+1
-1
index.vue
src/views/ecw/order/index.vue
+5
-0
index.vue
src/views/ecw/productBrank/BrandForm/index.vue
+16
-3
index.vue
src/views/ecw/productBrank/index.vue
+6
-3
No files found.
src/api/ecw/customer.js
View file @
f5d996fc
...
@@ -203,3 +203,28 @@ export function orderStatistics(params){
...
@@ -203,3 +203,28 @@ export function orderStatistics(params){
params
params
})
})
}
}
//创建客户信用日志
export
function
creditLogCreate
(
data
){
return
request
({
url
:
'
/customer/credit-log/create
'
,
method
:
'
post
'
,
data
})
}
//获得客户统计
export
function
creditScoreStatistic
(
params
){
return
request
({
url
:
'
/customer/detail/infoList/creditScoreStatistic
'
,
method
:
'
get
'
,
params
})
}
//获取账单数据
export
function
infoListReceiptPage
(
params
){
return
request
({
url
:
'
/customer/detail/infoList/receiptPage
'
,
method
:
'
get
'
,
params
})
}
src/api/ecw/offer.js
View file @
f5d996fc
...
@@ -90,10 +90,11 @@ export function createOfferSpecial(data) {
...
@@ -90,10 +90,11 @@ export function createOfferSpecial(data) {
}
}
// 特价详情
// 特价详情
export
function
getOfferSpecial
(
offerProdId
)
{
export
function
getOfferSpecial
(
offerProdId
,
params
)
{
return
request
({
return
request
({
url
:
'
/ecw/offer/special/info/
'
+
offerProdId
,
url
:
'
/ecw/offer/special/info/
'
+
offerProdId
,
method
:
'
get
'
method
:
'
get
'
,
params
})
})
}
}
...
...
src/api/ecw/order.js
View file @
f5d996fc
...
@@ -242,32 +242,6 @@ export function getMyOrderPage(query) {
...
@@ -242,32 +242,6 @@ export function getMyOrderPage(query) {
}
}
// 创建提货
export
function
createOrderPickup
(
data
){
return
request
({
url
:
'
/ecw/order-pickup/create
'
,
method
:
'
post
'
,
data
})
}
// 批量提货
export
function
createOrderPickupBatch
(
data
){
return
request
({
url
:
'
/ecw/order-pickup/createBatch
'
,
method
:
'
post
'
,
data
})
}
// 分批提货
export
function
createOrderPickupSplitBatch
(
data
){
return
request
({
url
:
'
/ecw/order-pickup/createSplitBatch
'
,
method
:
'
post
'
,
data
})
}
//根据流程ID获得订单信息
//根据流程ID获得订单信息
export
function
applicationGetOrderByProcessId
(
params
){
export
function
applicationGetOrderByProcessId
(
params
){
return
request
({
return
request
({
...
...
src/api/ecw/orderPickup.js
0 → 100644
View file @
f5d996fc
import
request
from
'
@/utils/request
'
// 根据订单编号获得分批提货数据
export
function
getPickUpListByOrderNo
(
params
){
return
request
({
url
:
'
/ecw/order-pickup/getPickUpListByOrderNo
'
,
method
:
'
get
'
,
params
})
}
// 创建提货
export
function
create
(
data
){
return
request
({
url
:
'
/ecw/order-pickup/create
'
,
method
:
'
post
'
,
data
})
}
// 批量提货
export
function
createBatch
(
data
){
return
request
({
url
:
'
/ecw/order-pickup/createBatch
'
,
method
:
'
post
'
,
data
})
}
// 分批提货
export
function
createSplitBatch
(
data
){
return
request
({
url
:
'
/ecw/order-pickup/createSplitBatch
'
,
method
:
'
post
'
,
data
})
}
// 获取提货日志
export
function
getAllPickUpListByOrderNo
(
params
){
return
request
({
url
:
'
/ecw/order-pickup/getAllPickUpListByOrderNo
'
,
method
:
'
get
'
,
params
})
}
// 撤销提货日志
export
function
deletePickup
(
params
){
return
request
({
url
:
'
/ecw/order-pickup/delete
'
,
method
:
'
delete
'
,
params
})
}
src/router/index.js
View file @
f5d996fc
...
@@ -268,28 +268,6 @@ export const constantRoutes = [
...
@@ -268,28 +268,6 @@ export const constantRoutes = [
}
}
]
]
},
},
{
path
:
'
/offer
'
,
component
:
Layout
,
hidden
:
true
,
redirect
:
'
noredirect
'
,
children
:
[
{
path
:
'
special/:offerId(
\\
d+)
'
,
component
:
(
resolve
)
=>
import
(
'
@/views/ecw/offer/special
'
),
props
:
true
,
name
:
'
special
'
,
meta
:
{
title
:
'
特价申请
'
,
icon
:
''
,
activeMenu
:
'
/offer/index
'
}
},
{
path
:
'
discount/:offerProdId(
\\
d+)
'
,
component
:
(
resolve
)
=>
import
(
'
@/views/ecw/offer/specialDiscount
'
),
props
:
true
,
name
:
'
discount
'
,
meta
:
{
title
:
'
优惠申请
'
,
icon
:
''
,
activeMenu
:
'
/offer/index
'
}
},
]
},
{
{
path
:
'
/order
'
,
path
:
'
/order
'
,
component
:
Layout
,
component
:
Layout
,
...
...
src/views/bpm/processInstance/detail.vue
View file @
f5d996fc
...
@@ -131,7 +131,7 @@ import {approveTask, getTaskListByProcessInstanceId, rejectTask, updateTaskAssig
...
@@ -131,7 +131,7 @@ import {approveTask, getTaskListByProcessInstanceId, rejectTask, updateTaskAssig
import
{
getDate
}
from
"
@/utils/dateUtils
"
;
import
{
getDate
}
from
"
@/utils/dateUtils
"
;
import
{
listSimpleUsers
}
from
"
@/api/system/user
"
;
import
{
listSimpleUsers
}
from
"
@/api/system/user
"
;
import
{
getActivityList
}
from
"
@/api/bpm/activity
"
;
import
{
getActivityList
}
from
"
@/api/bpm/activity
"
;
import
specialD
iscount
from
"
@/views/ecw/offer/specialDiscount
"
import
specialD
etail
from
"
@/views/ecw/offer/components/specialDetail
"
import
warehouseDetails
from
"
@/views/ecw/order/components/warehouseDetails
"
;
import
warehouseDetails
from
"
@/views/ecw/order/components/warehouseDetails
"
;
import
shippingDetail
from
'
@/views/ecw/box/shippingDetail
'
import
shippingDetail
from
'
@/views/ecw/box/shippingDetail
'
import
SplitDetail
from
'
@/views/ecw/order/components/SplitDetail
'
import
SplitDetail
from
'
@/views/ecw/order/components/SplitDetail
'
...
@@ -142,7 +142,7 @@ export default {
...
@@ -142,7 +142,7 @@ export default {
name
:
"
ProcessInstanceDetail
"
,
name
:
"
ProcessInstanceDetail
"
,
components
:
{
components
:
{
Parser
,
Parser
,
specialD
iscount
,
specialD
etail
,
warehouseDetails
,
warehouseDetails
,
shippingDetail
,
shippingDetail
,
SplitDetail
,
SplitDetail
,
...
@@ -158,7 +158,7 @@ export default {
...
@@ -158,7 +158,7 @@ export default {
}
}
const
map
=
{
const
map
=
{
"
special-discount
"
:
{
"
special-discount
"
:
{
component
:
'
special-d
iscount
'
,
component
:
'
special-d
etail
'
,
id
:
this
.
processInstance
.
businessKey
,
id
:
this
.
processInstance
.
businessKey
,
readonly
:
true
readonly
:
true
},
},
...
...
src/views/ecw/customer/query.vue
View file @
f5d996fc
...
@@ -233,20 +233,28 @@
...
@@ -233,20 +233,28 @@
<
customer
-
complaint
ref
=
"
customerComplaint
"
:
customer
-
id
=
"
id
"
hidden
-
search
><
/customer-complaint
>
<
customer
-
complaint
ref
=
"
customerComplaint
"
:
customer
-
id
=
"
id
"
hidden
-
search
><
/customer-complaint
>
<
/el-tab-pane
>
<
/el-tab-pane
>
<
el
-
tab
-
pane
label
=
"
账单
"
>
<
el
-
tab
-
pane
label
=
"
账单
"
>
<
el
-
table
style
=
"
width: 100%
"
>
<
el
-
table
style
=
"
width: 100%
"
:
data
=
"
infoListReceiptList
"
>
<
el
-
table
-
column
label
=
"
序号
"
><
/el-table-column
>
<
el
-
table
-
column
label
=
"
序号
"
type
=
"
index
"
><
/el-table-column
>
<
el
-
table
-
column
label
=
"
账单
"
><
/el-table-column
>
<
el
-
table
-
column
label
=
"
账单
"
prop
=
"
receiptNo
"
><
/el-table-column
>
<
el
-
table
-
column
label
=
"
订单号
"
><
/el-table-column
>
<
el
-
table
-
column
label
=
"
订单号
"
prop
=
"
orderNo
"
><
/el-table-column
>
<
el
-
table
-
column
label
=
"
箱数
"
><
/el-table-column
>
<
el
-
table
-
column
label
=
"
箱数
"
prop
=
"
num
"
><
/el-table-column
>
<
el
-
table
-
column
label
=
"
方数
"
><
/el-table-column
>
<
el
-
table
-
column
label
=
"
方数
"
prop
=
"
volume
"
><
/el-table-column
>
<
el
-
table
-
column
label
=
"
重量
"
><
/el-table-column
>
<
el
-
table
-
column
label
=
"
重量
"
prop
=
"
weight
"
><
/el-table-column
>
<
el
-
table
-
column
label
=
"
类型
"
><
/el-table-column
>
<
el
-
table
-
column
label
=
"
类型
"
>
<
el
-
table
-
column
label
=
"
费用类型
"
><
/el-table-column
>
<
template
v
-
slot
=
"
{row
}
"
>
<
el
-
table
-
column
label
=
"
金额
"
><
/el-table-column
>
<
dict
-
tag
:
type
=
"
DICT_TYPE.PAYMENT_TYPE
"
:
value
=
"
row.collectionType
"
/>
<
el
-
table
-
column
label
=
"
汇率
"
><
/el-table-column
>
<
/template
>
<
el
-
table
-
column
label
=
"
实收金额
"
><
/el-table-column
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"
实收日期
"
><
/el-table-column
>
<
el
-
table
-
column
label
=
"
费用类型
"
>
<
el
-
table
-
column
label
=
"
业务员
"
><
/el-table-column
>
<
template
v
-
slot
=
"
{row
}
"
>
<
dict
-
tag
:
type
=
"
DICT_TYPE.FEE_TYPE
"
:
value
=
"
row.feeType
"
/>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"
金额
"
prop
=
"
totalAmount
"
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"
已核销比例
"
prop
=
"
writeOffScale
"
><
/el-table-column
>
<
el
-
table
-
column
label
=
"
实收日期
"
prop
=
"
writeOffAt
"
><
/el-table-column
>
<
el
-
table
-
column
label
=
"
业务员
"
prop
=
"
salesmanName
"
><
/el-table-column
>
<
/el-table
>
<
/el-table
>
<
/el-tab-pane
>
<
/el-tab-pane
>
<
el
-
tab
-
pane
label
=
"
数据
"
>
<
el
-
tab
-
pane
label
=
"
数据
"
>
...
@@ -312,11 +320,7 @@
...
@@ -312,11 +320,7 @@
<
div
slot
=
"
header
"
class
=
"
clearfix
"
>
<
div
slot
=
"
header
"
class
=
"
clearfix
"
>
<
el
-
button
style
=
"
float: right;
"
type
=
"
primary
"
@
click
=
"
dialogVisible = true
"
>
添加信用日志
<
/el-button
>
<
el
-
button
style
=
"
float: right;
"
type
=
"
primary
"
@
click
=
"
dialogVisible = true
"
>
添加信用日志
<
/el-button
>
<
el
-
descriptions
:
column
=
"
5
"
border
>
<
el
-
descriptions
:
column
=
"
5
"
border
>
<
el
-
descriptions
-
item
label
=
"
信用分
"
><
/el-descriptions-item
>
<
el
-
descriptions
-
item
v
-
for
=
"
(item,index) in creditScoreStatisticObj
"
:
key
=
"
index
"
:
label
=
"
creditScoreCalculation(item.type)
"
>
{{
item
.
score
}}
<
/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
>
<
/el-descriptions
>
<
/div
>
<
/div
>
<
el
-
table
:
data
=
"
customerCreditLogList
"
>
<
el
-
table
:
data
=
"
customerCreditLogList
"
>
...
@@ -329,7 +333,7 @@
...
@@ -329,7 +333,7 @@
<
/el-table-column
>
<
/el-table-column
>
<
el
-
table
-
column
prop
=
"
score
"
label
=
"
规则得分
"
><
/el-table-column
>
<
el
-
table
-
column
prop
=
"
score
"
label
=
"
规则得分
"
><
/el-table-column
>
<
el
-
table
-
column
prop
=
"
remark
"
label
=
"
备注
"
><
/el-table-column
>
<
el
-
table
-
column
prop
=
"
remark
"
label
=
"
备注
"
><
/el-table-column
>
<
el
-
table
-
column
label
=
"
添加人
"
><
/el-table-column
>
<
el
-
table
-
column
label
=
"
添加人
"
prop
=
"
createName
"
><
/el-table-column
>
<
el
-
table
-
column
label
=
"
时间
"
>
<
el
-
table
-
column
label
=
"
时间
"
>
<
template
v
-
slot
=
"
{row
}
"
>
<
template
v
-
slot
=
"
{row
}
"
>
{{
parseTime
(
row
.
createTime
)
}}
{{
parseTime
(
row
.
createTime
)
}}
...
@@ -366,20 +370,22 @@
...
@@ -366,20 +370,22 @@
width
=
"
30%
"
width
=
"
30%
"
>
>
<
h1
slot
=
"
title
"
>
<
h1
slot
=
"
title
"
>
给客户【
小六子
】添加信用日志
给客户【
{{
customer
.
name
}}
】添加信用日志
<
/h1
>
<
/h1
>
<
el
-
form
label
-
width
=
"
100
"
>
<
el
-
form
label
-
width
=
"
100
"
>
<
el
-
form
-
item
label
=
"
客户编号:
"
><
/el-form-item
>
<
el
-
form
-
item
label
=
"
客户编号:
"
>
{{
customer
.
number
}}
<
/el-form-item
>
<
el
-
form
-
item
label
=
"
信用类别
"
>
<
el
-
form
-
item
label
=
"
信用类别
"
>
<
el
-
select
><
/el-select
>
<
el
-
select
v
-
model
=
"
creditFrom.ruleId
"
>
<
el
-
option
v
-
for
=
"
(item,index) in creditTypeList
"
:
key
=
"
index
"
:
value
=
"
item.id
"
:
label
=
"
item.name
"
><
/el-option
>
<
/el-select
>
<
/el-form-item
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"
信用分
"
>
<
/el-form-item
>
<
el
-
form
-
item
v
-
if
=
"
creditTypeList.length > 0
"
label
=
"
信用分
"
>
{{(
creditTypeList
.
find
(
r
=>
creditFrom
.
ruleId
===
r
.
id
)
||
{
}
).
score
}}
分
<
/el-form-item
>
<
el
-
form
-
item
label
=
"
备注
"
>
<
el
-
form
-
item
label
=
"
备注
"
>
<
el
-
input
type
=
"
textarea
"
>
<
/el-input
>
<
el
-
input
type
=
"
textarea
"
v
-
model
=
"
creditFrom.remark
"
>
<
/el-input
>
<
/el-form-item
>
<
/el-form-item
>
<
/el-form
>
<
/el-form
>
<
span
slot
=
"
footer
"
class
=
"
dialog-footer
"
>
<
span
slot
=
"
footer
"
class
=
"
dialog-footer
"
>
<
el
-
button
>
提交
<
/el-button
>
<
el
-
button
@
click
=
"
submit
"
>
提交
<
/el-button
>
<
el
-
button
@
click
=
"
dialogVisible = false
"
>
取消
<
/el-button
>
<
el
-
button
@
click
=
"
dialogVisible = false
"
>
取消
<
/el-button
>
<
/span
>
<
/span
>
<
/el-dialog
>
<
/el-dialog
>
...
@@ -392,7 +398,13 @@ import {
...
@@ -392,7 +398,13 @@ import {
getCustomerSelect
,
getCustomerSelect
,
getBrankByCustomer
,
getBrankByCustomer
,
levelLogPage
,
levelLogPage
,
customerCreditLogPage
,
infoListOrderPage
,
infoListOfferPage
,
orderStatistics
customerCreditLogPage
,
infoListOrderPage
,
infoListOfferPage
,
orderStatistics
,
creditLogCreate
,
creditScoreStatistic
,
infoListReceiptPage
}
from
'
@/api/ecw/customer
'
}
from
'
@/api/ecw/customer
'
import
{
DICT_TYPE
,
getDictDataLabel
}
from
'
@/utils/dict
'
import
{
DICT_TYPE
,
getDictDataLabel
}
from
'
@/utils/dict
'
import
{
getProductTypeList
}
from
'
@/api/ecw/productType
'
import
{
getProductTypeList
}
from
'
@/api/ecw/productType
'
...
@@ -404,6 +416,7 @@ import { listServiceUser } from '@/api/system/user'
...
@@ -404,6 +416,7 @@ import { listServiceUser } from '@/api/system/user'
import
{
getCustomerContactsListByCustomer
}
from
'
@/api/ecw/customerContacts
'
import
{
getCustomerContactsListByCustomer
}
from
'
@/api/ecw/customerContacts
'
import
{
getOrderPage
}
from
"
@/api/ecw/order
"
;
import
{
getOrderPage
}
from
"
@/api/ecw/order
"
;
import
Template
from
"
@/views/cms/template
"
;
import
Template
from
"
@/views/cms/template
"
;
import
{
getCreditRulePage
}
from
"
@/api/customer/creditRule
"
;
export
default
{
export
default
{
name
:
'
query
'
,
name
:
'
query
'
,
...
@@ -416,6 +429,10 @@ export default {
...
@@ -416,6 +429,10 @@ export default {
CustomerComplaint
CustomerComplaint
}
,
}
,
created
()
{
created
()
{
//获取信用类型
getCreditRulePage
({
page
:
1
,
rows
:
999
,
type
:
2
}
).
then
(
r
=>
{
this
.
creditTypeList
=
r
.
data
.
list
}
)
getNodeList
().
then
(
r
=>
{
getNodeList
().
then
(
r
=>
{
this
.
nodeList
=
r
.
data
this
.
nodeList
=
r
.
data
}
)
}
)
...
@@ -442,6 +459,8 @@ export default {
...
@@ -442,6 +459,8 @@ export default {
this
.
getorderList
()
this
.
getorderList
()
this
.
getInfoListOfferPage
()
this
.
getInfoListOfferPage
()
this
.
getOrderStatistics
()
this
.
getOrderStatistics
()
this
.
creditScoreStatisticFn
()
this
.
infoListReceiptFn
()
}
,
}
,
data
()
{
data
()
{
return
{
return
{
...
@@ -531,7 +550,16 @@ export default {
...
@@ -531,7 +550,16 @@ export default {
}
,
}
,
infoListOfferTotal
:
0
,
infoListOfferTotal
:
0
,
infoListOfferList
:[],
infoListOfferList
:[],
orderStatisticsObj
:{
}
orderStatisticsObj
:{
}
,
creditTypeList
:[],
creditFrom
:{
}
,
//添加信用 日志
creditScoreStatisticObj
:[],
infoListReceiptList
:[],
infoListReceiptFrom
:{
pageNo
:
1
,
pageSize
:
10
,
}
,
infoListReceiptTotal
:
0
}
}
}
,
}
,
computed
:
{
computed
:
{
...
@@ -551,6 +579,15 @@ export default {
...
@@ -551,6 +579,15 @@ export default {
}
,
}
,
id
()
{
id
()
{
return
this
.
customerId
?
parseInt
(
this
.
customerId
)
:
undefined
return
this
.
customerId
?
parseInt
(
this
.
customerId
)
:
undefined
}
,
creditScoreCalculation
(){
return
(
val
)
=>
{
if
(
val
===
'
all
'
){
return
'
信用分
'
}
else
{
return
(
this
.
getDictDatas
(
DICT_TYPE
.
CUSTOMER_CREDIT_RULE_TYPE
).
find
(
i
=>
i
.
value
===
val
)
||
{
}
).
label
}
}
}
}
}
,
}
,
methods
:{
methods
:{
...
@@ -614,6 +651,32 @@ export default {
...
@@ -614,6 +651,32 @@ export default {
this
.
orderStatisticsObj
=
r
.
data
this
.
orderStatisticsObj
=
r
.
data
}
}
}
)
}
)
}
,
submit
(){
creditLogCreate
({
customerId
:
this
.
id
,...
this
.
creditFrom
}
).
then
(
r
=>
{
if
(
r
.
code
===
0
){
this
.
creditLogPage
();
this
.
creditFrom
=
{
}
;
this
.
dialogVisible
=
false
;
}
}
)
}
,
//获得信用客户统计
creditScoreStatisticFn
(){
creditScoreStatistic
({
customerId
:
this
.
id
}
).
then
(
r
=>
{
console
.
log
(
r
)
if
(
r
.
code
===
0
)
this
.
creditScoreStatisticObj
=
r
.
data
}
)
}
,
// 获取账单数据
infoListReceiptFn
(){
infoListReceiptPage
({...
this
.
infoListReceiptFrom
,
customerId
:
this
.
id
}
).
then
(
r
=>
{
console
.
log
(
r
)
if
(
r
.
code
===
0
){
this
.
infoListReceiptList
=
r
.
data
.
list
;
this
.
infoListReceiptTotal
=
r
.
data
.
total
;
}
}
)
}
}
}
}
}
}
...
...
src/views/ecw/offer/components/specialDetail.vue
0 → 100644
View file @
f5d996fc
<
template
>
<el-descriptions
border
:column=
"1"
>
<el-descriptions-item
label=
"商品类型"
>
{{
form
.
productType
}}
</el-descriptions-item>
<el-descriptions-item
label=
"商品名称"
>
{{
form
.
prodTitleZh
}}
</el-descriptions-item>
<el-descriptions-item
label=
"英文名称"
>
{{
form
.
prodTitleEn
}}
</el-descriptions-item>
<el-descriptions-item
label=
"线路"
>
{{
`【${getDictDataLabel(DICT_TYPE.TRANSPORT_TYPE, form.transportId)
}
】${ getChannelNameById(form.channelId)
}
从【${form.departureName
}
】发往【${form.objectiveName
}
】`
}}
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
label
=
"
是否预付
"
>
{{
form
.
isPayAdvance
===
0
?
'
是
'
:
'
否
'
}}
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
label
=
"
旧运费
"
>
{{
form
.
orgSeaFreight
}}
{{
currentMap
[
form
.
orgSeaFreightCurrency
]
}}
/
{{
unitMap
[
form
.
orgSeaFreightVolume
]
}}
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
label
=
"
旧清关费
"
>
{{
form
.
orgClearanceFreight
}}
{{
currentMap
[
form
.
orgClearanceFreightCurrency
]
}}
/
{{
unitMap
[
form
.
orgClearanceFreightVolume
]
}}
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
label
=
"
新运费
"
>
{{
form
.
seaFreight
}}
{{
currentMap
[
form
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
form
.
seaFreightVolume
]
}}
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
label
=
"
新清关费
"
>
{{
form
.
clearanceFreight
}}
{{
currentMap
[
form
.
clearanceFreightCurrency
]
}}
/
{{
unitMap
[
form
.
clearanceFreightVolume
]
}}
<
/el-descriptions-item
>
<
/el-descriptions
>
<
/template
>
<
script
>
import
{
createOfferSpecial
,
getOfferSpecial
,
getOfferSpecialByApproveId
}
from
"
@/api/ecw/offer
"
import
{
DICT_TYPE
,
getDictDataLabel
}
from
"
@/utils/dict
"
import
{
getUnitList
}
from
"
@/api/ecw/unit
"
import
{
getChannelList
}
from
"
@/api/ecw/channel
"
import
{
getCurrencyList
}
from
'
@/api/ecw/currency
'
import
{
getProductAttrList
}
from
'
@/api/ecw/productAttr
'
export
default
{
name
:
"
specialDetail
"
,
props
:
{
offerProdId
:
Number
,
id
:
[
String
,
Number
],
readonly
:
{
type
:
Boolean
,
default
:
false
}
}
,
created
()
{
// 从流程查看详情
if
(
this
.
id
)
this
.
getOfferSpecialByApproveId
()
getUnitList
().
then
(
res
=>
this
.
unitList
=
res
.
data
)
getChannelList
().
then
(
res
=>
this
.
channelList
=
res
.
data
)
getCurrencyList
().
then
(
res
=>
this
.
currencyList
=
res
.
data
)
getProductAttrList
().
then
(
res
=>
this
.
productAttrList
=
res
.
data
)
}
,
data
()
{
return
{
getDictDataLabel
,
DICT_TYPE
,
unitList
:[],
channelList
:[],
currencyList
:[],
productAttrList
:[],
ccIdArr
:
[],
form
:
{
type
:
1
}
,
rules
:{
seaFreight
:
{
required
:
true
,
message
:
'
运费不能为空
'
}
,
clearanceFreight
:
{
required
:
true
,
message
:
'
清关费不能为空
'
}
}
}
}
,
watch
:{
ccIdArr
(){
this
.
$set
(
this
.
form
,
'
ccIds
'
,
this
.
ccIdArr
.
join
(
'
,
'
))
}
}
,
methods
:
{
handleSubmit
(){
this
.
$refs
.
form
.
validate
().
then
(
res
=>
{
console
.
log
(
this
.
form
.
type
)
createOfferSpecial
(
Object
.
assign
({
}
,
this
.
form
,
{
type
:
1
}
)).
then
(
res
=>
{
this
.
$message
.
success
(
r
.
msg
||
'
提交成功
'
)
}
)
}
)
}
,
getOfferSpecial
(){
getOfferSpecial
(
this
.
offerProdId
,
{
type
:
1
}
).
then
(
r
=>
{
this
.
form
=
r
.
data
}
)
}
,
getOfferSpecialByApproveId
(){
getOfferSpecialByApproveId
(
this
.
id
).
then
(
r
=>
{
this
.
form
=
r
.
data
}
)
}
,
getProductAttrNameById
(
id
){
return
this
.
productAttrList
.
find
(
e
=>
e
.
id
===
id
)?.
attrName
||
''
}
}
,
computed
:
{
// 根据渠道id显示渠道名
getChannelNameById
(){
return
channelId
=>
{
const
s
=
this
.
channelList
.
find
(
item
=>
item
.
channelId
==
channelId
)
?.
nameZh
return
s
?
'
【
'
+
s
+
'
】
'
:
''
}
}
,
currentMap
(){
let
map
=
{
}
this
.
currencyList
.
forEach
(
item
=>
{
map
[
item
.
id
]
=
item
.
titleZh
}
)
return
map
}
,
unitMap
(){
let
map
=
{
}
this
.
unitList
.
forEach
(
item
=>
{
map
[
item
.
id
]
=
item
.
titleZh
}
)
return
map
}
}
}
<
/script
>
<
style
scoped
>
<
/style
>
src/views/ecw/offer/components/specialDiscount.vue
0 → 100644
View file @
f5d996fc
<
template
>
<el-dialog
visible
:close-on-click-modal=
"false"
:before-close=
"closeDialog"
:title=
"$t('优惠申请')"
>
<el-form
ref=
"form"
:model=
"form"
label-width=
"80px"
:rules=
"rules"
>
<el-form-item
:label=
"$t('商品类型')"
>
<span>
{{
getProductAttrNameById
(
form
.
productType
)
}}
</span>
</el-form-item>
<el-form-item
:label=
"$t('商品名称')"
>
<span>
{{
form
.
prodTitleZh
}}
</span>
</el-form-item>
<el-form-item
:label=
"$t('英文名称')"
>
<span>
{{
form
.
prodTitleEn
}}
</span>
</el-form-item>
<el-form-item
:label=
"$t('线路')"
>
{{
`【${getDictDataLabel(DICT_TYPE.TRANSPORT_TYPE, form.transportId)
}
】${ getChannelNameById(form.channelId)
}
从【${form.departureName
}
】发往【${form.objectiveName
}
】`
}}
<
/el-form-item
>
<
el
-
form
-
item
:
label
=
"
$t('是否预付')
"
>
<
dict
-
tag
:
type
=
"
DICT_TYPE.ECW_YESNO
"
:
value
=
"
form.isPayAdvance
"
/>
<
/el-form-item
>
<
el
-
row
v
-
if
=
"
!form.charging
"
>
<
el
-
col
:
span
=
"
12
"
>
<
el
-
form
-
item
:
label
=
"
$t('旧运费')
"
>
{{
form
.
orgSeaFreight
}}
{{
currentMap
[
form
.
orgSeaFreightCurrency
]
}}
/
{{
unitMap
[
form
.
orgSeaFreightVolume
]
}}
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"
12
"
>
<
el
-
form
-
item
:
label
=
"
$t('旧清关费')
"
>
{{
form
.
orgClearanceFreight
}}
{{
currentMap
[
form
.
orgClearanceFreightCurrency
]
}}
/
{{
unitMap
[
form
.
orgClearanceFreightVolume
]
}}
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
<
el
-
row
v
-
if
=
"
!form.charging
"
>
<
el
-
col
:
span
=
"
12
"
>
<
el
-
form
-
item
:
label
=
"
$t('新运费')
"
style
=
"
width: 400px
"
prop
=
"
seaFreight
"
>
<
el
-
input
v
-
model
=
"
form.seaFreight
"
type
=
"
number
"
class
=
"
w-100
"
/>
{{
currentMap
[
form
.
orgSeaFreightCurrency
]
}}
/
{{
unitMap
[
form
.
orgSeaFreightVolume
]
}}
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"
12
"
>
<
el
-
form
-
item
:
label
=
"
$t('新清关费')
"
style
=
"
width: 400px
"
prop
=
"
clearanceFreight
"
>
<
el
-
input
v
-
model
=
"
form.clearanceFreight
"
type
=
"
number
"
class
=
"
w-100
"
/>
{{
currentMap
[
form
.
orgClearanceFreightCurrency
]
}}
/
{{
unitMap
[
form
.
orgClearanceFreightVolume
]
}}
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
<
el
-
form
-
item
:
label
=
"
$t('旧全包价')
"
v
-
if
=
"
form.charging
"
>
{{
form
.
orgSeaFreight
}}
{{
currentMap
[
form
.
orgSeaFreightCurrency
]
}}
/
{{
unitMap
[
form
.
orgSeaFreightVolume
]
}}
<
/el-form-item
>
<
el
-
form
-
item
:
label
=
"
$t('新全包价')
"
style
=
"
width: 400px
"
prop
=
"
clearanceFreight
"
v
-
if
=
"
form.charging
"
>
<
el
-
input
v
-
model
=
"
form.seaFreight
"
type
=
"
number
"
class
=
"
w-100
"
/>
{{
currentMap
[
form
.
orgSeaFreightCurrency
]
}}
/
{{
unitMap
[
form
.
orgSeaFreightVolume
]
}}
<
/el-form-item
>
<
/el-form
>
<
div
class
=
"
page-title
"
>
审批流程
<
/div
>
<
work
-
flow
xmlkey
=
"
sheet_sale
"
v
-
model
=
"
ccIdArr
"
/>
<
div
>
<
el
-
button
type
=
"
primary
"
@
click
=
"
handleSubmit
"
>
提交
<
/el-button
>
<
/div
>
<
/el-dialog
>
<
/template
>
<
script
>
import
{
createOfferSpecial
,
getOfferSpecial
,
getOfferSpecialByApproveId
}
from
"
@/api/ecw/offer
"
import
{
DICT_TYPE
,
getDictDataLabel
}
from
"
@/utils/dict
"
import
DictSelector
from
"
@/components/DictSelector
"
import
{
getUnitList
}
from
"
@/api/ecw/unit
"
import
{
getChannelList
}
from
"
@/api/ecw/channel
"
import
{
getCurrencyList
}
from
'
@/api/ecw/currency
'
import
{
getProductAttrList
}
from
'
@/api/ecw/productAttr
'
import
WorkFlow
from
'
@/components/WorkFlow
'
export
default
{
name
:
"
specialDiscount
"
,
props
:
{
offerProdId
:
Number
,
}
,
components
:
{
DictSelector
,
WorkFlow
}
,
created
()
{
// 查看详情,列表进来的
if
(
this
.
offerProdId
){
this
.
getOfferSpecial
()
}
getUnitList
().
then
(
res
=>
this
.
unitList
=
res
.
data
)
getChannelList
().
then
(
res
=>
this
.
channelList
=
res
.
data
)
getCurrencyList
().
then
(
res
=>
this
.
currencyList
=
res
.
data
)
getProductAttrList
().
then
(
res
=>
this
.
productAttrList
=
res
.
data
)
}
,
data
()
{
return
{
getDictDataLabel
,
DICT_TYPE
,
unitList
:[],
channelList
:[],
currencyList
:[],
productAttrList
:[],
ccIdArr
:
[],
form
:
{
type
:
1
}
,
rules
:{
seaFreight
:
{
required
:
true
,
message
:
'
运费不能为空
'
}
,
clearanceFreight
:
{
required
:
true
,
message
:
'
清关费不能为空
'
}
}
}
}
,
watch
:{
ccIdArr
(){
this
.
$set
(
this
.
form
,
'
ccIds
'
,
this
.
ccIdArr
.
join
(
'
,
'
))
}
}
,
methods
:
{
handleSubmit
(){
this
.
$refs
.
form
.
validate
().
then
(
res
=>
{
console
.
log
(
this
.
form
.
type
)
createOfferSpecial
(
Object
.
assign
({
}
,
this
.
form
,
{
type
:
1
}
)).
then
(
res
=>
{
this
.
$message
.
success
(
this
.
$t
(
'
提交成功
'
))
}
)
}
)
}
,
getOfferSpecial
(){
getOfferSpecial
(
this
.
offerProdId
,
{
type
:
1
}
).
then
(
r
=>
{
this
.
form
=
r
.
data
}
)
}
,
getProductAttrNameById
(
id
){
return
this
.
productAttrList
.
find
(
e
=>
e
.
id
===
id
)?.
attrName
||
''
}
,
closeDialog
(){
this
.
$emit
(
'
close
'
)
}
}
,
computed
:
{
// 根据渠道id显示渠道名
getChannelNameById
(){
return
channelId
=>
{
const
s
=
this
.
channelList
.
find
(
item
=>
item
.
channelId
==
channelId
)
?.
nameZh
return
s
?
'
【
'
+
s
+
'
】
'
:
''
}
}
,
currentMap
(){
let
map
=
{
}
this
.
currencyList
.
forEach
(
item
=>
{
map
[
item
.
id
]
=
this
.
$l
(
item
,
'
title
'
)
}
)
return
map
}
,
unitMap
(){
let
map
=
{
}
this
.
unitList
.
forEach
(
item
=>
{
map
[
item
.
id
]
=
this
.
$l
(
item
,
'
title
'
)
}
)
return
map
}
}
}
<
/script
>
src/views/ecw/offer/edit.vue
View file @
f5d996fc
...
@@ -465,8 +465,13 @@
...
@@ -465,8 +465,13 @@
<el-form-item
label=
""
class=
"mt-20"
>
<el-form-item
label=
""
class=
"mt-20"
>
<el-button
type=
"primary"
@
click=
"submitForm(2)"
>
{{$t('保存草稿')}}
</el-button>
<!-- 非草稿状态显示为编辑按钮 -->
<el-button
type=
"primary"
@
click=
"submitForm(3)"
>
{{$t('确认报价')}}
</el-button>
<el-button
v-if=
"form.offerId && form.status != 2"
type=
"primary"
@
click=
"submitForm(2)"
>
{{$t('编辑')}}
</el-button>
<
template
v-else
>
<el-button
type=
"primary"
@
click=
"submitForm(2)"
>
{{
$t
(
'
保存草稿
'
)
}}
</el-button>
<!-- 草稿 -->
<el-button
type=
"primary"
@
click=
"submitForm(3)"
>
{{
$t
(
'
确认报价
'
)
}}
</el-button>
<!-- 需求确认 -->
</
template
>
<el-button
@
click=
"$store.dispatch('tagsView/delCurrentView')"
>
{{$t('取消')}}
</el-button>
<el-button
@
click=
"$store.dispatch('tagsView/delCurrentView')"
>
{{$t('取消')}}
</el-button>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
...
@@ -847,19 +852,8 @@ export default {
...
@@ -847,19 +852,8 @@ export default {
/** 提交按钮 */
/** 提交按钮 */
submitForm
(
status
)
{
submitForm
(
status
)
{
this
.
$refs
[
"
form
"
].
validate
((
valid
,
errors
)
=>
{
this
.
$refs
[
"
form
"
].
validate
((
valid
,
errors
)
=>
{
console
.
log
({
valid
,
errors
})
if
(
!
valid
)
{
if
(
!
valid
)
{
return
this
.
$showFormValidateErrors
(
errors
);
return
this
.
$showFormValidateErrors
(
errors
)
/* let h = this.$createElement
this.$notify({
'title': '表单错误',
type: 'warning',
message: h('div', [
h('div', '请填写某某'),
h('div', '水电费水电费')
])
}) */
return
;
}
}
this
.
form
.
prodCreateReqVOList
.
map
(
item
=>
{
this
.
form
.
prodCreateReqVOList
.
map
(
item
=>
{
...
@@ -867,14 +861,8 @@ export default {
...
@@ -867,14 +861,8 @@ export default {
item
.
lineId
=
this
.
form
.
lineId
item
.
lineId
=
this
.
form
.
lineId
item
.
channelId
=
this
.
form
.
channelId
item
.
channelId
=
this
.
form
.
channelId
item
.
transportId
=
this
.
form
.
transportId
item
.
transportId
=
this
.
form
.
transportId
// item.brandType = item.brand ? 1 : 0
})
})
/* 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
)
{
if
(
this
.
form
.
offerId
!=
null
)
{
let
data
=
Object
.
assign
({},
this
.
form
,
{
let
data
=
Object
.
assign
({},
this
.
form
,
{
...
@@ -891,7 +879,6 @@ export default {
...
@@ -891,7 +879,6 @@ export default {
return
;
return
;
}
}
let
data
=
Object
.
assign
({},
this
.
form
,
{
let
data
=
Object
.
assign
({},
this
.
form
,
{
// transportCreateReqVOList: this.transportList.filter(item => item._enabled),
prodCreateReqVOList
:
this
.
getProductListWithDefaultValue
(),
prodCreateReqVOList
:
this
.
getProductListWithDefaultValue
(),
status
status
})
})
...
...
src/views/ecw/offer/index.vue
View file @
f5d996fc
...
@@ -113,18 +113,26 @@
...
@@ -113,18 +113,26 @@
<
/el-table-column
>
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('操作')
"
align
=
"
center
"
class
-
name
=
"
small-padding fixed-width
"
>
<
el
-
table
-
column
:
label
=
"
$t('操作')
"
align
=
"
center
"
class
-
name
=
"
small-padding fixed-width
"
>
<
template
slot
-
scope
=
"
scope
"
>
<
template
slot
-
scope
=
"
scope
"
>
<!--
0
取消
恢复
1
特价审批
编辑、跟进、
取消
删除
2
草稿
编辑、
删除
3
需求确认
编辑、跟进、结果、特价、取消
删除
4
赢单
删除
5
输单
删除
6
完成
删除
-->
<
el
-
dropdown
>
<
el
-
dropdown
>
<
el
-
button
icon
=
"
el-icon-plus
"
circle
type
=
"
primary
"
><
/el-button
>
<
el
-
button
icon
=
"
el-icon-plus
"
circle
type
=
"
primary
"
><
/el-button
>
<
el
-
dropdown
-
menu
slot
=
"
dropdown
"
>
<
el
-
dropdown
-
menu
slot
=
"
dropdown
"
>
<
el
-
dropdown
-
item
@
click
.
native
=
"
$router.push('detail?offerId=' + scope.row.offerId)
"
>
{{
$t
(
'
详情
'
)
}}
<
/el-dropdown-item
>
<
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
@
click
.
native
=
"
$router.push('edit?id=' + scope.row.offerId)
"
v
-
if
=
"
[1,2,3].indexOf(scope.row.status) > -1
"
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
@
click
.
native
=
"
$router.push('logList?offerId=' + scope.row.offerId)
"
v
-
if
=
"
[1,3].indexOf(scope.row.status) > -1
"
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
@
click
.
native
=
"
$router.push(`result?offerId=${scope.row.offerId
}
&number=${scope.row.number
}
`)
"
v
-
if
=
"
[3].indexOf(scope.row.status) > -1
"
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
@
click
.
native
=
"
$router.push('/offer/special?offerId=' + scope.row.offerId)
"
v
-
if
=
"
[3].indexOf(scope.row.status) > -1
"
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
@
click
.
native
=
"
$alert('// TODO')
"
v
-
if
=
"
[1,3].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
@
click
.
native
=
"
$alert('// TODO')
"
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
-
item
@
click
.
native
=
"
$alert('// TODO')
"
v
-
if
=
"
[1,2,3,4,5,6].indexOf(scope.row.status) > -1
"
v
-
hasPermi
=
"
['ecw:offer:delete']
"
>
{{
$t
(
'
删除
'
)
}}
<
/el-dropdown-item
>
<
/el-dropdown-menu
>
<
/el-dropdown-menu
>
<
/el-dropdown
>
<
/el-dropdown
>
...
...
src/views/ecw/offer/special.vue
View file @
f5d996fc
...
@@ -69,10 +69,9 @@
...
@@ -69,10 +69,9 @@
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
prop=
"address"
:label=
"$t('操作')"
>
:label=
"$t('操作')"
>
<
template
v-slot=
"{row}"
>
<
template
v-slot=
"{row}"
>
<el-button
size=
"mini"
type=
"text"
@
click=
"
$router.push(`/offer/discount/$
{row.offerProdId}?offerId=${row.offerId}`)
">
{{
$t
(
'
优惠申请
'
)
}}
</el-button>
<el-button
size=
"mini"
type=
"text"
@
click=
"
showOfferProdId=row.offerProdId
"
>
{{
$t
(
'
优惠申请
'
)
}}
</el-button>
<el-button
size=
"mini"
type=
"text"
@
click=
"$alert('// TODO')"
>
{{
$t
(
'
佣金规则
'
)
}}
</el-button>
<el-button
size=
"mini"
type=
"text"
@
click=
"$alert('// TODO')"
>
{{
$t
(
'
佣金规则
'
)
}}
</el-button>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
...
@@ -84,6 +83,7 @@
...
@@ -84,6 +83,7 @@
<el-button type="primary">申请泡货优惠</el-button>
<el-button type="primary">申请泡货优惠</el-button>
<el-button type="primary">关闭窗口</el-button>
<el-button type="primary">关闭窗口</el-button>
</div> -->
</div> -->
<special-discount
v-if=
"showOfferProdId"
:offerProdId=
"showOfferProdId"
@
close=
"showOfferProdId=null"
@
success=
"onSuccess"
/>
</el-card>
</el-card>
</div>
</div>
</template>
</template>
...
@@ -97,9 +97,11 @@ import {getProductAttrList} from "@/api/ecw/productAttr"
...
@@ -97,9 +97,11 @@ import {getProductAttrList} from "@/api/ecw/productAttr"
import
{
parseTime
}
from
'
@/utils/ruoyi
'
import
{
parseTime
}
from
'
@/utils/ruoyi
'
import
{
listByIds
}
from
'
@/api/ecw/region
'
import
{
listByIds
}
from
'
@/api/ecw/region
'
import
{
getChannel
}
from
'
@/api/ecw/channel
'
import
{
getChannel
}
from
'
@/api/ecw/channel
'
import
specialDiscount
from
'
@/views/ecw/offer/components/specialDiscount
'
export
default
{
export
default
{
name
:
"
OfferSpecial
"
,
name
:
"
OfferSpecial
"
,
components
:
{
components
:
{
specialDiscount
},
},
props
:
{
props
:
{
offerId
:
String
offerId
:
String
...
@@ -131,6 +133,7 @@ export default {
...
@@ -131,6 +133,7 @@ export default {
objective
:
null
,
objective
:
null
,
departure
:
null
,
departure
:
null
,
channel
:
null
,
// 渠道信息
channel
:
null
,
// 渠道信息
showOfferProdId
:
null
// 显示申请优惠的产品id
};
};
},
},
watch
:{
watch
:{
...
@@ -145,11 +148,12 @@ export default {
...
@@ -145,11 +148,12 @@ export default {
methods
:
{
methods
:
{
getOffer
(){
getOffer
(){
this
.
loading
=
true
this
.
loading
=
true
getOffer
(
this
.
offerId
||
this
.
params
.
offerId
).
then
(
response
=>
{
getOffer
(
this
.
offerId
||
this
.
$route
.
query
.
offerId
).
then
(
response
=>
{
this
.
loading
=
false
this
.
offer
=
response
.
data
this
.
offer
=
response
.
data
this
.
getCity
()
this
.
getCity
()
this
.
getChannel
()
this
.
getChannel
()
}).
finally
(()
=>
{
this
.
loading
=
false
})
})
},
},
getChannel
(){
getChannel
(){
...
@@ -174,6 +178,9 @@ export default {
...
@@ -174,6 +178,9 @@ export default {
})
})
})
})
return
result
.
join
(
'
,
'
)
return
result
.
join
(
'
,
'
)
},
onSuccess
(){
this
.
showOfferProdId
=
null
}
}
},
},
computed
:
{
computed
:
{
...
...
src/views/ecw/offer/specialDiscount.vue
deleted
100644 → 0
View file @
c3ee67ac
<
template
>
<div
class=
"app-container"
>
<el-row
type=
"flex"
justify=
"center"
>
<el-col
:xs=
"24"
:sm=
"24"
:md=
"24"
:lg=
"20"
:xl=
"16"
>
<el-card
class=
"box-card"
>
<div
slot=
"header"
class=
"clearfix"
v-if=
"!readonly"
>
<span>
优惠申请
</span>
</div>
<el-form
v-if=
"!readonly"
ref=
"form"
:model=
"form"
label-width=
"80px"
>
<el-form-item
label=
"商品类型"
>
<span>
{{
getProductAttrNameById
(
form
.
productType
)
}}
</span>
</el-form-item>
<el-form-item
label=
"商品名称"
>
<span>
{{
form
.
prodTitleZh
}}
</span>
</el-form-item>
<el-form-item
label=
"英文名称"
>
<span>
{{
form
.
prodTitleEn
}}
</span>
</el-form-item>
<el-form-item
label=
"线路"
>
{{
`【${getDictDataLabel(DICT_TYPE.TRANSPORT_TYPE, form.transportId)
}
】${ getChannelNameById(form.channelId)
}
从【${form.departureName
}
】发往【${form.objectiveName
}
】`
}}
<
/el-form-item
>
<
el
-
form
-
item
label
=
"
是否预付
"
>
{{
form
.
isPayAdvance
===
0
?
'
是
'
:
'
否
'
}}
<
/el-form-item
>
<
el
-
form
-
item
label
=
"
旧运费
"
>
<
el
-
input
v
-
model
=
"
form.orgSeaFreight
"
readonly
style
=
"
width: 400px
"
>
<
div
slot
=
"
prepend
"
style
=
"
width: 60px
"
>
{{
currentMap
[
form
.
orgSeaFreightCurrency
]
}}
<
/div
>
<
div
slot
=
"
append
"
style
=
"
width: 60px
"
>
{{
unitMap
[
form
.
orgSeaFreightVolume
]
}}
<
/div
>
<
/el-input
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"
旧清关费
"
>
<
el
-
input
v
-
model
=
"
form.orgClearanceFreight
"
readonly
style
=
"
width: 400px
"
>
<
div
slot
=
"
prepend
"
style
=
"
width: 60px
"
>
{{
currentMap
[
form
.
orgClearanceFreightCurrency
]
}}
<
/div
>
<
div
slot
=
"
append
"
style
=
"
width: 60px
"
>
{{
unitMap
[
form
.
orgClearanceFreightVolume
]
}}
<
/div
>
<
/el-input
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"
新运费
"
required
style
=
"
width: 400px
"
>
<
el
-
input
v
-
model
=
"
form.seaFreight
"
type
=
"
number
"
>
<
el
-
select
v
-
model
=
"
form.seaFreightCurrency
"
placeholder
=
"
请选择
"
slot
=
"
prepend
"
style
=
"
width: 100px
"
>
<
el
-
option
v
-
for
=
"
item in currencyList
"
:
key
=
"
item.id
"
:
label
=
"
item.titleZh
"
:
value
=
"
item.id
"
>
<
/el-option
>
<
/el-select
>
<
el
-
select
v
-
model
=
"
form.seaFreightVolume
"
placeholder
=
"
请选择
"
slot
=
"
append
"
style
=
"
width: 100px
"
>
<
el
-
option
v
-
for
=
"
item in unitList
"
:
key
=
"
item.id
"
:
label
=
"
item.titleZh
"
:
value
=
"
item.id
"
>
<
/el-option
>
<
/el-select
>
<
/el-input
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"
新清关费
"
required
style
=
"
width: 400px
"
>
<
el
-
input
v
-
model
=
"
form.clearanceFreight
"
type
=
"
number
"
>
<
el
-
select
v
-
model
=
"
form.clearanceFreightCurrency
"
placeholder
=
"
请选择
"
slot
=
"
prepend
"
style
=
"
width: 100px
"
>
<
el
-
option
v
-
for
=
"
item in currencyList
"
:
key
=
"
item.id
"
:
label
=
"
item.titleZh
"
:
value
=
"
item.id
"
>
<
/el-option
>
<
/el-select
>
<
el
-
select
v
-
model
=
"
form.clearanceFreightVolume
"
placeholder
=
"
请选择
"
slot
=
"
append
"
style
=
"
width: 100px
"
>
<
el
-
option
v
-
for
=
"
item in unitList
"
:
key
=
"
item.id
"
:
label
=
"
item.titleZh
"
:
value
=
"
item.id
"
>
<
/el-option
>
<
/el-select
>
<
/el-input
>
<
/el-form-item
>
<
/el-form
>
<
div
v
-
if
=
"
!readonly
"
>
<
el
-
button
type
=
"
primary
"
@
click
=
"
handleSubmit
"
>
提交
<
/el-button
>
<
/div
>
<
el
-
descriptions
border
v
-
if
=
"
readonly
"
:
column
=
"
1
"
>
<
el
-
descriptions
-
item
label
=
"
商品类型
"
>
{{
form
.
productType
}}
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
label
=
"
商品名称
"
>
{{
form
.
prodTitleZh
}}
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
label
=
"
英文名称
"
>
{{
form
.
prodTitleEn
}}
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
label
=
"
线路
"
>
{{
`【${getDictDataLabel(DICT_TYPE.TRANSPORT_TYPE, form.transportId)
}
】${ getChannelNameById(form.channelId)
}
从【${form.departureName
}
】发往【${form.objectiveName
}
】`
}}
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
label
=
"
是否预付
"
>
{{
form
.
isPayAdvance
===
0
?
'
是
'
:
'
否
'
}}
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
label
=
"
旧运费
"
>
{{
form
.
orgSeaFreight
}}
{{
currentMap
[
form
.
orgSeaFreightCurrency
]
}}
/
{{
unitMap
[
form
.
orgSeaFreightVolume
]
}}
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
label
=
"
旧清关费
"
>
{{
form
.
orgClearanceFreight
}}
{{
currentMap
[
form
.
orgClearanceFreightCurrency
]
}}
/
{{
unitMap
[
form
.
orgClearanceFreightVolume
]
}}
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
label
=
"
新运费
"
>
{{
form
.
seaFreight
}}
{{
currentMap
[
form
.
seaFreightCurrency
]
}}
/
{{
unitMap
[
form
.
seaFreightVolume
]
}}
<
/el-descriptions-item
>
<
el
-
descriptions
-
item
label
=
"
新清关费
"
>
{{
form
.
clearanceFreight
}}
{{
currentMap
[
form
.
clearanceFreightCurrency
]
}}
/
{{
unitMap
[
form
.
clearanceFreightVolume
]
}}
<
/el-descriptions-item
>
<
/el-descriptions
>
<
/el-card
>
<
/el-col
>
<
/el-row
>
<
/div
>
<
/template
>
<
script
>
import
{
createOfferSpecial
,
getOfferSpecial
,
getOfferSpecialByApproveId
}
from
"
@/api/ecw/offer
"
import
{
DICT_TYPE
,
getDictDataLabel
}
from
"
@/utils/dict
"
import
DictSelector
from
"
@/components/DictSelector
"
import
{
getUnitList
}
from
"
@/api/ecw/unit
"
import
{
getChannelList
}
from
"
@/api/ecw/channel
"
import
{
getCurrencyList
}
from
'
@/api/ecw/currency
'
import
{
getProductAttrList
}
from
'
@/api/ecw/productAttr
'
export
default
{
name
:
"
specialDiscount
"
,
props
:
{
offerProdId
:
String
,
id
:
Number
,
readonly
:
{
type
:
Boolean
,
default
:
false
}
}
,
components
:
{
DictSelector
}
,
created
()
{
// 临时
if
(
this
.
$route
.
query
.
offerId
){
this
.
form
.
offerId
=
this
.
$route
.
query
.
offerId
-
0
// this.getOffer()
}
// 查看详情,列表进来的
if
(
this
.
offerProdId
){
this
.
form
.
offerProdId
=
this
.
offerProdId
-
0
this
.
getOfferSpecial
()
}
// 从流程查看详情
if
(
this
.
id
)
this
.
getOfferSpecialByApproveId
()
getUnitList
().
then
(
res
=>
this
.
unitList
=
res
.
data
)
getChannelList
().
then
(
res
=>
this
.
channelList
=
res
.
data
)
getCurrencyList
().
then
(
res
=>
this
.
currencyList
=
res
.
data
)
getProductAttrList
().
then
(
res
=>
this
.
productAttrList
=
res
.
data
)
}
,
data
()
{
return
{
getDictDataLabel
,
DICT_TYPE
,
unitList
:[],
channelList
:[],
currencyList
:[],
productAttrList
:[],
form
:
{
"
applyResult
"
:
""
,
"
applyStatus
"
:
0
,
"
channelId
"
:
0
,
"
clearanceFreight
"
:
0
,
"
clearanceFreightCurrency
"
:
0
,
"
clearanceFreightVolume
"
:
0
,
"
createTime
"
:
""
,
"
departureId
"
:
0
,
"
departureName
"
:
""
,
"
details
"
:
""
,
"
finishBy
"
:
""
,
"
finishTime
"
:
""
,
"
followUpSalesmanId
"
:
""
,
"
formId
"
:
""
,
"
isPayAdvance
"
:
0
,
"
lineId
"
:
0
,
"
objectiveId
"
:
0
,
"
objectiveName
"
:
""
,
"
offerApprovalId
"
:
0
,
"
offerId
"
:
0
,
"
offerProdId
"
:
0
,
"
orgClearanceFreight
"
:
0
,
"
orgClearanceFreightCurrency
"
:
0
,
"
orgClearanceFreightVolume
"
:
0
,
"
orgSeaFreight
"
:
0
,
"
orgSeaFreightCurrency
"
:
0
,
"
orgSeaFreightVolume
"
:
0
,
"
processingResults
"
:
""
,
"
prodId
"
:
0
,
"
prodTitleEn
"
:
""
,
"
prodTitleZh
"
:
""
,
"
productType
"
:
0
,
"
seaFreight
"
:
0
,
"
seaFreightCurrency
"
:
0
,
"
seaFreightVolume
"
:
0
,
"
status
"
:
0
,
"
transportId
"
:
0
,
"
type
"
:
0
}
}
}
,
methods
:
{
handleSubmit
(){
createOfferSpecial
({
clearanceFreight
:
this
.
form
.
clearanceFreight
,
clearanceFreightCurrency
:
this
.
form
.
clearanceFreightCurrency
,
clearanceFreightVolume
:
this
.
form
.
clearanceFreightVolume
,
offerId
:
this
.
form
.
offerId
,
offerProdId
:
this
.
form
.
offerProdId
,
seaFreight
:
this
.
form
.
seaFreight
,
seaFreightCurrency
:
this
.
form
.
seaFreightCurrency
,
seaFreightVolume
:
this
.
form
.
seaFreightVolume
,
}
).
then
(
r
=>
{
this
.
$message
.
success
(
r
.
msg
||
'
提交成功
'
)
}
)
}
,
getOfferSpecial
(){
getOfferSpecial
(
this
.
form
.
offerProdId
).
then
(
r
=>
{
this
.
form
=
r
.
data
}
)
}
,
getOfferSpecialByApproveId
(){
getOfferSpecialByApproveId
(
this
.
id
).
then
(
r
=>
{
this
.
form
=
r
.
data
}
)
}
,
getProductAttrNameById
(
id
){
return
this
.
productAttrList
.
find
(
e
=>
e
.
id
===
id
)?.
attrName
||
''
}
}
,
computed
:
{
// 根据渠道id显示渠道名
getChannelNameById
(){
return
channelId
=>
{
const
s
=
this
.
channelList
.
find
(
item
=>
item
.
channelId
==
channelId
)
?.
nameZh
return
s
?
'
【
'
+
s
+
'
】
'
:
''
}
}
,
currentMap
(){
let
map
=
{
}
this
.
currencyList
.
forEach
(
item
=>
{
map
[
item
.
id
]
=
item
.
titleZh
}
)
return
map
}
,
unitMap
(){
let
map
=
{
}
this
.
unitList
.
forEach
(
item
=>
{
map
[
item
.
id
]
=
item
.
titleZh
}
)
return
map
}
}
}
<
/script
>
<
style
scoped
>
<
/style
>
src/views/ecw/order/batchSingleApplication.vue
View file @
f5d996fc
...
@@ -83,20 +83,10 @@
...
@@ -83,20 +83,10 @@
调至
调至
</div></el-col>
</div></el-col>
<el-col
:span=
"8"
><el-select
v-model=
"params.warehouseInId"
>
<el-col
:span=
"8"
><el-select
v-model=
"params.warehouseInId"
>
<el-option
v-for=
"(item ,index) in availableWarehouse"
:value=
"item.id"
:label=
"item.titleZh"
<el-option
v-for=
"(item ,index) in availableWarehouse"
v-if=
"item.status !== 1"
:value=
"item.id"
:label=
"item.titleZh"
:key=
"index"
></el-option>
:key=
"index"
></el-option>
</el-select></el-col>
</el-select></el-col>
</el-row>
</el-row>
<div
style=
"display: flex;justify-content:center; margin-top: 20px"
>
<div
style=
"width: 200px; margin: 0 10px"
>
</div>
<div>
</div>
<div
style=
"width: 200px;"
>
</div>
</div>
<el-divider></el-divider>
<el-divider></el-divider>
<h1
class=
"title"
>
<h1
class=
"title"
>
审批流程
审批流程
...
...
src/views/ecw/order/components/BatchPickup.vue
View file @
f5d996fc
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
<el-dialog
:title=
"$t('批量提货')"
visible
:before-close=
"closeDialog"
:close-on-click-modal=
"false"
>
<el-dialog
:title=
"$t('批量提货')"
visible
:before-close=
"closeDialog"
:close-on-click-modal=
"false"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
>
<el-tabs
v-model=
"current"
type=
"card"
>
<el-tabs
v-model=
"current"
type=
"card"
>
<el-tab-pane
:label=
"$t('全部提货')"
name=
"create
OrderPickup
Batch"
>
<el-tab-pane
:label=
"$t('全部提货')"
name=
"createBatch"
>
<el-form-item
:label=
"$t('订单号') + '/' + this.$t('提单号')"
prop=
"orderId"
>
<el-form-item
:label=
"$t('订单号') + '/' + this.$t('提单号')"
prop=
"orderId"
>
<el-input
v-model=
"form.orderId"
:placeholder=
"$t('例:NA2200001L')"
></el-input>
<el-input
v-model=
"form.orderId"
:placeholder=
"$t('例:NA2200001L')"
></el-input>
<div>
{{
$t
(
'
注:单号之间使用逗号或空格隔开
'
)
}}
</div>
<div>
{{
$t
(
'
注:单号之间使用逗号或空格隔开
'
)
}}
</div>
...
@@ -11,8 +11,25 @@
...
@@ -11,8 +11,25 @@
<el-date-picker
v-model=
"form.pickTime"
placeholder=
""
value-format=
"yyyy-MM-dd HH:mm:ss"
></el-date-picker>
<el-date-picker
v-model=
"form.pickTime"
placeholder=
""
value-format=
"yyyy-MM-dd HH:mm:ss"
></el-date-picker>
</el-form-item>
</el-form-item>
</el-tab-pane>
</el-tab-pane>
<el-tab-pane
:label=
"$t('分批提货')"
name=
"createOrderPickupSplitBatch"
>
<el-tab-pane
:label=
"$t('分批提货')"
name=
"createSplitBatch"
>
// TODO
<el-form-item
:label=
"$t('订单号') + '/' + this.$t('提单号')"
prop=
"orderId"
>
<el-input
v-model=
"form.orderId"
:placeholder=
"$t('例:NA2200001L')"
class=
"w-200 mr-10"
></el-input>
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"getPickUpListByOrderNo"
></el-button>
<div>
{{
$t
(
'
注:单号之间使用逗号或空格隔开
'
)
}}
</div>
</el-form-item>
<el-form-item
:label=
"$t('提货时间')"
prop=
"pickTime"
>
<el-date-picker
v-model=
"form.pickTime"
placeholder=
""
value-format=
"yyyy-MM-dd HH:mm:ss"
></el-date-picker>
</el-form-item>
<el-form-item
label=
""
>
<el-table
:data=
"orderList"
>
<el-table-column
label=
"提单号"
prop=
"tidanNo"
></el-table-column>
<el-table-column
label=
"提货数量"
prop=
"tidanNo"
>
<template
slot-scope=
"
{row}">
<el-input
v-model.number=
"row.pickNum"
placeholder=
""
></el-input>
</
template
>
</el-table-column>
</el-table>
</el-form-item>
</el-tab-pane>
</el-tab-pane>
</el-tabs>
</el-tabs>
<el-form-item
label=
""
>
<el-form-item
label=
""
>
...
@@ -22,14 +39,15 @@
...
@@ -22,14 +39,15 @@
</el-dialog>
</el-dialog>
</template>
</template>
<
script
>
<
script
>
import
{
createOrderPickupBatch
,
createOrderPickupSplitBatch
}
from
'
@/api/ecw/order
'
import
{
createBatch
,
createSplitBatch
,
getPickUpListByOrderNo
}
from
'
@/api/ecw/orderPickup
'
export
default
{
export
default
{
props
:{
props
:{
},
},
data
(){
data
(){
return
{
return
{
current
:
'
create
OrderPickup
Batch
'
,
current
:
'
createBatch
'
,
show
:
false
,
show
:
false
,
form
:{
form
:{
orderId
:
''
,
orderId
:
''
,
...
@@ -39,7 +57,8 @@ export default {
...
@@ -39,7 +57,8 @@ export default {
rules
:{
rules
:{
orderId
:
[{
required
:
true
,
message
:
this
.
$t
(
'
请填写单号
'
)}],
orderId
:
[{
required
:
true
,
message
:
this
.
$t
(
'
请填写单号
'
)}],
pickTime
:
[{
required
:
true
,
message
:
this
.
$t
(
'
请选择时间
'
)}]
pickTime
:
[{
required
:
true
,
message
:
this
.
$t
(
'
请选择时间
'
)}]
}
},
orderList
:[]
}
}
},
},
computed
:{
computed
:{
...
@@ -56,20 +75,37 @@ export default {
...
@@ -56,20 +75,37 @@ export default {
}
}
let
orderIdArr
=
this
.
form
.
orderId
.
replace
(
/,/g
,
'
'
).
split
(
'
'
).
filter
(
item
=>
item
!=
''
)
let
orderIdArr
=
this
.
form
.
orderId
.
replace
(
/,/g
,
'
'
).
split
(
'
'
).
filter
(
item
=>
item
!=
''
)
let
data
=
[]
let
data
=
[]
// 分批提货
if
(
this
.
current
==
'
createSplitBatch
'
){
data
=
this
.
orderList
.
map
(
item
=>
{
item
.
pickType
=
1
item
.
pickTime
=
this
.
form
.
pickTime
return
item
})
}
// 批量提货
else
{
for
(
let
orderId
of
orderIdArr
){
for
(
let
orderId
of
orderIdArr
){
data
.
push
({
data
.
push
({
pickType
:
1
,
pickType
:
1
,
// 1字体,2送货上门
orderId
,
orderId
,
pickTime
:
this
.
form
.
pickTime
pickTime
:
this
.
form
.
pickTime
})
})
}
}
}
({
create
OrderPickupBatch
,
createOrderPickup
SplitBatch
}[
this
.
current
])(
data
).
then
(
res
=>
{
({
create
Batch
,
create
SplitBatch
}[
this
.
current
])(
data
).
then
(
res
=>
{
this
.
$message
.
success
(
this
.
$t
(
"
操作成功
"
));
this
.
$message
.
success
(
this
.
$t
(
"
操作成功
"
));
this
.
$emit
(
'
success
'
)
this
.
$emit
(
'
success
'
)
})
})
})
})
},
},
getPickUpListByOrderNo
(){
getPickUpListByOrderNo
({
orderIds
:
this
.
form
.
orderId
}).
then
(
res
=>
{
this
.
orderList
=
res
.
data
})
},
closeDialog
(){
closeDialog
(){
this
.
show
=
false
this
.
show
=
false
this
.
$emit
(
'
close
'
);
this
.
$emit
(
'
close
'
);
...
...
src/views/ecw/order/components/PickupLog.vue
0 → 100644
View file @
f5d996fc
<
template
>
<el-dialog
:title=
"title"
visible
:before-close=
"closeDialog"
:close-on-click-modal=
"false"
v-loading=
"loading"
>
<el-timeline
v-if=
"list.length"
>
<el-timeline-item
v-for=
"item in list"
:timestamp=
"item.pickTime|parseTime"
placement=
"top"
:key=
"item.id"
>
<div>
{{
item
.
deleted
?
$t
(
'
已撤销
'
)
:
$t
(
'
已提货
'
)
}}
<el-button
v-if=
"!item.deleted"
size=
"mini"
@
click=
"deletePickup(item.id)"
class=
"ml-10"
>
{{
$t
(
'
撤销
'
)
}}
</el-button></div>
<div>
{{
$t
(
'
提货箱数
'
)
}}
:
{{
item
.
pickNum
}}
箱
</div>
<div>
{{
$t
(
'
操作人
'
)
}}
:
{{
item
.
creator
}}
</div>
<div
v-if=
"item.deleted"
>
{{
$t
(
'
撤销人
'
)
}}
:
{{
item
.
updater
}}
</div>
</el-timeline-item>
</el-timeline>
<el-empty
v-if=
"!loading && !list.length"
:description=
"$t('暂无提货日志')"
></el-empty>
</el-dialog>
</
template
>
<
script
>
import
{
deletePickup
,
getAllPickUpListByOrderNo
}
from
'
@/api/ecw/orderPickup
'
import
{
parseTime
}
from
'
@/utils/ruoyi
'
export
default
{
filters
:
{
parseTime
},
props
:{
orderNo
:
String
},
data
(){
return
{
show
:
false
,
list
:[],
loading
:
false
}
},
computed
:{
title
(){
return
this
.
$t
(
'
提货日志
'
)
+
'
-
'
+
this
.
orderNo
}
},
created
(){
this
.
getList
()
},
methods
:{
getList
(){
this
.
loading
=
true
getAllPickUpListByOrderNo
({
orderNo
:
this
.
orderNo
}).
then
(
res
=>
{
this
.
list
=
res
.
data
})
.
finally
(()
=>
{
this
.
loading
=
false
})
},
deletePickup
(
id
){
this
.
$confirm
(
'
确定要撤销此提货么?
'
).
then
(
res
=>
{
return
deletePickup
({
id
})
}).
then
(
res
=>
{
this
.
$message
.
success
(
'
操作成功
'
)
})
},
closeDialog
(){
this
.
show
=
false
this
.
$emit
(
'
close
'
);
}
}
}
</
script
>
\ No newline at end of file
src/views/ecw/order/components/warehouseDetails.vue
View file @
f5d996fc
...
@@ -50,7 +50,7 @@
...
@@ -50,7 +50,7 @@
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
label=
"出货渠道"
>
label=
"出货渠道"
>
<
template
v-slot=
"{row}"
>
{{
row
.
channelName
||
'
/
'
}}
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"始发仓"
prop=
"startWarehouseName"
></el-table-column>
<el-table-column
label=
"始发仓"
prop=
"startWarehouseName"
></el-table-column>
<el-table-column
label=
"目的地"
prop=
"objectiveName"
></el-table-column>
<el-table-column
label=
"目的地"
prop=
"objectiveName"
></el-table-column>
...
...
src/views/ecw/order/edit.vue
View file @
f5d996fc
...
@@ -902,9 +902,9 @@ export default {
...
@@ -902,9 +902,9 @@ export default {
/** 提交按钮 */
/** 提交按钮 */
// type 在新建的时候表示状态,0草稿,2带入仓
// type 在新建的时候表示状态,0草稿,2带入仓
submitForm
(
submitType
)
{
submitForm
(
submitType
)
{
this
.
$refs
[
"
form
"
].
validate
(
valid
=>
{
this
.
$refs
[
"
form
"
].
validate
(
(
valid
,
errors
)
=>
{
if
(
!
valid
)
{
if
(
!
valid
)
{
return
;
return
this
.
$showFormValidateErrors
(
errors
)
}
}
this
.
form
.
orderItemVOList
.
map
(
item
=>
{
this
.
form
.
orderItemVOList
.
map
(
item
=>
{
...
...
src/views/ecw/order/feeApplication.vue
View file @
f5d996fc
...
@@ -65,7 +65,7 @@
...
@@ -65,7 +65,7 @@
<el-button
v-if=
"!IsExamine"
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=
"examineFn"
>
审核中
</el-button>
<el-button
v-if=
"IsExamine"
style=
"margin-right: 30px;"
@
click=
"cancel"
>
取消审核
</el-button>
<el-button
v-if=
"IsExamine"
style=
"margin-right: 30px;"
@
click=
"cancel"
>
取消审核
</el-button>
<el-button
>
取消
</el-button>
<el-button
@
click=
"$emit('update:dialogVisible',false)"
>
返回
</el-button>
</div>
</div>
</div>
</div>
</el-dialog>
</el-dialog>
...
...
src/views/ecw/order/index.vue
View file @
f5d996fc
...
@@ -183,6 +183,7 @@
...
@@ -183,6 +183,7 @@
<el-button
type=
"text"
size=
"mini"
@
click=
"$router.push(`/order/singleApply?orderNo=$
{scope.row.orderNo}`)">
{{
$t
(
'
合单申请
'
)
}}
</el-button>
<el-button
type=
"text"
size=
"mini"
@
click=
"$router.push(`/order/singleApply?orderNo=$
{scope.row.orderNo}`)">
{{
$t
(
'
合单申请
'
)
}}
</el-button>
<el-button
type=
"text"
size=
"mini"
@
click=
"$router.push(`/order/splitApply?orderId=$
{scope.row.orderId}`)">
{{
$t
(
'
拆单申请
'
)
}}
</el-button>
<el-button
type=
"text"
size=
"mini"
@
click=
"$router.push(`/order/splitApply?orderId=$
{scope.row.orderId}`)">
{{
$t
(
'
拆单申请
'
)
}}
</el-button>
<el-button
type=
"text"
size=
"mini"
@
click=
"showMergedLogOrderNo=scope.row.orderNo"
>
{{
$t
(
'
合单日志
'
)
}}
</el-button>
<el-button
type=
"text"
size=
"mini"
@
click=
"showMergedLogOrderNo=scope.row.orderNo"
>
{{
$t
(
'
合单日志
'
)
}}
</el-button>
<el-button
type=
"text"
size=
"mini"
@
click=
"showPickupLogOrderNo=scope.row.orderNo"
>
{{
$t
(
'
提货日志
'
)
}}
</el-button>
</div>
</div>
</el-popover>
</el-popover>
...
@@ -246,6 +247,7 @@
...
@@ -246,6 +247,7 @@
<batch-single-application
:order-list=
"orderId"
:dialog-visible.sync=
"warehouseBol"
></batch-single-application>
<batch-single-application
:order-list=
"orderId"
:dialog-visible.sync=
"warehouseBol"
></batch-single-application>
<fee-application
:order-id=
"orderId"
:dialog-visible.sync=
"feeApplicationBol"
></fee-application>
<fee-application
:order-id=
"orderId"
:dialog-visible.sync=
"feeApplicationBol"
></fee-application>
<merge-log
:order-no=
"showMergedLogOrderNo"
v-if=
"showMergedLogOrderNo !== null"
@
close=
"showMergedLogOrderNo=null"
/>
<merge-log
:order-no=
"showMergedLogOrderNo"
v-if=
"showMergedLogOrderNo !== null"
@
close=
"showMergedLogOrderNo=null"
/>
<pickup-log
v-if=
"showPickupLogOrderNo"
:order-no=
"showPickupLogOrderNo"
@
close=
"showPickupLogOrderNo=null"
/>
</div>
</div>
</template>
</template>
...
@@ -278,6 +280,7 @@ import UserSelector from '@/components/UserSelector'
...
@@ -278,6 +280,7 @@ import UserSelector from '@/components/UserSelector'
import
BatchSingleApplication
from
"
@/views/ecw/order/batchSingleApplication
"
;
import
BatchSingleApplication
from
"
@/views/ecw/order/batchSingleApplication
"
;
import
FeeApplication
from
"
@/views/ecw/order/feeApplication
"
;
import
FeeApplication
from
"
@/views/ecw/order/feeApplication
"
;
import
MergeLog
from
'
@/views/ecw/order/components/MergeLog
'
import
MergeLog
from
'
@/views/ecw/order/components/MergeLog
'
import
PickupLog
from
'
./components/PickupLog
'
export
default
{
export
default
{
name
:
"
Order
"
,
name
:
"
Order
"
,
components
:
{
components
:
{
...
@@ -285,6 +288,7 @@ export default {
...
@@ -285,6 +288,7 @@ export default {
FeeApplication
,
FeeApplication
,
BatchSingleApplication
,
BatchSingleApplication
,
MergeLog
,
MergeLog
,
PickupLog
,
CustomerSelector
,
ProductSelector
,
Selector
,
specialNeeds
,
PrintTag
,
PrintWarehouseReceipt
,
PrintLadingBill
,
BatchPickup
,
withdrawal
CustomerSelector
,
ProductSelector
,
Selector
,
specialNeeds
,
PrintTag
,
PrintWarehouseReceipt
,
PrintLadingBill
,
BatchPickup
,
withdrawal
},
},
props
:
{
props
:
{
...
@@ -361,6 +365,7 @@ export default {
...
@@ -361,6 +365,7 @@ export default {
printLadingBillInfo
:
null
,
// 打印提单
printLadingBillInfo
:
null
,
// 打印提单
showBatchPickup
:
false
,
// 是否显示批量提货弹窗
showBatchPickup
:
false
,
// 是否显示批量提货弹窗
showMergedLogOrderNo
:
null
,
// 显示合单日志订单号
showMergedLogOrderNo
:
null
,
// 显示合单日志订单号
showPickupLogOrderNo
:
null
,
// 显示提货日志的订单号
isShow
:
false
,
//特殊显示
isShow
:
false
,
//特殊显示
orderId
:
undefined
,
orderId
:
undefined
,
/* DICT_TYPE,
/* DICT_TYPE,
...
...
src/views/ecw/productBrank/BrandForm/index.vue
View file @
f5d996fc
...
@@ -8,7 +8,7 @@
...
@@ -8,7 +8,7 @@
<el-input
v-model=
"form.brandName"
placeholder=
"商标"
></el-input>
<el-input
v-model=
"form.brandName"
placeholder=
"商标"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"`商标$
{index + 1}分类`">
<el-form-item
:label=
"`商标$
{index + 1}分类`">
<el-select
v-model=
"form.productTypeId"
:placeholder=
"`请选择商标$
{index + 1}分类`" @change="form.productIds = [], updateValue()">
<el-select
v-model=
"form.productTypeId"
:placeholder=
"`请选择商标$
{index + 1}分类`" @change="form.productIds = [
0
], updateValue()">
<el-option
<el-option
v-for=
"item in productTypeList"
v-for=
"item in productTypeList"
:key=
"item.id"
:key=
"item.id"
...
@@ -19,7 +19,7 @@
...
@@ -19,7 +19,7 @@
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
:label=
"`商标$
{index + 1}商品`">
<el-form-item
:label=
"`商标$
{index + 1}商品`">
<el-select
v-model=
"form.productIds"
:placeholder=
"`请选择商标$
{index + 1}商品`" multiple filterable @change="updateValue">
<el-select
v-model=
"form.productIds"
:placeholder=
"`请选择商标$
{index + 1}商品`" multiple filterable
clearable
@change="updateValue">
<el-option
<el-option
v-for=
"item in getProductListByTypeId(form.productTypeId)"
v-for=
"item in getProductListByTypeId(form.productTypeId)"
:key=
"item.id"
:key=
"item.id"
...
@@ -73,9 +73,22 @@ export default {
...
@@ -73,9 +73,22 @@ export default {
},
},
methods
:
{
methods
:
{
getProductListByTypeId
(
typeId
)
{
getProductListByTypeId
(
typeId
)
{
return
typeId
===
0
?
[]
:
this
.
productList
.
filter
((
p
)
=>
p
.
typeId
===
typeId
)
return
[
{
id
:
0
,
titleZh
:
'
全部
'
},
...(
typeId
===
0
?
[]
:
this
.
productList
.
filter
((
p
)
=>
p
.
typeId
===
typeId
))
]
},
// 删除商品0
delete0
(){
if
(
this
.
form
.
productIds
.
length
>
1
){
const
index
=
this
.
form
.
productIds
.
indexOf
(
0
)
if
(
index
!==
-
1
)
{
this
.
form
.
productIds
.
splice
(
index
,
1
)
}
}
},
},
updateValue
()
{
updateValue
()
{
this
.
delete0
()
const
trademarkCategoryRelList
=
[]
const
trademarkCategoryRelList
=
[]
this
.
form
.
productIds
.
forEach
(
productId
=>
{
this
.
form
.
productIds
.
forEach
(
productId
=>
{
trademarkCategoryRelList
.
push
({
trademarkCategoryRelList
.
push
({
...
...
src/views/ecw/productBrank/index.vue
View file @
f5d996fc
...
@@ -124,7 +124,7 @@
...
@@ -124,7 +124,7 @@
trademarkCategoryRelList: []
trademarkCategoryRelList: []
})"
>
添加商标
</el-button>
})"
>
添加商标
</el-button>
<div
slot=
"footer"
class=
"dialog-foo
ter"
>
<div
slot=
"footer"
style=
"text-align: cen
ter"
>
<el-button
type=
"primary"
@
click=
"submitForm"
>
确 定
</el-button>
<el-button
type=
"primary"
@
click=
"submitForm"
>
确 定
</el-button>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
</div>
</div>
...
@@ -143,7 +143,6 @@ import {getProductList} from "@/api/ecw/product"
...
@@ -143,7 +143,6 @@ import {getProductList} from "@/api/ecw/product"
import
BrandForm
from
"
@/views/ecw/productBrank/BrandForm
"
import
BrandForm
from
"
@/views/ecw/productBrank/BrandForm
"
import
Empower
from
"
@/views/ecw/productBrank/Empower
"
import
Empower
from
"
@/views/ecw/productBrank/Empower
"
export
default
{
export
default
{
name
:
"
ProductBrank
"
,
name
:
"
ProductBrank
"
,
components
:
{
components
:
{
...
@@ -182,6 +181,10 @@ export default {
...
@@ -182,6 +181,10 @@ export default {
form
:
{},
form
:
{},
// 表单校验
// 表单校验
rules
:
{
rules
:
{
titleZh
:
[{
required
:
true
,
message
:
'
请输入品牌中文标题
'
,
trigger
:
"
blur
"
}],
titleEn
:
[{
required
:
true
,
message
:
'
请输入品牌英文标题
'
,
trigger
:
"
blur
"
}],
// aorder: [{ required: true, message: '请输入排序', trigger: "blur" }],
filing
:
[{
required
:
true
,
message
:
'
请选择是否备案
'
,
trigger
:
"
change
"
}],
},
},
recordStatus
:
getDictDatas
(
DICT_TYPE
.
BRAND_REG_TYPE
),
recordStatus
:
getDictDatas
(
DICT_TYPE
.
BRAND_REG_TYPE
),
...
@@ -196,7 +199,7 @@ export default {
...
@@ -196,7 +199,7 @@ export default {
created
()
{
created
()
{
this
.
getList
();
this
.
getList
();
getProductTypeList
().
then
(
r
=>
{
getProductTypeList
().
then
(
r
=>
{
this
.
productTypeList
=
r
.
data
this
.
productTypeList
=
[{
id
:
0
,
titleZh
:
'
全部
'
},
...
r
.
data
]
})
})
getProductList
().
then
(
r
=>
{
getProductList
().
then
(
r
=>
{
this
.
productList
=
r
.
data
this
.
productList
=
r
.
data
...
...
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