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
ffbd8b5c
Commit
ffbd8b5c
authored
Jul 22, 2022
by
我在何方
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加收款单UI
parent
583b15cb
Changes
13
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
890 additions
and
153 deletions
+890
-153
orderException.js
src/api/ecw/orderException.js
+24
-1
dict.js
src/utils/dict.js
+1
-0
lodop.js
src/utils/lodop.js
+21
-0
creatCollection.vue
src/views/ecw/financial/creatCollection.vue
+12
-10
creatPayment.vue
src/views/ecw/financial/creatPayment.vue
+23
-23
openInvoice.vue
src/views/ecw/financial/openInvoice.vue
+176
-0
payable.vue
src/views/ecw/financial/payable.vue
+45
-21
printVoucher.vue
src/views/ecw/financial/printVoucher.vue
+203
-0
voucher.vue
src/views/ecw/financial/voucher.vue
+217
-0
detail.vue
src/views/ecw/offer/detail.vue
+3
-3
index.vue
src/views/ecw/order/exception/index.vue
+73
-38
pending.vue
src/views/ecw/order/pending.vue
+31
-24
prepayDeal.vue
src/views/ecw/order/prepayDeal.vue
+61
-33
No files found.
src/api/ecw/orderException.js
View file @
ffbd8b5c
...
...
@@ -25,7 +25,13 @@ export function deleteOrderException(id) {
method
:
'
delete
'
})
}
// 获得订单异常
export
function
getExceptionById
(
id
){
return
request
({
url
:
'
/ecw/order-exception/getExceptionById?id=
'
+
id
,
method
:
'
get
'
})
}
// 获得订单异常
export
function
getOrderException
(
id
)
{
return
request
({
...
...
@@ -34,6 +40,14 @@ export function getOrderException(id) {
})
}
// 根据订单ID获取所有的订单异常列表
export
function
getExceptionListByOrderId
(
id
)
{
return
request
({
url
:
'
/ecw/order-exception/getExceptionListByOrderId?orderId=
'
+
id
,
method
:
'
get
'
})
}
// 获得订单异常分页
export
function
getOrderExceptionPage
(
query
)
{
return
request
({
...
...
@@ -52,3 +66,12 @@ export function exportOrderExceptionExcel(query) {
responseType
:
'
blob
'
})
}
//根据异常ID进行异常处理
export
function
handlerExceptionByExceptionId
(
data
){
return
request
({
url
:
'
/ecw/order-exception/handlerExceptionByExceptionId
'
,
method
:
'
post
'
,
data
:
data
})
}
src/utils/dict.js
View file @
ffbd8b5c
...
...
@@ -140,6 +140,7 @@ export const DICT_TYPE = {
BEGINTIME_TYPE_ENDTIME
:
'
begintime_type_endtime
'
,
//订单日期筛选类别
ORDER_ERROR_TYPE
:
'
order_error_type
'
,
//订单异常类型
ORDER_EXCEPTION_STATUS
:
'
order_exception_status
'
,
//异常订单状态
PAYMENT_TYPE
:
'
payment_type
'
,
//收款类型
}
...
...
src/utils/lodop.js
0 → 100644
View file @
ffbd8b5c
const
lodop
=
function
(){
return
new
Promise
((
resolve
,
reject
)
=>
{
if
(
!
window
.
getLodop
){
var
hm
=
document
.
createElement
(
"
script
"
);
hm
.
src
=
"
/static/LodopFuncs.js
"
;
hm
.
onload
=
function
(){
console
.
log
(
'
lodop.js已加载
'
)
// 加载js文件后会自动链接ws,等一会再操作
setTimeout
(
res
=>
{
resolve
(
getLodop
())
},
500
)
}
hm
.
onerror
=
function
(
err
){
reject
(
err
)
}
var
s
=
document
.
getElementsByTagName
(
"
script
"
)[
0
];
s
.
parentNode
.
insertBefore
(
hm
,
s
);
}
else
resolve
(
getLodop
())
})
}
export
default
lodop
src/views/ecw/financial/creatCollection.vue
View file @
ffbd8b5c
<
template
>
<div
class=
"app-container"
>
<el-card>
<div
slot=
"header"
class=
"card-title"
>
新增收款单
</div>
<div
v-if=
"id"
slot=
"header"
class=
"card-title"
>
新增收款单
</div>
<div
v-else
slot=
"header"
class=
"card-title"
>
新增收款单
</div>
<el-form
ref=
"form"
:model=
"form"
label-width=
"120px"
label-position=
"left"
>
<el-descriptions
:column=
"3"
border
>
<el-descriptions-item
label=
"客户"
>
...
...
@@ -243,21 +244,22 @@
rows
:
20
,
},
multipleSelection
:[],
tradeCityList
:[]
tradeCityList
:[],
id
:
0
}
},
created
()
{
let
that
=
this
if
(
that
.
$route
.
query
.
receiptNo
){
this
.
form
.
receiptNo
=
this
.
$route
.
query
.
receiptNo
}
if
(
that
.
$route
.
query
.
consignorId
){
this
.
queryParams
.
consignorId
=
this
.
$route
.
query
.
consignorId
}
if
(
that
.
$route
.
query
.
writeOffName
){
this
.
form
.
writeOffName
=
this
.
$route
.
query
.
writeOffName
if
(
that
.
$route
.
query
.
id
){
this
.
id
=
this
.
$route
.
query
.
id
}
// if(that.$route.query.consignorId){
// this.queryParams.consignorId = this.$route.query.consignorId
// }
// if(that.$route.query.writeOffName){
// this.form.writeOffName = this.$route.query.writeOffName
// }
userList
(
'
salesman
'
).
then
(
res
=>
that
.
creatorData
=
res
.
data
)
getChannelList
().
then
(
res
=>
that
.
channelList
=
res
.
data
)
getTradeCityList
().
then
(
res
=>
that
.
tradeCityList
=
res
.
data
)
...
...
src/views/ecw/financial/creatPayment.vue
View file @
ffbd8b5c
...
...
@@ -3,7 +3,7 @@
<el-card>
<div
slot=
"header"
class=
"card-title"
>
请款单
</div>
<el-form
ref=
"form"
:model=
"form"
label-width=
"120px"
label-position=
"left"
>
<el-descriptions
:column=
"3"
border
class=
"card"
>
<el-descriptions
:column=
"3"
class=
"card"
border
>
<el-descriptions-item
label=
"供应商"
>
<el-form-item
label=
""
label-width=
"0"
style=
"margin-bottom: 0"
prop=
"supplierId"
required
error=
"供应商不能为空"
>
<customer-selector
v-model=
"form.supplierId"
@
change=
"consignor = $event"
/>
...
...
@@ -18,32 +18,32 @@
</el-descriptions-item>
<el-descriptions-item
label=
"业务员"
>
<el-form-item
label=
""
label-width=
"0"
style=
"margin-bottom: 0"
prop=
"salesmanId"
required
error=
"客户不能为空"
>
<el-select
v-model=
"form.salesman
Id
"
placeholder=
"请选择业务员"
>
<el-option
v-for=
"item in creatorData"
:key=
"item.id"
:label=
"item.nickname"
:value=
"item.
id
"
/>
<el-select
v-model=
"form.salesman
Name
"
placeholder=
"请选择业务员"
>
<el-option
v-for=
"item in creatorData"
:key=
"item.id"
:label=
"item.nickname"
:value=
"item.
nickname
"
/>
</el-select>
</el-form-item>
</el-descriptions-item>
</el-descriptions>
<el-descriptions
:column=
"2"
border
class=
"card"
>
<el-descriptions-item
label=
"申请日期"
>
<el-form-item
label=
""
label-width=
"0"
style=
"margin-bottom: 0"
prop=
"consignorId"
required
error=
"申请日期不能为空"
>
<el-date-picker
clearable
v-model=
"form.followUpTime
"
value-format=
"yyyy-MM-dd"
format=
"yyyy-MM-dd"
type=
"date"
placeholder=
"选择申请日期"
/>
<el-date-picker
clearable
v-model=
"form.applicationAt
"
value-format=
"yyyy-MM-dd"
format=
"yyyy-MM-dd"
type=
"date"
placeholder=
"选择申请日期"
/>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item
label=
"供应商银行账号"
style=
"width: 50%;"
>
<el-form-item
label=
""
label-width=
"0"
style=
"margin-bottom: 0;"
prop=
"consignorId"
required
error=
"请选择收款账户"
>
<el-select
v-model=
"form.followUpSalesman
Id"
placeholder=
"请选择收款账户"
>
<el-select
v-model=
"form.supplier
Id"
placeholder=
"请选择收款账户"
>
<el-option
v-for=
"item in bankData"
:key=
"item.id"
:label=
"item.baAccountName+'('+item.baAccountNum+')'"
:value=
"item.id"
/>
</el-select>
</el-form-item>
</el-descriptions-item>
</el-descriptions>
<el-descriptions
:column=
"3"
class=
"card"
border
>
<el-descriptions-item
label=
"最后付款日期"
>
<el-form-item
label=
""
label-width=
"0"
style=
"margin-bottom: 0"
prop=
"latestPayAt"
required
error=
"最后付款日期不能为空"
>
<el-date-picker
clearable
v-model=
"form.latestPayAt"
value-format=
"yyyy-MM-dd"
format=
"yyyy-MM-dd"
type=
"date"
placeholder=
"选择最后付款日期"
/>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item
label=
"结算方式"
>
<el-form-item
label=
""
label-width=
"0"
style=
"margin-bottom: 0"
prop=
"settlementType"
required
error=
"选择结算方式"
>
<el-form-item
label=
""
label-width=
"0"
style=
"margin-bottom: 0"
required
error=
"选择结算方式"
>
<dict-selector
:type=
"DICT_TYPE.CUSTOMER_BALANCE"
v-model=
"form.settlementType"
/>
</el-form-item>
</el-descriptions-item>
...
...
@@ -72,14 +72,14 @@
<el-table-column
label=
"价格合计(RMB)"
align=
"center"
prop=
"payType"
/>
</el-table>
<el-form
ref=
"forms"
:model=
"form"
label-width=
"120px"
label-position=
"left"
>
<el-descriptions
:column=
"1"
border
class=
"card"
>
<el-descriptions-item
label=
"账单号"
style=
"width: 50%;"
>
<el-form-item
label=
""
label-width=
"0"
style=
"margin-bottom: 0;"
prop=
"paymentNo"
required
error=
"账单号不能为空"
>
<el-input
v-model=
"form.
paymentNo
"
placeholder=
"请输入账单号"
></el-input>
<el-form
ref=
"forms"
:model=
"form"
label-width=
"120px"
label-position=
"left"
style=
"width: 50%;"
>
<el-descriptions
:column=
"1"
class=
"card"
border
>
<el-descriptions-item
label=
"账单号"
>
<el-form-item
label=
""
label-width=
"0"
style=
"margin-bottom: 0;"
required
error=
"账单号不能为空"
>
<el-input
v-model=
"form.
accountNumber
"
placeholder=
"请输入账单号"
></el-input>
</el-form-item>
</el-descriptions-item>
<el-descriptions-item
label=
"发票"
style=
"width: 50%;"
>
<el-descriptions-item
label=
"发票"
>
<el-form-item
label=
""
label-width=
"0"
style=
"margin-bottom: 0"
prop=
"invoiceStatus"
required
error=
"请选择是否开票"
>
<el-select
v-model=
"form.invoiceStatus"
placeholder=
"请选择是否开票"
>
<el-option
label=
"未开票"
value=
"0"
/>
...
...
@@ -146,7 +146,7 @@
</el-form-item>
</el-form>
</el-col>
<el-table
v-loading=
"loadings"
:data=
"orderData"
border
@
selection-change=
"handleSelectionChange"
>
>
<el-table
v-loading=
"loadings"
:data=
"orderData"
border
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
>
</el-table-column>
<el-table-column
label=
"自编号"
align=
"center"
prop=
"orderNo"
/>
...
...
src/views/ecw/financial/openInvoice.vue
0 → 100644
View file @
ffbd8b5c
<
template
>
<div
class=
"app-container"
>
<div
slot=
"header"
class=
"card-title"
>
开票
</div>
<!-- 搜索工作栏 -->
<el-card
class=
"card"
>
<el-form
ref=
"queryForm"
size=
"small"
:inline=
"true"
label-width=
"100px"
class=
"card"
>
<el-form-item
label=
"发票号码:"
>
{{
invoiceData
.
sn
}}
</el-form-item>
<el-form-item
label=
"开票类型:"
>
<dict-selector
:type=
"DICT_TYPE.ECW_RECEIPT_STATE"
v-model=
"invoiceData.invoicingTypeId"
/>
</el-form-item>
</el-form>
</el-card>
<el-card
class=
"card"
>
<div
slot=
"header"
class=
"card-title"
>
开票资料
</div>
<el-table
v-loading=
"loading"
:data=
"invoiceData.info"
border
class=
"card"
>
<el-table-column
label=
"发票抬头"
align=
"center"
prop=
"taxpayer"
/>
<el-table-column
label=
"纳税人识别号"
align=
"center"
prop=
"taxpayer"
/>
<el-table-column
label=
"地址"
align=
"center"
prop=
"orderNo"
/>
<el-table-column
label=
"开户行"
align=
"center"
prop=
"customerName"
/>
<el-table-column
label=
"税率"
align=
"center"
>
<template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.taxRate"
type=
"number"
min=
"0"
></el-input>
</
template
>
</el-table-column>
<el-table-column
label=
"项目"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.projectName"
type=
"text"
></el-input>
</
template
>
</el-table-column>
</el-table>
</el-card>
<el-card
class=
"card"
>
<el-table
v-loading=
"loading"
:data=
"invoiceData.list"
border
class=
"card"
show-summary
:summary-method=
"getSummaries"
>
<el-table-column
label=
"订单号"
align=
"center"
prop=
"orderSn"
/>
<el-table-column
label=
"品名"
align=
"center"
prop=
"prodName"
/>
<el-table-column
label=
"箱数"
align=
"center"
prop=
"num"
/>
<el-table-column
label=
"体积/重量"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
volume
+
"
m³/
"
+
scope
.
row
.
weight
+
"
kg
"
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"费用类型"
align=
"center"
prop=
"feeType"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"scope.row.feeType"
></dict-tag>
</
template
>
</el-table-column>
<el-table-column
label=
"单价"
align=
"center"
prop=
"num"
/>
<el-table-column
label=
"金额"
align=
"center"
prop=
"num"
/>
<el-table-column
label=
"税额"
align=
"center"
prop=
"num"
/>
<el-table-column
label=
"价税合计"
align=
"center"
prop=
"num"
/>
<div
slot=
"append"
class=
"lastRow"
>
<div>
收款人
</div>
<div>
111
</div>
<div>
核销人
</div>
<div>
222
</div>
<div>
开票人
</div>
<div>
333
</div>
<div></div>
<div>
价税合计大写
</div>
<div>
444
</div>
</div>
</el-table>
</el-card>
<el-descriptions
class=
"card"
style=
"width: 50%;"
>
<el-descriptions-item
label=
"备注"
>
<el-input
v-model=
"invoiceData.remarks"
type=
"text"
placeholder=
""
clearable
></el-input>
</el-descriptions-item>
</el-descriptions>
<div
slot=
"footer"
class=
"card"
>
<el-button
type=
"primary"
@
click=
"submitForm"
>
确定
</el-button>
</div>
</div>
</template>
<
script
>
import
{
DICT_TYPE
}
from
'
@/utils/dict
'
export
default
{
name
:
"
OpenInvoice
"
,
components
:
{
},
data
()
{
return
{
loading
:
false
,
invoiceData
:{},
}
},
created
()
{
let
that
=
this
},
methods
:
{
/** 查询列表 */
getList
()
{
this
.
loading
=
true
;
// 处理查询参数
getReceiptPage
().
then
(
response
=>
{
this
.
invoiceData
=
response
.
data
;
if
(
!
this
.
invoiceData
.
info
||
this
.
invoiceData
.
info
.
length
==
0
){
this
.
$modal
.
msgError
(
"
客户开票资料不能为空,请完善客户开票信息
"
);
}
this
.
loading
=
false
;
});
},
submitForm
(){
this
.
open
=
false
;
},
getSummaries
(
param
)
{
const
{
columns
,
data
}
=
param
;
const
sums
=
[];
columns
.
forEach
((
column
,
index
)
=>
{
if
(
index
===
0
)
{
sums
[
index
]
=
'
总价
'
;
return
;
}
else
if
(
index
<
6
){
sums
[
index
]
=
'
N/A
'
;
return
;
}
const
values
=
data
.
map
(
item
=>
Number
(
item
[
column
.
property
]));
if
(
!
values
.
every
(
value
=>
isNaN
(
value
)))
{
sums
[
index
]
=
values
.
reduce
((
prev
,
curr
)
=>
{
const
value
=
Number
(
curr
);
if
(
!
isNaN
(
value
))
{
return
prev
+
curr
;
}
else
{
return
prev
;
}
},
0
);
sums
[
index
]
+=
'
元
'
;
}
else
{
sums
[
index
]
=
'
N/A
'
;
}
});
return
sums
;
}
},
}
</
script
>
<
style
>
.card
{
margin-top
:
20px
;
}
.dialog-footer
{
padding
:
30px
;
display
:
flex
;
flex-direction
:
column
;
align-items
:
center
;
justify-content
:
space-between
;
height
:
160px
;
}
.card-title
{
font-size
:
18px
;
font-weight
:
bold
;
}
.lastRow
{
border-top
:
1px
solid
#dfe6ec
;
display
:
flex
;
width
:
100%
;
height
:
44px
;
text-align
:
center
;
align-items
:
center
;
}
.lastRow
div
{
flex
:
1
;
height
:
44px
;
line-height
:
44px
;
border-right
:
1px
solid
#dfe6ec
;
}
</
style
>
src/views/ecw/financial/payable.vue
View file @
ffbd8b5c
...
...
@@ -11,27 +11,38 @@
<el-form-item
label=
"自编号:"
>
<el-input
style=
"max-width: 188px;"
v-model=
"queryParams.orderNo"
placeholder=
"请输入自编号"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"订单号:"
>
<!--
<el-form-item
label=
"订单号:"
>
<el-input
style=
"max-width: 188px;"
v-model=
"queryParams.orderNo"
placeholder=
"请输入订单号"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
-->
<el-form-item
label=
"始发城市:"
>
<el-select
v-model=
"queryParams.departureId"
placeholder=
"请选择始发城市"
>
<el-option
v-for=
"item in expoerCityList"
:label=
"item.titleZh"
:value=
"item.id"
:key=
"item.id"
></el-option>
</el-select>
</el-form-item>
</el-row
>
<el-row
>
<el-form-item
label=
"付款单号:"
>
<
el-input
style=
"max-width: 188px;"
v-model=
"queryParams.orderNo"
placeholder=
"请输入付款单号"
clearable
@
keyup.enter.native=
"handleQuery"
/
>
<el-form-item
label=
"目的城市:"
>
<el-select
v-model=
"queryParams.objectiveId"
placeholder=
"请选择目的城市"
>
<el-option
v-for=
"item in importCityList"
:label=
"item.titleZh"
:value=
"item.id"
:key=
"item.id"
></el-option
>
<
/el-select
>
</el-form-item>
<el-form-item
label=
"供应商名称
:"
>
<
el-input
style=
"max-width: 188px;"
v-model=
"queryParams.orderNo"
placeholder=
"请输入供应商名称"
clearable
@
keyup.enter.native=
"handleQuery"
/>
<el-form-item
label=
"运输方式
:"
>
<
dict-selector
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
v-model=
"queryParams.transportId"
formatter=
"number"
/>
</el-form-item>
<el-form-item
label=
"状态:"
>
</el-row>
<!--
<el-form-item
label=
"付款单号:"
>
<el-input
style=
"max-width: 188px;"
v-model=
"queryParams.orderNo"
placeholder=
"请输入付款单号"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
-->
<!--
<el-form-item
label=
"状态:"
>
<dict-selector
:type=
"DICT_TYPE.ECW_RECEIPT_STATE"
v-model=
"queryParams.control"
/>
</el-form-item>
<el-form-item
label=
"业务员:"
>
<el-select
v-model=
"form.salesmanId"
placeholder=
"请选择业务员"
>
<el-option
v-for=
"item in creatorData"
:key=
"item.id"
:label=
"item.nickname"
:value=
"item.id"
/>
</el-select>
</el-form-item>
</el-row>
<el-row>
</el-form-item>
-->
<!--
<el-row>
<el-form-item
label=
"收款时间:"
>
<el-date-picker
v-model=
"dateType"
...
...
@@ -41,10 +52,13 @@
end-placeholder=
"请选择日期"
>
</el-date-picker>
</el-form-item>
</el-row>
</el-row>
-->
<el-row>
<el-form-item
label=
"商品名称:"
>
<!--
<el-form-item
label=
"商品名称:"
>
<el-input
style=
"max-width: 188px;"
v-model=
"queryParams.orderNo"
placeholder=
"请输入商品名称"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
-->
<el-form-item
label=
"供应商名称:"
>
<el-input
style=
"max-width: 188px;"
v-model=
"queryParams.orderNo"
placeholder=
"请输入供应商名称"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"费用类型:"
>
<dict-selector
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
v-model=
"queryParams.feeType"
></dict-selector>
...
...
@@ -57,6 +71,7 @@
</el-form>
</el-card>
<el-table
v-loading=
"loadings"
:data=
"list"
border
class=
"card"
>
<el-table-column
label=
"自编号"
align=
"center"
prop=
"orderNo"
/>
<el-table-column
label=
"货柜号"
align=
"center"
prop=
"orderNo"
/>
<el-table-column
label=
"供应商"
align=
"center"
prop=
"orderNo"
/>
<el-table-column
label=
"费用类型"
align=
"center"
prop=
"feeType"
>
...
...
@@ -64,9 +79,9 @@
<dict-tag
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"scope.row.feeType"
></dict-tag>
</
template
>
</el-table-column>
<el-table-column
label=
"
总金额美元
"
align=
"center"
prop=
"totalAmount"
/>
<el-table-column
label=
"创建时间"
align=
"center"
prop=
"channelName"
/>
<el-table-column
label=
"创建人"
align=
"center"
prop=
"toDepartureId"
/>
<el-table-column
label=
"
金额
"
align=
"center"
prop=
"totalAmount"
/>
<!--
<el-table-column label="创建时间" align="center" prop="channelName" />
<el-table-column label="创建人" align="center" prop="toDepartureId" />
-->
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"success"
@
click=
"open=true"
>
编辑
</el-button>
...
...
@@ -99,8 +114,8 @@
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"submitForm"
>
确 定
</el-button>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"submitForm"
>
提交
</el-button>
<el-button
plain
@
click=
"cancel"
>
关闭
</el-button>
</div>
</el-dialog>
</div>
...
...
@@ -109,9 +124,8 @@
<
script
>
import
{
userList
}
from
"
@/api/system/user
"
import
{
DICT_TYPE
}
from
'
@/utils/dict
'
import
{
getBankAccountPage
}
from
"
@/api/ecw/bankAccount
"
import
{
listSimpleDepts
}
from
"
@/api/system/dept
"
import
{
getTradeCityList
}
from
'
@/api/ecw/region
'
export
default
{
name
:
"
Payable
"
,
components
:
{
...
...
@@ -122,6 +136,7 @@
open
:
false
,
showSearch
:
true
,
loadings
:
false
,
tradeCityList
:[],
form
:{},
creatorData
:[],
list
:[],
...
...
@@ -138,9 +153,18 @@
},
}
},
computed
:{
expoerCityList
(){
return
this
.
tradeCityList
.
filter
(
item
=>
item
.
type
==
2
)
},
importCityList
(){
return
this
.
tradeCityList
.
filter
(
item
=>
item
.
type
==
1
)
},
},
created
()
{
let
that
=
this
userList
(
'
salesman
'
).
then
(
res
=>
that
.
creatorData
=
res
.
data
)
getTradeCityList
().
then
(
res
=>
that
.
tradeCityList
=
res
.
data
)
},
methods
:
{
/** 查询列表 */
...
...
src/views/ecw/financial/printVoucher.vue
0 → 100644
View file @
ffbd8b5c
<
template
>
<div
class=
"app-container"
>
<div
id=
"print"
class=
"card"
>
<div
class=
"card-title"
>
收款单
</div>
<div
class=
"card"
>
<el-descriptions
:column=
"2"
>
<el-descriptions-item
label=
"部门"
>
{{
form
?
form
.
departmentName
:
'
无
'
}}
</el-descriptions-item>
</el-descriptions>
<el-descriptions
:column=
"2"
>
<el-descriptions-item
label=
"收款单号"
>
{{
form
?
form
.
receiptNo
:
'
无
'
}}
</el-descriptions-item>
<el-descriptions-item
label=
"收款日期"
>
{{
form
?
form
.
payedAt
:
'
无
'
}}
</el-descriptions-item>
<el-descriptions-item
label=
"客户名称"
>
{{
form
?
form
.
customerName
:
'
无
'
}}
</el-descriptions-item>
<el-descriptions-item
label=
"收款户名"
>
{{
form
?
form
.
platformAccount
:
'
无
'
}}
</el-descriptions-item>
<el-descriptions-item
label=
"银行名称"
>
{{
form
?
form
.
accountBank
:
'
无
'
}}
</el-descriptions-item>
<el-descriptions-item
label=
"银行账号"
>
{{
form
?
form
.
salesmanName
:
'
无
'
}}
</el-descriptions-item>
<el-descriptions-item
label=
"水单号"
>
{{
form
?
form
.
customerName
:
'
无
'
}}
</el-descriptions-item>
<el-descriptions-item
label=
"手续费"
>
{{
form
?
form
.
salesmanName
:
'
无
'
}}
</el-descriptions-item>
<el-descriptions-item
label=
"备注"
>
{{
form
?
form
.
remark
:
'
无
'
}}
</el-descriptions-item>
</el-descriptions>
</div>
<el-table
v-loading=
"loadings"
:data=
"list"
border
class=
"card"
:header-cell-style=
"
{background:'#fff'}">
<el-table-column
label=
"序号"
align=
"center"
min-width=
"80"
>
<template
slot-scope=
"scope"
>
<span>
{{
scope
.
$index
+
1
}}
</span>
</
template
>
</el-table-column>
<el-table-column
min-width=
"120"
label=
"订单号"
align=
"center"
prop=
"orderNo"
/>
<el-table-column
label=
"收入类型"
align=
"center"
min-width=
"180"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.PAYMENT_TYPE"
:value=
"scope.row.paymentType"
></dict-tag>
</
template
>
</el-table-column>
<el-table-column
label=
"品名"
align=
"center"
prop=
"orderNo"
min-width=
"220"
/>
<el-table-column
label=
"汇率"
align=
"center"
prop=
"totalAmount"
min-width=
"80"
/>
<el-table-column
label=
"总金额"
align=
"center"
prop=
"toDepartureId"
min-width=
"120"
/>
<el-table-column
label=
"实收金额"
align=
"center"
prop=
"toDepartureId"
min-width=
"200"
/>
<div
slot=
"append"
class=
"lastRow"
>
<div
style=
"min-width: 200px;width: 20%;"
>
合计(大写)
</div>
<div
style=
"min-width: 400px;width: 40%;"
>
111
</div>
<div
style=
"min-width: 200px;width: 20%;"
>
价税合计
</div>
<div
style=
"min-width: 200px;width: 20%;"
>
444
</div>
</div>
</el-table>
<div
class=
"card"
>
<el-descriptions
:column=
"4"
>
<el-descriptions-item
label=
"主管"
>
</el-descriptions-item>
<el-descriptions-item
label=
"会计"
>
</el-descriptions-item>
<el-descriptions-item
label=
"出纳"
>
</el-descriptions-item>
<el-descriptions-item
label=
"经手人"
>
</el-descriptions-item>
</el-descriptions>
</div>
</div>
<div
slot=
"footer"
class=
"card"
>
<el-button
type=
"primary"
@
click=
"print"
>
确订打印
</el-button>
</div>
</div>
</template>
<
script
>
import
{
userList
}
from
"
@/api/system/user
"
import
{
DICT_TYPE
}
from
'
@/utils/dict
'
import
CustomerSelector
from
'
@/components/CustomerSelector
'
import
{
getBankAccountPage
}
from
"
@/api/ecw/bankAccount
"
;
import
{
listSimpleDepts
}
from
"
@/api/system/dept
"
import
{
getReceipt
}
from
"
@/api/ecw/receipt
"
;
import
lodop
from
'
@/utils/lodop
'
export
default
{
name
:
"
PrintVoucher
"
,
components
:
{
CustomerSelector
},
data
()
{
return
{
loadings
:
false
,
form
:{},
title
:
'
收款单
'
,
creatorData
:[],
list
:[],
fileList
:[],
bankData
:[],
params
:{
page
:
1
,
rows
:
20
,
},
deptData
:[],
deptArr
:[],
id
:
0
}
},
created
()
{
let
that
=
this
if
(
that
.
$route
.
query
.
id
){
that
.
id
=
that
.
$route
.
query
.
id
that
.
getCollectionData
()
}
userList
(
'
salesman
'
).
then
(
res
=>
that
.
creatorData
=
res
.
data
)
getBankAccountPage
(
that
.
params
).
then
(
res
=>
that
.
bankData
=
res
.
data
.
list
)
listSimpleDepts
().
then
(
res
=>
{
res
.
data
.
forEach
((
item
)
=>
{
if
(
item
.
parentId
==
0
){
that
.
deptArr
.
push
(
item
)
}
else
{
that
.
deptData
.
push
(
item
)
}
})
that
.
deptData
.
forEach
((
value
)
=>
{
var
dept
=
that
.
deptArr
.
filter
(
itt
=>
itt
.
id
==
value
.
parentId
)
if
(
dept
.
length
>
0
){
value
.
name
=
dept
[
0
].
name
+
'
|
'
+
value
.
name
}
})
})
},
methods
:
{
getCollectionData
(){
let
that
=
this
getReceipt
({
id
:
that
.
id
}).
then
(
res
=>
{
that
.
form
=
res
.
data
})
},
print
(){
lodop
().
then
(
LODOP
=>
{
LODOP
.
PRINT_INIT
(
this
.
title
);
LODOP
.
SET_PRINT_STYLE
(
"
FontSize
"
,
18
);
LODOP
.
SET_PRINT_STYLE
(
"
Bold
"
,
1
);
// LODOP.ADD_PRINT_TEXT(50,231,260,39,"打印页面部分内容");
LODOP
.
ADD_PRINT_HTM
(
"
10mm
"
,
"
10mm
"
,
"
RightMargin:10mm
"
,
"
BottomMargin:10mm
"
,
document
.
getElementById
(
"
print
"
).
innerHTML
);
LODOP
.
PRINT
();
// this.$alert('已发起打印任务');
// LODOP.PREVIEW(); // 预览
/* LODOP.PRINTA(); // 选择打印机
// 直接打印 */
console
.
log
(
'
打印哦
'
)
}).
catch
(
err
=>
{
console
.
error
(
'
lodop异常
'
,
err
)
alert
(
'
请检查LODOP打印控件是否安装并启动
'
);
})
}
},
}
</
script
>
<
style
scoped
>
.card
{
margin-top
:
20px
;
}
.dialog-footer
{
padding
:
40px
;
}
.card-title
{
font-size
:
18px
;
font-weight
:
bold
;
text-align
:
center
;
}
.header
{
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
}
.lastRow
{
border-top
:
1px
solid
#dfe6ec
;
display
:
flex
;
width
:
100%
;
height
:
44px
;
text-align
:
center
;
align-items
:
center
;
}
.lastRow
div
{
height
:
44px
;
line-height
:
44px
;
border-right
:
1px
solid
#dfe6ec
;
}
</
style
>
src/views/ecw/financial/voucher.vue
0 → 100644
View file @
ffbd8b5c
<
template
>
<div
class=
"app-container"
>
<div
slot=
"header"
class=
"card-title"
>
收款单
</div>
<!-- 搜索工作栏 -->
<el-card
v-show=
"showSearch"
class=
"card"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
label-width=
"100px"
class=
"card"
>
<el-row
:span=
"24"
>
<el-form-item
label=
"收款单号:"
>
<el-input
style=
"max-width: 188px;"
v-model=
"queryParams.receiptNo"
placeholder=
"请输入收款单号"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"客户名称:"
>
<customer-selector
v-model=
"queryParams.customerId"
@
change=
"consignor = $event"
/>
</el-form-item>
<el-form-item
label=
"状态:"
>
<dict-selector
:type=
"DICT_TYPE.ECW_RECEIPT_STATE"
v-model=
"queryParams.state"
/>
</el-form-item>
<el-form-item
label=
"业务员:"
>
<el-select
v-model=
"queryParams.salesmanId"
placeholder=
"请选择业务员"
>
<el-option
v-for=
"item in creatorData"
:key=
"item.id"
:label=
"item.nickname"
:value=
"item.id"
/>
</el-select>
</el-form-item>
</el-row>
<el-row
:span=
"24"
>
<el-col
style=
"width: 592px;"
>
<el-form-item
label=
"创建时间:"
>
<el-date-picker
v-model=
"queryParams.beginCreateTime"
type=
"datetimerange"
range-separator=
"到"
start-placeholder=
"请选择日期"
end-placeholder=
"请选择日期"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-form-item
label=
"自编号:"
>
<el-input
style=
"max-width: 188px;"
v-model=
"queryParams.orderNo"
placeholder=
"请输入自编号"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"订单号:"
>
<el-input
style=
"max-width: 188px;"
v-model=
"queryParams.orderNo"
placeholder=
"请输入订单号"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
</el-row>
<el-row
:span=
"24"
>
<el-form-item
label=
"商品名称:"
>
<el-input
style=
"max-width: 188px;"
v-model=
"queryParams.orderNo"
placeholder=
"请输入商品名称"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"费用类型:"
>
<dict-selector
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
v-model=
"queryParams.feeType"
></dict-selector>
</el-form-item>
<el-form-item
label=
"收款类型:"
>
<dict-selector
:type=
"DICT_TYPE.PAYMENT_TYPE"
v-model=
"queryParams.paymentType"
></dict-selector>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
@
click=
"handleQuery"
>
查找
</el-button>
</el-form-item>
</el-row>
</el-form>
</el-card>
<el-table
v-loading=
"loadings"
:data=
"list"
border
class=
"card"
>
<el-table-column
label=
"序号"
align=
"center"
prop=
"id"
type=
"index"
>
<template
slot-scope=
"scope"
>
<span>
{{
scope
.
$index
+
1
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"收款单号"
align=
"center"
prop=
"receiptNo"
/>
<el-table-column
label=
"自编号"
align=
"center"
prop=
"orderNo"
/>
<el-table-column
label=
"订单号"
align=
"center"
prop=
"orderNo"
/>
<el-table-column
label=
"客户名称"
align=
"center"
prop=
"customerName"
/>
<el-table-column
label=
"金额"
align=
"center"
prop=
"totalAmount"
/>
<el-table-column
label=
"币种"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.COMMISSION_CURRENCY_TYPE"
:value=
"scope.row.currencyId"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"汇率"
align=
"center"
prop=
"totalAmount"
/>
<el-table-column
label=
"实收日期"
align=
"center"
prop=
"channelName"
/>
<el-table-column
label=
"业务员"
align=
"center"
prop=
"toDepartureId"
/>
<el-table-column
label=
"状态"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.ECW_RECEIPT_STATE"
:value=
"scope.row.state"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"是否开票"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.INFRA_BOOLEAN_STRING"
:value=
"scope.row.isCargoControl"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"primary"
>
核销
</el-button>
<el-button
size=
"mini"
type=
"primary"
>
反核销
</el-button>
<el-button
size=
"mini"
type=
"primary"
>
开票
</el-button>
<el-button
size=
"mini"
@
click=
"handleAdd(scope.row.id)"
>
编辑
</el-button>
<el-button
size=
"mini"
type=
"danger"
>
删除
</el-button>
<el-button
size=
"mini"
type=
"primary"
>
打印
</el-button>
<el-button
size=
"mini"
type=
"success"
@
click=
"open=true"
>
导出订单
</el-button>
</
template
>
</el-table-column>
</el-table>
<!-- 分页组件 -->
<pagination
v-show=
"total > 0"
:total=
"total"
:page.sync=
"queryParams.page"
:limit.sync=
"queryParams.rows"
@
pagination=
"getList"
/>
<!-- 对话框(添加 / 修改) -->
<el-dialog
title=
"费用登记"
:visible.sync=
"open"
width=
"500px"
style=
"margin-top: 20vh !important;"
append-to-body
>
<div
slot=
"header"
class=
"card-title"
style=
'border-bottom: 2px solid #f8f8f8;'
>
<span>
导出账单
</span>
<i
class=
"el-icon-close"
@
click=
"cancel"
></i>
</div>
<div
class=
"dialog-footer"
>
<el-button
type=
"primary"
style=
"width: 130px;"
@
click=
"submitForm"
>
国内账单
</el-button>
<el-button
plain
type=
"primary"
style=
"width: 130px;margin: 0;"
@
click=
"submitForm"
>
Debite note
</el-button>
</div>
</el-dialog>
</div>
</template>
<
script
>
import
{
userList
}
from
"
@/api/system/user
"
import
{
DICT_TYPE
}
from
'
@/utils/dict
'
import
CustomerSelector
from
'
@/components/CustomerSelector
'
export
default
{
name
:
"
Voucher
"
,
components
:
{
CustomerSelector
},
data
()
{
return
{
open
:
false
,
showSearch
:
true
,
loadings
:
false
,
form
:{},
creatorData
:[],
list
:[],
total
:
0
,
dateType
:[],
loading
:
''
,
params
:{
page
:
1
,
rows
:
20
,
},
// 查询参数
queryParams
:
{
page
:
1
,
rows
:
10
,
dateType
:
null
,
date
:
null
,
originId
:
null
,
destinationId
:
null
,
transportId
:
null
,
isCargoControl
:
null
,
orderExceptionStatus
:
null
,
orderExceptionType
:
null
,
orderNo
:
null
,
consignorId
:
null
,
marks
:
null
,
prodId
:
null
,
productRecord
:
null
,
followUpSalesmanId
:
null
},
}
},
created
()
{
let
that
=
this
userList
(
'
salesman
'
).
then
(
res
=>
that
.
creatorData
=
res
.
data
)
},
methods
:
{
/** 查询列表 */
getList
()
{
this
.
loading
=
true
;
// 处理查询参数
let
params
=
{...
this
.
queryParams
};
this
.
addBeginAndEndTime
(
params
,
this
.
dateRangeCreateTime
,
'
createTime
'
);
// 执行查询
getReceiptPage
(
params
).
then
(
response
=>
{
this
.
list
=
response
.
data
.
list
;
this
.
total
=
response
.
data
.
total
;
this
.
loading
=
false
;
});
},
/** 搜索按钮操作 */
handleQuery
()
{
this
.
queryParams
.
pageNo
=
1
;
// this.getList();
},
/** 新增按钮操作 */
handleAdd
(
id
)
{
return
this
.
$router
.
push
(
'
creatCollection?id=
'
+
id
)
},
submitForm
(){
this
.
open
=
false
;
},
/** 取消按钮 */
cancel
()
{
this
.
open
=
false
;
},
},
}
</
script
>
<
style
>
.card
{
margin-top
:
20px
;
}
.dialog-footer
{
padding
:
30px
;
display
:
flex
;
flex-direction
:
column
;
align-items
:
center
;
justify-content
:
space-between
;
height
:
160px
;
}
.card-title
{
font-size
:
18px
;
font-weight
:
bold
;
}
</
style
>
src/views/ecw/offer/detail.vue
View file @
ffbd8b5c
...
...
@@ -204,7 +204,7 @@
</el-descriptions-item>
</el-descriptions>
</el-card>
<el-card
class=
"card"
>
<el-card
class=
"card"
:column=
"4"
>
<div
slot=
"header"
class=
"card-title"
>
通用信息
</div>
<el-descriptions
>
<el-descriptions-item
label=
"唛头1"
>
...
...
@@ -228,7 +228,7 @@
<el-rate
v-model=
"list.importance"
></el-rate>
</el-descriptions-item>
</el-descriptions>
<el-descriptions
>
<el-descriptions
:column=
"4"
>
<el-descriptions-item
label=
"价格有效期"
>
{{list.startTime}} 至 {{list.endTime}}
</el-descriptions-item>
...
...
src/views/ecw/order/exception/index.vue
View file @
ffbd8b5c
...
...
@@ -4,7 +4,7 @@
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"100px"
>
<el-row>
<el-form-item
>
<el-select
v-model=
"queryParams.
beginCreateTim
e"
style=
"width: 172px;"
>
<el-select
v-model=
"queryParams.
dateTyp
e"
style=
"width: 172px;"
>
<el-option
label=
"入仓时间"
value=
"0"
/>
<el-option
label=
"处理时间"
value=
"1"
/>
</el-select>
...
...
@@ -18,12 +18,12 @@
</el-date-picker>
</el-form-item>
<el-form-item
label=
"始发地:"
>
<el-select
v-model=
"queryParams.
startWarehouse
Id"
placeholder=
"请选择始发地"
>
<el-select
v-model=
"queryParams.
origin
Id"
placeholder=
"请选择始发地"
>
<el-option
v-for=
"item in expoerCityList"
:label=
"item.titleZh"
:value=
"item.id"
:key=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"目的地:"
>
<el-select
v-model=
"queryParams.dest
Warehouse
Id"
placeholder=
"请选择目的地"
>
<el-select
v-model=
"queryParams.dest
ination
Id"
placeholder=
"请选择目的地"
>
<el-option
v-for=
"item in importCityList"
:label=
"item.titleZh"
:value=
"item.id"
:key=
"item.id"
></el-option>
</el-select>
</el-form-item>
...
...
@@ -33,27 +33,27 @@
</el-row>
<el-row>
<el-form-item
label=
"控货:"
>
<dict-selector
:type=
"DICT_TYPE.
INFRA_BOOLEAN_STRING"
v-model=
"queryParams.c
ontrol"
@
keyup.enter.native=
"handleQuery"
/>
<dict-selector
:type=
"DICT_TYPE.
ECW_YESNO"
v-model=
"queryParams.isCargoC
ontrol"
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"异常状态:"
>
<dict-selector
:type=
"DICT_TYPE.ORDER_EXCEPTION_STATUS"
v-model=
"queryParams.orderExceptionStatus"
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"异常类型"
prop=
"orderExceptionType"
>
<el-form-item
label=
"异常类型"
>
<dict-selector
:type=
"DICT_TYPE.ORDER_ERROR_TYPE"
v-model=
"queryParams.orderExceptionType"
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"订单号"
prop=
"orderNumber"
>
<el-input
v-model=
"queryParams.orderN
umber
"
placeholder=
"请输入订单号"
clearable
@
keyup.enter.native=
"handleQuery"
/>
<el-form-item
label=
"订单号"
>
<el-input
v-model=
"queryParams.orderN
o
"
placeholder=
"请输入订单号"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
</el-row>
<el-row>
<el-form-item
label=
"发货人:"
prop=
"consignorId"
>
<el-form-item
label=
"发货人:"
>
<customer-selector
v-model=
"queryParams.consignorId"
@
change=
"consignor = $event"
/>
</el-form-item>
<el-form-item
label=
"唛头:"
prop=
"marks"
>
<el-form-item
label=
"唛头:"
>
<el-input
v-model=
"queryParams.marks"
placeholder=
"请输入唛头"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"品名:"
prop=
"
orderExceptionAmount
"
>
<
el-input
v-model=
"queryParams.orderExceptionAmount"
placeholder=
"请输入品名"
clearable
@
keyup.enter.native=
"handleQuery"
/>
<el-form-item
label=
"品名:"
prop=
"
prodId
"
>
<
product-selector
v-model=
"queryParams.prodId"
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"备案:"
>
<dict-selector
:type=
"DICT_TYPE.PRODUCT_RECORD_ATTRIBUTE"
v-model=
"queryParams.productRecord"
@
keyup.enter.native=
"handleQuery"
/>
...
...
@@ -67,6 +67,7 @@
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"handleQuery"
>
搜索
</el-button>
<el-button
icon=
"el-icon-refresh"
@
click=
"reset"
>
重置
</el-button>
</el-form-item>
</el-row>
</el-form>
...
...
@@ -84,32 +85,36 @@
<span>
{{
scope
.
$index
+
1
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"订单号"
align=
"center"
prop=
"orderNumber"
/>
<el-table-column
label=
"唛头"
align=
"center"
prop=
"marks"
/>
<el-table-column
label=
"订单号"
align=
"center"
prop=
"orderNo"
/>
<el-table-column
label=
"唛头"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
marks
||
'
无
'
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"总箱数/入仓箱数"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
sumNum
+
'
/
'
+
scope
.
row
.
sumNum
}}
</span>
<span>
{{
scope
.
row
.
totalBox
+
'
箱/
'
+
scope
.
row
.
warehousingBox
+
"
箱
"
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"体积/重量"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
sumVolume
+
"
/
"
+
scope
.
row
.
sumWeight
}}
</span>
<span>
{{
scope
.
row
.
volume
+
"
m³/
"
+
scope
.
row
.
weight
+
"
kg
"
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"运输方式/目的地"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<span><dict-tag
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"scope.row.transportId"
></dict-tag>
{{
'
/
'
+
importCityName
(
scope
.
row
.
logisticsInfoDto
.
destWarehouseId
)
}}
</span>
{{
'
/
'
+
scope
.
row
.
destinationZh
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"控货"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.INFRA_BOOLEAN_STRING"
:value=
"scope.row.
c
ontrol"
/>
<dict-tag
:type=
"DICT_TYPE.INFRA_BOOLEAN_STRING"
:value=
"scope.row.
isCargoC
ontrol"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"订单状态"
align=
"center"
prop=
"orderExceptionAmount"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.ORDER_STATUS"
:value=
"scope.row.
s
tatus"
/>
<dict-tag
:type=
"DICT_TYPE.ORDER_STATUS"
:value=
"scope.row.
orderS
tatus"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"异常状态"
align=
"center"
>
...
...
@@ -119,18 +124,18 @@
</el-table-column>
<el-table-column
label=
"异常类型"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.ORDER_E
XCEPTION_STATUS
"
:value=
"scope.row.orderExceptionType"
/>
<dict-tag
:type=
"DICT_TYPE.ORDER_E
RROR_TYPE
"
:value=
"scope.row.orderExceptionType"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
>
处理
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-share"
>
查看
</el-button>
<el-button
v-if=
"scope.row.orderExceptionStatus
<2
"
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handEdit(scope.row.orderId)"
>
处理
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-share"
@
click=
"handEdit(scope.row.orderId)"
>
查看
</el-button>
</
template
>
</el-table-column>
</el-table>
<!-- 分页组件 -->
<pagination
v-show=
"total > 0"
:total=
"total"
:page.sync=
"queryParams.page
No"
:limit.sync=
"queryParams.pageSize
"
<pagination
v-show=
"total > 0"
:total=
"total"
:page.sync=
"queryParams.page
"
:limit.sync=
"queryParams.rows
"
@
pagination=
"getList"
/>
</div>
</template>
...
...
@@ -141,11 +146,12 @@ import {getTradeCityList} from '@/api/ecw/region'
import
{
DICT_TYPE
}
from
'
@/utils/dict
'
import
{
userList
}
from
"
@/api/system/user
"
import
CustomerSelector
from
'
@/components/CustomerSelector
'
import
ProductSelector
from
'
@/components/ProductSelector
'
export
default
{
name
:
"
Exception
"
,
components
:
{
CustomerSelector
CustomerSelector
,
ProductSelector
},
data
()
{
return
{
...
...
@@ -161,15 +167,22 @@ export default {
creatorData
:[],
// 查询参数
queryParams
:
{
pageNo
:
1
,
pageSize
:
10
,
orderId
:
null
,
orderNumber
:
null
,
orderExceptionType
:
null
,
orderExceptionRemark
:
null
,
orderExceptionAmount
:
null
,
orderExceptionAttr
:
null
,
orderExceptionStatus
:
null
,
page
:
1
,
rows
:
10
,
dateType
:
null
,
date
:
null
,
originId
:
null
,
destinationId
:
null
,
transportId
:
null
,
isCargoControl
:
null
,
orderExceptionStatus
:
null
,
orderExceptionType
:
null
,
orderNo
:
null
,
consignorId
:
null
,
marks
:
null
,
prodId
:
null
,
productRecord
:
null
,
followUpSalesmanId
:
null
},
tradeCityList
:[],
};
...
...
@@ -200,19 +213,41 @@ export default {
this
.
loading
=
false
;
});
},
/** 表单重置 */
reset
()
{
this
.
queryParams
=
{
page
:
1
,
rows
:
10
,
dateType
:
undefined
,
date
:
undefined
,
originId
:
undefined
,
destinationId
:
undefined
,
transportId
:
undefined
,
isCargoControl
:
undefined
,
orderExceptionStatus
:
undefined
,
orderExceptionType
:
undefined
,
orderNo
:
undefined
,
consignorId
:
undefined
,
marks
:
undefined
,
prodId
:
undefined
,
productRecord
:
undefined
,
followUpSalesmanId
:
undefined
};
this
.
resetForm
(
"
queryForm
"
);
},
importCityName
(
id
){
return
this
.
tradeCityList
.
filter
(
item
=>
item
.
id
==
id
)
},
/** 搜索按钮操作 */
handleQuery
()
{
this
.
queryParams
.
page
No
=
1
;
this
.
queryParams
.
page
=
1
;
this
.
getList
();
},
/** 重置按钮操作 */
resetQuery
()
{
this
.
dateRangeCreateTime
=
[];
this
.
handleQuery
();
}
,
handEdit
(
id
){
this
.
$router
.
push
(
{
path
:
"
./pending?id=
"
+
id
,
})
}
}
}
</
script
>
src/views/ecw/order/pending.vue
View file @
ffbd8b5c
...
...
@@ -2,28 +2,28 @@
<div
class=
"app-container"
>
<!-- 搜索工作栏 -->
<el-card>
<div
slot=
"header"
class=
"card-title"
>
报价单详情
</div>
<div
slot=
"header"
class=
"card-title"
>
查看
</div>
<el-descriptions
:column=
"4"
>
<el-descriptions-item
label=
"唛头"
>
{{
orderData
.
marks
?
orderData
.
marks
:
'
无
'
}}
</el-descriptions-item>
<el-descriptions-item
label=
"已到箱数/总箱数"
>
{{
orderData
.
sumNum
?
orderData
.
sumNum
:
0
+
'
/
'
+
orderData
.
sumNum
?
orderData
.
sumN
um
:
0
}}
{{
orderData
.
sumNum
||
0
}}
/
{{
orderData
.
costVO
?
orderData
.
costVO
.
n
um
:
0
}}
</el-descriptions-item>
<el-descriptions-item
label=
"订单状态"
>
<dict-tag
:type=
"DICT_TYPE.ORDER_STATUS"
:value=
"orderData.status"
/>
</el-descriptions-item>
<el-descriptions-item
label=
"送货日期"
>
{{
orderData
.
date
?
orderData
.
date
:
'
无
'
}}
<span
v-if=
"orderData"
>
{{
orderData
.
status
>=
5
?(
orderData
.
orderItemVOList
.
length
>
0
?
orderData
.
orderItemVOList
[
0
].
warehouseInInfoVO
.
inTime
:
'
无
'
):(
orderData
.
consigneeVO
?
orderData
.
consigneeVO
.
deliveryDate
:
'
无
'
)
}}
</span>
</el-descriptions-item>
<el-descriptions-item
label=
"运输方式"
>
<dict-tag
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"orderData.transportId"
/>
</el-descriptions-item>
<el-descriptions-item
label=
"始发地"
>
{{
importCityName
(
orderData
.
startWarehouseId
)
}}
{{
orderData
.
logisticsInfoDto
?
orderData
.
logisticsInfoDto
.
startTitleZh
:
'
无
'
}}
</el-descriptions-item>
<el-descriptions-item
label=
"目的地"
>
{{
importCityName
(
orderData
.
startWarehouseId
)
}}
{{
orderData
.
logisticsInfoDto
?
orderData
.
logisticsInfoDto
.
destTitleZh
:
'
无
'
}}
</el-descriptions-item>
</el-descriptions>
<el-descriptions
:column=
"4"
>
...
...
@@ -60,7 +60,7 @@
</el-table-column>
<el-table-column
label=
"异常类型"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.ORDER_E
XCEPTION_STATUS
"
:value=
"scope.row.orderExceptionType"
/>
<dict-tag
:type=
"DICT_TYPE.ORDER_E
RROR_TYPE
"
:value=
"scope.row.orderExceptionType"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"异常描述"
align=
"center"
>
...
...
@@ -83,21 +83,19 @@
<el-table-column
label=
"处理时间"
align=
"center"
prop=
'orderExceptionTime'
/>
<el-table-column
label=
"操作"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
>
处理
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handEdit(scope.row.id,scope.row.orderExceptionType)"
>
处理
</el-button>
</
template
>
</el-table-column>
</el-table>
<!-- 分页组件 -->
<pagination
v-show=
"total > 0"
:total=
"total"
:page.sync=
"queryParams.pageNo"
:limit.sync=
"queryParams.pageSize"
@
pagination=
"getList"
/>
</el-card>
</div>
</template>
<
script
>
import
{
get
OrderExceptionPage
}
from
"
@/api/ecw/orderException
"
import
{
get
ExceptionListByOrderId
}
from
"
@/api/ecw/orderException
"
import
{
getTradeCityList
}
from
'
@/api/ecw/region
'
import
{
DICT_TYPE
}
from
'
@/utils/dict
'
import
{
getOrder
}
from
'
@/api/ecw/order
'
export
default
{
name
:
"
Pending
"
,
...
...
@@ -108,23 +106,21 @@ export default {
return
{
// 遮罩层
loading
:
false
,
// 总条数
total
:
0
,
// 显示搜索条件
showSearch
:
true
,
orderData
:{},
// 订单异常列表
list
:
[],
tradeCityList
:[],
queryParams
:
{
page
:
1
,
rows
:
10
,
orderExceptionStatus
:
0
,
},
orderId
:
0
};
},
created
()
{
this
.
getList
();
if
(
this
.
$route
.
query
.
id
){
this
.
orderId
=
this
.
$route
.
query
.
id
this
.
getList
()
this
.
getOrders
()
}
getTradeCityList
().
then
(
res
=>
this
.
tradeCityList
=
res
.
data
)
},
methods
:
{
...
...
@@ -132,17 +128,28 @@ export default {
getList
()
{
this
.
loading
=
true
;
// 执行查询
getOrderExceptionPage
(
this
.
queryParams
).
then
(
response
=>
{
this
.
list
=
response
.
data
.
list
;
this
.
total
=
response
.
data
.
total
;
this
.
orderData
=
response
.
data
getExceptionListByOrderId
(
this
.
orderId
).
then
(
response
=>
{
this
.
list
=
response
.
data
;
this
.
loading
=
false
;
});
},
getOrders
(){
getOrder
(
this
.
orderId
).
then
(
response
=>
{
this
.
orderData
=
response
.
data
});
},
importCityName
(
id
){
var
arr
=
this
.
tradeCityList
.
filter
(
item
=>
item
.
id
==
id
)
return
arr
.
length
>
0
?
arr
[
0
].
titleZh
:
'
无
'
},
handEdit
(
id
,
type
){
// if(type == 3){
this
.
$router
.
push
({
path
:
"
/order/prepayDeal?id=
"
+
id
,
})
// }
}
}
}
</
script
>
...
...
src/views/ecw/order/prepayDeal.vue
View file @
ffbd8b5c
...
...
@@ -2,7 +2,7 @@
<div
class=
"app-container"
>
<el-card>
<div
slot=
"header"
class=
"header"
>
<div
class=
"card-title"
>
新增收款单
</div>
<div
class=
"card-title"
>
查看
</div>
<el-button
type=
"primary"
icon=
"el-icon-arrow-left"
@
click=
"$router.back()"
>
返回
</el-button>
</div>
<el-form
:model=
"orderData"
ref=
"queryForm"
size=
"small"
:inline=
"true"
label-width=
"120px"
class=
"card"
>
...
...
@@ -23,27 +23,28 @@
</el-row>
<el-row>
<el-form-item
label=
"运输路线:"
>
{{
orderData
?
getRouterNameById
(
orderData
.
customerName
):
''
}}
<span
v-if=
"orderData"
>
【
<dict-tag
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"orderData.transportId"
/>
】
</span>
{{
orderData
?
getRouterNameById
(
orderData
.
lineId
):
''
}}
</el-form-item>
</el-row>
<el-row>
<el-form-item
label=
"填单参数:"
>
{{
orderData
.
totalMoney
}}
{{
(
orderData
.
sumNum
||
0
)
+
'
箱
'
+
(
orderData
.
sumVolume
||
0
)
+
'
m³
'
+
(
orderData
.
sumWeight
||
0
)
+
'
kg
'
}}
</el-form-item>
</el-row>
<el-row>
<el-form-item
label=
"入仓参数:"
>
{{
orderData
.
totalMoney
}}
{{
(
orderData
.
sumNum
||
0
)
+
'
箱
'
+
(
orderData
.
sumVolume
||
0
)
+
'
m³
'
+
(
orderData
.
sumWeight
||
0
)
+
'
kg
'
}}
</el-form-item>
</el-row>
<el-row
:span=
"12"
>
<el-form-item
label=
"异常描述:"
>
{{
orderData
.
totalMoney
}}
{{
orderData
.
totalMoney
||
'
无
'
}}
</el-form-item>
<el-button
type=
"primary"
plain
icon=
"el-icon-plus"
style=
"margin-left: 200px;"
@
click=
"handleAdd"
>
新增收款单
</el-button>
</el-row>
</el-form>
<el-table
v-loading=
"loading"
border
:data=
"
l
ist"
@
selection-change=
"handleSelectionChange"
>
<el-table
v-loading=
"loading"
border
:data=
"
orderData.orderItemVOL
ist"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
>
</el-table-column>
<el-table-column
label=
"品名"
align=
"center"
prop=
"goodsType"
>
...
...
@@ -52,7 +53,7 @@
</
template
>
</el-table-column>
<el-table-column
label=
"箱数"
prop=
"num"
/>
<el-table-column
label=
"体积/重量"
prop=
"volume"
>
<el-table-column
label=
"体积/重量"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
volume
+
'
/
'
+
scope
.
row
.
weight
}}
</
template
>
...
...
@@ -71,7 +72,11 @@
<el-table-column
label=
"总金额美元"
align=
"center"
prop=
"totalAmount"
/>
<el-table-column
label=
"总金额RMB"
align=
"center"
prop=
"totalAmount"
/>
<el-table-column
label=
"实收金额"
prop=
"volume"
/>
<el-table-column
label=
"付款人"
prop=
"weight"
/>
<el-table-column
label=
"付款人"
>
<
template
slot-scope=
"scope"
>
<span>
{{
srope
.
row
.
consigneeVO
.
name
}}
(收货人)
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"付款状态"
prop=
"worth"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.ECW_RECEIPT_STATE"
:value=
"scope.row.state"
></dict-tag>
...
...
@@ -96,16 +101,15 @@
</el-row>
<el-row>
<el-form-item
label=
"处理结果:"
>
<el-select
v-model=
"orderData.objectiveId"
placeholder=
"处理结果"
>
<el-option
label=
"待处理"
value=
"1"
></el-option>
<el-option
label=
"不需要预付"
value=
"2"
></el-option>
<el-option
label=
"已确认收款"
value=
"3"
></el-option>
<el-select
v-model=
"handlerParams.orderExceptionHandlerResult"
>
<el-option
v-for=
"dict in this.getDictDatas('order_pay_exception_result')"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
</el-row>
<el-row
:span=
"8"
>
<el-form-item
label=
"备注:"
size=
"medium"
>
<el-input
style=
"width: 500px;"
type=
"textarea"
v-model=
"
orderData.r
emark"
/>
<el-input
style=
"width: 500px;"
type=
"textarea"
v-model=
"
handlerParams.orderExceptionHandlerR
emark"
/>
</el-form-item>
</el-row>
</el-form>
...
...
@@ -113,7 +117,7 @@
<div
slot=
"footer"
class=
"dialog-footer"
>
<div>
<el-button
type=
"primary"
@
click=
"submitForm"
>
提交
</el-button>
<el-button
plain
type=
"primary"
@
click=
"
submitForm
"
>
取消
</el-button>
<el-button
plain
type=
"primary"
@
click=
"
$router.back()
"
>
取消
</el-button>
</div>
<el-button
type=
"primary"
@
click=
"submitForm"
>
转交
</el-button>
</div>
...
...
@@ -123,6 +127,9 @@
<
script
>
import
{
DICT_TYPE
}
from
'
@/utils/dict
'
import
{
openedRouterList
as
getOpenedRouterList
}
from
'
@/api/ecw/warehouse
'
import
{
getOrder
}
from
'
@/api/ecw/order
'
import
{
getExceptionById
,
handlerExceptionByExceptionId
}
from
"
@/api/ecw/orderException
"
export
default
{
name
:
"
PrepayDeal
"
,
components
:
{
...
...
@@ -132,28 +139,45 @@
return
{
// 遮罩层
loading
:
false
,
list
:
[]
,
orderExceptionData
:
{}
,
types
:
'
package,bag
'
,
importance
:
1
,
orderData
:{},
orderData
:{
},
orderId
:
0
,
orderExceptionId
:
0
,
handlerParams
:{
orderExceptionId
:
0
},
//发货/收货人信息
consigneeData
:[],
routerList
:[],
multipleSelection
:[]
multipleSelection
:[]
,
};
},
created
()
{
if
(
this
.
$route
.
query
.
orderId
){
this
.
orderId
=
this
.
$route
.
query
.
orderId
this
.
getList
();
if
(
this
.
$route
.
query
.
id
){
this
.
orderExceptionId
=
this
.
$route
.
query
.
id
this
.
handlerParams
.
orderExceptionId
=
this
.
$route
.
query
.
id
this
.
getList
()
}
},
methods
:
{
/** 查询列表 */
getList
()
{
let
that
=
this
// that.loading = true;
that
.
loading
=
true
;
getExceptionById
(
that
.
orderExceptionId
).
then
(
response
=>
{
that
.
orderExceptionData
=
response
.
data
;
that
.
loading
=
false
;
that
.
orderId
=
response
.
data
.
orderId
that
.
getOrderData
()
});
},
getOrderData
(){
getOrder
(
this
.
orderId
).
then
(
response
=>
{
this
.
orderData
=
response
.
data
});
},
handleSelectionChange
(
val
)
{
this
.
multipleSelection
=
val
;
...
...
@@ -175,23 +199,27 @@
let
router
=
this
.
routerList
.
find
(
item
=>
item
.
id
==
routerId
)
console
.
log
({
router
})
if
(
router
){
return
router
.
startTitleZh
+
'
>>>
'
+
router
.
destTitleZh
return
'
从【
'
+
router
.
startTitleZh
+
'
】发往【
'
+
router
.
destTitleZh
+
'
】
'
}
return
'
-
'
return
'
无
'
// }
},
submitForm
(){
handlerExceptionByExceptionId
(
that
.
orderExceptionId
).
then
(
response
=>
{
that
.
orderExceptionData
=
response
.
data
;
that
.
loading
=
false
;
that
.
orderId
=
response
.
data
.
orderId
this
.
getOrderData
()
});
},
/** 跟进按钮操作 */
handleAdd
()
{
// this.$router.push({
// path: "/offer/logList",
// query:{
// offerId:this.offerId,
// relationId:this.list.consignorId
// }
// });
this
.
$router
.
push
({
path
:
"
/financial/creatCollection
"
,
query
:{
orderId
:
this
.
orderId
,
}
});
},
}
...
...
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