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
2b4f2e4c
Commit
2b4f2e4c
authored
Aug 30, 2023
by
邓春圆
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/dev' into dev
parents
dc6fc82d
c71e3ae2
Changes
56
Hide whitespace changes
Inline
Side-by-side
Showing
56 changed files
with
764 additions
and
224 deletions
+764
-224
task.js
src/api/bpm/task.js
+7
-0
offer.js
src/api/ecw/offer.js
+16
-0
order.js
src/api/ecw/order.js
+0
-11
download.js
src/api/system/download.js
+23
-0
download.png
src/assets/images/download.png
+0
-0
index.vue
src/components/CustomerSelectorpay/index.vue
+72
-0
index.vue
src/components/WarehouseAreaSelect/index.vue
+1
-1
en_US.json
src/i18n/languages/en_US.json
+111
-4
Navbar.vue
src/layout/components/Navbar.vue
+17
-4
user.js
src/store/modules/user.js
+19
-2
dict.js
src/utils/dict.js
+2
-0
index.vue
src/views/ecw/banner/index.vue
+2
-2
ordersSelect.vue
...iews/ecw/box/shippingAir/nodePage/common/ordersSelect.vue
+12
-25
cusDeclaration.vue
src/views/ecw/box/shippingAir/nodePage/cusDeclaration.vue
+5
-2
index.vue
src/views/ecw/box/shippingAir/nodePage/mergePkg/index.vue
+5
-1
preinstall.vue
src/views/ecw/box/shippingAir/nodePage/preinstall.vue
+12
-3
review.vue
src/views/ecw/box/shippingAir/nodePage/review.vue
+2
-2
twoWayTakeoff.vue
src/views/ecw/box/shippingAir/nodePage/twoWayTakeoff.vue
+5
-1
startUnloading.vue
...ecw/box/shippingAir/nodePage/unloading/startUnloading.vue
+1
-1
shippingAir.vue
src/views/ecw/box/shippingAir/shippingAir.vue
+1
-1
shippingDetail.vue
src/views/ecw/box/shippingDetail.vue
+2
-2
seaStepDetail.vue
src/views/ecw/box/shippingSea/seaStepDetail.vue
+2
-1
addPotentialCustom.vue
src/views/ecw/customer/addPotentialCustom.vue
+2
-0
customer-handover-details.vue
...ews/ecw/customer/components/customer-handover-details.vue
+1
-1
edit.vue
src/views/ecw/customer/edit.vue
+1
-1
index.vue
src/views/ecw/customer/index.vue
+1
-1
transferCustomer.vue
src/views/ecw/customer/transferCustomer.vue
+13
-5
index.vue
src/views/ecw/customerConfirm/index.vue
+8
-1
index.vue
src/views/ecw/customerToBeAssigned/index.vue
+6
-1
creatCollection.vue
src/views/ecw/financial/creatCollection.vue
+4
-3
printVoucher.vue
src/views/ecw/financial/printVoucher.vue
+3
-3
receiptDetail.vue
src/views/ecw/financial/receiptDetail.vue
+4
-4
receivable.vue
src/views/ecw/financial/receivable.vue
+5
-0
index.vue
src/views/ecw/myCustomerService/index.vue
+7
-1
index.vue
src/views/ecw/oceanCustomer/index.vue
+8
-2
detail.vue
src/views/ecw/offer/detail.vue
+21
-13
edit.vue
src/views/ecw/offer/edit.vue
+20
-37
FeeDetail.vue
src/views/ecw/order/components/FeeDetail.vue
+1
-0
PrintTag.vue
src/views/ecw/order/components/PrintTag.vue
+19
-10
warehouseDetails.vue
src/views/ecw/order/components/warehouseDetails.vue
+4
-1
detail.vue
src/views/ecw/order/detail.vue
+16
-1
edit.vue
src/views/ecw/order/edit.vue
+107
-11
index.vue
src/views/ecw/order/exception/index.vue
+12
-6
feeApplication.vue
src/views/ecw/order/feeApplication.vue
+13
-9
index.vue
src/views/ecw/order/index.vue
+2
-1
penddingList.vue
src/views/ecw/order/penddingList.vue
+4
-3
singleApply.vue
src/views/ecw/order/singleApply.vue
+1
-1
Preferential.vue
src/views/ecw/order/special/Preferential.vue
+1
-1
index.vue
src/views/ecw/order/special/index.vue
+2
-2
stockingList.vue
src/views/ecw/order/stockingList.vue
+2
-1
index.vue
src/views/ecw/product/index.vue
+1
-1
edit.vue
src/views/ecw/productPrice/edit.vue
+32
-31
index.vue
src/views/ecw/warehouse/index.vue
+1
-1
tpl.js
src/views/ecw/warehouse/tpl.js
+6
-6
index.vue
src/views/system/download/index.vue
+117
-0
index.vue
src/views/system/version/index.vue
+2
-2
No files found.
src/api/bpm/task.js
View file @
2b4f2e4c
...
...
@@ -70,3 +70,10 @@ export function taskTodoCount(){
}
)
}
// 用户角标数据
export
function
userMark
(){
return
request
({
url
:
'
/system/user/profile/user-mark
'
,
})
}
src/api/ecw/offer.js
View file @
2b4f2e4c
...
...
@@ -142,4 +142,20 @@ export function exportDeptOfferExcel(query) {
params
:
query
,
responseType
:
'
blob
'
})
}
// 报价单
export
function
getOfferSelect
(
params
)
{
return
request
({
url
:
'
/ecw/offer/select
'
,
method
:
'
get
'
,
params
})
}
// 报价单
export
function
getOfferCheck
(
params
)
{
return
request
({
url
:
'
/ecw/offer/check
'
,
method
:
'
get
'
,
params
})
}
\ No newline at end of file
src/api/ecw/order.js
View file @
2b4f2e4c
...
...
@@ -632,7 +632,6 @@ export function orderExportSearch(params){
url
:
'
/ecw/order/export/search
'
,
method
:
'
GET
'
,
timeout
:
5
*
60000
,
responseType
:
'
arraybuffer
'
,
params
})
}
...
...
@@ -641,7 +640,6 @@ export function orderExportSearch(params){
export
function
orderExportMySearch
(
params
){
return
request
({
url
:
'
/ecw/order/export/my/search
'
,
responseType
:
'
arraybuffer
'
,
method
:
'
GET
'
,
timeout
:
5
*
60000
,
params
...
...
@@ -653,7 +651,6 @@ export function orderExportDeptSearch(params){
return
request
({
url
:
'
/ecw/order/export/dept/search
'
,
method
:
'
GET
'
,
responseType
:
'
arraybuffer
'
,
timeout
:
5
*
60000
,
params
})
...
...
@@ -666,7 +663,6 @@ export function exportAbnormal(params){
method
:
'
get
'
,
params
:
params
,
timeout
:
5
*
60000
,
responseType
:
'
blob
'
})
}
...
...
@@ -678,7 +674,6 @@ export function exportHeavyOrder(params){
method
:
'
get
'
,
params
:
params
,
timeout
:
5
*
60000
,
responseType
:
'
blob
'
})
}
...
...
@@ -689,7 +684,6 @@ export function exportReturnOrder(params){
method
:
'
get
'
,
params
:
params
,
timeout
:
5
*
60000
,
responseType
:
'
blob
'
})
}
...
...
@@ -700,7 +694,6 @@ export function exportSaleRepay(params){
method
:
'
get
'
,
params
:
params
,
timeout
:
5
*
60000
,
responseType
:
'
blob
'
})
}
...
...
@@ -712,7 +705,6 @@ export function exportCustomsDatas(params){
method
:
'
get
'
,
params
:
params
,
timeout
:
5
*
60000
,
responseType
:
'
blob
'
})
}
...
...
@@ -724,7 +716,6 @@ export function exportShippingDatas(params){
method
:
'
get
'
,
params
:
params
,
timeout
:
5
*
60000
,
responseType
:
'
blob
'
})
}
...
...
@@ -736,7 +727,6 @@ export function exportShipFee(params){
method
:
'
get
'
,
params
:
params
,
timeout
:
5
*
60000
,
responseType
:
'
blob
'
})
}
...
...
@@ -748,7 +738,6 @@ export function exportUnload(params){
method
:
'
get
'
,
params
:
params
,
timeout
:
5
*
60000
,
responseType
:
'
blob
'
})
}
...
...
src/api/system/download.js
0 → 100644
View file @
2b4f2e4c
import
request
from
'
@/utils/request
'
import
axios
from
"
axios
"
;
// 下载日志分页
export
function
downloadPage
(
params
)
{
return
request
({
url
:
'
/system/download-log/page
'
,
method
:
'
get
'
,
params
})
}
// 下载
export
function
download
(
id
){
return
request
({
url
:
'
system/download-log/down/
'
+
id
})
}
// 获取文件二进制
export
function
downloadFileResponse
(
url
){
return
axios
.
get
(
url
,
{
responseType
:
'
blob
'
})
}
src/assets/images/download.png
0 → 100644
View file @
2b4f2e4c
3.77 KB
src/components/CustomerSelectorpay/index.vue
0 → 100644
View file @
2b4f2e4c
<
template
>
<el-select
v-model=
"index"
filterable
clearable
remote
reserve-keyword
:placeholder=
"$t('请输入关键词')"
:remote-method=
"remoteMethod"
:loading=
"loading"
>
<el-option
v-for=
"(item, index) in list"
:key=
"item.id"
:label=
"`$
{item.payerName?item.payerName:item.name}(${item.number})`"
:value="index">
</el-option>
</el-select>
</
template
>
<
script
>
import
{
getCustomerSelect
,
getCustomer
}
from
'
@/api/ecw/customer
'
export
default
{
props
:{
productType
:
[
String
,
Number
],
value
:
[
String
,
Number
]
},
data
(){
return
{
index
:
null
,
list
:[],
loading
:
false
}
},
watch
:{
index
(
val
){
this
.
$emit
(
'
input
'
,
(
val
!==
''
&&
val
!==
null
)
?
this
.
list
[
val
].
id
:
null
)
this
.
$emit
(
'
change
'
,
(
val
!==
''
&&
val
!==
null
)
?
this
.
list
[
val
]:
null
)
},
value
(
val
){
this
.
init
()
}
},
created
(){
this
.
init
()
},
methods
:{
init
(){
if
(
!
this
.
value
)
return
let
index
=
this
.
list
.
findIndex
(
item
=>
item
.
id
==
this
.
value
)
if
(
index
<
0
){
getCustomer
(
this
.
value
).
then
(
res
=>
{
this
.
list
.
unshift
(
res
.
data
)
this
.
index
=
0
})
}
else
{
this
.
index
=
index
}
},
remoteMethod
(
keyword
){
let
params
=
{}
params
.
searchKey
=
keyword
this
.
loading
=
true
getCustomerSelect
(
params
)
.
then
(
res
=>
this
.
list
=
res
.
data
.
list
)
.
finally
(()
=>
this
.
loading
=
false
)
},
reset
(){
this
.
index
=
null
}
}
}
</
script
>
src/components/WarehouseAreaSelect/index.vue
View file @
2b4f2e4c
...
...
@@ -196,7 +196,7 @@ export default {
"
orderId
"
:
this
.
orderId
,
"
orderItemId
"
:
this
.
orderItemId
,
"
orderLocationUpdateReqVOList
"
:
data
,
"
warehouseInId
"
:
this
.
warehouseId
"
warehouseInId
"
:
this
.
warehouseI
nI
d
}).
then
(()
=>
{
this
.
$message
.
success
(
'
储位修改成功
'
)
})
...
...
src/i18n/languages/en_US.json
View file @
2b4f2e4c
...
...
@@ -1181,7 +1181,7 @@
"待收款"
:
"Payment Unreceived"
,
"请输入唛头"
:
"Please enter shipping mark"
,
"收款"
:
"Receipt"
,
"收款单"
:
"
receipt
"
,
"收款单"
:
"
Collection Note
"
,
"商品名称"
:
"product name"
,
"请输入商品名称"
:
"Please enter a product name"
,
"收款类型"
:
"Receipt Type"
,
...
...
@@ -2641,7 +2641,7 @@
"上级区域"
:
"Superior Area"
,
"选择上级区域"
:
"Select superior area"
,
"请输入简称"
:
"Please enter the abbreviation"
,
"国家
代码-
城市代码"
:
"Country City Code"
,
"国家城市代码"
:
"Country City Code"
,
"显示顺序"
:
"Display order"
,
"请输入显示顺序"
:
"Please enter the display order"
,
"部门状态"
:
"Department Status"
,
...
...
@@ -4032,14 +4032,16 @@
"供应商自提"
:
"Supplier self pickup"
,
"数量(个)"
:
"Quantity (pieces)"
,
"品名可拆数据"
:
"Product name detachable data"
,
"剩余货值"
:
"Remaining value"
,
"可拆入仓记录"
:
"Removable warehouse records"
,
"已拆完"
:
"Completed dismantling"
,
"已放入入仓记录"
:
"Placed in warehouse entry record"
,
"放入货值"
:
"Value of goods placed"
,
"{num}箱"
:
"{num} box"
,
"长{boxGauge1}cm"
:
"Length {boxGauge1} cm"
,
"宽{boxGauge2}cm"
:
"Width {boxGauge2} cm"
,
"高{boxGauge3}cm"
:
"Height {boxGauge3} cm"
,
"方数{volume}m³"
:
"Square {volume} m ³
"
,
"方数{volume}m³"
:
"Square {volume} m ³"
,
"重量{weight}kg"
:
"Weight {weight} kg"
,
"数量{n}"
:
"Quantity {n}"
,
"快递{expressNo}"
:
"Express {expressNo}"
,
...
...
@@ -4146,5 +4148,110 @@
"暂无清关费设置"
:
"Batch set up air freight routes for goods"
,
"查看更多"
:
"There is currently no customs clearance fee setting"
,
"単询"
:
"View more"
,
"查看阶梯价"
:
"Single inquiry"
"查看阶梯价"
:
"Single inquiry"
,
"您确定要将订单{orderNo}设置为可出吗?"
:
"Are you sure you want to set order {orderNo} as available?"
,
"币种1"
:
"Currency 1"
,
"请选择币种"
:
"Please select a currency"
,
"币种2"
:
"Currency 2"
,
"币种1 金额"
:
"Currency 1 Amount"
,
"币种1金额兑换币种2汇率"
:
"Currency 1 Amount Exchange Currency 2 Exchange Rate"
,
"币种2金额"
:
"Currency 2 Amount"
,
"最后修改人"
:
"Last modified by"
,
"日志"
:
"journal"
,
"例子:"
:
"Example:"
,
"例子:1RMB = 0.138611USD"
:
"Example: 1RMB=0.138611USD"
,
"最后更新人"
:
"Last updated by"
,
"修改前内容"
:
"Content before modification"
,
"币种1:"
:
"Currency 1:"
,
"币种2:"
:
"Currency 2:"
,
"汇率:"
:
"Exchange rate:"
,
"币种1不能为空"
:
"Currency 1 cannot be empty"
,
"原币种代码不能为空"
:
"The original currency code cannot be empty"
,
"币种2不能为空"
:
"Currency 2 cannot be empty"
,
"目标种代码不能为空"
:
"The target type code cannot be empty"
,
"汇率不能为空"
:
"Exchange rate cannot be empty"
,
"是否确认删除汇率管理编号为"
:
"Are you sure to delete the exchange rate management number as"
,
"是否确认导出所有汇率管理数据项?"
:
"Are you sure to export all exchange rate management data items?"
,
"汇率不能为0,请输入正确的汇率"
:
"The exchange rate cannot be 0. Please enter the correct exchange rate"
,
"核销基准币种汇率不能为0,请输入正确的汇率"
:
"The benchmark currency exchange rate for verification cannot be 0. Please enter the correct exchange rate"
,
"期望收款汇率不能为0,请输入正确的汇率"
:
"The expected collection exchange rate cannot be 0. Please enter the correct exchange rate"
,
"目的国"
:
"Destination country"
,
"自编号状态"
:
"Self numbered status"
,
"结算时间"
:
"Settlement time"
,
"是否结算"
:
"Settlement or not"
,
"No.柜号"
:
"Cabinet No"
,
"应收款(Accounts receivableAccounts receivable)"
:
"Accounts receivable"
,
"received in + 目的国国家Received in+items(目的地实收)"
:
"Received in+Country of Destination Received in+Items"
,
"received in China(中国实收)"
:
"Received in China"
,
"Discounts 折扣"
:
"Discounts"
,
"是否重泡货"
:
"Do you want to re bubble the goods"
,
"收费数据"
:
"Fee data"
,
"订单优惠金额"
:
"Order discount amount"
,
"实收总金额"
:
"Total amount received"
,
"已收总金额"
:
"Total amount received"
,
"应收运费"
:
"Freight receivable"
,
"运费优惠金额"
:
"Freight discount amount"
,
"实收运费"
:
"Paid-up freight"
,
"已收运费"
:
"Received shipping fee"
,
"应收清关费"
:
"Payable customs clearance fee"
,
"实收清关费"
:
"Paid-in customs clearance fee"
,
"清关费优惠金额"
:
"Discount amount for customs clearance fee"
,
"已收清关费"
:
"Customs clearance fee received"
,
"应收额外费用"
:
"Additional fees receivable"
,
"实收额外费用"
:
"Actual additional fees received"
,
"额外费用优惠金额"
:
"Additional fee discount amount"
,
"已收额外费用"
:
"Additional fees received"
,
"是否全部核销"
:
"Whether to write off all"
,
"订单入仓时间"
:
"Order warehousing time"
,
"订单装柜时间"
:
"Order loading time"
,
"上传新附件"
:
"Upload a new attachment"
,
"您最多上传10个附件"
:
"You can upload up to 10 attachments"
,
"附件仅限doc/xls/ppt/txt/pdf/jpg/png/jpeg/docx/xlsx格式"
:
"Attachment only in doc/xls/ppt/txt/pdf/jpg/png/jpeg/docx/xlsx format"
,
"上传成功"
:
"Upload successful"
,
"确定删除附件吗?"
:
"Are you sure to delete the attachment?"
,
"实收总额"
:
"Total amount received"
,
"已核销总金额"
:
"Total amount written off"
,
"是否重货"
:
"Heavy cargo or not"
,
"原收费数据"
:
"Original fee data"
,
"优惠重货标准"
:
"Preferential Heavy Duty Standard"
,
"实际收费数据"
:
"Actual Charge Data"
,
"入仓实测"
:
"Actual measurement during warehousing"
,
"是否重货/泡货"
:
"Whether it is heavy or not"
,
"应收数据"
:
"Accounts receivable data"
,
"实收数据"
:
"Paid-in data"
,
"应收单价"
:
"Receivable unit price"
,
"优惠单价金额"
:
"Discount unit price amount"
,
"应收运费&清关费"
:
"Receivable freight and customs clearance fees"
,
"收款单优惠金额"
:
"Discount amount on payment receipt"
,
"总优惠金额"
:
"Total discount amount"
,
"实收运费&清关费"
:
"Paid-up shipping and customs clearance fees"
,
"特需类型"
:
"Special type"
,
"收款优惠金额"
:
"Collection discount amount"
,
"实收美元金额"
:
"Paid-in USD amount"
,
"优惠活动"
:
"Promotional Activities"
,
"查看报关资料"
:
"View customs declaration information"
,
"费用汇总"
:
"Cost aggregation "
,
"请再次确认国际运费是否由您支付?"
:
"Please confirm the freight be paid by sender?"
,
"测量方数汇总"
:
"Summary of measurement quantities"
,
"收费方数汇总"
:
"Summary of charging parties"
,
"重量汇总"
:
"Weight Summary"
,
"多个异常"
:
"Multiple exceptions"
,
"目的港码头"
:
"Destination Port Terminal"
,
"TIN NO./RC NO."
:
"TIN NO./RC NO"
,
"请输入TIN NO./RC NO."
:
"Please enter TIN NO./RC NO"
,
"CTN证书"
:
"CTN certificate"
,
"COC证书"
:
"COC certificate"
,
"SONCAP证书"
:
"SONCAP Certificate "
,
"码头"
:
"wharf"
,
"保费币种"
:
"Premium Currency"
,
"是否支持控货"
:
"Does it support controlling goods"
,
"默认送货上门"
:
"Default door-to-door delivery"
,
"广州市捷道国际货运代理有限公司"
:
"E&C LOGISTICS LIMITED"
,
"报关退税,请备齐资料。"
:
"Customs refund, prepare necessary documents."
,
"订单号、唛头、提单号"
:
"order number、marks、B/L NO"
,
"发货人名称、手机号"
:
"sender name or mobile"
,
"收货人名称、手机号"
:
"Receiver Name or Mobile"
,
"订单费用报表"
:
"Order cost report"
,
"请先选择目的国"
:
"select the destination country first"
,
"控货日志"
:
"Control cargo log"
}
src/layout/components/Navbar.vue
View file @
2b4f2e4c
...
...
@@ -20,6 +20,9 @@
<el-image
style=
"width: 22px;height: 20px;cursor: pointer;"
:src=
"unreadMessage"
@
click=
"notRead"
></el-image>
</el-badge>
<el-badge
:value=
"downloadCnt ? downloadCnt : '' "
class=
"right-menu-item badge"
>
<el-image
style=
"width: 22px;height: 20px;cursor: pointer;"
:src=
"unDownload"
@
click=
"handleDownload"
></el-image>
</el-badge>
<search
id=
"header-search"
class=
"right-menu-item"
/>
...
...
@@ -80,17 +83,22 @@ import RuoYiDoc from '@/components/RuoYi/Doc'
import
{
getLocale
,
saveLocale
}
from
"
@/utils/db
"
;
import
unreadMessage
from
"
@/assets/images/unread-message.png
"
import
helpIcon
from
"
@/assets/images/help.png
"
import
unDownload
from
"
@/assets/images/download.png
"
import
i18n
from
'
@/i18n
'
export
default
{
data
()
{
return
{
unreadMessage
,
helpIcon
,
unDownload
,
// locale: getLocale(),
// 枚举
// langDatas: LangEnum.LANG,
notReadTotal
:
0
,
//要去取VUEX里面的未读数据总数,我不会,登录之后要调得到当前人未读记录总数接口放到VUEX中
lang
:
i18n
.
locale
,
// 当前语言
// 未下载文件数量
notDownload
:
0
}
},
created
()
{
...
...
@@ -98,7 +106,7 @@ export default {
if
(
process
.
env
.
NODE_ENV
!=
'
development
'
){
setInterval
(()
=>
{
this
.
updateMessage
()
},
1
0000
)
},
2
0000
)
}
this
.
updateMessage
()
...
...
@@ -140,7 +148,10 @@ export default {
},
matterNum
(){
return
this
.
$store
.
state
.
user
.
matterNum
}
},
downloadCnt
(){
return
this
.
$store
.
state
.
user
.
download
}
},
watch
:{
lang
(
val
){
...
...
@@ -150,9 +161,11 @@ export default {
}
},
methods
:
{
handleDownload
(){
this
.
$router
.
push
(
'
/system/download
'
)
},
updateMessage
(){
this
.
$store
.
dispatch
(
'
getNotMessage
'
);
this
.
$store
.
dispatch
(
'
getToDoList
'
);
this
.
$store
.
dispatch
(
'
getUserBadge
'
);
},
toggleSideBar
()
{
this
.
$store
.
dispatch
(
'
app/toggleSideBar
'
)
...
...
src/store/modules/user.js
View file @
2b4f2e4c
import
{
login
,
logout
,
getInfo
,
socialLogin
,
socialLogin2
}
from
'
@/api/login
'
import
{
getToken
,
setToken
,
removeToken
}
from
'
@/utils/auth
'
import
{
getNotReadInternalMessageTotal
,}
from
'
@/api/system/internalMessage
'
import
{
taskTodoCount
}
from
"
@/api/bpm/task
"
;
import
{
taskTodoCount
,
userMark
}
from
"
@/api/bpm/task
"
;
const
user
=
{
state
:
{
...
...
@@ -12,7 +12,8 @@ const user = {
roles
:
[],
permissions
:
[],
notMessage
:
0
,
matterNum
:
0
matterNum
:
0
,
download
:
0
},
mutations
:
{
...
...
@@ -39,6 +40,9 @@ const user = {
},
SET_TODO
:(
state
,
matterNum
)
=>
{
state
.
matterNum
=
matterNum
;
},
SET_DOWNLOAD
(
state
,
cnt
){
state
.
download
=
cnt
;
}
},
...
...
@@ -178,6 +182,19 @@ const user = {
reject
(
err
)
})
})
},
// 获取用户角标,包括未读消息、待办事项,下载数据
getUserBadge
({
commit
}){
return
new
Promise
((
resolve
,
reject
)
=>
{
userMark
().
then
(
r
=>
{
commit
(
'
SET_TODO
'
,
r
.
data
.
todoCount
)
commit
(
'
SET_UNREAD
'
,
r
.
data
.
notReadInternalMessageCount
)
commit
(
'
SET_DOWNLOAD
'
,
r
.
data
.
fileWaitDownCount
+
r
.
data
.
fileMakeQueuingCount
+
r
.
data
.
fileMakeProgressCount
)
resolve
()
}).
catch
(
err
=>
{
reject
(
err
)
})
})
}
}
}
...
...
src/utils/dict.js
View file @
2b4f2e4c
...
...
@@ -123,6 +123,8 @@ export const DICT_TYPE = {
STOCK_UP_EXCEPTION_TYPE
:
'
stock_up_exception_type
'
,
// 备货异常类型,
ORDER_ITEM_PACK_STATUS
:
'
order_item_pack_status
'
,
// 空运备货打包状态
RECEIPT_FEE_TYPE
:
'
receipt_fee_type
'
,
DOWNLOAD_LOG_STATUS
:
'
download_log_status
'
,
// 下载日志状态
DOWNLOAD_TYPE
:
'
download_type
'
,
// 下载类型
//--------ecw---------
CUSTOMER_STATUS
:
'
customer_status
'
,
CUSTOMER_SOURCE
:
'
customer_source
'
,
...
...
src/views/ecw/banner/index.vue
View file @
2b4f2e4c
...
...
@@ -326,7 +326,7 @@ export default {
//上传
let
formData
=
new
FormData
();
formData
.
append
(
"
file
"
,
file
);
formData
.
append
(
"
path
"
,
this
.
uuid
());
//
formData.append("path", this.uuid());
uploadFile
(
formData
).
then
(
response
=>
{
this
.
$set
(
this
.
form
,
'
bannerUrlWeb
'
,
response
.
data
);
// this.form.img = response.data;
...
...
@@ -342,7 +342,7 @@ export default {
//上传
let
formData
=
new
FormData
();
formData
.
append
(
"
file
"
,
file
);
formData
.
append
(
"
path
"
,
this
.
uuid
());
//
formData.append("path", this.uuid());
uploadFile
(
formData
).
then
(
response
=>
{
this
.
$set
(
this
.
form
,
'
bannerUrlApp
'
,
response
.
data
);
// this.form.img = response.data;
...
...
src/views/ecw/box/shippingAir/nodePage/common/ordersSelect.vue
View file @
2b4f2e4c
...
...
@@ -4,12 +4,9 @@
multiple
filterable
clearable
remote
reserve-keyword
:disabled=
"disabled"
:placeholder=
"$t('请输入订单号')"
@
focus=
"remoteMethod('')"
:remote-method=
"remoteMethod"
:loading=
"loading"
>
<el-option
v-for=
"(item) in list"
...
...
@@ -20,14 +17,16 @@
</el-select>
</
template
>
<
script
>
import
{
getOrderPage
,
getOrderList
}
from
'
@/api/ecw/order
'
import
{
boxGoodsDetail
}
from
"
@/api/ecw/boxSea
"
;
export
default
{
props
:{
value
:
[
Array
],
disabled
:
{
type
:
Boolean
,
default
:
false
},
shipmentId
:
{
type
:
Number
}
},
data
(){
...
...
@@ -43,32 +42,20 @@ export default {
},
value
(
val
){
this
.
valueSync
=
this
.
value
this
.
init
(
val
)
}
},
created
(){
this
.
remoteMethod
()
this
.
valueSync
=
this
.
value
this
.
init
(
this
.
value
)
},
methods
:{
init
(
val
){
if
(
val
===
null
||
val
==
undefined
||
val
==
''
)
return
let
params
=
{
ids
:
val
.
toString
()
}
getOrderList
(
params
).
then
(
res
=>
{
this
.
list
=
res
.
data
})
},
remoteMethod
(
keyword
){
let
params
=
{
pageSize
:
10
,
}
params
.
orderNo
=
keyword
this
.
loading
=
true
getOrderPage
(
params
)
.
then
(
res
=>
this
.
list
=
res
.
data
.
list
)
.
finally
(()
=>
this
.
loading
=
false
)
remoteMethod
(){
boxGoodsDetail
({
shipmentId
:
this
.
shipmentId
,
secId
:
0
}).
then
((
res
)
=>
{
this
.
list
=
res
.
data
.
sectionOrderList
;
});
}
}
}
...
...
src/views/ecw/box/shippingAir/nodePage/cusDeclaration.vue
View file @
2b4f2e4c
...
...
@@ -95,7 +95,7 @@
<el-input
v-model=
"cusDeclarationObj.overRemarks"
style=
"width: 180px"
/>
</el-form-item>
<el-form-item
:label=
"$t('超重订单')"
prop=
"overOrders"
v-show=
"cusDeclarationObj.overMachineStatus == 2&&cusDeclarationObj.weightMisreport == 4"
>
<ordersSelect
v-model=
"cusDeclarationObj.overOrders"
:placeholder=
"$t('请选择超重订单')"
:
allUsers=
"this.$attrs.allUsers
"
/>
<ordersSelect
v-model=
"cusDeclarationObj.overOrders"
:placeholder=
"$t('请选择超重订单')"
:
shipmentId=
"shipmentObj.id
"
/>
</el-form-item>
<!-- <el-form-item :label="$t('装箱单')">
...
...
@@ -423,8 +423,11 @@ export default {
}
审核吗?`
)
)
.
then
(()
=>
{
let
parems
=
{...
this
.
cusDeclarationObj
}
parems
.
overDealUser
=
!
Array
.
isArray
(
parems
.
overDealUser
)?
null
:
parems
.
overDealUser
.
join
(
'
,
'
)
parems
.
overOrders
=
!
Array
.
isArray
(
parems
.
overOrders
)?
null
:
parems
.
overOrders
.
join
(
'
,
'
)
customsCreate
({
...
this
.
cusDeclarationObj
,
...
parems
,
shipmentId
:
this
.
shipmentObj
.
id
,
operateType
,
}).
then
((
res
)
=>
{
...
...
src/views/ecw/box/shippingAir/nodePage/mergePkg/index.vue
View file @
2b4f2e4c
...
...
@@ -158,7 +158,11 @@ export default {
// 出货信息
shipmentObj
:
this
.
$attrs
.
shipmentObj
,
addMergedialogVisible
:
false
,
addMergeForm
:
{},
addMergeForm
:
{
pkgLength
:
null
,
pkgWidth
:
null
,
pkgHight
:
null
,
},
mergeTitle
:
''
,
isMergeEdit
:
false
,
pkgPageType
:
1
,
...
...
src/views/ecw/box/shippingAir/nodePage/preinstall.vue
View file @
2b4f2e4c
...
...
@@ -46,6 +46,11 @@
<el-input
v-model=
"queryParams.weightRatioMin"
:placeholder=
"$t('请输入 小')"
clearable
/>
</el-form-item>
<el-form-item
prop=
"airShipment"
>
<el-checkbox
v-model=
"queryParams.airShipment"
:true-label=
"4"
@
change=
"changeAirShipment"
>
{{
$t
(
'
已完成备货
'
)
}}
</el-checkbox>
<!--
<el-radio
v-model=
"queryParams.airShipment"
:label=
"4"
>
{{
$t
(
'
已完成备货
'
)
}}
</el-radio>
-->
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"handleQuery('pre')"
>
{{
$t
(
'
搜索已分拣订单
'
)
}}
</el-button>
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"handleQuery('toBePre')"
>
{{
$t
(
'
搜索待分拣订单
'
)
}}
</el-button>
...
...
@@ -293,9 +298,9 @@
<
dict
-
tag
:
type
=
"
DICT_TYPE.ECW_PRODUCT_MATERIAL
"
:
value
=
"
scope.row.material
"
/>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
:
label
=
"
$t('特性')
"
align
=
"
center
"
prop
=
"
a
ttrNameList
"
width
=
"
120
"
>
<
el
-
table
-
column
:
label
=
"
$t('特性')
"
align
=
"
center
"
prop
=
"
warehouseInA
ttrNameList
"
width
=
"
120
"
>
<
template
slot
-
scope
=
"
scope
"
>
{{
scope
.
row
.
attrNameList
?
scope
.
row
.
a
ttrNameList
.
toString
():
""
}}
{{
scope
.
row
.
warehouseInAttrNameList
?
scope
.
row
.
warehouseInA
ttrNameList
.
toString
():
""
}}
<
/template
>
<
/el-table-column
>
<!--
<
el
-
table
-
column
:
label
=
"
$t('操作')
"
align
=
"
center
"
class
-
name
=
"
small-padding fixed-width
"
>
...
...
@@ -506,6 +511,10 @@ export default {
checkboxSelect
(
selection
,
part
)
{
this
.
selectedRows
[
part
.
id
]
=
selection
;
}
,
/* 已备货 */
changeAirShipment
()
{
this
.
getPreLoad
();
}
,
/* 查询已分拣 */
getSecGoods
()
{
this
.
preLoading
=
true
;
...
...
@@ -587,7 +596,7 @@ export default {
...
this
.
operatorData
,
applyReason
:
this
.
$t
(
"
分拣审核
"
),
approvalStatus
:
0
,
approvalType
:
1
,
// 分拣
approvalType
:
1
3
,
// 分拣
copyUserId
:
this
.
selectedUsers
,
shipmentId
:
this
.
$attrs
.
shipmentObj
.
id
,
}
).
then
((
res
)
=>
{
...
...
src/views/ecw/box/shippingAir/nodePage/review.vue
View file @
2b4f2e4c
...
...
@@ -92,9 +92,9 @@ export default {
this
.
$refs
[
"
reviewForm
"
].
validate
((
valid
)
=>
{
if
(
valid
)
{
const
{
currNode
,
shipmentObj
}
=
this
.
$attrs
;
let
approvalType
=
4
;
// 预装反审
let
approvalType
=
1
4
;
// 预装反审
if
(
currNode
.
type
===
"
cabinet
"
)
approvalType
=
9
;
// 装柜反审
if
(
currNode
.
type
===
"
unloading
"
)
approvalType
=
7
;
// 卸柜
反审核
if
(
currNode
.
type
===
"
unloading
"
)
approvalType
=
16
;
// 到仓
反审核
approvalCreate
({
shipmentId
:
shipmentObj
.
id
,
...
...
src/views/ecw/box/shippingAir/nodePage/twoWayTakeoff.vue
View file @
2b4f2e4c
...
...
@@ -7,7 +7,7 @@
<el-form-item
:label=
"$t('实际起飞时间')"
prop=
"dtRealFlyTime"
>
<el-date-picker
type=
"datetime"
:placeholder=
"$t('请选择日期')"
v-model=
"twoWayTakeoffObj.dtRealFlyTime"
value-format=
"yyyy-MM-dd HH:mm:ss"
></el-date-picker>
</el-form-item>
<el-form-item
:label=
"$t('实际头程时间')"
prop=
"dtRealHeadTime"
>
<el-form-item
v-if=
"dtRealHeadTimeFlag"
:label=
"$t('实际头程时间')"
prop=
"dtRealHeadTime"
>
<el-date-picker
type=
"datetime"
:placeholder=
"$t('请选择日期')"
v-model=
"twoWayTakeoffObj.dtRealHeadTime"
value-format=
"yyyy-MM-dd HH:mm:ss"
></el-date-picker>
</el-form-item>
</el-form>
...
...
@@ -54,6 +54,7 @@ export default {
dialogVisible
:
false
,
// 提示消息
showMsg
:
false
,
dtRealHeadTimeFlag
:
false
};
},
created
()
{
...
...
@@ -62,6 +63,9 @@ export default {
oldData
=
formatDateStr
(
oldData
,
[
"
dtRealFlyTime
"
],
"
YYYY-MM-DD HH:mm:ss
"
);
oldData
=
formatDateStr
(
oldData
,
[
"
dtRealHeadTime
"
],
"
YYYY-MM-DD HH:mm:ss
"
);
this
.
twoWayTakeoffObj
=
oldData
;
if
(
this
.
$attrs
.
shipmentObj
[
'
bookAirInfo
'
].
voyage
&&
this
.
$attrs
.
shipmentObj
[
'
bookAirInfo
'
].
voyage
==
2
){
this
.
dtRealHeadTimeFlag
=
true
}
},
watch
:
{
},
...
...
src/views/ecw/box/shippingAir/nodePage/unloading/startUnloading.vue
View file @
2b4f2e4c
...
...
@@ -267,7 +267,7 @@ export default {
approvalCreate
({
shipmentId
:
this
.
$attrs
.
shipmentObj
.
id
,
approvalStatus
:
0
,
approvalType
:
3
,
// 卸柜
approvalType
:
15
,
// 卸柜
copyUserId
:
this
.
selectedUsers
,
}).
then
((
res
)
=>
{
serviceMsg
(
res
,
this
).
then
(()
=>
{
...
...
src/views/ecw/box/shippingAir/shippingAir.vue
View file @
2b4f2e4c
...
...
@@ -131,7 +131,7 @@ export default {
if
(
element
.
type
==
'
unloading
'
){
flag
=
false
}
if
(
element
.
type
==
'
c
lrDocument
'
){
if
(
element
.
type
==
'
c
usClearance
'
){
flag
=
false
}
});
...
...
src/views/ecw/box/shippingDetail.vue
View file @
2b4f2e4c
...
...
@@ -6,9 +6,9 @@
<el-descriptions-item
:label=
"$t('运输方式')"
>
<dict-tag
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"boxBackVO.transportType"
/>
</el-descriptions-item>
<
!--
<
el-descriptions-item
:label=
"$t('出货渠道')"
>
<el-descriptions-item
:label=
"$t('出货渠道')"
>
{{
getShipChannelName
(
boxBackVO
.
shippingChannelId
)
}}
</el-descriptions-item>
-->
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('柜型')"
>
{{
cabinetLabel
}}
</el-descriptions-item>
...
...
src/views/ecw/box/shippingSea/seaStepDetail.vue
View file @
2b4f2e4c
...
...
@@ -136,7 +136,8 @@ export default {
border-top
:
1px
solid
gray
;
font-size
:
14px
;
line-height
:
25px
;
grid-template-columns
:
repeat
(
2
,
1fr
);
word-wrap
:
break-word
;
grid-template-columns
:
repeat
(
2
,
100px
);
>
p
:first-child
{
border-right
:
1px
solid
gray
;
}
...
...
src/views/ecw/customer/addPotentialCustom.vue
View file @
2b4f2e4c
...
...
@@ -113,6 +113,8 @@ export default {
this
.
$emit
(
'
change
'
);
this
.
dialogTableVisible
=
false
;
this
.
$message
(
this
.
$t
(
'
创建成功
'
));
this
.
reset
()
this
.
$refs
.
form
.
resetFields
()
}
})
}
...
...
src/views/ecw/customer/components/customer-handover-details.vue
View file @
2b4f2e4c
...
...
@@ -2,7 +2,7 @@
<div>
<div
v-for=
"(item, index) in info.customerHandoverDetailDtoList"
>
<router-link
:to=
"'/customer/query/' + item.customerId"
><div
style=
"color: blue"
>
客户编号
{{
index
+
1
}}
:
{{
item
.
customerNumber
}}
客户名称
{{
index
+
1
}}
:
{{
item
.
customerName
}}
</div></router-link>
<div>
就
客户经理
{{
index
+
1
}}
:
{{
item
.
oldCustomerServiceName
||
'
-
'
}}
<span
v-if=
"item.oldCustomerServiceDeptName"
>
(
{{
item
.
oldCustomerServiceDeptName
}}
)
</span></div>
<div>
旧
客户经理
{{
index
+
1
}}
:
{{
item
.
oldCustomerServiceName
||
'
-
'
}}
<span
v-if=
"item.oldCustomerServiceDeptName"
>
(
{{
item
.
oldCustomerServiceDeptName
}}
)
</span></div>
</div>
<div>
新客户经理:
{{
info
.
newCustomerServiceName
||
'
-
'
}}
<span
v-if=
"info.newCustomerServiceDeptName"
>
(
{{
info
.
newCustomerServiceDeptName
}}
)
</span>
</div>
<div>
...
...
src/views/ecw/customer/edit.vue
View file @
2b4f2e4c
...
...
@@ -863,7 +863,7 @@ export default {
const
form
=
{...
this
.
form
,
type
:
this
.
form
.
type
?.
join
(
'
,
'
),
transportType
:
(
this
.
form
.
transportType
||
[])?.
join
(
'
,
'
),
taxRate
:
Number
(
this
.
form
.
taxRate
)}
form
.
customerContacts
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
form
.
customerContacts
))
form
.
customerContacts
.
forEach
(
e
=>
{
e
.
email
=
[...
e
.
email
].
join
(
'
,
'
)
e
.
email
=
[...
e
.
email
].
filter
(
i
=>
i
!==
''
).
join
(
'
,
'
)
})
// 检查路线是否启用了但是没选择目的仓
let
errors
=
0
...
...
src/views/ecw/customer/index.vue
View file @
2b4f2e4c
...
...
@@ -137,7 +137,7 @@
<
template
v-slot=
"{row}"
>
+
{{
row
.
defaultContactPhone
}}
<br/>
<contacts
:id=
"row.id"
>
<el-button
v-if=
"$route.path === '/customer/customer'"
type=
"text"
>
更多
</el-button>
<el-button
type=
"text"
>
更多
</el-button>
</contacts>
</
template
>
</el-table-column>
...
...
src/views/ecw/customer/transferCustomer.vue
View file @
2b4f2e4c
...
...
@@ -65,11 +65,19 @@ export default {
reason
:
this
.
textarea
}).
then
(
r
=>
{
if
(
r
.
code
===
0
){
this
.
$emit
(
'
update:show
'
,
false
)
this
.
$emit
(
'
update:customerIds
'
,[])
this
.
service
=
''
;
this
.
textarea
=
''
;
this
.
$message
.
success
(
this
.
$t
(
'
用户批量转移成功!
'
))
if
(
r
.
data
){
this
.
$message
.
warning
(
r
.
data
)
this
.
$emit
(
'
update:show
'
,
false
)
this
.
$emit
(
'
update:customerIds
'
,[])
this
.
service
=
''
;
this
.
textarea
=
''
;
}
else
{
this
.
$emit
(
'
update:show
'
,
false
)
this
.
$emit
(
'
update:customerIds
'
,[])
this
.
service
=
''
;
this
.
textarea
=
''
;
this
.
$message
.
success
(
this
.
$t
(
'
用户批量转移成功!
'
))
}
}
})
},
...
...
src/views/ecw/customerConfirm/index.vue
View file @
2b4f2e4c
...
...
@@ -103,7 +103,12 @@
</el-table-column>
<el-table-column
:label=
"$t('主联系人')"
prop=
"defaultContactName"
></el-table-column>
<el-table-column
:label=
"$t('主联系方式')"
prop=
"defaultContactPhone"
>
<
template
v-slot=
"{row}"
>
{{
row
.
defaultContactPhone
}}
</
template
>
<
template
v-slot=
"{row}"
>
+
{{
row
.
defaultContactPhone
}}
<br/>
<contacts
:id=
"row.id"
>
<el-button
type=
"text"
>
更多
</el-button>
</contacts>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('创建时间')"
align=
"center"
prop=
"createTime"
width=
"180"
>
<
template
slot-scope=
"scope"
>
...
...
@@ -364,6 +369,7 @@ import {handOverCustomer} from "../../../api/ecw/customer";
import
{
getCountryListAll
}
from
"
@/api/ecw/country
"
;
import
{
getCreditPage
}
from
"
@/api/customer/credit
"
;
import
transferCustomer
from
"
@/views/ecw/customer/transferCustomer.vue
"
;
import
Contacts
from
"
@/views/ecw/customer/components/contacts.vue
"
;
...
...
@@ -381,6 +387,7 @@ export default {
},
},
components
:
{
Contacts
,
transferCustomer
},
data
()
{
...
...
src/views/ecw/customerToBeAssigned/index.vue
View file @
2b4f2e4c
...
...
@@ -115,7 +115,10 @@
<el-table-column
:label=
"$t('主联系人')"
prop=
"defaultContactName"
></el-table-column>
<el-table-column
:label=
"$t('主联系方式')"
prop=
"defaultContactPhone"
>
<
template
v-slot=
"{row}"
>
+
{{
row
.
defaultContactPhone
}}
+
{{
row
.
defaultContactPhone
}}
<br/>
<contacts
:id=
"row.id"
>
<el-button
type=
"text"
>
更多
</el-button>
</contacts>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('创建时间')"
align=
"center"
prop=
"createTime"
width=
"180"
>
...
...
@@ -175,12 +178,14 @@ import {getCountryListAll} from "@/api/ecw/country";
import
{
getCreditPage
}
from
"
@/api/customer/credit
"
;
import
transferCustomer
from
"
@/views/ecw/customer/transferCustomer
"
;
import
Template
from
"
@/views/cms/template/index.vue
"
;
import
Contacts
from
"
@/views/ecw/customer/components/contacts.vue
"
;
export
default
{
name
:
"
EcwCustomertobeassignedIndex
"
,
activated
()
{
this
.
getList
()
},
components
:
{
Contacts
,
Template
,
upload
,
transferCustomer
...
...
src/views/ecw/financial/creatCollection.vue
View file @
2b4f2e4c
...
...
@@ -18,7 +18,7 @@
:span=
"4"
>
<span
style=
"margin-right:20px"
><span
style=
"color: #ff4949;"
>
*
</span>
{{
$t
(
'
客户
'
)
}}
</span>
<customer-selector
<customer-selector
pay
ref=
"customer"
v-model=
"form.customerId"
@
change=
"customerChange"
...
...
@@ -693,6 +693,7 @@ import { listSimpleUsers } from "@/api/system/user";
import
{
DICT_TYPE
}
from
"
@/utils/dict
"
;
import
{
getToken
}
from
"
@/utils/auth
"
;
import
CustomerSelector
from
"
@/components/CustomerSelector
"
;
import
CustomerSelectorpay
from
"
@/components/CustomerSelectorpay
"
;
import
{
getBankAccountPage
}
from
"
@/api/ecw/bankAccount
"
;
import
{
listSimpleDepts
}
from
"
@/api/system/dept
"
;
import
{
getChannelList
}
from
"
@/api/ecw/channel
"
;
...
...
@@ -712,7 +713,7 @@ import WorkFlow from '@/components/WorkFlow/'
export
default
{
name
:
"
EcwFinancialCreatcollection
"
,
components
:
{
CustomerSelector
,
WorkFlow
CustomerSelector
,
WorkFlow
,
CustomerSelectorpay
}
,
data
()
{
return
{
...
...
@@ -1300,7 +1301,7 @@ export default {
this
.
flag
=
false
return
}
this
.
form
.
customerName
=
value
.
name
this
.
form
.
customerName
=
value
.
payerName
?
value
.
payerName
:
value
.
name
this
.
form
.
customerId
&&
getCustomer
(
this
.
form
.
customerId
).
then
(
res
=>
{
this
.
form
=
{
...
this
.
form
,
...
...
src/views/ecw/financial/printVoucher.vue
View file @
2b4f2e4c
...
...
@@ -12,7 +12,7 @@
<td
style=
"font-weight: bold;width:12.5%"
>
{{
$t
(
'
部门
'
)
}}
</td>
<td
style=
"width:12.5%"
>
{{
form
?
form
.
departmentName
:
$t
(
'
无
'
)
}}
</td>
<td
style=
"font-weight: bold;width:12.5%"
>
{{
$t
(
'
客户名称
'
)
}}
</td>
<td
colspan=
"2"
style=
"width: 25%;"
>
{{
form
?
form
.
customerName
:
$t
(
'
无
'
)
}}
</td>
<td
colspan=
"2"
style=
"width: 25%;"
>
{{
form
.
customerName
||
$t
(
'
无
'
)
}}
</td>
<td
style=
"font-weight: bold;width:12.5%"
>
{{
$t
(
'
收款日期
'
)
}}
</td>
<td
colspan=
"2"
style=
"width: 25%;"
>
{{
form
&&
form
.
payedAt
?
parseTime
(
form
.
payedAt
):
$t
(
'
无
'
)
}}
</td>
</tr>
...
...
@@ -141,9 +141,9 @@
that
.
deptArr
.
push
(
item
)
}
else
{
that
.
deptData
.
push
(
item
)
}
that
.
deptData
.
push
(
item
)
}
)
that
.
deptData
.
forEach
((
value
)
=>
{
...
...
src/views/ecw/financial/receiptDetail.vue
View file @
2b4f2e4c
...
...
@@ -7,7 +7,7 @@
<el-descriptions-item
:label=
"$t('状态')"
>
<dict-tag
:type=
"DICT_TYPE.ECW_RECEIPT_STATE"
:value=
"form.state"
/>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('客户')"
>
{{
form
.
customerName
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('客户')"
>
{{
form
.
customerName
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('部门')"
>
{{
form
.
departmentName
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('业务员')"
>
{{
form
.
salesmanName
}}
</el-descriptions-item>
<!--
<el-descriptions-item
:label=
"$t('手续费(RMB)')"
>
{{
form
.
feeRate
}}
</el-descriptions-item>
-->
...
...
@@ -725,9 +725,9 @@ export default {
this
.
id
=
this
.
$route
.
query
.
id
;
await
getReceiptInfoByIds
({
id
:
this
.
id
}
).
then
(
res
=>
{
this
.
form
=
res
.
data
getCustomer
(
this
.
form
.
customerId
).
then
(
res
=>
{
this
.
form
.
customerName
=
res
?.
data
?.
name
}
)
//
getCustomer(this.form.customerId).then(res =>
{
//
this.form.customerName = res?.data?.name
//
}
)
var
dept
=
this
.
deptData
.
filter
((
itt
)
=>
itt
.
id
==
res
.
data
.
departmentId
);
// console.log(dept)
if
(
dept
.
length
>
0
){
...
...
src/views/ecw/financial/receivable.vue
View file @
2b4f2e4c
...
...
@@ -202,6 +202,11 @@
</el-table-column>
<el-table-column
:label=
"$t('发货人')"
align=
"center"
prop=
"consignorName"
/>
<el-table-column
:label=
"$t('收货人')"
align=
"center"
prop=
"consigneeName"
/>
<el-table-column
:label=
"$t('付款方')"
align=
"center"
prop=
"weight"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
paymentUser
==
1
?
$t
(
'
发货人
'
):
$t
(
'
收货人
'
)
}}
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('订单状态')"
align=
"center"
prop=
"status"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.ORDER_STATUS"
:value=
"scope.row.status"
/>
...
...
src/views/ecw/myCustomerService/index.vue
View file @
2b4f2e4c
...
...
@@ -104,7 +104,10 @@
<el-table-column
:label=
"$t('主联系人')"
prop=
"defaultContactName"
></el-table-column>
<el-table-column
:label=
"$t('主联系方式')"
prop=
"defaultContactPhone"
>
<
template
v-slot=
"{row}"
>
+
{{
row
.
defaultContactPhone
}}
+
{{
row
.
defaultContactPhone
}}
<br/>
<contacts
:id=
"row.id"
>
<el-button
type=
"text"
>
更多
</el-button>
</contacts>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('创建时间')"
align=
"center"
prop=
"createTime"
width=
"180"
>
...
...
@@ -161,9 +164,12 @@ import {listServiceUser} from "@/api/system/user";
import
{
getCountryListAll
}
from
"
@/api/ecw/country
"
;
import
{
getCreditPage
}
from
"
@/api/customer/credit
"
;
import
transferCustomer
from
"
@/views/ecw/customer/transferCustomer
"
;
import
Template
from
"
@/views/cms/template/index.vue
"
;
import
Contacts
from
"
@/views/ecw/customer/components/contacts.vue
"
;
export
default
{
name
:
"
EcwMycustomerserviceIndex
"
,
components
:
{
Contacts
,
Template
,
upload
,
customerFollowList
,
customerComplaints
,
...
...
src/views/ecw/oceanCustomer/index.vue
View file @
2b4f2e4c
...
...
@@ -108,8 +108,11 @@
</el-table-column>
<el-table-column
:label=
"$t('主联系人')"
prop=
"defaultContactName"
></el-table-column>
<el-table-column
:label=
"$t('主联系方式')"
prop=
"defaultContactPhone"
>
<
template
v-slot=
"{row}"
>
+
{{
row
.
defaultContactPhone
}}
<
template
v-slot=
"{row}"
>
+
{{
row
.
defaultContactPhone
}}
<br/>
<contacts
:id=
"row.id"
>
<el-button
type=
"text"
>
更多
</el-button>
</contacts>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('创建时间')"
align=
"center"
prop=
"createTime"
width=
"180"
>
...
...
@@ -173,12 +176,15 @@ import upload from '@/components/ImageUpload'
import
{
listServiceUser
}
from
"
@/api/system/user
"
;
import
{
getCountryListAll
}
from
"
@/api/ecw/country
"
;
import
{
getCreditPage
}
from
"
@/api/customer/credit
"
;
import
Template
from
"
@/views/cms/template/index.vue
"
;
import
Contacts
from
"
@/views/ecw/customer/components/contacts.vue
"
;
export
default
{
name
:
"
EcwOceancustomerIndex
"
,
activated
()
{
this
.
getList
()
},
components
:
{
Contacts
,
Template
,
upload
},
data
()
{
...
...
src/views/ecw/offer/detail.vue
View file @
2b4f2e4c
...
...
@@ -331,12 +331,12 @@
</el-descriptions>
<el-descriptions
v-if=
"[3,4].indexOf(list.transportId) > -1"
>
<el-descriptions-item
:label=
"$t('航空公司')"
>
{{
getSupplierData(list.transportVO.airlineCompany)||
'/'}}
{{
airlineCompany ? $l(airlineCompany, 'company') :
'/'}}
</el-descriptions-item>
</el-descriptions>
<el-descriptions
v-if=
"list.transportId==2"
>
<el-descriptions-item
:label=
"$t('船公司')"
>
{{getSupplierData(list.transportVO.shippingCompany)||
'/'}}
{{shippingCompany ? $l(shippingCompany, 'company') :
'/'}}
</el-descriptions-item>
</el-descriptions>
<el-descriptions
v-if=
"[2,3,4].indexOf(list.transportId) > -1"
>
...
...
@@ -419,6 +419,10 @@
customerSource
:
getDictDatas
(
DICT_TYPE
.
CUSTOMER_SOURCE
),
couponAvailableGroupDtoList
:
[],
// 可用优惠
couponTotalAmountList
:
[],
// 优惠总额
// 航空公司
airlineCompany
:
null
,
// 船公司
shippingCompany
:
null
,
};
},
computed
:{
...
...
@@ -611,17 +615,6 @@
that
.
orderData
=
response
.
data
;
});
},
getSupplierData
(
id
){
var
labelname
=
''
if
(
id
){
getSupplier
(
id
).
then
(
res
=>
{
if
(
res
.
data
){
labelname
=
res
.
data
.
companyZh
}
})
}
return
labelname
},
getProductListWithDefaultValue
(){
let
arr
=
[]
this
.
list
.
offerProdRespVOList
.
forEach
(
item
=>
{
...
...
@@ -705,6 +698,21 @@
that
.
loading
=
false
;
that
.
getOpenedRouterList
()
if
(
this
.
list
.
transportVO
.
airlineCompany
){
getSupplier
(
this
.
list
.
transportVO
.
airlineCompany
).
then
(
res
=>
{
if
(
res
.
data
){
this
.
airlineCompany
=
res
.
data
.
companyZh
}
})
}
if
(
this
.
list
.
transportVO
.
shippingCompany
){
getSupplier
(
this
.
list
.
transportVO
.
shippingCompany
).
then
(
res
=>
{
if
(
res
.
data
){
this
.
shippingCompany
=
res
.
data
.
companyZh
}
})
}
});
},
getCity
(
id
){
...
...
src/views/ecw/offer/edit.vue
View file @
2b4f2e4c
...
...
@@ -310,7 +310,7 @@
<el-descriptions
:column=
"5"
border
>
<el-descriptions-item
:label=
"$t('保价费')"
>
{{fee.insuranceFee || 0}} {{
$t('美元')
}}
{{fee.insuranceFee || 0}} {{
selectedRouter ? currencyMap[selectedRouter.currencyUnit || 1] : ''
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('总运费')"
>
<
template
v-for=
"item in freightFeeList"
>
...
...
@@ -730,8 +730,6 @@ export default {
// 预计费用(原价 - 优惠金额 + 其他费用 + 保价费)
estimatedCosts
(){
let
arr
=
[]
let
withInsuranceFee
=
false
let
withOtherFee
=
false
this
.
originalFeeList
.
forEach
(
item
=>
{
let
it
=
{
currencyId
:
item
.
currencyId
,
...
...
@@ -741,50 +739,31 @@ export default {
if
(
coupon
){
it
.
amount
=
it
.
amount
.
minus
(
coupon
.
reduceTotalAmount
)
}
if
(
this
.
form
.
otherFee
&&
this
.
form
.
otherFeeCurrencyId
==
item
.
currencyId
){
it
.
amount
=
it
.
amount
.
plus
(
this
.
form
.
otherFee
)
withOtherFee
=
true
}
// 保价费(美元)
if
(
item
.
currencyId
==
1
&&
this
.
fee
&&
this
.
fee
.
insuranceFee
){
it
.
amount
=
it
.
amount
.
plus
(
this
.
fee
.
insuranceFee
)
withInsuranceFee
=
true
}
arr
.
push
(
it
)
})
// 没有累加保价费(没有美元计价)但是有保价费则需要加上去
if
(
!
withInsuranceFee
&&
this
.
fee
&&
this
.
fee
.
insuranceFee
){
let
fee
=
Decimal
(
this
.
fee
.
insuranceFee
)
// 如果没有美元费用,且保价费和其他费用币种相同(都是美元)
if
(
this
.
form
.
otherFeeCurrencyId
==
1
&&
this
.
form
.
otherFee
){
withOtherFee
=
true
fee
=
fee
.
plus
(
new
Decimal
(
this
.
form
.
otherFee
||
0
))
}
// 累加保价费
const
insuranceFeeIndex
=
arr
.
findIndex
(
item
=>
item
.
currencyId
==
this
.
insuranceFeeCurrency
)
if
(
insuranceFeeIndex
>
-
1
){
arr
[
insuranceFeeIndex
].
amount
=
arr
[
insuranceFeeIndex
].
amount
.
plus
(
this
.
fee
.
insuranceFee
||
0
)
}
else
{
arr
.
push
({
currencyId
:
1
,
amount
:
fee
currencyId
:
this
.
insuranceFeeCurrency
,
amount
:
Decimal
(
this
.
fee
.
insuranceFee
||
0
)
})
}
// 如果没有累加其他费用,则另外增加货币
if
(
!
withOtherFee
&&
this
.
form
.
otherFee
){
let
fee
=
{
// 累加其他费用
const
otherFeeIndex
=
arr
.
findIndex
(
item
=>
item
.
currencyId
==
this
.
form
.
otherFeeCurrencyId
)
if
(
otherFeeIndex
>
-
1
){
arr
[
otherFeeIndex
].
amount
=
arr
[
otherFeeIndex
].
amount
.
plus
(
this
.
form
.
otherFee
||
0
)
}
else
{
arr
.
push
({
currencyId
:
this
.
form
.
otherFeeCurrencyId
,
amount
:
Decimal
(
this
.
form
.
otherFee
)
}
// 如果保价费跟其他费用是同一种货币(都是美元)
if
(
!
withInsuranceFee
&&
this
.
fee
&&
this
.
fee
.
insuranceFee
&&
this
.
form
.
otherFeeCurrencyId
==
1
){
fee
.
amount
=
fee
.
amount
.
plus
(
this
.
fee
.
insuranceFee
)
}
arr
.
push
(
fee
)
amount
:
Decimal
(
this
.
form
.
otherFee
||
0
)
})
}
return
arr
},
// 路线开通的服务
...
...
@@ -792,6 +771,10 @@ export default {
if
(
!
this
.
selectedRouter
||
!
this
.
selectedRouter
.
otherService
)
return
[]
return
this
.
selectedRouter
.
otherService
.
split
(
'
,
'
)
},
// 保价费单位(路线里设置,默认美元)
insuranceFeeCurrency
()
{
return
this
.
selectedRouter
?.
currencyUnit
||
1
;
},
// 是否可以添加商品
canAddProduct
(){
if
(
!
this
.
form
.
lineId
){
...
...
src/views/ecw/order/components/FeeDetail.vue
View file @
2b4f2e4c
...
...
@@ -479,6 +479,7 @@ export default {
let
total
=
{}
arr
.
forEach
(
item
=>
{
const
currency
=
item
[
currencyField
]
if
(
!
currency
)
return
if
(
!
total
[
currency
]){
total
[
currency
]
=
new
Decimal
(
0
)
}
...
...
src/views/ecw/order/components/PrintTag.vue
View file @
2b4f2e4c
...
...
@@ -26,11 +26,9 @@
style=
"width: 80mm; margin: 0 auto;"
:id=
"'order-print-tag' + item.num"
:style=
"
{display: index == 0 ? 'block':'none' }"
:key="item.num">
<div
style=
"float: left; width: 28mm; border-bottom: 0.2mm solid #333; border-right: 0.2mm solid #333; "
>
<img
:src=
"item.url"
:alt=
"item.url"
style=
"width: 26mm"
/>
<p
style=
" text-align: center; height: 5mm; font-size: 3mm; -webkit-margin-before: 0em; -webkit-margin-after: 0em; margin-top: 0mm; "
>
{{
item
.
tag
}}
</p>
<div
style=
"float: left; text-align: center; width: 28mm; border-bottom: 0.2mm solid #333; border-right: 0.2mm solid #333; "
>
<img
class=
"qrcode"
src=
""
:alt=
"item.url"
style=
"width: 26mm"
/>
<p
class=
"tag"
style=
" text-align: center; height: 5mm; font-size: 3mm; -webkit-margin-before: 0em; -webkit-margin-after: 0em; margin-top: 0mm; "
>
{{
item
.
tag
}}
</p>
<p
style=
"margin-top: -1mm; text-align: center"
>
<span
style=
"text-align: center; font-weight: 600; font-size: 6mm"
>
{{
item
.
num
}}
</span>
</p>
...
...
@@ -73,6 +71,7 @@
import
{
printTag
}
from
'
@/api/ecw/order
'
import
{
parseTime
}
from
'
@/utils/ruoyi
'
import
lodop
from
'
@/utils/lodop
'
import
QRCode
from
"
qrcode
"
;
export
default
{
filters
:
{
parseTime
}
,
...
...
@@ -136,12 +135,18 @@ export default {
if
(
!
this
.
printTags
.
length
){
return
this
.
$message
.
error
(
this
.
$t
(
'
指定区域无可打印标签
'
))
}
this
.
$refs
[
"
form
"
].
validate
(
valid
=>
{
this
.
$refs
[
"
form
"
].
validate
(
(
valid
)
=>
{
if
(
!
valid
)
{
return
;
}
this
.
currentNo
=
this
.
form
.
start
this
.
step
=
'
preview
'
this
.
$nextTick
(
async
()
=>
{
const
first
=
document
.
getElementsByClassName
(
'
order-print-tag-item
'
)[
0
]
const
tag
=
first
.
getElementsByClassName
(
'
tag
'
)[
0
].
innerText
const
qrcode
=
await
QRCode
.
toDataURL
(
tag
,
{
margin
:
1
}
)
first
.
getElementsByClassName
(
'
qrcode
'
)[
0
].
setAttribute
(
"
src
"
,
qrcode
)
}
)
}
)
}
,
print
(){
...
...
@@ -152,18 +157,22 @@ export default {
if
(
items
.
length
>
1000
){
this
.
$alert
(
this
.
$t
(
'
标签超过1000需要耐心等候标签生成,请稍候
'
))
}
lodop
().
then
(
LODOP
=>
{
lodop
().
then
(
async
(
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
.
SET_PRINT_PAGESIZE
(
0
,
800
,
600
,
"
TAG
"
);
for
(
let
i
in
items
){
LODOP
.
ADD_PRINT_HTM
(
"
2mm
"
,
0
,
800
,
600
,
items
[
i
].
innerHTML
);
let
i
=
0
;
for
(
let
item
of
items
){
const
tag
=
item
.
getElementsByClassName
(
'
tag
'
)[
0
].
innerText
const
qrcode
=
await
QRCode
.
toDataURL
(
tag
,
{
margin
:
1
}
)
item
.
getElementsByClassName
(
'
qrcode
'
)[
0
].
setAttribute
(
"
src
"
,
qrcode
)
LODOP
.
ADD_PRINT_HTM
(
"
2mm
"
,
0
,
800
,
600
,
item
.
innerHTML
);
if
(
i
<
items
.
length
){
LODOP
.
NewPage
()
}
i
++
}
LODOP
.
PREVIEW
();
...
...
src/views/ecw/order/components/warehouseDetails.vue
View file @
2b4f2e4c
...
...
@@ -208,6 +208,9 @@ export default {
}
},
computed
:{
isChinese
(){
return
this
.
$i18n
.
locale
===
'
zh_CN
'
},
currencyMap
(){
return
arrryToKeyedObjectBy
(
this
.
currencyList
,
'
id
'
)
},
...
...
@@ -249,7 +252,7 @@ export default {
return
''
},
selectChannel
(
val
){
if
(
this
.
channelList
.
length
>
0
&&
!!
val
)
return
this
.
channelList
.
find
(
e
=>
e
.
channelId
===
val
)
.
nameEn
if
(
this
.
channelList
.
length
>
0
&&
!!
val
)
return
this
.
channelList
.
find
(
e
=>
e
.
channelId
===
val
)
[
this
.
isChinese
?
'
nameZh
'
:
'
nameEn
'
]
return
''
},
getDetails
(){
...
...
src/views/ecw/order/detail.vue
View file @
2b4f2e4c
...
...
@@ -108,6 +108,12 @@
<el-descriptions-item
:label=
"$t('单证报关')"
>
<dict-tag
:type=
"DICT_TYPE.ECW_CUSTOMS_TYPE"
:value=
"order.customsType"
/>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('关联报价单')"
>
<router-link
v-if=
"offerData"
:to=
"{path: '/offer/detail',query: {offerId: offerData.offerId}}"
class=
"link-type"
>
<span>
{{ offerData.number }}
</span>
</router-link>
<span
v-else
>
/
</span>
</el-descriptions-item>
</el-descriptions>
<el-descriptions
class=
"mr-10"
border
:column=
"2"
:class=
"showMore?'showInfo':'hiddenInfo'"
:labelStyle=
"{width:'110px'}"
:contentStyle=
"{width:'150px'}"
>
<el-descriptions-item
:label=
"$t('出单方式')"
>
...
...
@@ -300,7 +306,7 @@
<dict-tag
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"order.transportId"
/>
</el-table-column>
<el-table-column
:label=
"$t('出货渠道')"
>
{{channelName}}
{{
order.
channelName}}
</el-table-column>
<el-table-column
:label=
"$t('始发地')"
prop=
"orderNo"
>
{{$l(departure, 'title') || '-'}}
...
...
@@ -479,6 +485,7 @@
<
script
>
import
{
getOrder
,
operateLogPage
}
from
'
@/api/ecw/order
'
import
{
getOfferCheck
}
from
'
@/api/ecw/offer
'
import
{
getDictDatas
,
DICT_TYPE
,
getDictData
}
from
'
@/utils/dict
'
;
import
PrintWarehouseReceipt
from
'
./components/PrintWarehouseReceipt
'
import
PrintLadingBill
from
'
./components/PrintLadingBill
'
...
...
@@ -553,6 +560,7 @@ export default {
packAfterData
:
null
,
//显示打包历史详情
showDeclaration
:
false
,
//显示报关资料
showFeeSummary
:
false
,
// 是否显示费用汇总
offerData
:
''
//关联报价单
}
}
,
computed
:{
...
...
@@ -614,6 +622,7 @@ export default {
if
(
this
.
$route
.
query
.
orderId
)
{
this
.
orderId
=
this
.
$route
.
query
.
orderId
this
.
getOrder
();
this
.
getOfferNumber
()
}
getCurrencyList
().
then
(
res
=>
this
.
currencyList
=
res
.
data
)
...
...
@@ -811,6 +820,12 @@ export default {
//查看打包历史详情
showPackDetail
(
packAfterData
){
this
.
packAfterData
=
packAfterData
}
,
getOfferNumber
()
{
const
that
=
this
getOfferCheck
({
orderId
:
that
.
orderId
}
).
then
(
response
=>
{
that
.
offerData
=
response
.
data
}
)
}
}
}
;
...
...
src/views/ecw/order/edit.vue
View file @
2b4f2e4c
...
...
@@ -448,6 +448,25 @@
</el-table>
</el-form-item>
</div>
<el-form-item
:label=
"$t('关联报价单')"
prop=
"offerId"
>
<span
v-if=
"offerIdNochange&&offerNumber"
>
{{offerNumber}}
</span>
<el-select
v-else
v-model=
"form.offerId"
filterable
clearable
reserve-keyword
:disabled =
"offerIdNochange"
:placeholder=
"$t('请选择')"
>
<el-option
v-for=
"(item, index) in offerData"
:key=
"index"
:label=
"item.number"
:value=
"item.offerId"
/>
</el-select>
</el-form-item>
</el-card>
<el-card
class=
"mt-10"
v-if=
"transport"
>
...
...
@@ -595,6 +614,7 @@ import Decimal from 'decimal.js'
import
WorkFlow
from
'
@/components/WorkFlow
'
import
{
getCustomer
}
from
"
@/api/ecw/customer
"
;
import
{
debounce
}
from
"
@/utils
"
;
import
{
getOfferSelect
,
getOfferCheck
}
from
"
@/api/ecw/offer
"
// 缓存默认的表单数据
let
makeDefaultFormData
=
()
=>
{
...
...
@@ -608,7 +628,7 @@ let makeDefaultFormData = () => {
externalWarehouseDtoList
:[],
orderItemVOList
:[],
drawee
:
2
,
harvestMethod
:
"
1
"
harvestMethod
:
"
1
"
,
}
}
window
.
Decimal
=
Decimal
...
...
@@ -662,7 +682,10 @@ export default {
showWorkFlow
:
false
,
// 是否显示工作流表单
calculating
:
false
,
// 是否正在计算费用,防止频繁重新请求
initing
:
true
,
// 初始化中,
updateChannel
:
false
// 是否更新渠道
updateChannel
:
false
,
// 是否更新渠道
offerData
:
[],
// 关联报价单
offerIdNochange
:
false
,
offerNumber
:
null
};
},
computed
:{
...
...
@@ -866,8 +889,8 @@ export default {
this
.
$set
(
this
.
form
,
'
channelId
'
,
null
)
}
if
(
transportId
==
3
){
console
.
log
(
'
form.transportId
'
,
this
.
form
.
transportId
,
this
.
initing
)
if
(
!
this
.
initing
&&
transportId
==
3
){
// 如果是专线空运默认目的港清关选择我司
this
.
$set
(
this
.
form
,
'
portDestCustomsClear
'
,
1
)
}
...
...
@@ -877,6 +900,18 @@ export default {
'
form.channelId
'
(){
this
.
calculationPrice
()
},
'
form.consigneeCountryCode
'
(){
if
(
this
.
form
.
lineId
)
this
.
getOfferData
()
},
'
form.consignorCountryCode
'
(){
if
(
this
.
form
.
lineId
)
this
.
getOfferData
()
},
'
form.consigneePhone
'
(){
if
(
this
.
form
.
lineId
)
this
.
getOfferData
()
},
'
form.consignorPhone
'
(){
if
(
this
.
form
.
lineId
)
this
.
getOfferData
()
},
'
form.lineId
'
(
lineId
){
let
router
=
this
.
routerList
.
find
(
item
=>
item
.
id
==
lineId
)
if
(
!
router
){
...
...
@@ -897,7 +932,7 @@ export default {
this
.
$set
(
this
.
form
,
'
isCargoControl
'
,
false
)
}
})
this
.
getOfferData
()
},
/* 'form.packageTypeArr'(val){
console.log('packageType', val, val.length)
...
...
@@ -971,6 +1006,7 @@ export default {
},
activated
(){
if
(
this
.
$route
.
query
.
id
!=
this
.
form
.
id
){
console
.
log
(
"
activated 加载订单数据
"
)
this
.
getOrder
()
}
let
transportType
=
undefined
...
...
@@ -985,7 +1021,6 @@ export default {
this
.
updateChannel
=
this
.
$route
.
query
.
updateChannel
==
1
},
async
created
()
{
this
.
productAttrList
=
(
await
getProductAttrList
()).
data
this
.
channelList
=
(
await
getChannelList
()).
data
this
.
tradeCityList
=
(
await
getTradeCityList
()).
data
...
...
@@ -1007,6 +1042,7 @@ export default {
this
.
updateChannel
=
true
}
if
(
this
.
$route
.
query
.
id
){
console
.
log
(
'
created 加载订单数据
'
)
this
.
getOrder
()
}
else
{
this
.
addProduct
()
...
...
@@ -1021,10 +1057,14 @@ export default {
// console.warn('onTableMounted', e)
},
getOrder
(){
this
.
initing
=
true
if
(
this
.
form
.
orderId
==
this
.
$route
.
query
.
id
){
console
.
log
(
'
加载中或者已加载此订单数据,不重复加载
'
,
this
.
initing
,
this
.
form
.
orderId
,
this
.
$route
.
query
.
id
)
return
}
this
.
initing
=
true
getUpdateInfo
(
this
.
$route
.
query
.
id
).
then
(
res
=>
{
this
.
form
=
Object
.
assign
({},
{...
res
.
data
},
{
orderItemVOList
:
[]})
this
.
getOfferData
()
/* this.form.orderItemVOList = []; */
this
.
form
.
type
=
this
.
form
.
type
?
this
.
form
.
type
.
split
(
'
,
'
).
filter
(
item
=>
item
!=
''
)
:
[]
...
...
@@ -1075,12 +1115,13 @@ export default {
// 如果已完成入仓,则需要监听必填内容,发生更改后需要填写审批表单
this
.
$nextTick
(()
=>
{
console
.
log
(
'
nextTick 订单渲染完成
'
)
console
.
log
(
'
nextTick 订单渲染完成
'
)
res
.
data
.
orderItemVOList
.
forEach
(
item
=>
{
item
.
prodAttrArr
=
item
.
prodAttrIds
.
split
(
'
,
'
).
filter
(
item
=>
item
!=
''
).
map
(
attrId
=>
+
attrId
)
item
.
prodAttrArr
=
item
.
prodAttrIds
?.
split
(
'
,
'
).
filter
(
item
=>
item
!=
''
).
map
(
attrId
=>
+
attrId
)
||
[]
this
.
form
.
orderItemVOList
.
push
({...
item
})
})
// 已入仓后,必填字段修改则需要显示审批流
if
(
this
.
inWarehouse
){
Object
.
keys
(
this
.
rules
).
forEach
(
field
=>
{
console
.
log
(
"
watch
"
,
field
)
...
...
@@ -1089,6 +1130,18 @@ export default {
})
})
}
// 在初始化结束后transportId还会发生一次变化导致目的港清关被重置,所以需要延迟一下。暂不清楚原因
setTimeout
(()
=>
{
console
.
log
(
'
transportId
'
,
this
.
form
.
transportId
)
console
.
log
(
'
portDestCustomsClear
'
,
this
.
form
.
portDestCustomsClear
,
res
.
data
.
portDestCustomsClear
)
if
(
res
.
data
.
portDestCustomsClear
){
this
.
$set
(
this
.
form
,
'
portDestCustomsClear
'
,
res
.
data
.
portDestCustomsClear
)
}
if
(
res
.
data
.
deliveryWay
){
this
.
$set
(
this
.
form
,
'
deliveryWay
'
,
res
.
data
.
deliveryWay
)
}
},
100
)
this
.
initing
=
false
})
...
...
@@ -1114,6 +1167,7 @@ export default {
this
.
$set
(
this
.
form
,
this
.
contactChooseType
+
'
Phone
'
,
contact
.
phoneNew
)
this
.
contactChooseType
=
null
this
.
quickCreateType
=
null
if
(
this
.
form
.
lineId
)
this
.
getOfferData
()
},
upload
(
e
){
console
.
log
({
upload
:
e
})
...
...
@@ -1370,7 +1424,49 @@ export default {
arr
.
push
(
tmp
)
})
return
arr
}
},
// 关联报价单
getOfferData
()
{
const
that
=
this
const
offParams
=
{}
if
(
that
.
form
.
lineId
)
{
offParams
.
lineId
=
that
.
form
.
lineId
}
if
(
that
.
form
.
channelId
)
{
offParams
.
channelId
=
that
.
form
.
channelId
}
if
(
that
.
form
.
consigneeContactsId
)
{
offParams
.
consigneeId
=
that
.
form
.
consigneeContactsId
}
else
{
offParams
.
consigneeCode
=
that
.
form
.
consigneeCountryCode
offParams
.
consigneePhone
=
that
.
form
.
consigneePhone
}
if
(
that
.
form
.
consignorContactsId
)
{
offParams
.
consignorId
=
that
.
form
.
consignorContactsId
}
else
{
offParams
.
consignorCode
=
that
.
form
.
consignorCountryCode
offParams
.
consignorPhone
=
that
.
form
.
consignorPhone
}
getOfferSelect
(
offParams
).
then
((
res
)
=>
{
that
.
offerData
=
res
.
data
||
[]
if
(
!
that
.
form
.
offerId
&&
that
.
form
.
orderId
)
{
that
.
getOfferNumber
(
that
.
form
.
orderId
)
}
})
},
getOfferNumber
(
id
)
{
const
that
=
this
that
.
offerIdNochange
=
false
getOfferCheck
({
orderId
:
id
}).
then
(
response
=>
{
if
(
!
response
.
data
)
return
if
(
that
.
offerData
.
length
==
0
){
that
.
offerData
.
push
(
response
.
data
)
}
that
.
offerIdNochange
=
true
that
.
offerNumber
=
response
.
data
.
number
that
.
$set
(
that
.
form
,
'
offerId
'
,
response
.
data
.
offerId
)
})
},
}
};
</
script
>
...
...
src/views/ecw/order/exception/index.vue
View file @
2b4f2e4c
...
...
@@ -86,6 +86,12 @@
</
template
>
</el-input>
</el-form-item>
<el-form-item
:label=
"$t('品名')+':'"
>
<div
style=
"display: flex;width: 100%;"
>
<dict-selector
:type=
"DICT_TYPE.EXCEPTION_SELECT_FILED"
style=
"width: 90px;"
v-model=
"queryParams.goodsNameKey"
/>
<product-selector
v-model=
"queryParams.goodsName"
style=
"flex:1;"
:clearable=
"true"
@
keyup.enter.native=
"handleQuery"
/>
</div>
</el-form-item>
</el-row>
<el-row>
<el-form-item
:label=
"$t('备案')+':'"
>
...
...
@@ -176,9 +182,9 @@
</el-table-column>
<el-table-column
:label=
"$t('总箱数/入仓箱数')"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<p
v-if=
"scope.row.
orderExceptionType!='order_doc_exception'||scope.row.
customsType==1"
>
{{
scope
.
row
.
totalBox
+
$t
(
'
箱/
'
)
+
scope
.
row
.
warehousingBox
+
$t
(
'
箱
'
)
}}
</p>
<p
v-if=
"scope.row.customsType==1"
>
{{
scope
.
row
.
totalBox
+
$t
(
'
箱/
'
)
+
scope
.
row
.
warehousingBox
+
$t
(
'
箱
'
)
}}
</p>
<p
style=
"color:#ff4949"
v-else
>
{{
scope
.
row
.
totalBox
+
$t
(
'
箱/
'
)
+
scope
.
row
.
warehousingBox
+
$t
(
'
箱
'
)
}}
</p>
<dict-tag
style=
"color:#ff4949"
v-if=
"scope.row.
orderExceptionType=='order_doc_exception'&&scope.row.
customsType!=1"
:type=
"DICT_TYPE.ECW_CUSTOMS_TYPE"
:value=
"scope.row.customsType"
></dict-tag>
<dict-tag
style=
"color:#ff4949"
v-if=
"scope.row.customsType!=1"
:type=
"DICT_TYPE.ECW_CUSTOMS_TYPE"
:value=
"scope.row.customsType"
></dict-tag>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('体积/重量')"
align=
"center"
>
...
...
@@ -295,9 +301,9 @@ export default {
queryParams
:
{
page
:
1
,
rows
:
10
,
goodsNameKey
:
'
eq
'
,
orderNoKey
:
'
eq
'
,
marksKey
:
'
eq
'
marksKey
:
'
eq
'
,
goodsNameKey
:
'
eq
'
},
tradeCityList
:[],
warehouseList
:[],
...
...
@@ -357,9 +363,9 @@ export default {
this
.
queryParams
=
{
page
:
1
,
rows
:
10
,
goodsNameKey
:
'
eq
'
,
orderNoKey
:
'
eq
'
,
marksKey
:
'
eq
'
marksKey
:
'
eq
'
,
goodsNameKey
:
'
eq
'
}
this
.
getList
()
},
...
...
src/views/ecw/order/feeApplication.vue
View file @
2b4f2e4c
...
...
@@ -18,29 +18,29 @@
<el-table-column
:label=
"$t('序号')"
type=
"index"
></el-table-column>
<el-table-column
:label=
"$t('费用类型')"
>
<template
v-slot:default =
"scope"
>
<dict-selector
:disabled=
"!!
processInstanceId
"
:type=
"DICT_TYPE.FEE_TYPE"
v-model=
"scope.row.feeType"
/>
<dict-selector
:disabled=
"!!
scope.row.status
"
:type=
"DICT_TYPE.FEE_TYPE"
v-model=
"scope.row.feeType"
/>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('金额')"
>
<
template
v-slot:default =
'scope'
>
<el-input
:disabled=
"!!
processInstanceId
"
v-model.number=
"scope.row.applicationFee"
></el-input>
<el-input
:disabled=
"!!
scope.row.status
"
v-model.number=
"scope.row.applicationFee"
></el-input>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('货币类型')"
>
<
template
v-slot:default =
'scope'
>
<el-select
:disabled=
"!!processInstanceId
"
v-model=
"scope.row.applicationFeeCurrency"
>
<el-select
:disabled=
"!!scope.row.status
"
v-model=
"scope.row.applicationFeeCurrency"
>
<el-option
v-for=
"item in JSON.parse(currencys)"
:key=
"item.id"
:label=
"item.titleZh"
:value=
"item.id"
/>
</el-select>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('付款类型')"
>
<
template
v-slot =
{row}
>
<dict-selector
:disabled=
"
!!processInstanceId
"
:type=
"DICT_TYPE.PAYMENT_TYPE"
v-model=
"row.payType"
/>
<dict-selector
:disabled=
"
row.status
"
:type=
"DICT_TYPE.PAYMENT_TYPE"
v-model=
"row.payType"
/>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('备注')"
>
<
template
v-slot:default=
"scope"
>
<el-input
:disabled=
"!!
processInstanceId
"
v-model=
"scope.row.remarks"
type=
"textarea"
></el-input>
<el-input
:disabled=
"!!
scope.row.status
"
v-model=
"scope.row.remarks"
type=
"textarea"
></el-input>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('确认收款')"
>
...
...
@@ -58,7 +58,7 @@
<!--
<el-button
type=
"text"
v-if=
"scope.row.status !== 0&&scope.row.status !== 1"
>
{{
STATUS
[
scope
.
row
.
status
]
}}
</el-button>
<el-button
type=
"text"
v-if=
"scope.row.status == 1"
@
click=
"examineFn"
>
{{
$t
(
'
审核中
'
)
}}
</el-button>
<el-button
type=
"text"
v-if=
"scope.row.status === 2"
@
click=
"modify(scope.row)"
>
{{
$t
(
'
修改
'
)
}}
</el-button>
-->
<el-button
type=
"text"
:disabled=
"!!
processInstanceId
"
@
click=
"del(scope.$index)"
>
删除
</el-button>
<el-button
type=
"text"
:disabled=
"!!
scope.row.status
"
@
click=
"del(scope.$index)"
>
删除
</el-button>
</
template
>
</el-table-column>
</el-table>
...
...
@@ -89,11 +89,10 @@ import {
qetBatchFeeByBusinessId
,
getBatchFeeByBusinessId
}
from
"
@/api/ecw/order
"
;
import
{
getDictDatas
,
DICT_TYPE
}
from
'
@/utils/dict
'
;
import
Template
from
"
@/views/cms/template
"
;
import
workFlow
from
"
@/components/WorkFlow
"
;
export
default
{
name
:
"
feeApplication
"
,
components
:
{
Template
,
workFlow
},
components
:
{
workFlow
},
props
:{
orderId
:[
Number
,
String
],
dialogVisible
:{
...
...
@@ -127,6 +126,11 @@ export default {
this
.
orderDetails
=
res
.
data
})
// 查询历史申请
feeApplicationListByOrderId
({
orderId
:
this
.
orderId
}).
then
(
res
=>
{
this
.
list
=
res
.
data
})
// 查询是否有审核中的费用申请
getFeeApplicationApproveByOrderId
(
this
.
orderId
).
then
(
res
=>
{
if
(
res
.
data
.
formId
){
...
...
@@ -157,7 +161,7 @@ export default {
},
submit
(){
feeApplicationCreateBatch
(
{
orderFeeApplicationCreateReqVOList
:
this
.
list
,
orderFeeApplicationCreateReqVOList
:
this
.
list
.
filter
(
item
=>
!
item
.
status
)
,
copyUserId
:
this
.
selectedUsers
,
orderId
:
this
.
orderId
}).
then
(
r
=>
{
...
...
src/views/ecw/order/index.vue
View file @
2b4f2e4c
...
...
@@ -792,7 +792,8 @@ export default {
if
(
!
fileName
){
fileName
=
this
.
$t
(
'
订单
'
)
}
this
.
$download
.
excel
(
res
,
fileName
+
'
.xls
'
);
this
.
$message
.
success
(
this
.
$t
(
'
已加入导出队列,请稍后在下载日志中下载
'
))
// this.$download.excel(res, fileName + '.xls');
}).
finally
(()
=>
{
this
.
exportLoading
=
false
})
...
...
src/views/ecw/order/penddingList.vue
View file @
2b4f2e4c
...
...
@@ -399,8 +399,8 @@ export default {
},
// 批量可出
batchCanShipment
(){
let
orderNo
s
=
this
.
multipleSelection
.
map
(
item
=>
item
.
orderNo
).
join
(
'
,
'
)
this
.
$confirm
(
this
.
$t
(
`您确定要将订单{orderNo
s}设置为可出吗?`
,
{
orderNos
})).
then
(()
=>
{
let
orderNo
=
this
.
multipleSelection
.
map
(
item
=>
item
.
orderNo
).
join
(
'
,
'
)
this
.
$confirm
(
this
.
$t
(
`您确定要将订单{orderNo
}设置为可出吗?`
,
{
orderNo
})).
then
(()
=>
{
return
batchCanShipment
(
this
.
ids
)
}).
then
(
res
=>
{
this
.
$message
.
success
(
res
.
message
||
this
.
$t
(
'
操作成功
'
))
...
...
@@ -413,6 +413,7 @@ export default {
return
this
.
$message
.
error
(
"
暂无选择订单
"
)
}
this
.
showBatchException
=
true
this
.
batchExceptionForm
.
exceptionUrls
=
[]
},
handleBatchException
(){
// 以下代码是copilot生成,暂无接口,回头在改
...
...
@@ -452,7 +453,7 @@ export default {
this
.
exporting
=
true
const
exportParams
=
Array
.
isArray
(
params
)
?
{
orderIdList
:
params
}
:
{...
params
}
exportWaitingShipment
(
exportParams
).
then
(
res
=>
{
this
.
$
download
.
excel
(
res
,
this
.
$t
(
'
待出订单
'
)
+
'
.xls
'
);
this
.
$
message
.
success
(
this
.
$t
(
'
已加入导出队列,请稍后在下载日志中下载
'
))
}).
finally
(()
=>
{
this
.
exporting
=
false
})
...
...
src/views/ecw/order/singleApply.vue
View file @
2b4f2e4c
...
...
@@ -22,7 +22,7 @@
<dict-tag
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"orderData.transportId"
/>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('出货渠道')"
>
{{
orderData
.
channel
Id
?
getChannelName
(
orderData
.
channelId
):
'
/
'
}}
{{
orderData
.
channel
Name
||
'
/
'
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('始发地')"
>
{{
orderData
.
logisticsInfoDto
?
orderData
.
logisticsInfoDto
.
startTitleZh
:
$t
(
'
无
'
)
}}
...
...
src/views/ecw/order/special/Preferential.vue
View file @
2b4f2e4c
...
...
@@ -90,7 +90,7 @@ export default {
return
{
4
:
this
.
$t
(
'
重货标准优惠申请
'
),
5
:
this
.
$t
(
'
泡货标准优惠申请
'
),
29
:
this
.
$t
(
'
泡货优惠申请
'
)
29
:
this
.
$t
(
'
申请泡重优惠
'
)
}[
this
.
applyType
]
// return this.applyType == 4 ? this.$t('重货优惠申请') : this.$t('泡货优惠申请')
},
...
...
src/views/ecw/order/special/index.vue
View file @
2b4f2e4c
...
...
@@ -113,9 +113,9 @@
1.海运整柜、海运拼柜显示重货优惠 1,2
2.空运专线、海空联运显示泡货优惠 3,4
-->
<el-button
v-hasPermi=
"['ecw:order:heavy']"
type=
"primary"
@
click=
"showPreferentialType=4"
v-if=
"order.transportId === 1 || order.transportId === 2"
>
{{$t('申请重货优惠')}}
</el-button>
<el-button
v-hasPermi=
"['ecw:order:heavy']"
type=
"primary"
@
click=
"showPreferentialType=4"
v-if=
"order.transportId === 1 || order.transportId === 2"
>
{{$t('申请重货
标准
优惠')}}
</el-button>
<
template
v-else
>
<el-button
v-hasPermi=
"['ecw:order:bulky2']"
type=
"primary"
@
click=
"showPreferentialType=29"
>
{{
$t
(
'
申请泡
货
优惠
'
)
}}
</el-button>
<el-button
v-hasPermi=
"['ecw:order:bulky2']"
type=
"primary"
@
click=
"showPreferentialType=29"
>
{{
$t
(
'
申请泡
重
优惠
'
)
}}
</el-button>
<el-button
v-hasPermi=
"['ecw:order:bulky']"
type=
"primary"
@
click=
"showPreferentialType=5"
>
{{
$t
(
'
申请泡货标准优惠
'
)
}}
</el-button>
</
template
>
<el-button
type=
"primary"
@
click=
"$tab.closePage()"
>
{{$t('关闭窗口')}}
</el-button>
...
...
src/views/ecw/order/stockingList.vue
View file @
2b4f2e4c
...
...
@@ -349,7 +349,8 @@ export default {
exportXls
(
params
){
this
.
exporting
=
true
exportCanShipment
(
params
).
then
(
res
=>
{
this
.
$download
.
excel
(
res
,
this
.
$t
(
'
备货订单
'
)
+
'
.xls
'
);
// this.$download.excel(res, this.$t('备货订单') + '.xls');
this
.
$message
.
success
(
this
.
$t
(
'
已加入导出队列,请稍后在下载日志中下载
'
))
}).
finally
(()
=>
{
this
.
exporting
=
false
})
...
...
src/views/ecw/product/index.vue
View file @
2b4f2e4c
...
...
@@ -682,7 +682,7 @@ export default {
//上传
let
formData
=
new
FormData
();
formData
.
append
(
"
file
"
,
file
);
formData
.
append
(
"
path
"
,
this
.
uuid
());
//
formData.append("path", this.uuid());
uploadFile
(
formData
).
then
(
response
=>
{
this
.
$set
(
this
.
form
,
'
imgs
'
,
response
.
data
);
// this.form.img = response.data;
...
...
src/views/ecw/productPrice/edit.vue
View file @
2b4f2e4c
...
...
@@ -30,40 +30,41 @@
disabled
/>
</el-form-item>
-->
<!--多条路线批量修改-->
<el-form-item
:label=
"$t('路线')"
prop=
"lineChannelList"
v-if=
"lineList.length"
>
<template
v-if=
"lineList.length == 1"
>
<el-input
v-for=
"(item, index) in lineList"
:key=
"index"
:value=
"!item.warehouseLineDO ? $t('数据异常,缺少warehouseLineDO字段') : $t('【
{transport}】从【{from}】发往【{to}】', {
transport: getDictDataLabel(DICT_TYPE.ECW_TRANSPORT_TYPE, item.warehouseLineDO.transportType),
from: $l(item.warehouseLineDO, 'startTitle'),
to: $l(item.warehouseLineDO, 'destTitle')
})"
disabled />
</
template
>
<el-checkbox-group
v-else
v-model=
"checkList"
>
<el-checkbox
v-for=
"item in lineList"
:key=
"item.id"
:label=
"item.id"
:disabled=
"!item.warehouseLineDO"
style=
"display:block"
>
{{
!item.warehouseLineDO ? $t('数据异常,缺少warehouseLineDO字段') : $t('【{transport}】从【{from}】发往【{to}】', {
<template
v-if=
"lineList.length"
>
<el-form-item
:label=
"$t('路线')"
prop=
"lineChannelList"
>
<template
v-if=
"lineList.length == 1"
>
<el-input
v-for=
"(item, index) in lineList"
:key=
"index"
:value=
"!item.warehouseLineDO ? $t('数据异常,缺少warehouseLineDO字段') : $t('【
{transport}】从【{from}】发往【{to}】', {
transport: getDictDataLabel(DICT_TYPE.ECW_TRANSPORT_TYPE, item.warehouseLineDO.transportType),
from: $l(item.warehouseLineDO, 'startTitle'),
to: $l(item.warehouseLineDO, 'destTitle')
})
}}
</el-checkbox>
</el-checkbox-group>
</el-form-item>
<el-form-item
v-if=
"channel"
:label=
"$t('出货渠道')"
>
{{$l(channel, 'name')}}
</el-form-item>
})"
disabled />
</
template
>
<el-checkbox-group
v-else
v-model=
"checkList"
>
<el-checkbox
v-for=
"item in lineList"
:key=
"item.id"
:label=
"item.id"
:disabled=
"!item.warehouseLineDO"
style=
"display:block"
>
{{
!item.warehouseLineDO ? $t('数据异常,缺少warehouseLineDO字段') : $t('【{transport}】从【{from}】发往【{to}】', {
transport: getDictDataLabel(DICT_TYPE.ECW_TRANSPORT_TYPE, item.warehouseLineDO.transportType),
from: $l(item.warehouseLineDO, 'startTitle'),
to: $l(item.warehouseLineDO, 'destTitle')
})
}}
</el-checkbox>
</el-checkbox-group>
</el-form-item>
<el-form-item
v-if=
"channel"
:label=
"$t('出货渠道')"
>
{{$l(channel, 'name')}}
</el-form-item>
</template>
<!--有路线则不显示路线选择器-->
<routers-selector
v-else
v-model=
"selectedRoutes"
:option=
"routerOption"
:type=
"type"
/>
...
...
src/views/ecw/warehouse/index.vue
View file @
2b4f2e4c
...
...
@@ -817,7 +817,7 @@ export default {
//上传
let
formData
=
new
FormData
();
formData
.
append
(
"
file
"
,
file
);
formData
.
append
(
"
path
"
,
this
.
uuid
());
//
formData.append("path", this.uuid());
uploadFile
(
formData
).
then
(
response
=>
{
this
.
$set
(
this
.
form
,
'
img
'
,
response
.
data
);
// this.form.img = response.data;
...
...
src/views/ecw/warehouse/tpl.js
View file @
2b4f2e4c
...
...
@@ -103,29 +103,29 @@ const air= `
<img src="https://static2.groupage.cn/logo.png" alt="" style="width: 118px;"/>
</td>
<td class="laymain" style="vertical-align: text-top; word-break: break-all;">
<p style="margin-top: 5px; margin-bottom: 5px; font-size: 36px; color: rgb(0, 143, 215); font-family:
"Times New Roman"
; text-align: center;">
<p style="margin-top: 5px; margin-bottom: 5px; font-size: 36px; color: rgb(0, 143, 215); font-family:
'Times New Roman'
; text-align: center;">
E&C LOGISTICS LIMITED
</p>
<p style="margin-top: 5px; margin-bottom: 5px; color: rgb(0, 143, 215); font-family:
"Times New Roman"
; text-align: center; line-height: 1.75em;">
<p style="margin-top: 5px; margin-bottom: 5px; color: rgb(0, 143, 215); font-family:
'Times New Roman'
; text-align: center; line-height: 1.75em;">
<span style="font-size: 16px;">China Head Add.:+86 400 9009962(Guangzhou/Yiwu)</span>
</p>
<p style="margin-top: 5px; margin-bottom: 5px; color: rgb(0, 143, 215); font-family:
"Times New Roman"
; text-align: center; line-height: 1.75em;">
<p style="margin-top: 5px; margin-bottom: 5px; color: rgb(0, 143, 215); font-family:
'Times New Roman'
; text-align: center; line-height: 1.75em;">
<span style="font-size: 16px;">NGR head office: 07011331745/ 08140352000 Onitsha: 07043969197 /09048725208</span>
</p>
<p style="margin-top: 5px; margin-bottom: 5px; color: rgb(0, 143, 215); font-family:
"Times New Roman"
; text-align: center; line-height: 1.75em;">
<p style="margin-top: 5px; margin-bottom: 5px; color: rgb(0, 143, 215); font-family:
'Times New Roman'
; text-align: center; line-height: 1.75em;">
<span style="font-size: 16px;">Complaint Line:+86 400 9009962(CHINA)/+2348140352000(NIGERIA)</span>
</p>
</td>
<td style="text-align: center;">
<img src="https://static2.groupage.cn/weixin.jpg" alt="" style="width: 142px;"/>
<p style="margin-top: 5px; margin-bottom: 5px; color: rgb(0, 143, 215); font-family:
"Times New Roman"
;">
<p style="margin-top: 5px; margin-bottom: 5px; color: rgb(0, 143, 215); font-family:
'Times New Roman'
;">
https://person2.groupage.cn
</p>
</td>
</tr>
</tbody>
</table>
<p style="margin: 2rem; margin-top:0rem; text-wrap: wrap; font-size: 33px; font-family:
"Times New Roman"
; text-align: center;">
<p style="margin: 2rem; margin-top:0rem; text-wrap: wrap; font-size: 33px; font-family:
'Times New Roman'
; text-align: center;">
AIR WAY BILL
</p>
<p>
...
...
src/views/system/download/index.vue
0 → 100644
View file @
2b4f2e4c
<
template
>
<div
class=
"app-container"
>
<div
class=
"mb-10 flex items-center"
>
<div
class=
"flex-1"
>
<h2
class=
"page-title mb-5"
>
下载队列
</h2>
<div>
*
{{
$t
(
'
文件生成成功后,保留12小时,12小时后自动删除
'
)
}}
</div>
</div>
<el-button
class=
""
@
click=
"handleQuery"
type=
"primary"
>
刷新
</el-button>
</div>
<!--el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px">
<el-form-item
:label=
"$t('文件名称')"
prop=
"fileName"
>
<el-input
v-model=
"queryParams.fileName"
:placeholder=
"$t('请输入文件名称')"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"handleQuery"
>
{{
$t
(
'
搜索
'
)
}}
</el-button>
<el-button
icon=
"el-icon-refresh"
@
click=
"resetQuery"
>
{{
$t
(
'
重置
'
)
}}
</el-button>
</el-form-item>
</el-form-->
<el-table
v-loading=
"loading"
:data=
"list"
>
<el-table-column
:label=
"$t('下载编号')"
align=
"center"
prop=
"id"
width=
"100"
/>
<el-table-column
:label=
"$t('分类')"
align=
"center"
prop=
"type"
width=
"100"
>
<template
v-slot:default=
"
{row}">
<dict-tag
:type=
"DICT_TYPE.DOWNLOAD_TYPE"
:value=
"row.type"
/>
</
template
>
</el-table-column>
<!--<el-table-column :label="$t('业务编号')" align="center" prop="type" width="100" /-->
<el-table-column
:label=
"$t('下载内容')"
align=
"center"
prop=
"name"
/>
<el-table-column
:label=
"$t('开始下载时间')"
align=
"center"
prop=
"createTime"
width=
"150"
>
<
template
slot-scope=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
createTime
)
}}
</span>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('下载状态')"
align=
"center"
prop=
"createBy"
width=
"150"
>
<
template
v-slot:default=
"{row}"
>
<!--status ==2 表示已处理,配合downNum来判断是否已下载-->
<template
v-if=
"row.status == 2 && row.downNum > 0"
>
{{
$t
(
'
已下载
'
)
}}
</
template
>
<
template
v-else-if=
"row.status == 2"
>
{{
$t
(
'
待下载
'
)
}}
</
template
>
<dict-tag
v-else
:type=
"DICT_TYPE.DOWNLOAD_LOG_STATUS"
:value=
"row.status"
/>
</template>
</el-table-column>
<el-table-column
:label=
"$t('操作')"
align=
"center"
class-name=
"small-padding fixed-width"
width=
"100"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleDownload(scope.row)"
v-hasPermi=
"['system:notice:update']"
>
{{
$t
(
'
下载
'
)
}}
</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"
/>
</div>
</template>
<
script
>
import
{
download
,
downloadFileArrayBuffer
,
downloadFileResponse
,
downloadPage
}
from
"
@/api/system/download
"
;
import
{
parseTime
}
from
"
../../../utils/ruoyi
"
;
import
Template
from
"
@/views/cms/template/index.vue
"
;
export
default
{
name
:
"
Download
"
,
components
:
{
Template
},
data
()
{
return
{
// 遮罩层
loading
:
true
,
// 总条数
total
:
0
,
list
:
[],
queryParams
:
{
pageNo
:
1
,
pageSize
:
10
}
};
},
created
()
{
this
.
getList
();
},
methods
:
{
parseTime
,
handleDownload
(
row
){
const
loading
=
this
.
$loading
()
download
(
row
.
id
).
then
(
res
=>
{
return
downloadFileResponse
(
res
.
data
)
}).
then
(
res
=>
{
console
.
log
({
res
})
this
.
$download
.
download0
(
res
.
data
,
row
.
name
+
row
.
fileSuffix
,
res
.
headers
[
'
content-type
'
])
}).
finally
(()
=>
{
loading
.
close
()
})
},
/** 查询公告列表 */
getList
()
{
this
.
loading
=
true
;
downloadPage
(
this
.
queryParams
).
then
(
response
=>
{
this
.
list
=
response
.
data
.
list
;
this
.
total
=
response
.
data
.
total
;
this
.
loading
=
false
;
}).
finally
(()
=>
{
this
.
loading
=
false
;
})
},
/** 搜索按钮操作 */
handleQuery
()
{
this
.
queryParams
.
pageNo
=
1
;
this
.
getList
();
},
/** 重置按钮操作 */
resetQuery
()
{
this
.
resetForm
(
"
queryForm
"
);
this
.
handleQuery
();
}
}
};
</
script
>
src/views/system/version/index.vue
View file @
2b4f2e4c
...
...
@@ -324,7 +324,7 @@ export default {
/** 处理上传的文件发生变化 */
handleFileChange
(
file
,
fileList
)
{
this
.
upload
.
data
.
path
=
this
.
uuid
()
+
"
/
"
+
file
.
name
;
//
this.upload.data.path = this.uuid() + "/" + file.name;
},
/** 文件上传成功处理 */
...
...
@@ -355,7 +355,7 @@ export default {
let
formData
=
new
FormData
();
// console.log(file);
formData
.
append
(
"
file
"
,
file
);
formData
.
append
(
"
path
"
,
this
.
uuid
()
+
"
/
"
+
file
.
name
);
//
formData.append("path", this.uuid() + "/" + file.name);
uploadFile
(
formData
).
then
(
response
=>
{
this
.
$set
(
this
.
form
,
'
appUrl
'
,
response
.
data
);
// this.form.img = response.data;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment