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
e70fde74
Commit
e70fde74
authored
Jul 22, 2022
by
dcy
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/dev' into dev
# Conflicts: # src/utils/dict.js
parents
d102cf79
65154a1c
Changes
17
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
947 additions
and
172 deletions
+947
-172
package.json
package.json
+1
-1
orderException.js
src/api/ecw/orderException.js
+24
-1
dict.js
src/utils/dict.js
+5
-1
lodop.js
src/utils/lodop.js
+2
-1
index.vue
src/views/ecw/banner/index.vue
+3
-3
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
+214
-0
voucher.vue
src/views/ecw/financial/voucher.vue
+220
-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
smsChannel.vue
src/views/system/sms/smsChannel.vue
+6
-0
smsTemplate.vue
src/views/system/sms/smsTemplate.vue
+48
-13
No files found.
package.json
View file @
e70fde74
...
...
@@ -44,7 +44,7 @@
"
bpmn-js-token-simulation
"
:
"
^0.10.0
"
,
"
clipboard
"
:
"
2.0.8
"
,
"
core-js
"
:
"
^3.21.1
"
,
"
dayjs
"
:
"
^1.11.
3
"
,
"
dayjs
"
:
"
^1.11.
4
"
,
"
echarts
"
:
"
4.9.0
"
,
"
element-ui
"
:
"
^2.15.6
"
,
"
file-saver
"
:
"
2.0.5
"
,
...
...
src/api/ecw/orderException.js
View file @
e70fde74
...
...
@@ -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 @
e70fde74
...
...
@@ -127,7 +127,7 @@ export const DICT_TYPE = {
COMMISSION_TYPE
:
'
commission_type
'
,
//佣金类型
COMMISSION_DARK_TYPE
:
'
commission_dark_type
'
,
//暗涌类型
COMMISSION_CURRENCY_TYPE
:
'
commission_currency_type
'
,
//佣金货币类型
COMMISSION_UNIT
:
'
commission_unit
'
,
//佣金货物单位
//
COMMISSION_UNIT: 'commission_unit',//佣金货物单位
ECW_PORT_TYPE
:
'
port_type
'
,
//港口类型
CERTIFICATE_TYPE
:
'
certificate_type
'
,
//证件类型
//customer
...
...
@@ -143,6 +143,8 @@ 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
'
,
//收款类型
ECASH_INIT
:
'
ecash_init
'
,
//e-cash
FEE_TYPE
:
'
fee_type
'
,
PAY_TYPE
:
'
pay_type
'
,
...
...
@@ -150,6 +152,8 @@ export const DICT_TYPE = {
COMDINED_VALUE_ADDED_FEE
:
'
combined_value_added_fee
'
,
ORDER_SPECIAL_NEEDS
:
'
order_special_needs
'
,
ORDER_ABNORMAL_STATE
:
'
order_abnormal_state
'
ORDER_SPECIAL_NEEDS
:
'
order_special_needs
'
}
/**
...
...
src/utils/lodop.js
View file @
e70fde74
...
...
@@ -18,4 +18,5 @@ const lodop = function(){
}
else
resolve
(
getLodop
())
})
}
export
default
lodop
\ No newline at end of file
export
default
lodop
src/views/ecw/banner/index.vue
View file @
e70fde74
...
...
@@ -101,11 +101,11 @@
<el-form-item
label=
"英文内容"
prop=
"contentEn"
>
<editor
v-model=
"form.contentEn"
:min-height=
"150"
/>
</el-form-item>
<el-form-item
label=
"WEB端广告图片"
prop=
"bannerUrlWeb"
>
<el-form-item
label=
"WEB端广告图片
(建议尺寸210*902)
"
prop=
"bannerUrlWeb"
>
<el-col
:span=
"8"
>
<el-input
v-model=
"form.bannerUrlWeb"
placeholder=
"请上传WEB端广告图片"
/>
</el-col>
<el-upload
action=
"#"
:http-request=
"requestUpload"
:show-file-list=
"false"
:before-upload=
"beforeUploadWeb"
>
<el-button
size=
"small"
>
上传图片
...
...
@@ -113,7 +113,7 @@
</el-button>
</el-upload>
</el-form-item>
<el-form-item
label=
"APP端广告图片"
prop=
"bannerUrlApp"
>
<el-form-item
label=
"APP端广告图片
(建议尺寸688*294)
"
prop=
"bannerUrlApp"
>
<el-col
:span=
"8"
>
<el-input
v-model=
"form.bannerUrlApp"
placeholder=
"请上传APP端广告图片"
/>
</el-col>
...
...
src/views/ecw/financial/creatCollection.vue
View file @
e70fde74
<
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 @
e70fde74
...
...
@@ -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-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.followUpSalesmanId"
placeholder=
"请选择收款账户"
>
<el-option
v-for=
"item in bankData"
:key=
"item.id"
:label=
"item.baAccountName+'('+item.baAccountNum+')'"
:value=
"item.id"
/>
</el-select>
<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.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.supplierId"
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 @
e70fde74
<
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 @
e70fde74
...
...
@@ -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-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=
"运输方式:"
>
<dict-selector
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
v-model=
"queryParams.transportId"
formatter=
"number"
/>
</el-form-item>
</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=
"状态:"
>
</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
'
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 @
e70fde74
<
template
>
<div
class=
"app-container"
>
<div
id=
"print"
style=
"font-size: 18px;"
>
<div
style=
"text-align: center;font-weight: bold;font-size: 20px;"
>
收款单
</div>
<div
style=
"margin-top: 20px;"
>
<div
style=
"display: flex;width: 80%;align-items: center;margin-bottom: 10px;"
>
<div
style=
"flex:1"
><span
style=
"width: 120px;text-align: right;"
>
部门:
</span><span>
{{
form
?
form
.
departmentName
:
'
无
'
}}
</span></div>
</div>
<div
style=
"display: flex;width: 80%;align-items: center;margin-bottom: 10px;"
>
<div
style=
"flex:1"
><span
style=
"width: 120px;text-align: right;"
>
收款单号:
</span><span>
{{
form
?
form
.
receiptNo
:
'
无
'
}}
</span></div>
<div
style=
"flex:1"
><span
style=
"width: 120px;text-align: right;"
>
收款日期:
</span><span>
{{
form
?
form
.
payedAt
:
'
无
'
}}
</span></div>
</div>
<div
style=
"display: flex;width: 80%;align-items: center;margin-bottom: 10px;"
>
<div
style=
"flex:1"
><span
style=
"width: 120px;text-align: right;"
>
客户名称:
</span><span>
{{
form
?
form
.
customerName
:
'
无
'
}}
</span></div>
<div
style=
"flex:1"
><span
style=
"width: 120px;text-align: right;"
>
收款户名:
</span><span>
{{
form
?
form
.
platformAccount
:
'
无
'
}}
</span></div>
</div>
<div
style=
"display: flex;width: 80%;align-items: center;margin-bottom: 10px;"
>
<div
style=
"flex:1"
><span
style=
"width: 120px;text-align: right;"
>
银行名称:
</span><span>
{{
form
?
form
.
accountBank
:
'
无
'
}}
</span></div>
<div
style=
"flex:1"
><span
style=
"width: 120px;text-align: right;"
>
银行账号:
</span><span>
{{
form
?
form
.
accountBank
:
'
无
'
}}
</span></div>
</div>
<div
style=
"display: flex;width: 80%;align-items: center;margin-bottom: 10px;"
>
<div
style=
"flex:1"
><span
style=
"width: 120px;text-align: right;"
>
水单号:
</span><span>
{{
form
?
form
.
accountBank
:
'
无
'
}}
</span></div>
<div
style=
"flex:1"
><span
style=
"width: 120px;text-align: right;"
>
手续费:
</span><span>
{{
form
?
form
.
accountBank
:
'
无
'
}}
</span></div>
</div>
<div
style=
"display: flex;width: 80%;align-items: center;"
>
<div
style=
"flex:1"
><span
style=
"width: 120px;text-align: right;"
>
备注:
</span><span>
{{
form
?
form
.
accountBank
:
'
无
'
}}
</span></div>
</div>
</div>
<table
border=
"1"
style=
"margin-top: 20px;width: 100%;text-align: center;border-collapse: collapse; "
>
<tr>
<th
style=
"width: 8%;"
>
序号
</th>
<th
style=
"width: 12%;"
>
订单号
</th>
<th
style=
"width: 18%;"
>
收入类型
</th>
<th
style=
"width: 22%;"
>
品名
</th>
<th
style=
"width: 8%;"
>
汇率
</th>
<th
style=
"width: 12%;"
>
总金额
</th>
<th
style=
"width: 20%;"
>
实收金额
</th>
</tr>
<tr>
<td>
1
</td>
<td>
2
</td>
<td>
3
</td>
<td>
4
</td>
<td>
5
</td>
<td>
6
</td>
<td>
7
</td>
</tr>
<tr>
<td
colspan=
"2"
>
合计(大写)
</td>
<td
colspan=
"2"
>
$80
</td>
<td
colspan=
"2"
>
价税合计
</td>
<td>
$80
</td>
</tr>
</table>
<!--
<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
style=
"margin-top: 20px;"
>
<div
style=
"display: flex;width: 100%;align-items: center;"
>
<div
style=
"flex:1"
><span
style=
"width: 120px;"
>
主管:
</span></div>
<div
style=
"flex:1"
><span
style=
"width: 120px;"
>
会计:
</span></div>
<div
style=
"flex:1"
><span
style=
"width: 120px;"
>
出纳:
</span></div>
<div
style=
"flex:1"
><span
style=
"width: 120px;"
>
经手人:
</span></div>
</div>
</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
();
LODOP
.
SET_PRINT_STYLE
(
"
FontSize
"
,
18
);
LODOP
.
SET_PRINT_STYLE
(
"
Bold
"
,
1
);
// LODOP.ADD_PRINT_TEXT(50,231,260,39,"打印页面部分内容");
// var stylePrint = "
<
style
>
table
th
,
td
{
padding
:
0
;
margin
:
0
;
border
:
1
px
solid
#
000000
;
border
-
collapse
:
collapse
;}
<
/style>
"
var
htmlContent
=
"
<body>
"
+
document
.
getElementById
(
"
print
"
).
innerHTML
+
"
</body>
"
LODOP
.
ADD_PRINT_HTM
(
"
6mm
"
,
"
6mm
"
,
"
RightMargin:6mm
"
,
"
BottomMargin:6mm
"
,
htmlContent
);
LODOP
.
PRINT
();
// this.$alert('已发起打印任务');
// LODOP.PREVIEW(); // 预览
/* LODOP.PRINTA(); // 选择打印机
// 直接打印 */
console
.
log
(
'
打印哦
'
)
}).
catch
(
err
=>
{
console
.
error
(
'
lodop异常
'
,
err
)
alert
(
'
请检查LODOP打印控件是否安装并启动
'
);
})
}
},
}
</
script
>
<
style
scoped
id=
"printStyle"
>
.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 @
e70fde74
<
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
v-if=
"scope.row.state==1"
size=
"mini"
type=
"primary"
>
核销
</el-button>
<el-button
v-if=
"scope.row.state>1"
size=
"mini"
type=
"primary"
>
反核销
</el-button>
<el-button
v-if=
"scope.row.state==3"
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"
@
click=
"toprint(scope.row.id)"
>
打印
</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
)
},
toprint
(
id
){
return
this
.
$router
.
push
(
'
printVoucher?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 @
e70fde74
...
...
@@ -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"
>
...
...
@@ -214,7 +214,7 @@
<dict-tag
:type=
"DICT_TYPE.ECW_CUSTOMS_TYPE"
:value=
"list.customsType"
></dict-tag>
</el-descriptions-item>
</el-descriptions>
<el-descriptions
:column=
"4"
>
<el-descriptions
:column=
"4"
>
<el-descriptions-item
label=
"预计结束时间"
>
{{list.stopTime}}
</el-descriptions-item>
...
...
@@ -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 @
e70fde74
...
...
@@ -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 @
e70fde74
...
...
@@ -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
>
...
...
@@ -150,7 +157,7 @@ export default {
.card-title
{
font-size
:
18px
;
font-weight
:
bold
;
margin-top
:
10px
;
margin-top
:
10px
;
}
.card
{
margin-top
:
20px
;
...
...
src/views/ecw/order/prepayDeal.vue
View file @
e70fde74
...
...
@@ -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>
<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>
...
...
@@ -122,7 +126,10 @@
<
script
>
import
{
DICT_TYPE
}
from
'
@/utils/dict
'
import
{
openedRouterList
as
getOpenedRouterList
}
from
'
@/api/ecw/warehouse
'
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
,
}
});
},
}
...
...
src/views/system/sms/smsChannel.vue
View file @
e70fde74
...
...
@@ -35,6 +35,7 @@
<el-table
v-loading=
"loading"
:data=
"list"
>
<el-table-column
label=
"编号"
align=
"center"
prop=
"id"
/>
<el-table-column
label=
"短信签名"
align=
"center"
prop=
"signature"
/>
<el-table-column
label=
"英文短信签名"
align=
"center"
prop=
"signatureEn"
/>
<el-table-column
label=
"渠道编码"
align=
"center"
prop=
"code"
>
<template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.SYSTEM_SMS_CHANNEL_CODE"
:value=
"scope.row.code"
/>
...
...
@@ -73,6 +74,9 @@
<el-form-item
label=
"短信签名"
prop=
"signature"
>
<el-input
v-model=
"form.signature"
placeholder=
"请输入短信签名"
/>
</el-form-item>
<el-form-item
label=
"英文短信签名"
prop=
"signatureEn"
>
<el-input
v-model=
"form.signatureEn"
placeholder=
"请输入英文短信签名"
/>
</el-form-item>
<el-form-item
label=
"渠道编码"
prop=
"code"
>
<el-input
v-model=
"form.code"
placeholder=
"请输入渠道编码"
/>
</el-form-item>
...
...
@@ -138,6 +142,7 @@ export default {
// 表单校验
rules
:
{
signature
:
[{
required
:
true
,
message
:
"
短信签名不能为空
"
,
trigger
:
"
blur
"
}],
signatureEn
:
[{
required
:
true
,
message
:
"
英文短信签名不能为空
"
,
trigger
:
"
blur
"
}],
code
:
[{
required
:
true
,
message
:
"
渠道编码不能为空
"
,
trigger
:
"
blur
"
}],
status
:
[{
required
:
true
,
message
:
"
启用状态不能为空
"
,
trigger
:
"
blur
"
}],
apiKey
:
[{
required
:
true
,
message
:
"
短信 API 的账号不能为空
"
,
trigger
:
"
blur
"
}],
...
...
@@ -171,6 +176,7 @@ export default {
this
.
form
=
{
id
:
undefined
,
signature
:
undefined
,
signatureEn
:
undefined
,
code
:
undefined
,
status
:
undefined
,
remark
:
undefined
,
...
...
src/views/system/sms/smsTemplate.vue
View file @
e70fde74
...
...
@@ -21,6 +21,9 @@
<el-form-item
label=
"短信 API 的模板编号"
prop=
"apiTemplateId"
>
<el-input
v-model=
"queryParams.apiTemplateId"
placeholder=
"请输入短信 API 的模板编号"
clearable
size=
"small"
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"短信 API 的模板编号"
prop=
"apiTemplateIdEn"
>
<el-input
v-model=
"queryParams.apiTemplateIdEn"
placeholder=
"请输入英文短信 API 的模板编号"
clearable
size=
"small"
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"短信渠道"
prop=
"channelId"
>
<el-select
v-model=
"queryParams.channelId"
placeholder=
"请选择短信渠道"
clearable
>
<el-option
v-for=
"channel in channelOptions"
...
...
@@ -55,7 +58,8 @@
<el-table
v-loading=
"loading"
:data=
"list"
>
<el-table-column
label=
"模板编码"
align=
"center"
prop=
"code"
/>
<el-table-column
label=
"模板名称"
align=
"center"
prop=
"name"
/>
<el-table-column
label=
"模板内容"
align=
"center"
prop=
"content"
width=
"300"
/>
<el-table-column
label=
"中文API模板编号"
align=
"center"
prop=
"apiTemplateId"
width=
"120"
/>
<el-table-column
label=
"中文模板内容"
align=
"center"
prop=
"content"
width=
"200"
/>
<el-table-column
label=
"短信类型"
align=
"center"
prop=
"type"
>
<template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.SYSTEM_SMS_TEMPLATE_TYPE"
:value=
"scope.row.type"
/>
...
...
@@ -66,8 +70,8 @@
<dict-tag
:type=
"DICT_TYPE.COMMON_STATUS"
:value=
"scope.row.status"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"
备注"
align=
"center"
prop=
"remark
"
/>
<el-table-column
label=
"
短信 API 的模板编号"
align=
"center"
prop=
"apiTemplateId"
width=
"18
0"
/>
<el-table-column
label=
"
英文API模板编号"
align=
"center"
prop=
"apiTemplateIdEn"
width=
"120
"
/>
<el-table-column
label=
"
英文模板内容"
align=
"center"
prop=
"contentEn"
width=
"10
0"
/>
<el-table-column
label=
"短信渠道"
align=
"center"
width=
"120"
>
<
template
slot-scope=
"scope"
>
<div>
{{
formatChannelSignature
(
scope
.
row
.
channelId
)
}}
</div>
...
...
@@ -79,6 +83,8 @@
<span>
{{
parseTime
(
scope
.
row
.
createTime
)
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"备注"
align=
"center"
prop=
"remark"
/>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
width=
"150"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-share"
@
click=
"handleSendSms(scope.row)"
...
...
@@ -116,23 +122,25 @@
<el-form-item
label=
"模板名称"
prop=
"name"
>
<el-input
v-model=
"form.name"
placeholder=
"请输入模板名称"
/>
</el-form-item>
<el-form-item
label=
"模板内容"
prop=
"content"
>
<el-input
type=
"textarea"
v-model=
"form.content"
placeholder=
"请输入模板内容"
/>
</el-form-item>
<el-form-item
label=
"英文模板内容"
prop=
"content"
>
<el-input
type=
"textarea"
v-model=
"form.contentEn"
placeholder=
"请输入模板内容"
/>
</el-form-item>
<el-form-item
label=
"开启状态"
prop=
"status"
>
<el-radio-group
v-model=
"form.status"
>
<el-radio
v-for=
"dict in this.getDictDatas(DICT_TYPE.COMMON_STATUS)"
:key=
"dict.value"
:label=
"parseInt(dict.value)"
>
{{dict.label}}
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
label=
"
短信 API
模板编号"
prop=
"apiTemplateId"
>
<el-form-item
label=
"
中文短信API
模板编号"
prop=
"apiTemplateId"
>
<el-input
v-model=
"form.apiTemplateId"
placeholder=
"请输入短信 API 的模板编号"
/>
</el-form-item>
<el-form-item
label=
"短信 API 英文模板编号"
prop=
"apiTemplateId"
>
<el-input
v-model=
"form.apiTemplateIdEn"
placeholder=
"请输入短信 API 的英文模板编号"
/>
<el-form-item
label=
"模板内容"
prop=
"content"
>
<el-input
type=
"textarea"
v-model=
"form.content"
placeholder=
"请输入模板内容"
/>
</el-form-item>
<el-form-item
label=
"英文短信API模板编号"
prop=
"apiTemplateIdEn"
>
<el-input
v-model=
"form.apiTemplateIdEn"
placeholder=
"请输入英文短信API模板编号"
/>
</el-form-item>
<el-form-item
label=
"英文模板内容"
prop=
"contentEn"
>
<el-input
type=
"textarea"
v-model=
"form.contentEn"
placeholder=
"请输入英文模板内容"
/>
</el-form-item>
<el-form-item
label=
"备注"
prop=
"remark"
>
<el-input
v-model=
"form.remark"
placeholder=
"请输入备注"
/>
...
...
@@ -150,6 +158,22 @@
<el-form-item
label=
"模板内容"
prop=
"content"
>
<el-input
v-model=
"sendSmsForm.content"
type=
"textarea"
placeholder=
"请输入模板内容"
readonly
/>
</el-form-item>
<el-form-item
label=
"英文模板内容"
prop=
"contentEn"
>
<el-input
v-model=
"sendSmsForm.contentEn"
type=
"textarea"
placeholder=
"请输入英文模板内容"
readonly
/>
</el-form-item>
<!-- <el-table-column-->
<!-- prop="areaCode"-->
<!-- label="区号">-->
<!-- <template v-slot:header>-->
<!-- 区号 <span style="color: #ff0000">*</span>-->
<!-- </template>-->
<!--<!– <template v-slot="{row}">–>-->
<!-- <el-select v-model="areaCode" placeholder="请选择区号" filterable>-->
<!-- <el-option v-for="(item, index) in countryList"-->
<!-- :key="index" :label="item.nameShort + item.nameZh + '(' + item.tel + ')'" :value="item.tel" />-->
<!-- </el-select>-->
<!--<!– </template>–>-->
<!-- </el-table-column>-->
<el-form-item
label=
"手机号"
prop=
"mobile"
>
<el-input
v-model=
"sendSmsForm.mobile"
placeholder=
"请输入手机号"
/>
</el-form-item>
...
...
@@ -170,6 +194,7 @@
import
{
createSmsTemplate
,
updateSmsTemplate
,
deleteSmsTemplate
,
getSmsTemplate
,
getSmsTemplatePage
,
exportSmsTemplateExcel
,
sendSms
}
from
"
@/api/system/sms/smsTemplate
"
;
import
{
getSimpleSmsChannels
}
from
"
@/api/system/sms/smsChannel
"
;
import
{
getCountryListAll
}
from
"
@/api/ecw/country
"
;
export
default
{
name
:
"
SmsTemplate
"
,
...
...
@@ -199,6 +224,7 @@ export default {
code
:
null
,
content
:
null
,
apiTemplateId
:
null
,
apiTemplateIdEn
:
null
,
channelId
:
null
,
},
// 表单参数
...
...
@@ -210,11 +236,15 @@ export default {
code
:
[{
required
:
true
,
message
:
"
模板编码不能为空
"
,
trigger
:
"
blur
"
}],
name
:
[{
required
:
true
,
message
:
"
模板名称不能为空
"
,
trigger
:
"
blur
"
}],
content
:
[{
required
:
true
,
message
:
"
模板内容不能为空
"
,
trigger
:
"
blur
"
}],
apiTemplateId
:
[{
required
:
true
,
message
:
"
短信 API 的模板编号不能为空
"
,
trigger
:
"
blur
"
}],
contentEn
:
[{
required
:
true
,
message
:
"
英文模板内容不能为空
"
,
trigger
:
"
blur
"
}],
apiTemplateId
:
[{
required
:
true
,
message
:
"
中文短信API的模板编号不能为空
"
,
trigger
:
"
blur
"
}],
apiTemplateIdEn
:
[{
required
:
true
,
message
:
"
英文短信API的模板编号不能为空
"
,
trigger
:
"
blur
"
}],
channelId
:
[{
required
:
true
,
message
:
"
短信渠道编号不能为空
"
,
trigger
:
"
change
"
}],
},
// 短信渠道
channelOptions
:
[],
countryList
:
[],
areaCode
:
""
,
// 发送短信
sendSmsOpen
:
false
,
sendSmsForm
:
{
...
...
@@ -233,6 +263,10 @@ export default {
getSimpleSmsChannels
().
then
(
response
=>
{
this
.
channelOptions
=
response
.
data
;
})
getCountryListAll
().
then
(
r
=>
{
this
.
countryList
=
r
.
data
})
},
methods
:
{
/** 查询列表 */
...
...
@@ -349,6 +383,7 @@ export default {
this
.
resetSendSms
(
row
);
// 设置参数
this
.
sendSmsForm
.
content
=
row
.
content
;
this
.
sendSmsForm
.
contentEn
=
row
.
contentEn
;
this
.
sendSmsForm
.
params
=
row
.
params
;
this
.
sendSmsForm
.
templateCode
=
row
.
code
;
this
.
sendSmsForm
.
templateParams
=
row
.
params
.
reduce
(
function
(
obj
,
item
)
{
...
...
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