Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
F
factory_front
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
qinjianhui
factory_front
Commits
92e22fc5
Commit
92e22fc5
authored
May 30, 2025
by
zhuzhequan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
物流公司
parent
093705dc
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
563 additions
and
35 deletions
+563
-35
package-lock.json
+0
-7
src/api/logistics.ts
+115
-1
src/api/podUsOrder.ts
+1
-1
src/router/index.ts
+6
-0
src/router/menu.ts
+4
-0
src/types/api/podUsOrder.ts
+1
-0
src/views/logistics/logisticsCompany.vue
+387
-0
src/views/logistics/logisticsMethod.vue
+7
-7
src/views/order/podUs/index.vue
+42
-18
src/views/warehouse/warning.vue
+0
-1
No files found.
package-lock.json
View file @
92e22fc5
...
...
@@ -6440,7 +6440,6 @@
"version"
:
"4.13.31"
,
"resolved"
:
"https://registry.npmmirror.com/vxe-table/-/vxe-table-4.13.31.tgz"
,
"integrity"
:
"sha512-ibSM7jXYwJyY+eqXoRy/yXEVLENGFzL96cOEwtnFjBYbbaZV6/ptlM3tsyewGFBCUo5AtIyM+98hswxfjyXxMA=="
,
"license"
:
"MIT"
,
"dependencies"
:
{
"vxe-pc-ui"
:
"^4.6.0"
}
...
...
@@ -6515,12 +6514,6 @@
"integrity"
:
"sha512-9yuCHLOU+og4OEkPWWtzrYk1Zt1hgN66U/NCJ0+vYJSx1MplBtoQRz8aEA+2RmCr3leLru98vQxNpw/vJsu/sg=="
,
"license"
:
"MIT"
},
"node_modules/xe-utils"
:
{
"version"
:
"3.7.4"
,
"resolved"
:
"https://registry.npmmirror.com/xe-utils/-/xe-utils-3.7.4.tgz"
,
"integrity"
:
"sha512-9yuCHLOU+og4OEkPWWtzrYk1Zt1hgN66U/NCJ0+vYJSx1MplBtoQRz8aEA+2RmCr3leLru98vQxNpw/vJsu/sg=="
,
"license"
:
"MIT"
},
"node_modules/xlsx"
:
{
"version"
:
"0.18.5"
,
"resolved"
:
"https://registry.npmmirror.com/xlsx/-/xlsx-0.18.5.tgz"
,
...
...
src/api/logistics.ts
View file @
92e22fc5
import
{
BaseRespData
}
from
'@/types/api'
import
{
Base
PaginationData
,
Base
RespData
}
from
'@/types/api'
import
axios
from
'./axios'
import
{
LogisticsMethod
,
...
...
@@ -9,13 +9,70 @@ import { AddDeclarationRuleObj } from '@/views/logistics/types/declarationRule'
import
{
LogisticsQuotation
}
from
'@/views/logistics/types/logisticsQuotation'
import
{
LogisticsPartitionObj
}
from
'@/views/logistics/types/logisticsPartition'
import
{
ShippingAddressObj
}
from
'@/views/logistics/types/shippingAddress'
export
interface
ILogisticsList
{
code
:
string
basicsName
:
string
apiData
:
unknown
}
export
interface
IForm
{
name
:
string
code
:
string
id
?:
number
contact
:
string
phone
:
string
siteUrl
:
string
address
:
string
apiData
:{
[
key
:
string
]:
unknown
}
}
interface
Ikey
{
[
key
:
string
]:
unknown
}
export
interface
ILogisticsCompanyData
{
pageSize
:
number
currentPage
:
number
total
?:
number
name
?:
string
code
?:
string
}
export
interface
ILogisticsCompany
{
id
:
number
;
// bigint(20)
name
:
string
|
null
;
// varchar(255)
code
:
string
;
// varchar(30)
contact
:
string
|
null
;
// varchar(255)
phone
:
string
|
null
;
// varchar(100)
apiJson
:
string
|
null
;
// varchar(600)
mobile
:
string
|
null
;
// varchar(60)
carrier
:
string
|
null
;
// varchar(6)
address
:
string
|
null
;
// varchar(255)
siteUrl
:
string
|
null
;
// varchar(255)
apiKey
:
string
|
null
;
// varchar(256)
apiToken
:
string
|
null
;
// varchar(256)
clientId
:
string
|
null
;
// varchar(256)
accessToken
:
string
|
null
;
// varchar(256)
accessTokenExpiresIn
:
number
|
null
;
// int(11)
refreshToken
:
string
|
null
;
// varchar(256)
refreshDate
:
string
|
null
;
// datetime
refreshTokenExpiresIn
:
number
|
null
;
// int(11)
authCode
:
string
|
null
;
// varchar(500)
redirectUri
:
string
|
null
;
// varchar(256)
createTime
:
string
|
null
;
// timestamp
vat
:
string
|
null
;
// varchar(60)
ioss
:
string
|
null
;
// varchar(60)
basicType
:
number
;
// int(11)
}
interface
ILogisticsParams
{
logType
:
string
relaId
:
number
|
string
}
//获取日志
export
function
getLogisticsLog
(
params
:
ILogisticsParams
)
{
return
axios
.
get
<
never
,
BaseRespData
<
never
>>
(
'logisticsLog/getList'
,
{
...
...
@@ -30,14 +87,17 @@ export function getLogisticsLog(params: ILogisticsParams) {
export
function
getLogisticsWayList
(
data
:
LogisticsMethodList
)
{
return
axios
.
post
<
never
,
BaseRespData
<
never
>>
(
'/logisticsWay/list_page'
,
data
)
}
//新增
export
function
addLogisticsWay
(
data
:
LogisticsMethod
)
{
return
axios
.
post
<
Ikey
,
BaseRespData
<
never
>>
(
'/logisticsWay/add'
,
data
)
}
//修改
export
function
updateLogisticsWay
(
data
:
LogisticsMethod
)
{
return
axios
.
post
<
Ikey
,
BaseRespData
<
never
>>
(
'/logisticsWay/update'
,
data
)
}
//更新状态
export
function
updateStatusLogisticsWay
(
params
:
UpdateLogisticsMethodStatus
)
{
return
axios
.
get
<
Ikey
,
BaseRespData
<
never
>>
(
...
...
@@ -47,22 +107,26 @@ export function updateStatusLogisticsWay(params: UpdateLogisticsMethodStatus) {
},
)
}
// 删除
export
function
deleteLogisticsWay
(
ids
:
string
)
{
return
axios
.
get
<
Ikey
,
BaseRespData
<
never
>>
(
'/logisticsWay/delete'
,
{
params
:
{
ids
:
ids
},
})
}
//获取申报规则列表
export
function
getRuleList
()
{
return
axios
.
get
<
never
,
BaseRespData
<
never
>>
(
'/logisticsCustomsRule/getRuleList'
,
)
}
//获取仓库列表
export
function
getWarehouseList
()
{
return
axios
.
get
<
never
,
BaseRespData
<
never
>>
(
'/factoryWarehouseInfo/getAll'
)
}
//获取平台列表
export
function
getPlatformList
()
{
return
axios
.
get
<
never
,
BaseRespData
<
never
>>
(
'/logisticsWay/platform'
)
...
...
@@ -80,6 +144,7 @@ export function getAddressByIdList(params: {
params
,
})
}
//根据id查询地址
export
function
getAddressById
(
params
:
{
id
:
number
|
string
})
{
return
axios
.
get
<
never
,
BaseRespData
<
never
>>
(
...
...
@@ -89,6 +154,7 @@ export function getAddressById(params: { id: number | string }) {
},
)
}
//新增
export
function
addAddress
(
params
:
ShippingAddressObj
)
{
return
axios
.
post
<
never
,
BaseRespData
<
never
>>
(
...
...
@@ -96,6 +162,7 @@ export function addAddress(params: ShippingAddressObj) {
params
,
)
}
//修改
export
function
updateAddress
(
params
:
ShippingAddressObj
)
{
return
axios
.
post
<
never
,
BaseRespData
<
never
>>
(
...
...
@@ -103,6 +170,7 @@ export function updateAddress(params: ShippingAddressObj) {
params
,
)
}
//删除
export
function
deleteAddressByIds
(
params
:
{
ids
:
string
})
{
return
axios
.
get
<
never
,
BaseRespData
<
never
>>
(
...
...
@@ -120,6 +188,7 @@ export function deleteAddressByIds(params: { ids: string }) {
export
function
getlogisticsWayAllList
()
{
return
axios
.
get
<
never
,
BaseRespData
<
never
>>
(
'/logisticsWay/all_list'
,
{})
}
//物流报价列表
export
function
getlogisticsQuotationList
(
params
:
{
logisticsIdList
?:
number
[]
...
...
@@ -131,6 +200,7 @@ export function getlogisticsQuotationList(params: {
params
,
)
}
//新增
export
function
addLogisticsQuotation
(
params
:
LogisticsQuotation
)
{
return
axios
.
post
<
never
,
BaseRespData
<
never
>>
(
...
...
@@ -138,6 +208,7 @@ export function addLogisticsQuotation(params: LogisticsQuotation) {
params
,
)
}
//修改
export
function
updateLogisticsQuotation
(
params
:
LogisticsQuotation
)
{
return
axios
.
post
<
never
,
BaseRespData
<
never
>>
(
...
...
@@ -145,6 +216,7 @@ export function updateLogisticsQuotation(params: LogisticsQuotation) {
params
,
)
}
//删除
export
function
deleteLogisticsQuotation
(
params
:
{
ids
:
string
})
{
return
axios
.
get
<
never
,
BaseRespData
<
never
>>
(
...
...
@@ -154,6 +226,7 @@ export function deleteLogisticsQuotation(params: { ids: string }) {
},
)
}
//导入
export
function
importLogisticsQuotation
(
formData
:
FormData
)
{
return
axios
.
post
<
never
,
BaseRespData
<
never
>>
(
...
...
@@ -166,6 +239,7 @@ export function importLogisticsQuotation(formData: FormData) {
},
)
}
//下载模版
export
function
downloadLogisticsQuotationTemplate
()
{
return
axios
.
get
<
never
,
BaseRespData
<
never
>>
(
...
...
@@ -175,6 +249,7 @@ export function downloadLogisticsQuotationTemplate() {
},
)
}
//根据ID查对象
export
function
getLogisticsQuotationByID
(
params
:
{
id
:
number
|
string
})
{
return
axios
.
post
<
never
,
BaseRespData
<
never
>>
(
...
...
@@ -197,6 +272,7 @@ export function getLogisticsCustomsRuleList(params: {
params
,
)
}
//新增
export
function
addLogisticsCustomsRule
(
params
:
AddDeclarationRuleObj
)
{
return
axios
.
post
<
never
,
BaseRespData
<
never
>>
(
...
...
@@ -204,6 +280,7 @@ export function addLogisticsCustomsRule(params: AddDeclarationRuleObj) {
params
,
)
}
//修改
export
function
updateLogisticsCustomsRule
(
params
:
AddDeclarationRuleObj
)
{
return
axios
.
post
<
never
,
BaseRespData
<
never
>>
(
...
...
@@ -211,6 +288,7 @@ export function updateLogisticsCustomsRule(params: AddDeclarationRuleObj) {
params
,
)
}
//删除
export
function
deleteLogisticsCustomsRule
(
params
:
{
ids
:
string
})
{
return
axios
.
get
<
never
,
BaseRespData
<
never
>>
(
'/logisticsCustomsRule/delete'
,
{
...
...
@@ -231,6 +309,7 @@ export function getLogisticsZoneList(params: {
params
,
)
}
//新增
export
function
addLogisticsZone
(
params
:
LogisticsPartitionObj
)
{
return
axios
.
post
<
never
,
BaseRespData
<
never
>>
(
...
...
@@ -238,6 +317,7 @@ export function addLogisticsZone(params: LogisticsPartitionObj) {
params
,
)
}
//修改
export
function
updateLogisticsZone
(
params
:
LogisticsPartitionObj
)
{
return
axios
.
post
<
never
,
BaseRespData
<
never
>>
(
...
...
@@ -245,6 +325,7 @@ export function updateLogisticsZone(params: LogisticsPartitionObj) {
params
,
)
}
//删除
export
function
deleteLogisticsZone
(
params
:
{
logisticsList
:
string
[]
...
...
@@ -255,6 +336,7 @@ export function deleteLogisticsZone(params: {
params
,
)
}
//物流分区导入
export
function
importLogisticsZone
(
formData
:
FormData
)
{
return
axios
.
post
<
never
,
BaseRespData
<
never
>>
(
...
...
@@ -267,6 +349,7 @@ export function importLogisticsZone(formData: FormData) {
},
)
}
//物流分区导入模板
export
function
exportExcelLogisticsZone
()
{
return
axios
.
get
<
never
,
BaseRespData
<
never
>>
(
...
...
@@ -291,3 +374,34 @@ export function getLogisticsTrialCalculation(params: {
},
)
}
export
function
logisticsCompany
(
data
:
ILogisticsCompanyData
)
{
return
axios
.
get
<
never
,
BasePaginationData
<
ILogisticsCompany
>>
(
'logisticsCompany/list_page'
,
{
params
:
data
},
)
}
export
function
logisticsCompanyAdd
(
data
:
IForm
)
{
return
axios
.
post
<
never
,
BaseRespData
<
never
>>
(
'/logisticsCompany/add'
,
data
)
}
export
function
logisticsCompanyUpdate
(
data
:
IForm
)
{
return
axios
.
post
<
never
,
BaseRespData
<
never
>>
(
'/logisticsCompany/update'
,
data
)
}
export
function
logisticsCompanyDelete
(
ids
:
string
|
number
[])
{
return
axios
.
get
<
never
,
BaseRespData
<
never
>>
(
'/logisticsCompany/delete'
,
{
params
:{
ids
}
},
)
}
export
function
logisticsCompanyAllCodelist
()
{
return
axios
.
get
<
never
,
BaseRespData
<
ILogisticsList
[]
>>
(
'/logisticsCompany/allCodelist'
,
)
}
src/api/podUsOrder.ts
View file @
92e22fc5
...
...
@@ -50,7 +50,7 @@ export function getCardOrderList(
},
)
}
export
function
confirmOrderApi
(
data
:
number
[],
productionClient
:
string
,
type
:
string
,
logisticsTrialCalculation
?:
LogisticsData
)
{
export
function
confirmOrderApi
(
data
:
number
[],
productionClient
:
string
,
type
:
string
,
logisticsTrialCalculation
?:
LogisticsData
|
null
)
{
return
axios
.
post
<
never
,
BaseRespData
<
never
>>
(
'factory/podJomallOrderUs/confirmOrders'
,
{
...
...
src/router/index.ts
View file @
92e22fc5
...
...
@@ -126,6 +126,12 @@ const router = createRouter({
title
:
'物流方式'
,
},
component
:
()
=>
import
(
'@/views/logistics/logisticsMethod.vue'
),
},{
path
:
'/logistics/logisticsCompany'
,
meta
:
{
title
:
'物流公司'
,
},
component
:
()
=>
import
(
'@/views/logistics/logisticsCompany.vue'
),
},
{
path
:
'/logistics/shippingAddress'
,
...
...
src/router/menu.ts
View file @
92e22fc5
...
...
@@ -130,6 +130,10 @@ const menu: MenuItem[] = [
label
:
'物流'
,
children
:
[
{
index
:
'/logistics/logisticsCompany'
,
id
:
6
,
label
:
'物流公司'
,
},{
index
:
'/logistics/logisticsMethod'
,
id
:
1
,
label
:
'物流方式'
,
...
...
src/types/api/podUsOrder.ts
View file @
92e22fc5
...
...
@@ -79,6 +79,7 @@ export interface ProductList {
passNum
?:
number
notPassNum
?:
number
payAmount
?:
number
status
?:
number
weight
?:
number
|
null
diyId
?:
string
endProductId
?:
string
...
...
src/views/logistics/logisticsCompany.vue
0 → 100644
View file @
92e22fc5
<
script
setup
lang=
"ts"
>
import
{
nextTick
,
ref
}
from
'vue'
import
SplitDiv
from
'@/components/splitDiv/splitDiv.vue'
import
{
getLogisticsLog
,
IForm
,
ILogisticsCompany
,
ILogisticsCompanyData
,
ILogisticsList
,
logisticsCompany
,
logisticsCompanyAdd
,
logisticsCompanyAllCodelist
,
logisticsCompanyDelete
,
logisticsCompanyUpdate
,
}
from
'@/api/logistics.ts'
import
LogDialog
from
'@/views/logistics/components/LogDialog.tsx'
interface
LogList
{
id
?:
number
createTime
?:
string
description
?:
string
}
const
otherFields
=
ref
<
string
[]
>
([])
const
logDialogVisible
=
ref
<
boolean
>
(
false
)
const
searchForm
=
ref
({
name
:
''
,
code
:
''
,
})
const
selections
=
ref
<
ILogisticsCompany
[]
>
([])
const
formRef
=
ref
()
const
logList
=
ref
<
LogList
[]
>
([])
const
logisticsList
=
ref
<
ILogisticsList
[]
>
([])
const
form
=
ref
<
IForm
>
({
name
:
''
,
code
:
''
,
contact
:
''
,
phone
:
''
,
siteUrl
:
''
,
address
:
''
,
apiData
:
{},
})
const
createData
=
ref
({
title
:
''
,
show
:
false
,
isEdit
:
false
,
form
:
{
locationName
:
''
,
locationCode
:
''
,
pickingOrder
:
''
,
warehouseName
:
''
,
warehouseId
:
''
,
remark
:
''
,
},
})
const
rules
=
{
code
:
[
{
required
:
true
,
message
:
'请选择物流公司编码'
,
trigger
:
'change'
},
],
name
:
[
{
required
:
true
,
message
:
'请输入名称'
,
trigger
:
'blur'
},
],
contact
:
[
{
required
:
true
,
message
:
'请输入联系人'
,
trigger
:
'blur'
},
],
phone
:
[
{
required
:
true
,
message
:
'请输入电话/手机'
,
trigger
:
'blur'
},
],
siteUrl
:
[
{
required
:
true
,
message
:
'请输入网址'
,
trigger
:
'blur'
},
],
address
:
[
{
required
:
true
,
message
:
'请输入地址'
,
trigger
:
'blur'
},
],
}
const
leftData
=
ref
<
ILogisticsCompany
[]
>
([])
const
pagination
=
ref
<
ILogisticsCompanyData
>
({
pageSize
:
50
,
currentPage
:
1
,
total
:
0
,
})
async
function
getData
()
{
const
res
=
await
logisticsCompany
({
...
pagination
.
value
,
...
searchForm
.
value
,
})
console
.
log
(
res
)
leftData
.
value
=
res
.
data
.
records
pagination
.
value
.
total
=
res
.
data
.
total
}
const
handleSelectionChange
=
(
data
:
ILogisticsCompany
[])
=>
{
selections
.
value
=
data
}
const
handleSizeChange
=
(
pageSize
:
number
)
=>
{
pagination
.
value
.
pageSize
=
pageSize
getData
()
}
const
handleCurrentChange
=
(
currentPage
:
number
)
=>
{
pagination
.
value
.
currentPage
=
currentPage
getData
()
}
const
handleConfirm
=
async
()
=>
{
await
formRef
.
value
?.
validate
()
if
(
!
createData
.
value
.
isEdit
)
{
await
logisticsCompanyAdd
(
form
.
value
)
}
else
{
await
logisticsCompanyUpdate
(
form
.
value
)
}
createData
.
value
.
show
=
false
ElMessage
.
success
(
'操作成功'
)
await
getData
()
}
const
handleShowLog
=
async
(
row
:
ILogisticsCompany
)
=>
{
const
{
data
}
=
await
getLogisticsLog
({
logType
:
'logistics_company'
,
relaId
:
row
.
id
as
number
,
})
logDialogVisible
.
value
=
true
logList
.
value
=
data
}
const
handleBatchDelete
=
async
(
row
:
ILogisticsCompany
|
null
)
=>
{
if
(
!
row
&&
!
selections
.
value
.
length
)
{
return
ElMessage
.
warning
(
'请选择要删除的数据'
)
}
await
ElMessageBox
.
confirm
(
'确定要删除吗?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
,
})
const
str
=
row
&&
row
.
id
?
row
.
id
?.
toString
()
:
selections
.
value
.
map
((
el
)
=>
el
.
id
).
join
(
','
)
await
logisticsCompanyDelete
(
str
)
ElMessage
.
success
(
'删除成功'
)
await
getData
()
}
const
createWarehouse
=
()
=>
{
createData
.
value
.
show
=
true
createData
.
value
.
isEdit
=
false
createData
.
value
.
title
=
'新增物流公司'
form
.
value
=
{
name
:
''
,
code
:
''
,
contact
:
''
,
phone
:
''
,
siteUrl
:
''
,
address
:
''
,
apiData
:
{},
}
otherFields
.
value
=
[]
nextTick
(()
=>
{
formRef
.
value
?.
clearValidate
()
})
}
const
updateWarehouse
=
(
item
:
IForm
)
=>
{
createData
.
value
.
show
=
true
createData
.
value
.
isEdit
=
true
otherFields
.
value
=
[]
createData
.
value
.
title
=
'修改物流公司'
form
.
value
=
{
id
:
item
.
id
,
name
:
item
.
name
,
code
:
item
.
code
,
contact
:
item
.
contact
,
phone
:
item
.
phone
,
siteUrl
:
item
.
siteUrl
,
address
:
item
.
address
,
apiData
:
item
.
apiData
,
}
codeChange
(
item
.
code
)
nextTick
(()
=>
{
formRef
.
value
?.
clearValidate
()
})
}
const
codeChange
=
(
v
:
string
)
=>
{
const
item
=
logisticsList
.
value
.
find
(
d
=>
d
.
code
===
v
)
if
(
item
)
{
otherFields
.
value
=
Object
.
keys
(
item
.
apiData
||
{})
}
}
const
getLogisticsList
=
async
()
=>
{
const
{
data
}
=
await
logisticsCompanyAllCodelist
()
logisticsList
.
value
=
data
}
getData
()
getLogisticsList
()
</
script
>
<
template
>
<split-div>
<template
#
top
>
<el-card>
<el-form
inline
:model=
"searchForm"
>
<el-form-item
label=
"名称"
>
<el-input
v-model=
"searchForm.name"
style=
"width: 140px;"
placeholder=
"请输入名称"
clearable
></el-input>
</el-form-item>
<el-form-item
label=
"编码"
>
<el-input
v-model=
"searchForm.code"
style=
"width: 140px;"
placeholder=
"请输入编码"
clearable
></el-input>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
@
click=
"getData"
>
查询
</el-button>
<el-button
type=
"success"
@
click=
"createWarehouse"
>
新增
</el-button>
<el-button
type=
"danger"
@
click=
"handleBatchDelete(null)"
>
删除
</el-button>
</el-form-item>
</el-form>
</el-card>
</
template
>
<
template
#
bottom
>
<el-card
style=
"height: 100%"
>
<div
class=
"manage"
>
<div
class=
"table-flex"
>
<div
class=
"left-table"
>
<div
class=
"table-container"
>
<el-table
height=
"100%"
:data=
"leftData"
border
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
/>
<el-table-column
type=
"index"
label=
"序号"
width=
"60"
/>
<el-table-column
label=
"名称"
prop=
"name"
align=
"center"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
label=
"编码"
prop=
"code"
align=
"center"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
label=
"联系人"
prop=
"contact"
align=
"center"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
label=
"电话"
prop=
"phone"
align=
"center"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
label=
"网址"
prop=
"siteUrl"
align=
"center"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
label=
"地址"
prop=
"address"
align=
"center"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
width=
"260"
label=
"操作"
align=
"center"
>
<template
#
default=
"
{row}">
<el-button
text
type=
"primary"
@
click=
"updateWarehouse(row)"
>
编辑
</el-button>
<el-button
text
type=
"danger"
@
click=
"handleBatchDelete(row)"
>
删除
</el-button>
<el-button
text
type=
"info"
@
click=
"handleShowLog(row)"
>
操作日志
</el-button>
</
template
>
</el-table-column>
</el-table>
</div>
<div
class=
"pagination"
>
<el-pagination
v-model:current-page=
"pagination.currentPage"
v-model:page-size=
"pagination.pageSize"
:page-sizes=
"[50, 100, 150, 200]"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"pagination.total"
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
/>
</div>
</div>
</div>
<LogDialog
v-model=
"logDialogVisible"
title=
"操作日志"
@
close=
"logDialogVisible = false"
>
<div
v-for=
"item in logList"
:key=
"item.id"
style=
"margin-bottom: 8px"
>
<span
style=
"margin-right: 10px"
>
{{ item.createTime }}
</span>
<span>
{{ item.description }}
</span>
</div>
</LogDialog>
<el-dialog
v-model=
"createData.show"
:close-on-click-modal=
"false"
width=
"700px"
:title=
"createData.title"
>
<el-form
v-if=
"createData.show"
ref=
"formRef"
label-width=
"110px"
:rules=
"rules"
:model=
"form"
>
<el-form-item
label=
"物流公司编码"
prop=
"code"
>
<el-select
v-model=
"form.code"
clearable
filterable
@
change=
"codeChange"
>
<el-option
v-for=
"it in logisticsList"
:key=
"it.code"
:label=
"it.basicsName"
:value=
"it.code"
>
{{ it.code }}
<span
style=
"font-size: 14px; color: #999; line-height: 24px"
>
({{ it.basicsName }})
</span>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"名称"
prop=
"name"
>
<el-input
v-model=
"form.name"
clearable
placeholder=
"请输入名称"
></el-input>
</el-form-item>
<el-form-item
label=
"联系人"
prop=
"contact"
>
<el-input
v-model=
"form.contact"
clearable
placeholder=
"请输入联系人"
></el-input>
</el-form-item>
<el-form-item
label=
"电话/手机"
prop=
"phone"
>
<el-input
v-model=
"form.phone"
clearable
placeholder=
"请输入电话/手机"
></el-input>
</el-form-item>
<el-form-item
label=
"网址"
prop=
"siteUrl"
>
<el-input
v-model=
"form.siteUrl"
clearable
placeholder=
"请输入网址"
></el-input>
</el-form-item>
<el-form-item
label=
"地址"
prop=
"address"
>
<el-input
v-model=
"form.address"
clearable
placeholder=
"请输入地址"
></el-input>
</el-form-item>
<el-form-item
v-for=
"o in otherFields"
:key=
"o"
required
:label=
"o"
:prop=
"`apiData.${o}`"
>
<el-input
v-model=
"form.apiData[o]"
clearable
:placeholder=
"`请输入${o}`"
></el-input>
</el-form-item>
</el-form>
<
template
#
footer
>
<el-button
@
click=
"createData.show=false"
>
取消
</el-button>
<el-button
type=
"primary"
@
click=
"handleConfirm"
>
确定
</el-button>
</
template
>
</el-dialog>
</div>
</el-card>
</template>
</split-div>
</template>
<
style
scoped
lang=
"scss"
>
.el-card
{
::v-deep(.el-card__body)
{
height
:
100%
;
}
}
.manage
{
height
:
100%
;
display
:
flex
;
flex-direction
:
column
;
.header
{
margin-bottom
:
10px
;
}
.table-flex
{
flex
:
1
;
flex-shrink
:
0
;
overflow
:
hidden
;
display
:
flex
;
}
.right-table
{
flex
:
1
;
margin-left
:
10px
;
flex-shrink
:
0
;
}
.left-table
{
height
:
100%
;
display
:
flex
;
width
:
100%
;
flex-direction
:
column
;
.pagination
{
display
:
flex
;
margin-top
:
10px
;
justify-content
:
center
;
}
.table-container
{
flex
:
1
;
flex-shrink
:
0
;
overflow
:
hidden
;
}
}
}
</
style
>
src/views/logistics/logisticsMethod.vue
View file @
92e22fc5
...
...
@@ -2,19 +2,19 @@
<div
class=
"user-page flex-column card h-100 overflow-hidden"
>
<div
class=
"header-filter-form"
>
<SearchForm
v-model=
"searchForm"
:config=
"searchConfig"
@
search=
"search"
@
add=
"addDialog"
@
delete=
"deleteFn"
v-model=
"searchForm"
></SearchForm>
</div>
<div
class=
"user-content flex-1 flex-column overflow-hidden"
>
<div
class=
"user-list flex-1 overflow-hidden"
v-loading=
"loading
"
>
<div
v-loading=
"loading"
class=
"user-list flex-1 overflow-hidden
"
>
<CustomizeTable
v-model=
"tableData"
:config=
"tableConfig"
@
get
CheckboxR
ecords=
"handleCheckboxRecords"
@
get
-checkbox-r
ecords=
"handleCheckboxRecords"
></CustomizeTable>
</div>
<ElPagination
...
...
@@ -32,16 +32,16 @@
</div>
<LogDialog
:title=
"editForm.id ? '编辑物流方式' : '新增物流方式'"
dialogWidth=
"1000px"
v-model=
"dialogVisible"
:title=
"editForm.id ? '编辑物流方式' : '新增物流方式'"
dialog-width=
"1000px"
@
close=
"cancelFn"
>
<CustomizeForm
ref=
"editFormRef"
v-model=
"editForm"
:config=
"formConfig"
form
ItemW
idth=
"100%"
form
-item-w
idth=
"100%"
>
</CustomizeForm>
...
...
@@ -54,8 +54,8 @@
</
template
>
</LogDialog>
<LogDialog
title=
"操作日志"
v-model=
"logDialogVisible"
title=
"操作日志"
@
close=
"logDialogVisible = false"
>
<div
v-for=
"item in logList"
:key=
"item.id"
style=
"margin-bottom: 8px"
>
...
...
src/views/order/podUs/index.vue
View file @
92e22fc5
...
...
@@ -715,6 +715,7 @@
v
-
model
=
"productionClientValue"
clearable
placeholder
=
"请选择生产端"
@
change
=
"handleProductionClientChange"
>
<
ElOption
v
-
for
=
"(item, index) in productionClient"
...
...
@@ -725,18 +726,15 @@
<
/ElSelect
>
<
/div
>
<
el
-
table
@
selection
-
change
=
"selectionChange
"
v
-
if
=
"productionClientValue==='JOMALL'
"
height
=
"400px"
class
=
"production-client-table"
:
data
=
"confirmData"
border
highlight
-
current
-
row
@
current
-
change
=
"currentChange"
>
<
el
-
table
-
column
label
=
""
width
=
"60"
align
=
"center"
type
=
"selection"
><
/el-table-column
>
<
el
-
table
-
column
label
=
"序号"
width
=
"60"
align
=
"center"
...
...
@@ -788,7 +786,7 @@
<
LogList
:
log
-
list
=
"logList"
/>
<
/el-dialog
>
<
FastProduction
v
-
model
:
detail
V
isible
=
"detailVisible"
v
-
model
:
detail
-
v
isible
=
"detailVisible"
:
current
-
status
=
"status"
:
detail
-
data
=
"detailData"
:
fast
-
key
=
"fastKey"
...
...
@@ -867,8 +865,7 @@ import {
toBeConfirmedApi
,
loadWarehouseListApi
,
getLogisticsCalculation
,
LogisticsData
,
refreshMaterialApi
,
refreshMaterialApi
,
LogisticsData
,
}
from
'@/api/podUsOrder'
import
TableView
from
'@/components/TableView.vue'
import
{
...
...
@@ -897,7 +894,7 @@ import dayjs from 'dayjs'
declare
global
{
interface
Window
{
ActiveXObject
:
{
new
(
type
:
string
):
XMLHttpRequest
new
(
type
:
string
):
XMLHttpRequest
}
VBS_BinaryToArray
:
{
(
data
:
unknown
):
{
toArray
():
number
[]
}
...
...
@@ -1142,40 +1139,53 @@ const {
}
}
,
}
)
const
currentChange
=
(
row
:
LogisticsData
)
=>
{
if
(
row
)
{
confirmSelectionData
.
value
=
[
row
]
}
}
const
handleProductionClientChange
=
async
(
v
:
string
)
=>
{
if
(
v
!==
'RIIN'
)
{
if
(
confirmRowData
.
value
)
{
const
{
data
}
=
await
getLogisticsCalculation
(
confirmRowData
.
value
?.
id
)
confirmData
.
value
=
data
}
}
}
const
confirm
=
async
(
row
:
ProductList
)
=>
{
confirmDialogShow
.
value
=
true
productionClientValue
.
value
=
''
confirmRowData
.
value
=
row
confirmData
.
value
=
[]
confirmSelectionData
.
value
=
[]
const
{
data
}
=
await
getLogisticsCalculation
(
row
.
id
)
confirmData
.
value
=
data
}
const
selectionChange
=
(
data
:
LogisticsData
[])
=>
{
confirmSelectionData
.
value
=
data
}
const
handleConfirm
=
async
()
=>
{
if
(
!
productionClientValue
.
value
)
{
return
ElMessage
.
warning
(
'请选择生产端'
)
}
if
(
productionClientValue
.
value
!==
'RIIN'
)
{
if
(
confirmSelectionData
.
value
.
length
!==
1
)
{
return
ElMessage
.
warning
(
'请选择一条物流方式'
)
}
if
(
confirmSelectionData
.
value
.
some
((
el
)
=>
!
el
.
status
))
{
return
ElMessage
.
warning
(
'请选择状态为成功的物流方式'
)
}
}
const
id
=
confirmRowData
.
value
?.
id
const
res
=
await
confirmOrderApi
(
[
Number
(
id
)],
productionClientValue
.
value
,
'customize'
,
confirmSelectionData
.
value
[
0
],
confirmSelectionData
.
value
[
0
]
||
null
,
)
if
(
res
.
code
!==
200
)
return
ElMessage
.
success
(
'操作成功'
)
confirmDialogShow
.
value
=
false
search
()
loadTabData
()
await
loadTabData
()
}
const
copy
=
(
text
:
string
)
=>
{
navigator
.
clipboard
.
writeText
(
text
)
...
...
@@ -1925,4 +1935,18 @@ onMounted(() => {
.
factory
-
sub
-
order
-
number
{
font
-
size
:
12
px
;
}
.
production
-
client
-
table
{
::
v
-
deep
(.
current
-
row
>
td
.
el
-
table__cell
)
{
background
-
color
:
green
;
color
:
white
;
&
>
td
.
el
-
table__cell
{
color
:
white
!
important
;
background
-
color
:
green
;
}
}
}
<
/style
>
src/views/warehouse/warning.vue
View file @
92e22fc5
...
...
@@ -358,7 +358,6 @@ getWarehouse()
::v-deep(.el-tabs)
{
height
:
100%
;
display
:
flex
;
flex-direction
:
column
;
.el-tabs__content
{
flex
:
1
;
...
...
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