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
300373a1
Commit
300373a1
authored
Jun 15, 2022
by
dragondean@qq.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
路线产品(不含批量操作)
parent
6142d2f7
Changes
18
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
845 additions
and
232 deletions
+845
-232
channel.js
src/api/ecw/channel.js
+10
-1
express.js
src/api/ecw/express.js
+9
-0
region.js
src/api/ecw/region.js
+9
-0
warehouse.js
src/api/ecw/warehouse.js
+1
-1
index.vue
src/components/DictSelector/index.vue
+10
-6
index.vue
src/components/ImageUpload/index.vue
+4
-3
index.vue
src/components/ProductSelector/index.vue
+80
-0
index.vue
src/components/RegionSelector/index.vue
+0
-62
index.vue
src/components/RouterSelector/index.vue
+195
-0
index.vue
src/components/TableForm/index.vue
+2
-2
index.vue
src/components/UploadImage/index.vue
+1
-1
dict.js
src/utils/dict.js
+2
-2
index.js
src/utils/index.js
+8
-0
edit.vue
src/views/ecw/channel/edit.vue
+125
-105
index.vue
src/views/ecw/channel/index.vue
+30
-31
index.vue
src/views/ecw/product/index.vue
+6
-3
edit.vue
src/views/ecw/productPrice/edit.vue
+306
-0
index.vue
src/views/ecw/productPrice/index.vue
+47
-15
No files found.
src/api/ecw/channel.js
View file @
300373a1
...
@@ -29,7 +29,7 @@ export function deleteChannel(id) {
...
@@ -29,7 +29,7 @@ export function deleteChannel(id) {
// 获得渠道管理
// 获得渠道管理
export
function
getChannel
(
id
)
{
export
function
getChannel
(
id
)
{
return
request
({
return
request
({
url
:
'
/ecw/channel/get?
i
d=
'
+
id
,
url
:
'
/ecw/channel/get?
channelI
d=
'
+
id
,
method
:
'
get
'
method
:
'
get
'
})
})
}
}
...
@@ -43,6 +43,15 @@ export function getChannelPage(query) {
...
@@ -43,6 +43,15 @@ export function getChannelPage(query) {
})
})
}
}
// 获得渠道列表 TODO
export
function
getChannelList
(
query
)
{
return
request
({
url
:
'
/ecw/channel/select
'
,
method
:
'
get
'
,
params
:
query
})
}
// 导出渠道管理 Excel
// 导出渠道管理 Excel
export
function
exportChannelExcel
(
query
)
{
export
function
exportChannelExcel
(
query
)
{
return
request
({
return
request
({
...
...
src/api/ecw/express.js
View file @
300373a1
...
@@ -43,6 +43,15 @@ export function getExpressPage(query) {
...
@@ -43,6 +43,15 @@ export function getExpressPage(query) {
})
})
}
}
// 获取配送列表
export
function
getExpressList
(
query
)
{
return
request
({
url
:
'
/ecw/express/list
'
,
method
:
'
get
'
,
params
:
query
})
}
// 导出配送管理 Excel
// 导出配送管理 Excel
export
function
exportExpressExcel
(
query
)
{
export
function
exportExpressExcel
(
query
)
{
return
request
({
return
request
({
...
...
src/api/ecw/region.js
View file @
300373a1
...
@@ -89,3 +89,12 @@ export function getCityList(query) {
...
@@ -89,3 +89,12 @@ export function getCityList(query) {
params
:
query
params
:
query
})
})
}
}
// 获得进出口城市
export
function
getTradeCityList
(
query
)
{
return
request
({
url
:
'
/ecw/region/getCityList
'
,
method
:
'
get
'
,
params
:
query
})
}
src/api/ecw/warehouse.js
View file @
300373a1
...
@@ -81,7 +81,7 @@ export function changeRouteStatus(data) {
...
@@ -81,7 +81,7 @@ export function changeRouteStatus(data) {
}
}
/**查看已开通线路列表 */
/**查看已开通线路列表 */
export
function
openedRouterList
(
data
)
{
export
function
openedRouterList
(
data
=
{}
)
{
return
request
({
return
request
({
url
:
'
/ecw/warehouse/openedRouterList
'
,
url
:
'
/ecw/warehouse/openedRouterList
'
,
method
:
'
post
'
,
method
:
'
post
'
,
...
...
src/components/DictSelector/index.vue
View file @
300373a1
...
@@ -35,15 +35,19 @@ export default {
...
@@ -35,15 +35,19 @@ export default {
this
.
$emit
(
'
input
'
,
this
.
forceString
?
String
(
this
.
valueSync
)
:
this
.
valueSync
)
this
.
$emit
(
'
input
'
,
this
.
forceString
?
String
(
this
.
valueSync
)
:
this
.
valueSync
)
},
},
value
(
val
){
value
(
val
){
if
(
!
val
||
val
===
null
){
this
.
setValueSync
()
return
}
if
(
this
.
forceString
&&
this
.
multiple
){
this
.
valueSync
=
val
.
split
(
'
,
'
)
}
else
this
.
valueSync
=
this
.
forceString
?
String
(
val
)
:
val
}
}
},
},
created
(){
this
.
setValueSync
()
},
methods
:{
methods
:{
setValueSync
(){
if
(
!
this
.
value
||
this
.
value
==
''
)
return
if
(
this
.
forceString
&&
this
.
multiple
){
this
.
valueSync
=
val
.
split
(
'
,
'
)
}
else
this
.
valueSync
=
this
.
forceString
?
String
(
this
.
value
)
:
this
.
value
},
getList
(){
getList
(){
return
selfDefinedDict
[
this
.
type
]
||
this
.
getDictDatas
(
this
.
type
)
return
selfDefinedDict
[
this
.
type
]
||
this
.
getDictDatas
(
this
.
type
)
}
}
...
...
src/components/ImageUpload/index.vue
View file @
300373a1
...
@@ -77,7 +77,7 @@ export default {
...
@@ -77,7 +77,7 @@ export default {
dialogVisible
:
false
,
dialogVisible
:
false
,
hideUpload
:
false
,
hideUpload
:
false
,
baseUrl
:
process
.
env
.
VUE_APP_BASE_API
,
baseUrl
:
process
.
env
.
VUE_APP_BASE_API
,
uploadImgUrl
:
process
.
env
.
VUE_APP_BASE_API
+
"
/
common
/upload
"
,
// 上传的图片服务器地址
uploadImgUrl
:
process
.
env
.
VUE_APP_BASE_API
+
"
/
app-api/file
/upload
"
,
// 上传的图片服务器地址
headers
:
{
headers
:
{
Authorization
:
"
Bearer
"
+
getToken
(),
Authorization
:
"
Bearer
"
+
getToken
(),
},
},
...
@@ -94,7 +94,7 @@ export default {
...
@@ -94,7 +94,7 @@ export default {
this
.
fileList
=
list
.
map
(
item
=>
{
this
.
fileList
=
list
.
map
(
item
=>
{
if
(
typeof
item
===
"
string
"
)
{
if
(
typeof
item
===
"
string
"
)
{
if
(
item
.
indexOf
(
this
.
baseUrl
)
===
-
1
)
{
if
(
item
.
indexOf
(
this
.
baseUrl
)
===
-
1
)
{
item
=
{
name
:
this
.
baseUrl
+
item
,
url
:
this
.
baseUrl
+
item
};
item
=
{
name
:
item
,
url
:
item
};
}
else
{
}
else
{
item
=
{
name
:
item
,
url
:
item
};
item
=
{
name
:
item
,
url
:
item
};
}
}
...
@@ -127,7 +127,8 @@ export default {
...
@@ -127,7 +127,8 @@ export default {
},
},
// 上传成功回调
// 上传成功回调
handleUploadSuccess
(
res
)
{
handleUploadSuccess
(
res
)
{
this
.
uploadList
.
push
({
name
:
res
.
fileName
,
url
:
res
.
fileName
});
console
.
log
({
res
})
this
.
uploadList
.
push
({
name
:
res
.
data
.
split
(
'
/
'
).
pop
(),
url
:
res
.
data
});
if
(
this
.
uploadList
.
length
===
this
.
number
)
{
if
(
this
.
uploadList
.
length
===
this
.
number
)
{
this
.
fileList
=
this
.
fileList
.
concat
(
this
.
uploadList
);
this
.
fileList
=
this
.
fileList
.
concat
(
this
.
uploadList
);
this
.
uploadList
=
[];
this
.
uploadList
=
[];
...
...
src/components/ProductSelector/index.vue
0 → 100644
View file @
300373a1
<
template
>
<el-select
v-model=
"index"
filterable
clearable
remote
reserve-keyword
placeholder=
"请输入商品关键词"
:remote-method=
"remoteMethod"
:loading=
"loading"
>
<el-option
v-for=
"(item, index) in list"
:key=
"item.id"
:label=
"item.titleZh"
:value=
"index"
>
</el-option>
</el-select>
</
template
>
<
script
>
import
{
getProduct
,
getProductPage
}
from
'
@/api/ecw/product
'
export
default
{
props
:{
productType
:
[
String
,
Number
],
value
:
[
String
,
Number
]
},
data
(){
return
{
index
:
{},
list
:[],
loading
:
false
}
},
watch
:{
index
(
val
){
this
.
$emit
(
'
input
'
,
val
!==
null
?
this
.
list
[
val
].
id
:
null
)
this
.
$emit
(
'
change
'
,
val
!==
null
?
this
.
list
[
val
]
:
null
)
},
value
(
val
){
console
.
log
(
'
初始化内容
'
,
val
)
/* let index = this.list.findIndex(item => item.id == val)
if(index < 0){
getProduct(val).then(res => {
this.list.unshift(res.data)
this.index = 0
})
} */
this
.
init
()
}
},
created
(){
console
.
log
(
'
created
'
,
this
.
value
)
this
.
init
()
},
methods
:{
init
(){
if
(
!
this
.
value
)
return
null
let
index
=
this
.
list
.
findIndex
(
item
=>
item
.
id
==
this
.
value
)
if
(
index
<
0
){
getProduct
(
this
.
value
).
then
(
res
=>
{
this
.
list
.
unshift
(
res
.
data
)
this
.
index
=
0
})
}
},
remoteMethod
(
keyword
){
let
params
=
{}
if
(
this
.
productType
){
params
.
productType
=
this
.
productType
}
params
.
titleZh
=
keyword
this
.
loading
=
true
getProductPage
(
params
)
.
then
(
res
=>
this
.
list
=
res
.
data
.
list
)
.
finally
(()
=>
this
.
loading
=
false
)
}
}
}
</
script
>
\ No newline at end of file
src/components/RegionSelector/index.vue
deleted
100644 → 0
View file @
6142d2f7
<
template
>
<div>
<template
v-for=
"(list, level) in options"
>
<el-select
:key=
"list.id"
v-model=
"selectedIndex[level]"
placeholder=
"请选择"
>
<el-option
v-for=
"item in list"
:key=
"item.id"
:label=
"item.titleZh"
:value=
"item.id"
>
</el-option>
</el-select>
</
template
>
</div>
</template>
<
script
>
import
{
getListTree
}
from
"
@/api/ecw/region
"
;
// 洲,国,省,市,区
export
default
{
props
:{
continent
:
{
type
:
Number
,
default
:
1
},
// 0 从洲开始,1从国家开始,
type
:
String
,
// 进出口类型
},
data
()
{
return
{
treeList
:
[],
selectedIndex
:[],
options
:[]
};
},
watch
:{
treeList
(){
this
.
selectedIndex
=
[]
this
.
options
=
[
this
.
treeList
]
},
selectedIndex
(
val
,
old
){
}
},
created
(){
getListTree
({
treeType
:
this
.
treeType
,
type
:
this
.
type
}).
then
((
response
)
=>
{
this
.
treeList
=
response
.
data
;
});
},
methods
:
{
},
};
</
script
>
\ No newline at end of file
src/components/RouterSelector/index.vue
0 → 100644
View file @
300373a1
<
template
>
<div>
<div
class=
"filters mb-10"
>
运输方式
<dict-selector
:type=
'DICT_TYPE.ECW_TRANSPORT_TYPE'
v-model=
"transportType"
placeholder=
"请选择运输方式"
/>
始发地:
<el-select
placeholder=
"请选择始发地"
v-model=
"exportCity"
clearable
>
<el-option
v-for=
"item in exportCityList"
:key=
"item.id"
:label=
"item.titleZh"
:value=
"item.id"
/>
</el-select>
目的地:
<el-select
placeholder=
"请选择目的地"
v-model=
"importCity"
clearable
>
<el-option
v-for=
"item in importCityList"
:key=
"item.id"
:label=
"item.titleZh"
:value=
"item.id"
/>
</el-select>
</div>
<el-row
class=
""
:gutter=
"10"
>
<template
v-for=
"item in filteredRouterList"
>
<el-col
:span=
"12"
:key=
"item.value"
>
<el-card
class=
"mb-10"
>
<div
slot=
"header"
>
{{
item
.
label
}}
<el-link
type=
"primary"
@
click.native=
"toggleHide(item.value)"
style=
"float:right"
>
{{
item
.
_hide
?
'
展开
'
:
'
折叠
'
}}
</el-link>
</div>
<el-table
v-if=
"!hideMap[item.value]"
:data=
"item.routerList"
:span-method=
"SpanMethod"
border
>
<el-table-column
label=
"始发地"
prop=
"startTitleZh"
/>
<el-table-column
label=
"目的地"
prop=
"destTitleZh"
/>
<el-table-column
label=
"渠道"
prop=
"startTitleZh"
>
<template
slot-scope=
"
{row}">
{{
row
.
channel
.
nameZh
}}
11
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
prop=
""
>
<
template
slot-scope=
"{row}"
>
<el-checkbox
:checked=
"getSelectedIndex(row) !== null"
@
change=
"toggleChecker(row, $event)"
></el-checkbox>
</
template
>
</el-table-column>
</el-table>
</el-card>
</el-col>
</template>
</el-row>
</div>
</template>
<
script
>
import
{
getChannelList
}
from
'
@/api/ecw/channel
'
import
{
getTradeCityList
}
from
'
@/api/ecw/region
'
import
{
openedRouterList
}
from
'
@/api/ecw/warehouse
'
export
default
{
data
(){
return
{
transportTypeDicts
:
this
.
getDictDatas
(
this
.
DICT_TYPE
.
ECW_TRANSPORT_TYPE
),
channelList
:[],
tradeCityList
:[],
openedRouterList
:[],
// 开放路线
transportType
:
null
,
// 运输方式
importCity
:
null
,
// 目的地(进口城市)
exportCity
:
null
,
// 始发地(出口城市)
selectedRoutes
:
[],
// 勾选的路线渠道
hideMap
:
{},
// 折叠状态
}
},
computed
:{
importCityList
(){
return
this
.
tradeCityList
.
filter
(
item
=>
item
.
type
==
1
)
},
exportCityList
(){
return
this
.
tradeCityList
.
filter
(
item
=>
item
.
type
==
2
)
},
filteredRouterList
(){
let
transportTypeList
=
[]
this
.
transportTypeDicts
.
forEach
(
item
=>
{
if
(
this
.
transportType
===
null
||
this
.
transportType
==
''
||
this
.
transportType
==
item
.
value
){
let
routerList
=
[]
this
.
openedRouterList
.
forEach
(
router
=>
{
if
(
router
.
transportType
==
item
.
value
){
routerList
.
push
(
Object
.
assign
({
_merge
:
item
.
cssClass
==
'
channel
'
?
this
.
channelList
.
length
||
1
:
1
,
channel
:
item
.
cssClass
==
'
channel
'
?
this
.
channelList
[
0
]
||
{}
:
{},
},
router
))
// 字典的cssClass =channel则表示渠道相关(空运,海空联运)
if
(
item
.
cssClass
==
'
channel
'
){
this
.
channelList
.
slice
(
1
).
forEach
(
channel
=>
{
routerList
.
push
(
Object
.
assign
({
channel
,
_merge
:
0
},
router
))
})
}
}
})
let
child
=
{
label
:
item
.
label
,
value
:
item
.
value
,
_hide
:
false
,
// 是否折叠
routerList
:
routerList
}
transportTypeList
.
push
(
child
)
}
})
return
transportTypeList
}
},
watch
:{
exportCity
(){
this
.
getOpenedRouterList
()
},
importCity
(){
this
.
getOpenedRouterList
()
},
selectedRoutes
(
val
){
this
.
$emit
(
'
input
'
,
val
)
},
value
(
val
){
this
.
selectedRoutes
=
val
||
[]
}
},
created
(){
getChannelList
().
then
(
res
=>
{
this
.
channelList
=
res
.
data
})
getTradeCityList
().
then
(
res
=>
{
this
.
tradeCityList
=
res
.
data
})
this
.
getOpenedRouterList
()
},
methods
:{
getOpenedRouterList
(){
let
params
=
{}
if
(
this
.
exportCity
){
params
.
startCityId
=
this
.
exportCity
}
if
(
this
.
importCity
){
params
.
destCityId
=
this
.
importCity
}
openedRouterList
(
params
).
then
(
res
=>
{
this
.
openedRouterList
=
res
.
data
})
},
// 切换路线选择
toggleChecker
(
router
,
selected
){
this
.
getSelectedIndex
(
router
)
/* this.selectedRoutes.forEach((item, i)=>{
if(item.lineId == router.id && item.shippingChannelId == item.channel.id){
index = i
break
}
}) */
if
(
selected
){
this
.
selectedRoutes
.
push
({
lineId
:
router
.
id
,
shippingChannelId
:
router
.
channel
.
channelId
})
}
else
{
let
index
=
this
.
getSelectedIndex
(
router
)
if
(
index
!==
null
){
this
.
selectedRoutes
.
splice
(
index
,
1
)
}
}
},
getSelectedIndex
(
router
){
let
index
=
null
this
.
selectedRoutes
.
forEach
((
item
,
i
)
=>
{
if
(
item
.
lineId
==
router
.
id
&&
item
.
shippingChannelId
==
router
.
channel
.
channelId
){
index
=
i
// break
}
})
return
index
},
SpanMethod
({
row
,
column
,
rowIndex
,
columnIndex
}){
if
(
columnIndex
<
2
)
{
return
{
rowspan
:
row
.
_merge
,
colspan
:
1
}
}
return
{
rowspan
:
1
,
colspan
:
1
}
},
// 折叠,展开
toggleHide
(
value
){
this
.
$set
(
this
.
hideMap
,
value
,
!
this
.
hideMap
[
value
])
}
}
}
</
script
>
<
style
scoped
>
.mb-10
{
margin-bottom
:
10px
}
</
style
>
\ No newline at end of file
src/components/TableForm/index.vue
View file @
300373a1
<
template
>
<
template
>
<el-card
shadow=
"never"
>
<el-card
shadow=
"never"
>
<div
slot=
"header"
class=
"clearfix card-header"
>
<div
slot=
"header"
class=
"clearfix card-header"
>
<div
class=
"title"
>
{{
title
}}
</div>
<div
class=
"
card-
title"
>
{{
title
}}
</div>
<el-button
size=
"mini"
type=
"primary"
icon=
"el-icon-plus"
@
click=
"listData.push(
{})">
</el-button>
<el-button
size=
"mini"
type=
"primary"
icon=
"el-icon-plus"
@
click=
"listData.push(
{})">
</el-button>
</div>
</div>
<el-table
:data=
"listData"
border
>
<el-table
:data=
"listData"
border
>
...
@@ -77,7 +77,7 @@ export default {
...
@@ -77,7 +77,7 @@ export default {
<
style
scoped
lang=
"scss"
>
<
style
scoped
lang=
"scss"
>
.card-header
{
.card-header
{
display
:
flex
;
display
:
flex
;
.title
{
.
card-
title
{
flex
:
1
;
flex
:
1
;
display
:
flex
;
display
:
flex
;
align-items
:
center
;
align-items
:
center
;
...
...
src/components/UploadImage/index.vue
View file @
300373a1
...
@@ -24,7 +24,7 @@ export default {
...
@@ -24,7 +24,7 @@ export default {
components
:
{},
components
:
{},
data
()
{
data
()
{
return
{
return
{
uploadImgUrl
:
process
.
env
.
VUE_APP_BASE_API
+
"
/
common
/upload
"
,
// 上传的图片服务器地址
uploadImgUrl
:
process
.
env
.
VUE_APP_BASE_API
+
"
/
app-api/file
/upload
"
,
// 上传的图片服务器地址
headers
:
{
headers
:
{
Authorization
:
"
Bearer
"
+
getToken
(),
Authorization
:
"
Bearer
"
+
getToken
(),
},
},
...
...
src/utils/dict.js
View file @
300373a1
...
@@ -67,7 +67,7 @@ export const DICT_TYPE = {
...
@@ -67,7 +67,7 @@ export const DICT_TYPE = {
ECW_PRODUCT_MATERIAL
:
'
product_material
'
,
//商品材质
ECW_PRODUCT_MATERIAL
:
'
product_material
'
,
//商品材质
ECW_PACKAGING_TYPE
:
'
packaging_type
'
,
//包装要求
ECW_PACKAGING_TYPE
:
'
packaging_type
'
,
//包装要求
ECW_CONTAINER_LOCATION
:
'
container_location
'
,
//默认货柜位置
ECW_CONTAINER_LOCATION
:
'
container_location
'
,
//默认货柜位置
ECW_SPECIAL_REQ_FOR_LINE_PRODUCTS
:
'
special_req_for_line_products
'
,
// 特殊需求
//--------ecw---------
//--------ecw---------
CUSTOMER_STATUS
:
'
customer_status
'
,
CUSTOMER_STATUS
:
'
customer_status
'
,
CUSTOMER_SOURCE
:
'
customer_source
'
,
CUSTOMER_SOURCE
:
'
customer_source
'
,
...
@@ -78,7 +78,7 @@ export const DICT_TYPE = {
...
@@ -78,7 +78,7 @@ export const DICT_TYPE = {
CUSTOMER_COMPLAINT_STATUS
:
'
customer_complaint_status
'
,
CUSTOMER_COMPLAINT_STATUS
:
'
customer_complaint_status
'
,
ECW_MESSAGE_LEAVE_TYPE
:
'
ecw_message_leave_type
'
,
ECW_MESSAGE_LEAVE_TYPE
:
'
ecw_message_leave_type
'
,
ECW_MESSAGE_LEAVE_STATUS
:
'
ecw_message_leave_status
'
,
ECW_MESSAGE_LEAVE_STATUS
:
'
ecw_message_leave_status
'
,
PWD_TYPE
:
'
pwd_type
'
PWD_TYPE
:
'
pwd_type
'
,
}
}
...
...
src/utils/index.js
View file @
300373a1
...
@@ -427,3 +427,11 @@ export function isNumberStr(str) {
...
@@ -427,3 +427,11 @@ export function isNumberStr(str) {
return
/^
[
+-
]?(
0|
([
1-9
]\d
*
))(\.\d
+
)?
$/g
.
test
(
str
)
return
/^
[
+-
]?(
0|
([
1-9
]\d
*
))(\.\d
+
)?
$/g
.
test
(
str
)
}
}
// 将数组变成object
export
function
arrryToKeyedObjectBy
(
arr
,
key
){
let
obj
=
{}
arr
.
forEach
(
item
=>
{
obj
[
item
[
key
]]
=
item
})
return
obj
}
\ No newline at end of file
src/views/ecw/channel/edit.vue
View file @
300373a1
This diff is collapsed.
Click to expand it.
src/views/ecw/channel/index.vue
View file @
300373a1
...
@@ -3,52 +3,51 @@
...
@@ -3,52 +3,51 @@
<!-- 搜索工作栏 -->
<!-- 搜索工作栏 -->
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"68px"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"68px"
>
<el-form-item
label=
"名称
-中文
"
prop=
"nameZh"
>
<el-form-item
label=
"名称"
prop=
"nameZh"
>
<el-input
v-model=
"queryParams.nameZh"
placeholder=
"请输入名称
-中文
"
clearable
@
keyup.enter.native=
"handleQuery"
/>
<el-input
v-model=
"queryParams.nameZh"
placeholder=
"请输入名称"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"名称-英文"
prop=
"nameEn"
>
<
!--
<
el-form-item
label=
"名称-英文"
prop=
"nameEn"
>
<el-input
v-model=
"queryParams.nameEn"
placeholder=
"请输入名称-英文"
clearable
@
keyup.enter.native=
"handleQuery"
/>
<el-input
v-model=
"queryParams.nameEn"
placeholder=
"请输入名称-英文"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
-->
<el-form-item
label=
"内部名称"
prop=
"internalNameZh"
>
<el-input
v-model=
"queryParams.internalNameZh"
placeholder=
"请输入内部名称"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"内部名称-中文"
prop=
"internalNameZh"
>
<!--
<el-form-item
label=
"内部名称-英文"
prop=
"internalNameEn"
>
<el-input
v-model=
"queryParams.internalNameZh"
placeholder=
"请输入内部名称-中文"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"内部名称-英文"
prop=
"internalNameEn"
>
<el-input
v-model=
"queryParams.internalNameEn"
placeholder=
"请输入内部名称-英文"
clearable
@
keyup.enter.native=
"handleQuery"
/>
<el-input
v-model=
"queryParams.internalNameEn"
placeholder=
"请输入内部名称-英文"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
</el-form-item>
-->
<el-form-item
label=
"类型编码"
prop=
"typeNumber"
>
<el-form-item
label=
"类型编码"
prop=
"typeNumber"
>
<el-input
v-model=
"queryParams.typeNumber"
placeholder=
"请输入类型编码"
clearable
@
keyup.enter.native=
"handleQuery"
/>
<el-input
v-model=
"queryParams.typeNumber"
placeholder=
"请输入类型编码"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"仓库ID字符串"
prop=
"warehouseIds"
>
<
!--
<
el-form-item
label=
"仓库ID字符串"
prop=
"warehouseIds"
>
<el-input
v-model=
"queryParams.warehouseIds"
placeholder=
"请输入仓库ID字符串"
clearable
@
keyup.enter.native=
"handleQuery"
/>
<el-input
v-model=
"queryParams.warehouseIds"
placeholder=
"请输入仓库ID字符串"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
</el-form-item>
-->
<el-form-item
label=
"排序"
prop=
"sort"
>
<
!--
<
el-form-item
label=
"排序"
prop=
"sort"
>
<el-input
v-model=
"queryParams.sort"
placeholder=
"请输入排序"
clearable
@
keyup.enter.native=
"handleQuery"
/>
<el-input
v-model=
"queryParams.sort"
placeholder=
"请输入排序"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
</el-form-item>
-->
<el-form-item
label=
"快递ID"
prop=
"expressId"
>
<el-form-item
label=
"快递ID"
prop=
"expressId"
>
<el-input
v-model=
"queryParams.expressId"
placeholder=
"请输入快递ID"
clearable
@
keyup.enter.native=
"handleQuery"
/>
<el-input
v-model=
"queryParams.expressId"
placeholder=
"请输入快递ID"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"预计到达时间(天)"
>
<el-form-item
label=
"到达时间"
>
<el-date-picker
v-model=
"dateRangeEtaTime"
style=
"width: 240px"
value-format=
"yyyy-MM-dd"
<el-input
v-model=
"queryParams.dateRangeEtaTime"
placeholder=
"预计到达天数"
clearable
@
keyup.enter.native=
"handleQuery"
/>
type=
"daterange"
range-separator=
"-"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"渠道代理"
prop=
"channelAgent"
>
<el-form-item
label=
"渠道代理"
prop=
"channelAgent"
>
<el-input
v-model=
"queryParams.channelAgent"
placeholder=
"请输入渠道代理"
clearable
@
keyup.enter.native=
"handleQuery"
/>
<el-input
v-model=
"queryParams.channelAgent"
placeholder=
"请输入渠道代理"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"备注
-中文
"
prop=
"remarksZh"
>
<el-form-item
label=
"备注"
prop=
"remarksZh"
>
<el-input
v-model=
"queryParams.remarksZh"
placeholder=
"请输入备注-中文"
clearable
@
keyup.enter.native=
"handleQuery"
/>
<el-input
v-model=
"queryParams.remarksZh"
placeholder=
"请输入备注-中文"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"备注-英文"
prop=
"remarksEn"
>
<
!--
<
el-form-item
label=
"备注-英文"
prop=
"remarksEn"
>
<el-input
v-model=
"queryParams.remarksEn"
placeholder=
"请输入备注-英文"
clearable
@
keyup.enter.native=
"handleQuery"
/>
<el-input
v-model=
"queryParams.remarksEn"
placeholder=
"请输入备注-英文"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
</el-form-item>
-->
<el-form-item
label=
"状态(0:禁用 1:启用)"
prop=
"status"
>
<
!--
<
el-form-item
label=
"状态(0:禁用 1:启用)"
prop=
"status"
>
<el-select
v-model=
"queryParams.status"
placeholder=
"请选择状态(0:禁用 1:启用)"
clearable
size=
"small"
>
<el-select
v-model=
"queryParams.status"
placeholder=
"请选择状态(0:禁用 1:启用)"
clearable
size=
"small"
>
<el-option
label=
"请选择字典生成"
value=
""
/>
<el-option
label=
"请选择字典生成"
value=
""
/>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
-->
<el-form-item
label=
"创建时间"
>
<
!--
<
el-form-item
label=
"创建时间"
>
<el-date-picker
v-model=
"dateRangeCreateTime"
style=
"width: 240px"
value-format=
"yyyy-MM-dd"
<el-date-picker
v-model=
"dateRangeCreateTime"
style=
"width: 240px"
value-format=
"yyyy-MM-dd"
type=
"daterange"
range-separator=
"-"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
/>
type=
"daterange"
range-separator=
"-"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
/>
</el-form-item>
</el-form-item>
-->
<el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"handleQuery"
>
搜索
</el-button>
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"handleQuery"
>
搜索
</el-button>
<el-button
icon=
"el-icon-refresh"
@
click=
"resetQuery"
>
重置
</el-button>
<el-button
icon=
"el-icon-refresh"
@
click=
"resetQuery"
>
重置
</el-button>
...
@@ -71,19 +70,19 @@
...
@@ -71,19 +70,19 @@
<!-- 列表 -->
<!-- 列表 -->
<el-table
v-loading=
"loading"
:data=
"list"
>
<el-table
v-loading=
"loading"
:data=
"list"
>
<el-table-column
label=
"渠道ID"
align=
"center"
prop=
"channelId"
/>
<el-table-column
label=
"渠道ID"
align=
"center"
prop=
"channelId"
/>
<el-table-column
label=
"名称
-中文
"
align=
"center"
prop=
"nameZh"
/>
<el-table-column
label=
"名称"
align=
"center"
prop=
"nameZh"
/>
<
el-table-column
label=
"名称-英文"
align=
"center"
prop=
"nameEn"
/
>
<
!--
<el-table-column
label=
"名称-英文"
align=
"center"
prop=
"nameEn"
/>
--
>
<el-table-column
label=
"内部名称
-中文
"
align=
"center"
prop=
"internalNameZh"
/>
<el-table-column
label=
"内部名称"
align=
"center"
prop=
"internalNameZh"
/>
<
el-table-column
label=
"内部名称-英文"
align=
"center"
prop=
"internalNameEn"
/
>
<
!--
<el-table-column
label=
"内部名称-英文"
align=
"center"
prop=
"internalNameEn"
/>
--
>
<el-table-column
label=
"类型编码"
align=
"center"
prop=
"typeNumber"
/>
<el-table-column
label=
"类型编码"
align=
"center"
prop=
"typeNumber"
/>
<el-table-column
label=
"仓库ID字符串"
align=
"center"
prop=
"warehouseIds"
/>
<el-table-column
label=
"仓库ID字符串"
align=
"center"
prop=
"warehouseIds"
/>
<el-table-column
label=
"排序"
align=
"center"
prop=
"sort"
/>
<el-table-column
label=
"排序"
align=
"center"
prop=
"sort"
/>
<el-table-column
label=
"快递ID"
align=
"center"
prop=
"expressId"
/>
<el-table-column
label=
"快递ID"
align=
"center"
prop=
"expressId"
/>
<el-table-column
label=
"预计
到达
时间(天)"
align=
"center"
prop=
"etaTime"
/>
<el-table-column
label=
"预计时间(天)"
align=
"center"
prop=
"etaTime"
/>
<el-table-column
label=
"渠道代理"
align=
"center"
prop=
"channelAgent"
/>
<el-table-column
label=
"渠道代理"
align=
"center"
prop=
"channelAgent"
/>
<el-table-column
label=
"备注
-中文
"
align=
"center"
prop=
"remarksZh"
/>
<el-table-column
label=
"备注"
align=
"center"
prop=
"remarksZh"
/>
<
el-table-column
label=
"备注-英文"
align=
"center"
prop=
"remarksEn"
/
>
<
!--
<el-table-column
label=
"备注-英文"
align=
"center"
prop=
"remarksEn"
/>
--
>
<
el-table-column
label=
"状态(0:禁用 1:启用)"
align=
"center"
prop=
"status"
/
>
<
!--
<el-table-column
label=
"状态"
align=
"center"
prop=
"status"
/>
--
>
<el-table-column
label=
"创建时间"
align=
"center"
prop=
"createTime"
width=
"180"
>
<el-table-column
label=
"创建时间"
align=
"center"
prop=
"createTime"
width=
"180"
>
<template
slot-scope=
"scope"
>
<template
slot-scope=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
createTime
)
}}
</span>
<span>
{{
parseTime
(
scope
.
row
.
createTime
)
}}
</span>
...
@@ -160,7 +159,7 @@ export default {
...
@@ -160,7 +159,7 @@ export default {
};
};
},
},
created
()
{
created
()
{
//
this.getList();
this
.
getList
();
},
},
methods
:
{
methods
:
{
/** 查询列表 */
/** 查询列表 */
...
...
src/views/ecw/product/index.vue
View file @
300373a1
...
@@ -388,10 +388,13 @@ export default {
...
@@ -388,10 +388,13 @@ export default {
/**跳转价格管理 */
/**跳转价格管理 */
toPriceManager
(
row
)
{
toPriceManager
(
row
)
{
localStorage
.
setItem
(
'
product
'
,
JSON
.
stringify
(
row
));
/*
localStorage.setItem('product', JSON.stringify(row));
localStorage
.
setItem
(
'
typeList
'
,
JSON
.
stringify
(
this
.
typeList
));
localStorage.setItem('typeList', JSON.stringify(this.typeList));
*/
this
.
$router
.
push
({
this
.
$router
.
push
({
name
:
'
ProductPrice
'
name
:
'
ProductPrice
'
,
query
:
{
product_id
:
row
.
id
}
})
})
},
},
...
...
src/views/ecw/productPrice/edit.vue
0 → 100644
View file @
300373a1
This diff is collapsed.
Click to expand it.
src/views/ecw/productPrice/index.vue
View file @
300373a1
...
@@ -2,24 +2,30 @@
...
@@ -2,24 +2,30 @@
<div
class=
"app-container"
>
<div
class=
"app-container"
>
<!-- 搜索工作栏 -->
<!-- 搜索工作栏 -->
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"68px"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"68px"
>
<el-form-item
label=
"始发地"
prop=
"startCityId"
>
<el-form-item
label=
"运输方式"
prop=
"transportType"
>
<!--
<el-select
v-model=
"queryParams.transportType"
clearable
>
<el-option
v-for=
"dict in transportDatas"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
-->
<dict-selector
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
v-model=
"queryParams.transportType"
clearable
/>
</el-form-item>
<el-form-item
label=
"始发地"
prop=
"startCityId"
>
<el-select
v-model=
"queryParams.startCityId"
clearable
>
<el-select
v-model=
"queryParams.startCityId"
clearable
>
<el-option
v-for=
"city in startCityList"
:key=
"city.id"
:label=
"city.titleZh"
:value=
"city.id"
/>
<el-option
v-for=
"city in startCityList"
:key=
"city.id"
:label=
"city.titleZh"
:value=
"city.id"
/>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"目的地"
prop=
"destCityId"
>
<el-form-item
label=
"目的地"
prop=
"destCityId"
>
<el-select
v-model=
"queryParams.destCityId"
clearable
>
<el-select
v-model=
"queryParams.destCityId"
clearable
>
<el-option
v-for=
"city in destCityList"
:key=
"city.id"
:label=
"city.titleZh"
:value=
"city.id"
/>
<el-option
v-for=
"city in destCityList"
:key=
"city.id"
:label=
"city.titleZh"
:value=
"city.id"
/>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"空运渠道"
prop=
"shippingChannelId"
>
<el-form-item
label=
"运输方式"
prop=
"transportType"
>
<el-select
v-model=
"queryParams.shippingChannelId"
clearable
>
<el-select
v-model=
"queryParams.transportType"
clearable
>
<el-option
v-for=
"item in channelList"
:key=
"item.id"
:label=
"item.nameZh"
:value=
"item.channelId"
/>
<el-option
v-for=
"dict in transportDatas"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"handleQuery"
>
搜索
</el-button>
<el-button
type=
"primary"
icon=
"el-icon-search"
@
click=
"handleQuery"
>
搜索
</el-button>
...
@@ -42,7 +48,7 @@
...
@@ -42,7 +48,7 @@
<!-- 列表 -->
<!-- 列表 -->
<el-table
v-loading=
"loading"
:data=
"list"
>
<el-table
v-loading=
"loading"
:data=
"list"
>
<el-table-column
label=
"序号"
type=
"index
"
width=
"50"
/>
<el-table-column
label=
"序号"
prop=
"id
"
width=
"50"
/>
<el-table-column
prop=
"tansportType"
label=
"运输方式"
align=
"center"
width=
"100"
>
<el-table-column
prop=
"tansportType"
label=
"运输方式"
align=
"center"
width=
"100"
>
<template
slot-scope=
"scope"
>
<template
slot-scope=
"scope"
>
...
@@ -51,7 +57,13 @@
...
@@ -51,7 +57,13 @@
</div>
</div>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
prop=
"tansportType"
label=
"出货渠道"
align=
"center"
width=
"100"
>
<
template
slot-scope=
"{row}"
>
<div>
{{
channelName
(
row
.
shippingChannelId
)
}}
</div>
</
template
>
</el-table-column>
<el-table-column
prop=
"startDestTitle"
label=
"始发地/目的地"
align=
"center"
>
<el-table-column
prop=
"startDestTitle"
label=
"始发地/目的地"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<div>
<div>
...
@@ -291,10 +303,13 @@ import { getDictDatas, DICT_TYPE } from '@/utils/dict';
...
@@ -291,10 +303,13 @@ import { getDictDatas, DICT_TYPE } from '@/utils/dict';
import
{
getCurrencyList
}
from
'
@/api/ecw/currency
'
;
import
{
getCurrencyList
}
from
'
@/api/ecw/currency
'
;
import
{
getUnitList
}
from
'
@/api/ecw/unit
'
;
import
{
getUnitList
}
from
'
@/api/ecw/unit
'
;
import
{
AuditStatusEnum
}
from
'
@/utils/constants
'
import
{
AuditStatusEnum
}
from
'
@/utils/constants
'
import
{
getChannelList
}
from
'
@/api/ecw/channel
'
;
import
DictTag
from
'
@/components/DictTag
'
import
{
arrryToKeyedObjectBy
}
from
'
@/utils/index
'
export
default
{
export
default
{
name
:
"
ProductPrice
"
,
name
:
"
ProductPrice
"
,
components
:
{
components
:
{
DictTag
},
},
data
()
{
data
()
{
return
{
return
{
...
@@ -305,7 +320,7 @@ export default {
...
@@ -305,7 +320,7 @@ export default {
routedList
:
[],
//已开头路线列表
routedList
:
[],
//已开头路线列表
currecyList
:
[],
//货币列表
currecyList
:
[],
//货币列表
unitList
:
[],
//单位列表
unitList
:
[],
//单位列表
channelList
:[]
,
// 渠道
routeParams
:{},
//路线搜索条件
routeParams
:{},
//路线搜索条件
isUpdate
:
false
,
//更新操作
isUpdate
:
false
,
//更新操作
...
@@ -337,12 +352,14 @@ export default {
...
@@ -337,12 +352,14 @@ export default {
pageSize
:
10
,
pageSize
:
10
,
productId
:
null
,
productId
:
null
,
warehouseLineId
:
null
,
warehouseLineId
:
null
,
transportType
:
null
,
transportPrice
:
null
,
transportPrice
:
null
,
transportPriceUnit
:
null
,
transportPriceUnit
:
null
,
transportVolumeUnit
:
null
,
transportVolumeUnit
:
null
,
clearancePrice
:
null
,
clearancePrice
:
null
,
clearancePriceUnit
:
null
,
clearancePriceUnit
:
null
,
clearanceVolumeUnit
:
null
,
clearanceVolumeUnit
:
null
,
shippingChannelId
:
null
,
status
:
null
,
status
:
null
,
},
},
// 表单参数
// 表单参数
...
@@ -375,14 +392,23 @@ export default {
...
@@ -375,14 +392,23 @@ export default {
},
},
computed
:
{
computed
:
{
keyedChannel
(){
return
arrryToKeyedObjectBy
(
this
.
channelList
,
'
channelId
'
)
},
channelName
(){
return
id
=>
{
return
this
.
keyedChannel
[
id
]
?
this
.
keyedChannel
[
id
].
nameZh
:
null
}
},
transportName
()
{
transportName
()
{
return
transportType
=>
{
return
transportType
=>
{
for
(
let
index
in
this
.
transportDatas
)
{
return
this
.
getDictDataLabel
(
this
.
DICT_TYPE
.
ECW_TRANSPORT_TYPE
,
transportType
)
/* for(let index in this.transportDatas) {
let transportItem = this.transportDatas[index];
let transportItem = this.transportDatas[index];
if(transportItem.value == transportType) {
if(transportItem.value == transportType) {
return transportItem.label;
return transportItem.label;
}
}
}
}
*/
}
}
},
},
...
@@ -444,7 +470,7 @@ export default {
...
@@ -444,7 +470,7 @@ export default {
}
else
{
}
else
{
this
.
getTypeList
();
this
.
getTypeList
();
}
}
this
.
getChannelList
()
this
.
getList
();
this
.
getList
();
//获取城市列表
//获取城市列表
this
.
getAllCityList
();
this
.
getAllCityList
();
...
@@ -457,6 +483,9 @@ export default {
...
@@ -457,6 +483,9 @@ export default {
methods
:
{
methods
:
{
getChannelList
(){
getChannelList
().
then
(
res
=>
this
.
channelList
=
res
.
data
)
},
/** 获取产品类型列表 */
/** 获取产品类型列表 */
getTypeList
()
{
getTypeList
()
{
getProductTypeList
().
then
(
response
=>
{
getProductTypeList
().
then
(
response
=>
{
...
@@ -581,6 +610,8 @@ export default {
...
@@ -581,6 +610,8 @@ export default {
},
},
/** 新增按钮操作 */
/** 新增按钮操作 */
handleAdd
()
{
handleAdd
()
{
return
this
.
$router
.
push
(
'
product-price/edit?
'
+
(
new
URLSearchParams
(
this
.
$route
.
query
)).
toString
())
this
.
reset
();
this
.
reset
();
this
.
routeParams
=
{};
this
.
routeParams
=
{};
this
.
getOpenedRouterList
();
this
.
getOpenedRouterList
();
...
@@ -613,6 +644,7 @@ export default {
...
@@ -613,6 +644,7 @@ export default {
},
},
/** 修改按钮操作 */
/** 修改按钮操作 */
handleUpdate
(
row
)
{
handleUpdate
(
row
)
{
return
this
.
$router
.
push
(
'
product-price/edit?id=
'
+
row
.
id
)
this
.
reset
();
this
.
reset
();
const
id
=
row
.
id
;
const
id
=
row
.
id
;
let
lineId
=
row
.
warehouseLineId
;
let
lineId
=
row
.
warehouseLineId
;
...
...
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