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
e1f7c558
Commit
e1f7c558
authored
Mar 22, 2023
by
邓春圆
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/dev1.6' into dev1.6
parents
03ee36b1
f90d8d48
Changes
13
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
2184 additions
and
24 deletions
+2184
-24
ladingShipper.js
src/api/ecw/ladingShipper.js
+54
-0
order.js
src/api/ecw/order.js
+9
-0
supplier.js
src/api/ecw/supplier.js
+36
-0
index.vue
src/components/SuppliersSelector/index.vue
+79
-0
dict.js
src/utils/dict.js
+1
-0
detail.vue
src/views/ecw/ladingShipper/detail.vue
+294
-0
edit.vue
src/views/ecw/ladingShipper/edit.vue
+298
-0
index.vue
src/views/ecw/ladingShipper/index.vue
+228
-0
detail.vue
src/views/ecw/order/detail.vue
+25
-1
detail.vue
src/views/ecw/supplier/detail.vue
+637
-0
edit.vue
src/views/ecw/supplier/edit.vue
+507
-22
index.vue
src/views/ecw/supplier/index.vue
+7
-0
index.vue
src/views/ecw/warehouse/index.vue
+9
-1
No files found.
src/api/ecw/ladingShipper.js
0 → 100644
View file @
e1f7c558
import
request
from
'
@/utils/request
'
// 创建提单托运人
export
function
createLadingShipper
(
data
)
{
return
request
({
url
:
'
/ecw/lading-shipper/create
'
,
method
:
'
post
'
,
data
:
data
})
}
// 更新提单托运人
export
function
updateLadingShipper
(
data
)
{
return
request
({
url
:
'
/ecw/lading-shipper/update
'
,
method
:
'
put
'
,
data
:
data
})
}
// 删除提单托运人
export
function
deleteLadingShipper
(
id
)
{
return
request
({
url
:
'
/ecw/lading-shipper/delete?id=
'
+
id
,
method
:
'
delete
'
})
}
// 获得提单托运人
export
function
getLadingShipper
(
id
)
{
return
request
({
url
:
'
/ecw/lading-shipper/get?id=
'
+
id
,
method
:
'
get
'
})
}
// 获得提单托运人分页
export
function
getLadingShipperPage
(
query
)
{
return
request
({
url
:
'
/ecw/lading-shipper/page
'
,
method
:
'
get
'
,
params
:
query
})
}
// 导出提单托运人 Excel
export
function
exportLadingShipperExcel
(
query
)
{
return
request
({
url
:
'
/ecw/lading-shipper/export-excel
'
,
method
:
'
get
'
,
params
:
query
,
responseType
:
'
blob
'
})
}
src/api/ecw/order.js
View file @
e1f7c558
...
...
@@ -656,3 +656,12 @@ export function exportUnload(params){
responseType
:
'
blob
'
})
}
// 操作日志分页
export
function
operateLogPage
(
params
){
return
request
({
url
:
'
/ecw/order-operate-log/page
'
,
method
:
'
get
'
,
params
:
params
})
}
\ No newline at end of file
src/api/ecw/supplier.js
View file @
e1f7c558
...
...
@@ -26,6 +26,15 @@ export function deleteSupplier(id) {
})
}
// 获得供应商列表
export
function
getSupplierList
(
query
)
{
return
request
({
url
:
'
/ecw/supplier/list
'
,
method
:
'
get
'
,
params
:
query
})
}
// 获得供应商
export
function
getSupplier
(
id
)
{
return
request
({
...
...
@@ -52,3 +61,30 @@ export function exportSupplierExcel(query) {
responseType
:
'
blob
'
})
}
// 创建清关文件号码
export
function
createFileNo
(
data
)
{
return
request
({
url
:
'
/ecw/clearance-file-no/create
'
,
method
:
'
post
'
,
data
:
data
})
}
// 更新供应商
export
function
updateFileNo
(
data
)
{
return
request
({
url
:
'
/ecw/clearance-file-no/update
'
,
method
:
'
put
'
,
data
:
data
})
}
// 获得清关文件号码
export
function
getFileNoPage
(
query
)
{
return
request
({
url
:
'
/ecw/clearance-file-no/page
'
,
method
:
'
get
'
,
params
:
query
})
}
\ No newline at end of file
src/components/SuppliersSelector/index.vue
0 → 100644
View file @
e1f7c558
<
template
>
<el-select
v-model=
"valueSync"
multiple
filterable
clearable
remote
reserve-keyword
:disabled=
"disabled"
placeholder=
"请输入关键词"
@
focus=
"remoteMethod('')"
:remote-method=
"remoteMethod"
:loading=
"loading"
>
<el-option
v-for=
"(item) in list"
:key=
"item.id"
:label=
"$l(item, 'company') + '('+item.companyCode+')'"
:value=
"item.id"
>
</el-option>
</el-select>
</
template
>
<
script
>
import
{
getSupplierList
,
getSupplierPage
}
from
'
@/api/ecw/supplier
'
export
default
{
props
:{
companyType
:
[
String
,
Number
],
value
:
[
Array
],
disabled
:
{
type
:
Boolean
,
default
:
false
}
},
data
(){
return
{
valueSync
:
[],
list
:[],
loading
:
false
}
},
computed
:{
},
watch
:{
valueSync
(
val
){
this
.
$emit
(
'
input
'
,
val
)
},
value
(
val
){
this
.
valueSync
=
this
.
value
this
.
init
(
val
)
}
},
created
(){
this
.
valueSync
=
this
.
value
this
.
init
(
this
.
value
)
},
methods
:{
init
(
val
){
if
(
val
===
null
||
val
==
undefined
||
val
==
''
)
return
let
params
=
{
ids
:
val
.
toString
()
}
getSupplierList
(
params
).
then
(
res
=>
{
this
.
list
=
res
.
data
})
},
remoteMethod
(
keyword
){
let
params
=
{
pageSize
:
500
,
companyType
:
this
.
companyType
}
params
.
keyword
=
keyword
this
.
loading
=
true
getSupplierPage
(
params
)
.
then
(
res
=>
this
.
list
=
res
.
data
.
list
)
.
finally
(()
=>
this
.
loading
=
false
)
}
}
}
</
script
>
\ No newline at end of file
src/utils/dict.js
View file @
e1f7c558
...
...
@@ -70,6 +70,7 @@ export const DICT_TYPE = {
ECW_DATA_SOURCE
:
'
data_source
'
,
// 数据来源
ECW_REGION_TYPE
:
'
region_trade_type
'
,
// 区域类型
ECW_TRANSPORT_TYPE
:
'
transport_type
'
,
//货运方式
ECW_KYC_DATA
:
'
member_control_reuest
'
,
//会员控单方式
ECW_CHARGE_TYPE
:
'
warehouse_charge_type
'
,
//仓储收费方式
ECW_SHELF_TYPE
:
'
shelf_type
'
,
//货架类型
ECW_PRODUCT_MATERIAL
:
'
product_material
'
,
//商品材质
...
...
src/views/ecw/ladingShipper/detail.vue
0 → 100644
View file @
e1f7c558
<
template
>
<div
class=
"app-container"
>
<el-form
ref=
"elForm"
:model=
"formData"
:rules=
"rules"
inline
size=
"small"
label-width=
"100px"
label-position=
"left"
>
<div>
<el-form-item
:label=
"$t('公司全称')"
prop=
"companyZh"
>
<el-input
v-model=
"formData.companyZh"
:placeholder=
"$t('请输入公司全称')"
show-word-limit
clearable
readonly
></el-input>
</el-form-item>
<el-form-item
:label=
"$t('英文名称')"
prop=
"companyEn"
>
<el-input
v-model=
"formData.companyEn"
:placeholder=
"$t('请输入公司英文名')"
show-word-limit
clearable
readonly
></el-input>
</el-form-item>
</div>
<div>
<el-form-item
:label=
"$t('合作开始时间')"
prop=
"cooperationDateStart"
>
<el-date-picker
v-model=
"formData.cooperationDateStart"
value-format=
"timestamp"
clearable
disabled
></el-date-picker>
</el-form-item>
<el-form-item
:label=
"$t('合作结束时间')"
prop=
"cooperationDateEnd"
>
<el-date-picker
v-model=
"formData.cooperationDateEnd"
value-format=
"timestamp"
clearable
disabled
></el-date-picker>
</el-form-item>
</div>
<div>
<el-form-item
:label=
"$t('公司电话')"
prop=
"tell"
>
<el-input
v-model=
"formData.tell"
:placeholder=
"$t('请输入公司电话')"
clearable
readonly
></el-input>
</el-form-item>
<el-form-item
:label=
"$t('邮件地址')"
prop=
"email"
>
<el-input
v-model=
"formData.email"
:placeholder=
"$t('请输入邮箱地址')"
clearable
readonly
></el-input>
</el-form-item>
</div>
<div>
<el-form-item
:label=
"$t('公司地址')"
prop=
"address"
>
{{
region
}}
{{
formData
.
address
}}
</el-form-item>
</div>
<div>
<el-form-item
:label=
"$t('备注')"
prop=
"remark"
>
<el-input
v-model=
"formData.remark"
type=
"textarea"
:placeholder=
"$t('请输入备注')"
:autosize=
"
{minRows: 4, maxRows: 4}" class="w-500" readonly>
</el-input>
</el-form-item>
</div>
<div>
<el-form-item
:label=
"$t('营业执照')"
prop=
"license"
>
<el-image
v-show=
"formData.license"
:src=
"formData.license"
style=
"width: 146px;height: 146px"
></el-image>
</el-form-item>
<el-form-item
:label=
"$t('合同')"
prop=
"contract"
>
<el-image
v-show=
"formData.contract"
:src=
"formData.contract"
style=
"width: 146px;height: 146px"
></el-image>
</el-form-item>
</div>
<div>
<el-form-item
:label=
"$t('统一信用代码')"
prop=
"licenseNumber"
>
<el-input
v-model=
"formData.licenseNumber"
:placeholder=
"$t('请输入统一社会信用代码')"
clearable
readonly
:style=
"
{width: '100%'}">
</el-input>
</el-form-item>
</div>
<el-form-item
size=
"large"
class=
"mt-20"
>
<el-button
@
click=
"$router.back()"
>
{{
$t
(
'
返回
'
)
}}
</el-button>
</el-form-item>
</el-form>
</div>
</
template
>
<
script
>
import
{
getLadingShipper
}
from
"
@/api/ecw/ladingShipper
"
;
import
upload
from
'
@/components/ImageUpload
'
import
{
listByIds
}
from
"
@/api/ecw/region
"
;
import
AreaSelector
from
'
@/components/AreaSelector
'
import
{
getCurrencyList
}
from
'
@/api/ecw/currency
'
import
Selector
from
'
@/components/Selector
'
import
{
validatePwd
}
from
'
@/api/ecw/busiPwd
'
import
{
getDockPage
}
from
"
@/api/ecw/dock
"
;
export
default
{
components
:
{
upload
,
AreaSelector
,
Selector
},
props
:
[],
data
()
{
return
{
disabled
:
true
,
formData
:
{
areaType
:
0
,
companyZh
:
undefined
,
agentName
:
undefined
,
tell
:
""
,
address
:
""
,
remark
:
undefined
,
field110
:
undefined
,
companyTypeArr
:
[],
cooperationType
:
undefined
,
settlementPeriod
:
undefined
,
priceAdvantage
:
undefined
,
license
:
null
,
contract
:
null
,
licenseNumber
:
undefined
,
contactList
:[],
bankList
:
[],
resourceVO
:
{},
externalVO
:
{}
},
rules
:
{
companyZh
:
[{
required
:
true
,
message
:
this
.
$t
(
'
请输入公司全称
'
),
trigger
:
'
blur
'
}],
agentName
:
[],
tell
:
[],
address
:
[],
remark
:
[],
companyType
:
[{
required
:
true
,
type
:
'
string
'
,
message
:
this
.
$t
(
'
请至少选择一个供应商类别
'
),
trigger
:
'
change
'
}],
cooperationType
:
[{
required
:
true
,
message
:
this
.
$t
(
'
请选择合作类型
'
),
trigger
:
'
change
'
}],
licenseNumber
:
[],
},
treeList
:[],
provinceList
:[],
cityList
:[],
region
:
''
,
// 码头
allDocks
:
[],
currencyList
:[],
requireData
:
[
'
COO证书
'
,
'
CXX证书
'
,
'
ABC证书
'
,
'
QWE证书
'
,
'
自定义
'
],
fileList
:
[],
fileNoForm
:
{},
fileNoRules
:
{
country
:
[{
required
:
true
,
message
:
this
.
$t
(
'
请输入国家
'
),
trigger
:
'
blur
'
}],
district
:
[{
required
:
true
,
message
:
this
.
$t
(
'
请输入地区
'
),
trigger
:
'
blur
'
}],
fromNo
:
[{
required
:
true
,
message
:
this
.
$t
(
'
请输入From M No
'
),
trigger
:
'
blur
'
}],
baNo
:
[{
required
:
true
,
message
:
this
.
$t
(
'
请输入BA NO
'
),
trigger
:
'
blur
'
}],
},
showFileNoDialog
:
false
}
},
computed
:
{
},
watch
:
{
'
formData.country
'
(
country
){
this
.
treeList
.
forEach
(
item
=>
{
if
(
item
.
id
==
country
){
this
.
provinceList
=
item
.
children
||
[]
}
})
},
'
formData.province
'
(
province
){
this
.
provinceList
.
forEach
(
item
=>
{
if
(
item
.
id
==
province
){
this
.
cityList
=
item
.
children
||
[]
}
})
}
},
created
()
{
getCurrencyList
().
then
(
res
=>
{
this
.
currencyList
=
res
.
data
})
if
(
this
.
$route
.
query
.
id
){
getLadingShipper
(
this
.
$route
.
query
.
id
).
then
(
response
=>
{
this
.
formData
=
response
.
data
listByIds
({
ids
:
[
this
.
formData
.
country
,
this
.
formData
.
province
,
this
.
formData
.
city
].
join
(
'
,
'
)}).
then
(
res
=>
{
console
.
log
(
'
listById
'
,
res
)
let
region
=
''
res
.
data
.
forEach
(
item
=>
{
region
+=
"
"
+
item
.
titleZh
})
this
.
region
=
region
})
});
}
},
mounted
()
{},
methods
:
{
strToArray
(
val
)
{
if
(
!
val
||
val
==
''
)
{
return
[]
}
else
{
let
data
=
val
.
split
(
"
,
"
)
return
data
.
map
(
item
=>
Number
(
item
))
}
},
sameReceive
()
{
this
.
$set
(
this
.
formData
.
externalVO
,
'
notifyCompanyName
'
,
this
.
formData
.
externalVO
.
receiveCompanyName
)
this
.
$set
(
this
.
formData
.
externalVO
,
'
notifyAddress
'
,
this
.
formData
.
externalVO
.
receiveAddress
)
this
.
$set
(
this
.
formData
.
externalVO
,
'
notifyTel
'
,
this
.
formData
.
externalVO
.
receiveTel
)
this
.
$set
(
this
.
formData
.
externalVO
,
'
notifyEmail
'
,
this
.
formData
.
externalVO
.
receiveEmail
)
},
addFileNo
()
{
this
.
showFileNoDialog
=
true
this
.
$refs
.
fileNoForm
.
resetFields
()
},
getFile
()
{
getFileNoPage
().
then
(
res
=>
{
this
.
fileList
=
res
.
data
.
list
})
},
addfile
()
{
this
.
$refs
.
fileNoForm
.
validate
(
vaild
=>
{
if
(
vaild
){
createFileNo
(
this
.
fileNoForm
).
then
(()
=>
{
this
.
showFileNoDialog
=
false
this
.
getFile
()
})
}
else
{
this
.
$message
.
error
(
this
.
$t
(
'
请完整填写表单
'
))
}
})
},
changeFile
(
val
)
{
let
file
=
this
.
fileList
.
find
(
item
=>
item
.
id
==
val
)
this
.
$set
(
this
.
formData
.
externalVO
,
'
fromNo
'
,
file
.
fromNo
)
this
.
$set
(
this
.
formData
.
externalVO
,
'
baNo
'
,
file
.
baNo
)
},
changeRequire
(
val
)
{
if
(
val
!=
'
自定义
'
){
this
.
$set
(
this
.
formData
.
externalVO
,
'
clearanceRequire
'
,
val
)
}
else
{
this
.
$set
(
this
.
formData
.
externalVO
,
'
clearanceRequire
'
,
''
)
}
},
getCountry
(
countryId
,
districtId
)
{
let
country
=
this
.
treeList
.
find
(
item
=>
item
.
id
==
countryId
)
let
district
=
country
.
children
.
find
(
item
=>
item
.
id
==
districtId
)
return
this
.
$l
(
country
,
'
title
'
)
+
'
'
+
this
.
$l
(
district
,
'
title
'
)
},
delContact
(
index
){
this
.
$confirm
(
this
.
$t
(
'
确定删除此联系人么?
'
)).
then
(()
=>
{
this
.
formData
.
contactList
.
splice
(
index
,
1
)
})
},
delBank
(
index
){
if
(
this
.
formData
.
bankList
[
index
].
id
){
this
.
$prompt
(
this
.
$t
(
"
请输入密码
"
),
{
inputType
:
'
password
'
})
.
then
(({
value
})
=>
{
if
(
value
&&
value
!=
''
){
return
validatePwd
({
busiType
:
5
,
pwd
:
value
})
}
this
.
$message
.
error
(
this
.
$t
(
'
密码不能为空
'
))
})
.
then
(
res
=>
{
if
(
!
res
.
data
){
return
this
.
$message
.
error
(
this
.
$t
(
'
密码错误
'
))
}
this
.
formData
.
bankList
.
splice
(
index
,
1
)
})
return
}
this
.
$confirm
(
this
.
$t
(
'
确定删除此银行信息么?
'
)).
then
(()
=>
{
this
.
formData
.
bankList
.
splice
(
index
,
1
)
})
},
onAreaChange
(
type
,
val
){
this
.
$set
(
this
.
formData
,
type
,
val
)
},
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.el-upload__tip
{
line-height
:
1
.2
;
}
.card-header
{
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
.title
{
font-size
:
18px
;
}
}
::v-deep
.data-list
.el-form-item__error
{
position
:
static
;
}
.red
{
color
:
red
;
}
.supplier-item
{
margin-left
:
30px
;
}
</
style
>
src/views/ecw/ladingShipper/edit.vue
0 → 100644
View file @
e1f7c558
<
template
>
<div
class=
"app-container"
>
<el-form
ref=
"elForm"
:model=
"formData"
:rules=
"rules"
inline
size=
"small"
label-width=
"100px"
label-position=
"left"
>
<div>
<el-form-item
:label=
"$t('公司全称')"
prop=
"companyZh"
>
<el-input
v-model=
"formData.companyZh"
:placeholder=
"$t('请输入公司全称')"
show-word-limit
clearable
></el-input>
</el-form-item>
<el-form-item
:label=
"$t('英文名称')"
prop=
"companyEn"
>
<el-input
v-model=
"formData.companyEn"
:placeholder=
"$t('请输入公司英文名')"
show-word-limit
clearable
></el-input>
</el-form-item>
</div>
<div>
<el-form-item
:label=
"$t('合作开始时间')"
prop=
"cooperationDateStart"
>
<el-date-picker
v-model=
"formData.cooperationDateStart"
value-format=
"timestamp"
clearable
></el-date-picker>
</el-form-item>
<el-form-item
:label=
"$t('合作结束时间')"
prop=
"cooperationDateEnd"
>
<el-date-picker
v-model=
"formData.cooperationDateEnd"
value-format=
"timestamp"
clearable
></el-date-picker>
</el-form-item>
</div>
<div>
<el-form-item
:label=
"$t('公司电话')"
prop=
"tell"
>
<el-input
v-model=
"formData.tell"
:placeholder=
"$t('请输入公司电话')"
clearable
></el-input>
</el-form-item>
<el-form-item
:label=
"$t('邮件地址')"
prop=
"email"
>
<el-input
v-model=
"formData.email"
:placeholder=
"$t('请输入邮箱地址')"
clearable
></el-input>
</el-form-item>
</div>
<div>
<el-form-item
:label=
"$t('公司地址')"
prop=
"address"
>
<area-selector
:country=
"formData.country"
:province=
"formData.province"
:city=
"formData.city"
@
countryChange=
"onAreaChange('country', $event)"
@
provinceChange=
"onAreaChange('province', $event)"
@
cityChange=
"onAreaChange('city', $event)"
/>
<el-input
v-model=
"formData.address"
:placeholder=
"$t('请输入详细地址')"
class=
"mt-10"
></el-input>
</el-form-item>
</div>
<div>
<el-form-item
:label=
"$t('备注')"
prop=
"remark"
>
<el-input
v-model=
"formData.remark"
type=
"textarea"
:placeholder=
"$t('请输入备注')"
:autosize=
"
{minRows: 4, maxRows: 4}" class="w-500">
</el-input>
</el-form-item>
</div>
<div>
<el-form-item
:label=
"$t('营业执照')"
prop=
"license"
>
<upload
v-model=
"formData.license"
/>
</el-form-item>
<el-form-item
:label=
"$t('合同')"
prop=
"contract"
>
<upload
v-model=
"formData.contract"
/>
</el-form-item>
</div>
<div>
<el-form-item
:label=
"$t('统一信用代码')"
prop=
"licenseNumber"
>
<el-input
v-model=
"formData.licenseNumber"
:placeholder=
"$t('请输入统一社会信用代码')"
clearable
:style=
"
{width: '100%'}">
</el-input>
</el-form-item>
</div>
<el-form-item
size=
"large"
class=
"mt-20"
>
<el-button
type=
"primary"
@
click=
"submitForm"
>
{{
$t
(
'
提交
'
)
}}
</el-button>
<el-button
@
click=
"resetForm"
>
{{
$t
(
'
重置
'
)
}}
</el-button>
</el-form-item>
</el-form>
</div>
</
template
>
<
script
>
import
{
createLadingShipper
,
updateLadingShipper
,
getLadingShipper
}
from
"
@/api/ecw/ladingShipper
"
;
import
upload
from
'
@/components/ImageUpload
'
import
{
getListTree
}
from
"
@/api/ecw/region
"
;
import
AreaSelector
from
'
@/components/AreaSelector
'
import
{
getCurrencyList
}
from
'
@/api/ecw/currency
'
import
Selector
from
'
@/components/Selector
'
import
{
validatePwd
}
from
'
@/api/ecw/busiPwd
'
import
{
getDockPage
}
from
"
@/api/ecw/dock
"
;
export
default
{
components
:
{
upload
,
AreaSelector
,
Selector
},
props
:
[],
data
()
{
return
{
disabled
:
false
,
formData
:
{
areaType
:
0
,
companyZh
:
undefined
,
agentName
:
undefined
,
tell
:
""
,
address
:
""
,
remark
:
undefined
,
field110
:
undefined
,
companyTypeArr
:
[],
cooperationType
:
undefined
,
settlementPeriod
:
undefined
,
priceAdvantage
:
undefined
,
license
:
null
,
contract
:
null
,
licenseNumber
:
undefined
,
contactList
:[],
bankList
:
[],
resourceVO
:
{},
externalVO
:
{}
},
rules
:
{
companyZh
:
[{
required
:
true
,
message
:
this
.
$t
(
'
请输入公司全称
'
),
trigger
:
'
blur
'
}],
agentName
:
[],
tell
:
[],
address
:
[],
remark
:
[],
licenseNumber
:
[],
},
treeList
:[],
provinceList
:[],
cityList
:[]
}
},
computed
:
{
},
watch
:
{
'
formData.country
'
(
country
){
this
.
treeList
.
forEach
(
item
=>
{
if
(
item
.
id
==
country
){
this
.
provinceList
=
item
.
children
||
[]
}
})
},
'
formData.province
'
(
province
){
this
.
provinceList
.
forEach
(
item
=>
{
if
(
item
.
id
==
province
){
this
.
cityList
=
item
.
children
||
[]
}
})
}
},
created
()
{
getCurrencyList
().
then
(
res
=>
{
this
.
currencyList
=
res
.
data
})
// 回显数据需要在加载了地区数据之后,否则无法正常回显
getListTree
({
treeType
:
1
}).
then
(
response
=>
{
this
.
treeList
=
response
.
data
if
(
this
.
$route
.
query
.
id
){
getLadingShipper
(
this
.
$route
.
query
.
id
).
then
(
response
=>
{
this
.
formData
=
response
.
data
});
}
})
},
mounted
()
{},
methods
:
{
strToArray
(
val
)
{
if
(
!
val
||
val
==
''
)
{
return
[]
}
else
{
let
data
=
val
.
split
(
"
,
"
)
return
data
.
map
(
item
=>
Number
(
item
))
}
},
sameReceive
()
{
this
.
$set
(
this
.
formData
.
externalVO
,
'
notifyCompanyName
'
,
this
.
formData
.
externalVO
.
receiveCompanyName
)
this
.
$set
(
this
.
formData
.
externalVO
,
'
notifyAddress
'
,
this
.
formData
.
externalVO
.
receiveAddress
)
this
.
$set
(
this
.
formData
.
externalVO
,
'
notifyTel
'
,
this
.
formData
.
externalVO
.
receiveTel
)
this
.
$set
(
this
.
formData
.
externalVO
,
'
notifyEmail
'
,
this
.
formData
.
externalVO
.
receiveEmail
)
},
addFileNo
()
{
this
.
showFileNoDialog
=
true
this
.
$refs
.
fileNoForm
.
resetFields
()
},
getFile
()
{
getFileNoPage
().
then
(
res
=>
{
this
.
fileList
=
res
.
data
.
list
})
},
addfile
()
{
this
.
$refs
.
fileNoForm
.
validate
(
vaild
=>
{
if
(
vaild
){
createFileNo
(
this
.
fileNoForm
).
then
(()
=>
{
this
.
showFileNoDialog
=
false
this
.
getFile
()
})
}
else
{
this
.
$message
.
error
(
this
.
$t
(
'
请完整填写表单
'
))
}
})
},
changeFile
(
val
)
{
let
file
=
this
.
fileList
.
find
(
item
=>
item
.
id
==
val
)
this
.
$set
(
this
.
formData
.
externalVO
,
'
fromNo
'
,
file
.
fromNo
)
this
.
$set
(
this
.
formData
.
externalVO
,
'
baNo
'
,
file
.
baNo
)
},
changeRequire
(
val
)
{
if
(
val
!=
'
自定义
'
){
this
.
$set
(
this
.
formData
.
externalVO
,
'
clearanceRequire
'
,
val
)
}
else
{
this
.
$set
(
this
.
formData
.
externalVO
,
'
clearanceRequire
'
,
''
)
}
},
getCountry
(
countryId
,
districtId
)
{
let
country
=
this
.
treeList
.
find
(
item
=>
item
.
id
==
countryId
)
let
district
=
country
.
children
.
find
(
item
=>
item
.
id
==
districtId
)
return
this
.
$l
(
country
,
'
title
'
)
+
'
'
+
this
.
$l
(
district
,
'
title
'
)
},
delContact
(
index
){
this
.
$confirm
(
this
.
$t
(
'
确定删除此联系人么?
'
)).
then
(()
=>
{
this
.
formData
.
contactList
.
splice
(
index
,
1
)
})
},
delBank
(
index
){
if
(
this
.
formData
.
bankList
[
index
].
id
){
this
.
$prompt
(
this
.
$t
(
"
请输入密码
"
),
{
inputType
:
'
password
'
})
.
then
(({
value
})
=>
{
if
(
value
&&
value
!=
''
){
return
validatePwd
({
busiType
:
5
,
pwd
:
value
})
}
this
.
$message
.
error
(
this
.
$t
(
'
密码不能为空
'
))
})
.
then
(
res
=>
{
if
(
!
res
.
data
){
return
this
.
$message
.
error
(
this
.
$t
(
'
密码错误
'
))
}
this
.
formData
.
bankList
.
splice
(
index
,
1
)
})
return
}
this
.
$confirm
(
this
.
$t
(
'
确定删除此银行信息么?
'
)).
then
(()
=>
{
this
.
formData
.
bankList
.
splice
(
index
,
1
)
})
},
onAreaChange
(
type
,
val
){
this
.
$set
(
this
.
formData
,
type
,
val
)
},
submitForm
()
{
this
.
$refs
[
"
elForm
"
].
validate
((
valid
,
errors
)
=>
{
if
(
!
valid
)
{
return
this
.
$showFormValidateErrors
(
errors
)
}
let
data
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
formData
))
// 修改的提交
if
(
data
.
id
!=
null
)
{
updateLadingShipper
(
data
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
this
.
$t
(
"
修改成功
"
));
this
.
open
=
false
;
this
.
$router
.
back
()
});
return
;
}
// 添加的提交
createLadingShipper
(
data
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
this
.
$t
(
"
新增成功
"
));
this
.
$redirect
(
'
/supplier/ladingshipper
'
)
});
});
},
resetForm
()
{
this
.
$refs
[
'
elForm
'
].
resetFields
()
}
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.el-upload__tip
{
line-height
:
1
.2
;
}
.card-header
{
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
.title
{
font-size
:
18px
;
}
}
::v-deep
.data-list
.el-form-item__error
{
position
:
static
;
}
.red
{
color
:
red
;
}
.supplier-item
{
margin-left
:
30px
;
}
</
style
>
src/views/ecw/ladingShipper/index.vue
0 → 100644
View file @
e1f7c558
<
template
>
<div
class=
"app-container"
>
<!-- 搜索工作栏 -->
<el-form
v-if=
"false"
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"100px"
>
<el-form-item
:label=
"$t('创建时间')"
>
<el-date-picker
v-model=
"dateRangeCreateTime"
style=
"width: 240px"
value-format=
"yyyy-MM-dd"
type=
"daterange"
range-separator=
"-"
:start-placeholder=
"$t('开始日期')"
:end-placeholder=
"$t('结束日期')"
/>
</el-form-item>
<el-form-item
:label=
"$t('供应商类别')"
prop=
"companyType"
>
<dict-selector
:type=
"DICT_TYPE.ECW_COMPANY_TYPE"
v-model=
"queryParams.companyType"
clearable
/>
</el-form-item>
<el-form-item
:label=
"$t('合作类型')"
prop=
"cooperationType"
>
<dict-selector
:type=
"DICT_TYPE.ECW_COOPERATION_TYPE"
v-model=
"queryParams.cooperationType"
clearable
/>
</el-form-item>
<el-form-item
:label=
"$t('名称/代码')"
prop=
"keyword"
>
<el-input
v-model=
"queryParams.keyword"
: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-row
:gutter=
"10"
class=
"mb8"
>
<el-col
:span=
"1.5"
>
<el-button
type=
"primary"
plain
icon=
"el-icon-plus"
size=
"mini"
@
click=
"handleAdd"
v-hasPermi=
"['ecw:ladingShipper:create']"
>
{{
$t
(
'
新增
'
)
}}
</el-button>
</el-col>
<!--
<el-col
:span=
"1.5"
>
<el-button
type=
"warning"
plain
icon=
"el-icon-download"
size=
"mini"
@
click=
"handleExport"
:loading=
"exportLoading"
v-hasPermi=
"['ecw:ladingShipper:export']"
>
{{
$t
(
'
导出
'
)
}}
</el-button>
</el-col>
-->
<right-toolbar
:showSearch.sync=
"showSearch"
@
queryTable=
"getList"
></right-toolbar>
</el-row>
<!-- 列表 -->
<el-table
v-loading=
"loading"
:data=
"list"
>
<el-table-column
label=
""
align=
"center"
prop=
"id"
/>
<el-table-column
:label=
"$t('公司名称')"
align=
"center"
:prop=
"$l('company')"
/>
<el-table-column
:label=
"$t('英文名称')"
align=
"center"
prop=
"companyEn"
/>
<el-table-column
:label=
"$t('公司电话')"
align=
"center"
prop=
"tell"
/>
<el-table-column
:label=
"$t('统一信用代码')"
align=
"center"
prop=
"licenseNumber"
/>
<el-table-column
:label=
"$t('创建时间')"
align=
"center"
prop=
"createTime"
width=
"180"
>
<template
slot-scope=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
createTime
)
}}
</span>
</
template
>
</el-table-column>
<el-table-column
fixed=
"right"
:label=
"$t('操作')"
align=
"center"
class-name=
"small-padding fixed-width"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleDetail(scope.row)"
v-hasPermi=
"['ecw:ladingShipper:query']"
>
{{
$t
(
'
详情
'
)
}}
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleUpdate(scope.row)"
v-hasPermi=
"['ecw:ladingShipper:update']"
>
{{
$t
(
'
修改
'
)
}}
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"handleDelete(scope.row)"
v-hasPermi=
"['ecw:ladingShipper:delete']"
>
{{
$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
{
deleteLadingShipper
,
getLadingShipperPage
,
exportLadingShipperExcel
}
from
"
@/api/ecw/ladingShipper
"
;
// import DictSelector from '@/components/DictSelector'
export
default
{
name
:
"
ladingShipper
"
,
components
:
{
// DictSelector
},
data
()
{
return
{
// 遮罩层
loading
:
true
,
// 导出遮罩层
exportLoading
:
false
,
// 显示搜索条件
showSearch
:
true
,
// 总条数
total
:
0
,
// 供应商列表
list
:
[],
// 弹出层标题
title
:
""
,
// 是否显示弹出层
open
:
false
,
dateRangeCreateTime
:
[],
// 查询参数
queryParams
:
{
pageNo
:
1
,
pageSize
:
10
,
companyZh
:
null
,
companyEn
:
null
,
companyCode
:
null
,
agentName
:
null
,
tell
:
null
,
country
:
null
,
province
:
null
,
city
:
null
,
area
:
null
,
address
:
null
,
remark
:
null
,
companyType
:
null
,
cooperationType
:
null
,
license
:
null
,
contract
:
null
,
licenseNumber
:
null
,
status
:
null
,
},
// 表单参数
form
:
{},
// 表单校验
rules
:
{
}
};
},
created
()
{
this
.
getList
();
},
methods
:
{
/** 查询列表 */
getList
()
{
this
.
loading
=
true
;
// 处理查询参数
let
params
=
{...
this
.
queryParams
};
this
.
addBeginAndEndTime
(
params
,
this
.
dateRangeCreateTime
,
'
createTime
'
);
// 执行查询
getLadingShipperPage
(
params
).
then
(
response
=>
{
this
.
list
=
response
.
data
.
list
;
this
.
total
=
response
.
data
.
total
;
this
.
loading
=
false
;
});
},
/** 取消按钮 */
cancel
()
{
this
.
open
=
false
;
this
.
reset
();
},
/** 表单重置 */
reset
()
{
this
.
form
=
{
id
:
undefined
,
companyZh
:
undefined
,
companyEn
:
undefined
,
companyCode
:
undefined
,
agentName
:
undefined
,
tell
:
undefined
,
country
:
undefined
,
province
:
undefined
,
city
:
undefined
,
area
:
undefined
,
address
:
undefined
,
remark
:
undefined
,
companyType
:
undefined
,
cooperationType
:
undefined
,
license
:
undefined
,
contract
:
undefined
,
licenseNumber
:
undefined
,
status
:
undefined
,
};
this
.
resetForm
(
"
form
"
);
},
/** 搜索按钮操作 */
handleQuery
()
{
this
.
queryParams
.
pageNo
=
1
;
this
.
getList
();
},
/** 重置按钮操作 */
resetQuery
()
{
this
.
dateRangeCreateTime
=
[];
this
.
resetForm
(
"
queryForm
"
);
this
.
handleQuery
();
},
/** 新增按钮操作 */
handleAdd
()
{
return
this
.
$router
.
push
(
'
ladingShipper/create
'
)
},
/** 详情按钮操作 */
handleDetail
(
row
)
{
return
this
.
$router
.
push
(
'
ladingShipper/detail?id=
'
+
row
.
id
)
},
/** 修改按钮操作 */
handleUpdate
(
row
)
{
this
.
reset
();
const
id
=
row
.
id
;
return
this
.
$router
.
push
(
'
ladingShipper/create?id=
'
+
id
)
},
/** 删除按钮操作 */
handleDelete
(
row
)
{
const
id
=
row
.
id
;
this
.
$modal
.
confirm
(
this
.
$t
(
'
是否确认删除供应商编号为{id}的数据项?
'
,
{
id
})).
then
(
function
()
{
return
deleteLadingShipper
(
id
);
}).
then
(()
=>
{
this
.
getList
();
this
.
$modal
.
msgSuccess
(
this
.
$t
(
"
删除成功
"
));
}).
catch
(()
=>
{});
},
/** 导出按钮操作 */
handleExport
()
{
// 处理查询参数
let
params
=
{...
this
.
queryParams
};
params
.
pageNo
=
undefined
;
params
.
pageSize
=
undefined
;
this
.
addBeginAndEndTime
(
params
,
this
.
dateRangeCreateTime
,
'
createTime
'
);
// 执行导出
this
.
$modal
.
confirm
(
this
.
$t
(
'
是否确认导出所有供应商数据项?
'
)).
then
(()
=>
{
this
.
exportLoading
=
true
;
return
exportLadingShipperExcel
(
params
);
}).
then
(
response
=>
{
this
.
$download
.
excel
(
response
,
'
${table.classComment}.xls
'
);
this
.
exportLoading
=
false
;
}).
catch
(()
=>
{});
}
}
};
</
script
>
src/views/ecw/order/detail.vue
View file @
e1f7c558
...
...
@@ -270,6 +270,19 @@
</el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane
:label=
"$t('操作日志')"
name=
"five"
>
<el-table
:data=
"logs"
>
<el-table-column
:label=
"$t('时间')"
>
<
template
slot-scope=
"{row}"
>
{{
parseTime
(
row
.
createTime
)
}}
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('操作人')"
prop=
"creatorName"
>
</el-table-column>
<el-table-column
:label=
"$t('操作人类型')"
>
<
template
slot-scope=
"{row}"
>
{{
row
.
userType
==
1
?
$t
(
'
会员
'
)
:
$t
(
'
管理员
'
)
}}
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('操作描述')"
prop=
"msg"
></el-table-column>
<el-table-column
:label=
"$t('备注')"
prop=
"note"
></el-table-column>
</el-table>
</el-tab-pane>
</el-tabs>
</el-card>
...
...
@@ -344,7 +357,7 @@
</template>
<
script
>
import
{
getOrder
}
from
'
@/api/ecw/order
'
import
{
getOrder
,
operateLogPage
}
from
'
@/api/ecw/order
'
import
{
getDictDatas
,
DICT_TYPE
}
from
'
@/utils/dict
'
;
import
PrintWarehouseReceipt
from
'
./components/PrintWarehouseReceipt
'
import
PrintLadingBill
from
'
./components/PrintLadingBill
'
...
...
@@ -398,6 +411,8 @@ export default {
showWarehouseInItemId
:
null
,
// 当前显示的入仓
showFeeDetailDialog
:
null
,
// 是否显示费用详情弹层
feeDetail
:
null
,
// 费用详情
logs
:
[],
// 操作日志
}
},
computed
:{
...
...
@@ -433,6 +448,9 @@ export default {
if
(
!
this
.
feeList
.
length
&&
val
==
'
four
'
){
this
.
loadFeeList
()
}
if
(
!
this
.
logs
.
length
&&
val
==
'
five
'
){
this
.
loadLogs
()
}
},
'
order.channelId
'
(){
this
.
getChannel
()
...
...
@@ -582,6 +600,12 @@ export default {
this
.
feeList
=
res
.
data
})
},
// 加载操作日志
loadLogs
(){
operateLogPage
({
orderId
:
this
.
orderIdDICT_TYPE
,
page
:
1
,
rows
:
10000
}).
then
(
res
=>
{
this
.
logs
=
res
.
data
.
list
})
},
downloadPackingList
(){
window
.
open
(
this
.
order
.
packingListUrl
)
},
...
...
src/views/ecw/supplier/detail.vue
0 → 100644
View file @
e1f7c558
This diff is collapsed.
Click to expand it.
src/views/ecw/supplier/edit.vue
View file @
e1f7c558
This diff is collapsed.
Click to expand it.
src/views/ecw/supplier/index.vue
View file @
e1f7c558
...
...
@@ -66,6 +66,8 @@
</el-table-column>
<el-table-column
fixed=
"right"
:label=
"$t('操作')"
align=
"center"
class-name=
"small-padding fixed-width"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleDetail(scope.row)"
v-hasPermi=
"['ecw:supplier:query']"
>
{{
$t
(
'
详情
'
)
}}
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleUpdate(scope.row)"
v-hasPermi=
"['ecw:supplier:update']"
>
{{
$t
(
'
修改
'
)
}}
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"handleDelete(scope.row)"
...
...
@@ -198,6 +200,11 @@ export default {
handleAdd
()
{
return
this
.
$router
.
push
(
'
/supplier/edit
'
)
},
/** 详情按钮操作 */
handleDetail
(
row
)
{
return
this
.
$router
.
push
(
'
detail?id=
'
+
row
.
id
)
},
/** 修改按钮操作 */
handleUpdate
(
row
)
{
this
.
reset
();
...
...
src/views/ecw/warehouse/index.vue
View file @
e1f7c558
...
...
@@ -268,6 +268,13 @@
<el-input
v-model=
"form.remark"
:placeholder=
"$t('请输入备注')"
/>
</el-form-item>
<el-form-item
:label=
"$t('会员控货下单要求')"
prop=
"kycStatus"
>
<el-radio-group
v-model=
"form.kycStatus"
>
<el-radio
v-for=
"dict in kycDatas"
:key=
"dict.value"
:label=
"dict.value"
>
{{$l(dict, 'label')}}
</el-radio>
</el-radio-group>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"submitForm"
>
{{$t('确定')}}
</el-button>
...
...
@@ -546,7 +553,8 @@ export default {
// 数据字典
statusDictDatas
:
getDictDatas
(
DICT_TYPE
.
COMMON_STATUS
),
regionTypeDatas
:
getDictDatas
(
DICT_TYPE
.
ECW_REGION_TYPE
),
transportDatas
:
getDictDatas
(
DICT_TYPE
.
ECW_TRANSPORT_TYPE
)
transportDatas
:
getDictDatas
(
DICT_TYPE
.
ECW_TRANSPORT_TYPE
),
kycDatas
:
getDictDatas
(
DICT_TYPE
.
ECW_KYC_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