Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
self-support
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
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
李俊赕
self-support
Commits
f0018ebd
Commit
f0018ebd
authored
Aug 31, 2021
by
Damon
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev-1.5.0' into test
parents
39076eda
e3da77db
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
424 additions
and
255 deletions
+424
-255
w-address.vue
src/components/w-address/w-address.vue
+5
-1
pages.json
src/pages.json
+9
-0
addSite.vue
src/pages/mine/address/addSite.vue
+28
-16
index.vue
src/pages/mine/address/index.vue
+33
-126
document-tag.vue
src/pages/order/document-tag.vue
+17
-6
parts.vue
src/pages/order/parts.vue
+138
-97
addParts.vue
src/pages/parts/addParts.vue
+6
-4
address.vue
src/pages/parts/address.vue
+184
-0
application.vue
src/pages/parts/application.vue
+4
-5
No files found.
src/components/w-address/w-address.vue
View file @
f0018ebd
...
@@ -13,7 +13,7 @@
...
@@ -13,7 +13,7 @@
<u-icon
name=
"checkmark-circle"
:color=
"isDefault ? '#2272FF' : '#999'"
size=
"32"
></u-icon>
<u-icon
name=
"checkmark-circle"
:color=
"isDefault ? '#2272FF' : '#999'"
size=
"32"
></u-icon>
<text
class=
"txt"
>
默认地址
</text>
<text
class=
"txt"
>
默认地址
</text>
</view>
</view>
<view
@
click=
"$u.throttle(remove, 500)"
>
<view
@
click=
"$u.throttle(remove, 500)"
v-if=
"showRemove"
>
<text
class=
"txt"
>
删除
</text>
<text
class=
"txt"
>
删除
</text>
</view>
</view>
</view>
</view>
...
@@ -45,6 +45,10 @@ export default {
...
@@ -45,6 +45,10 @@ export default {
siteType
:
{
siteType
:
{
type
:
String
,
type
:
String
,
default
:
'edit'
default
:
'edit'
},
showRemove
:
{
type
:
Boolean
,
default
:
false
}
}
},
},
data
()
{
data
()
{
...
...
src/pages.json
View file @
f0018ebd
...
@@ -603,6 +603,15 @@
...
@@ -603,6 +603,15 @@
"disableScroll"
:
true
"disableScroll"
:
true
}
}
},
},
{
"path"
:
"address"
,
"style"
:
{
"navigationBarTitleText"
:
"收货地址"
,
"enablePullDownRefresh"
:
false
,
"navigationStyle"
:
"custom"
,
"disableScroll"
:
true
}
},
{
{
"path"
:
"addParts"
,
"path"
:
"addParts"
,
"style"
:
{
"style"
:
{
...
...
src/pages/mine/address/addSite.vue
View file @
f0018ebd
...
@@ -274,15 +274,13 @@ export default {
...
@@ -274,15 +274,13 @@ export default {
}
else
{
}
else
{
if
(
this
.
$u
.
test
.
isEmpty
(
this
.
siteInfo
))
{
if
(
this
.
$u
.
test
.
isEmpty
(
this
.
siteInfo
))
{
let
params
=
{
let
params
=
{
mobile
:
this
.
mobile
,
updateFlag
:
true
,
name
:
this
.
name
,
provinceName
:
this
.
region
[
0
],
provinceName
:
this
.
region
[
0
],
cityName
:
this
.
region
[
1
],
cityName
:
this
.
region
[
1
],
districtName
:
this
.
region
[
2
],
districtName
:
this
.
region
[
2
],
address
:
this
.
region
.
join
(
""
)
+
this
.
address
address
:
this
.
region
.
join
(
""
)
+
this
.
address
};
};
if
(
this
.
id
)
params
.
id
=
this
.
id
let
res
=
await
this
.
$u
.
api
.
updateAddress
(
params
);
let
res
=
await
this
.
$u
.
api
.
saveMyAddress
(
params
);
if
(
res
&&
res
.
code
==
200
)
{
if
(
res
&&
res
.
code
==
200
)
{
this
.
$u
.
route
({
type
:
'back'
});
this
.
$u
.
route
({
type
:
'back'
});
this
.
show
=
false
this
.
show
=
false
...
@@ -292,23 +290,37 @@ export default {
...
@@ -292,23 +290,37 @@ export default {
}
}
}
}
},
},
commitSite
()
{
async
commitSite
()
{
if
(
!
this
.
validateForm
())
{
if
(
!
this
.
validateForm
())
{
return
false
return
false
}
}
// 获取当前页面栈的实例,以数组形式按栈的顺序给出,第一个元素为首页,最后一个元素为当前页面。
let
params
=
{
var
pages
=
getCurrentPages
();
var
prevPage
=
pages
[
pages
.
length
-
2
];
//上一个页面
//prevPage.route获取上一页面的页面路径
let
address
=
this
.
region
.
join
(
""
)
+
this
.
address
let
site
=
{
name
:
this
.
name
,
mobile
:
this
.
mobile
,
mobile
:
this
.
mobile
,
address
:
address
,
name
:
this
.
name
,
region
:
this
.
region
provinceName
:
this
.
region
[
0
],
cityName
:
this
.
region
[
1
],
districtName
:
this
.
region
[
2
],
address
:
this
.
region
.
join
(
""
)
+
this
.
address
};
if
(
this
.
id
)
params
.
id
=
this
.
id
let
res
=
await
this
.
$u
.
api
.
saveMyAddress
(
params
);
if
(
res
&&
res
.
code
==
200
)
{
let
pages
=
getCurrentPages
()
let
prevPage
=
pages
[
pages
.
length
-
2
]
if
(
prevPage
.
route
===
'pages/parts/application'
)
{
let
address
=
this
.
region
.
join
(
""
)
+
this
.
address
let
site
=
{
name
:
this
.
name
,
mobile
:
this
.
mobile
,
address
:
address
,
region
:
this
.
region
,
id
:
this
.
id
}
prevPage
.
$vm
.
updateSite
(
site
)
}
this
.
show
=
false
this
.
$u
.
route
({
type
:
'back'
});
}
}
prevPage
.
$vm
.
updateSite
(
site
)
this
.
$u
.
route
({
type
:
'back'
});
}
}
}
}
};
};
...
...
src/pages/mine/address/index.vue
View file @
f0018ebd
<
template
>
<
template
>
<view
class=
"
u-flex
address-wrap"
>
<view
class=
"address-wrap"
>
<w-navbar
title=
"收货地址"
></w-navbar>
<w-navbar
title=
"收货地址"
></w-navbar>
<view
class=
"lists"
>
<view
class=
"body"
v-if=
"hasAdderss"
>
<view
class=
"body"
v-for=
"(item, index) in lists"
:key=
"item.id"
>
<w-address
@
editSite=
"toAddSite"
:info=
"info"
:is-default=
"true"
/>
<w-address
@
editSite=
"toEditSite(item)"
@
selectSite=
"selectSite(item)"
@
setDefault=
"setDefault(item, index)"
@
remove=
"remove(item)"
:info=
"item"
:is-default=
"item.enable === 1"
/>
</view>
</view>
<view
class=
"addSite"
@
tap=
"toAddSite"
>
<view
class=
"add"
>
新建收货地址
</view>
</view>
</view>
</view>
</view>
</
template
>
</
template
>
...
@@ -23,24 +15,31 @@ export default {
...
@@ -23,24 +15,31 @@ export default {
background
:
{
background
:
{
backgroundColor
:
'none'
backgroundColor
:
'none'
},
},
lists
:
[],
info
:
{
type
:
''
name
:
''
,
mobile
:
''
,
address
:
''
,
region
:
[],
},
};
};
},
},
computed
:
{
computed
:
{
editPen
()
{
editPen
()
{
return
process
.
uniEnv
.
qn_base_url
+
'icon/edit-pen.png'
return
process
.
uniEnv
.
qn_base_url
+
'icon/edit-pen.png'
},
},
submitBtn
()
{
hasAdderss
()
{
return
this
.
info
.
address
},
addressInfo
()
{
return
{
return
{
color
:
'#FFFFFF'
,
name
:
this
.
name
,
backgroundColor
:
'#2272FF'
mobile
:
this
.
mobile
,
address
:
this
.
address
,
region
:
this
.
region
||
[],
}
}
}
}
},
},
onLoad
(
options
)
{
onLoad
()
{
if
(
options
)
this
.
type
=
options
.
type
getApp
().
trackPage
(
'我的收获地址页'
)
getApp
().
trackPage
(
'我的收获地址页'
)
},
},
onShow
()
{
onShow
()
{
...
@@ -54,97 +53,32 @@ export default {
...
@@ -54,97 +53,32 @@ export default {
this
.
getMineSite
()
this
.
getMineSite
()
},
},
getMineSite
()
{
getMineSite
()
{
this
.
$u
.
api
.
get
My
Address
().
then
((
res
)
=>
{
this
.
$u
.
api
.
get
Site
Address
().
then
((
res
)
=>
{
const
data
=
res
.
data
const
data
=
res
.
data
if
(
data
.
length
>
0
)
{
if
(
res
.
code
==
200
&&
!
this
.
$u
.
test
.
isEmpty
(
data
))
{
this
.
lists
=
data
.
map
(
v
=>
{
let
region
=
[]
let
region
=
[]
if
(
data
.
provinceName
&&
data
.
cityName
&&
data
.
districtName
)
{
if
(
v
.
provinceName
&&
v
.
cityName
&&
v
.
districtName
)
{
region
=
[
data
.
provinceName
,
data
.
cityName
,
data
.
districtName
]
region
=
[
v
.
provinceName
,
v
.
cityName
,
v
.
districtName
]
}
v
.
region
=
region
return
v
})
}
})
},
toAddSite
()
{
this
.
$u
.
route
({
url
:
'pages/mine/address/addSite'
,
params
:
{
type
:
'add'
}
})
},
setDefault
(
val
)
{
this
.
$u
.
api
.
setDefaultAddress
({
id
:
val
.
id
}).
then
((
res
)
=>
{
if
(
res
.
code
===
200
)
{
this
.
lists
.
forEach
(
v
=>
{
this
.
$set
(
v
,
'enable'
,
v
.
id
===
val
.
id
?
1
:
0
)
})
if
(
this
.
type
===
'parts'
)
{
let
pages
=
getCurrentPages
()
let
prevPage
=
pages
[
pages
.
length
-
2
]
prevPage
.
$vm
.
loadAddress
()
}
}
}
this
.
info
=
{
})
name
:
data
.
name
,
},
mobile
:
data
.
mobile
,
remove
(
val
)
{
address
:
data
.
address
,
uni
.
showModal
({
region
:
region
,
title
:
'温馨提示'
,
content
:
'确定要删除该收货地址?'
,
success
:
(
res
)
=>
{
if
(
res
.
confirm
)
{
uni
.
showLoading
({
title
:
'加载中'
,
})
this
.
$u
.
api
.
deleteMyAddress
({
id
:
val
.
id
}).
then
((
res
)
=>
{
uni
.
hideLoading
()
if
(
res
.
code
===
200
)
{
this
.
getMineSite
()
}
else
{
uni
.
showToast
({
icon
:
"none"
,
title
:
res
.
message
,
})
}
})
}
}
}
}
})
})
},
},
selectSite
(
val
)
{
toAddSite
(
title
){
if
(
this
.
type
===
'parts'
)
{
const
region
=
this
.
info
.
region
.
join
(
'-'
)
let
pages
=
getCurrentPages
();
let
prevPage
=
pages
[
pages
.
length
-
2
];
//上一个页面
let
address
=
val
.
region
.
join
(
""
)
+
val
.
address
let
site
=
{
name
:
val
.
name
,
mobile
:
val
.
mobile
,
address
:
address
,
region
:
val
.
region
,
id
:
val
.
id
}
prevPage
.
$vm
.
updateSite
(
site
)
this
.
$u
.
route
({
type
:
'back'
})
}
else
{
this
.
toEditSite
(
val
)
}
},
toEditSite
(
val
){
const
region
=
val
.
region
.
join
(
'-'
)
this
.
$u
.
route
({
this
.
$u
.
route
({
url
:
'pages/mine/address/addSite'
,
url
:
'pages/mine/address/addSite'
,
params
:
{
params
:
{
type
:
'edit'
,
type
:
'edit'
,
region
:
region
,
region
:
region
,
name
:
val
.
name
,
name
:
this
.
info
.
name
,
mobile
:
val
.
mobile
,
mobile
:
this
.
info
.
mobile
,
address
:
val
.
address
,
address
:
this
.
info
.
address
,
id
:
val
.
id
}
}
})
})
}
}
...
@@ -155,13 +89,6 @@ export default {
...
@@ -155,13 +89,6 @@ export default {
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
.address-wrap
{
.address-wrap
{
background-color
:
#F4F5F7
;
background-color
:
#F4F5F7
;
flex-direction
:column
;
height
:
100vh
;
.lists
{
width
:
100%
;
flex
:
1
;
overflow-y
:auto
;
}
}
}
.body
{
.body
{
padding
:
30rpx
;
padding
:
30rpx
;
...
@@ -169,24 +96,4 @@ export default {
...
@@ -169,24 +96,4 @@ export default {
border-radius
:
12rpx
;
border-radius
:
12rpx
;
background-color
:
#FFFFFF
;
background-color
:
#FFFFFF
;
}
}
.addSite
{
display
:
flex
;
justify-content
:
space-around
;
width
:
600rpx
;
height
:
100rpx
;
line-height
:
100rpx
;
margin
:
50rpx
0
;
background-color
:
#2272FF
;
border-radius
:
60rpx
;
font-size
:
30rpx
;
.add
{
display
:
flex
;
align-items
:
center
;
color
:
#ffffff
;
.icon
{
margin-right
:
10rpx
;
}
}
}
</
style
>
</
style
>
src/pages/order/document-tag.vue
View file @
f0018ebd
...
@@ -21,6 +21,7 @@
...
@@ -21,6 +21,7 @@
return
{
return
{
labels
:
[],
// 标签列表
labels
:
[],
// 标签列表
selectedId
:
''
,
// 已选中标签的id
selectedId
:
''
,
// 已选中标签的id
classifyId
:
''
,
type
:
'1'
,
// '1': '合作商', '2': '品牌', '9': '物料品牌'
type
:
'1'
,
// '1': '合作商', '2': '品牌', '9': '物料品牌'
};
};
},
},
...
@@ -28,6 +29,9 @@
...
@@ -28,6 +29,9 @@
if
(
e
&&
e
.
selectedId
)
{
// 有已选中标签的id
if
(
e
&&
e
.
selectedId
)
{
// 有已选中标签的id
this
.
selectedId
=
e
.
selectedId
this
.
selectedId
=
e
.
selectedId
}
}
if
(
e
&&
e
.
classifyId
)
{
// 有已选中标签的id
this
.
classifyId
=
e
.
classifyId
}
if
(
e
&&
e
.
categoryId
)
{
// 有品类
if
(
e
&&
e
.
categoryId
)
{
// 有品类
this
.
type
=
'9'
this
.
type
=
'9'
this
.
getBrandList
(
e
.
categoryId
)
this
.
getBrandList
(
e
.
categoryId
)
...
@@ -51,14 +55,14 @@
...
@@ -51,14 +55,14 @@
return
{
return
{
'1'
:
'id'
,
// 合作商
'1'
:
'id'
,
// 合作商
'2'
:
'id'
,
// 品牌
'2'
:
'id'
,
// 品牌
'9'
:
'
brandI
d'
// 物料品牌
'9'
:
'
i
d'
// 物料品牌
}
}
},
},
nameKeys
()
{
nameKeys
()
{
return
{
return
{
'1'
:
'name'
,
// 合作商
'1'
:
'name'
,
// 合作商
'2'
:
'name'
,
// 品牌
'2'
:
'name'
,
// 品牌
'9'
:
'
brandN
ame'
// 物料品牌
'9'
:
'
n
ame'
// 物料品牌
}
}
}
}
},
},
...
@@ -97,10 +101,17 @@
...
@@ -97,10 +101,17 @@
},
},
// 获取物料品牌
// 获取物料品牌
getBrandList
(
categoryId
)
{
getBrandList
(
categoryId
)
{
this
.
$u
.
api
.
getBrandList
({
categoryId
:
categoryId
}).
then
(
res
=>
{
this
.
$u
.
api
.
getBrandList
({
categoryId
:
categoryId
,
classifyId
:
this
.
classifyId
}).
then
(
res
=>
{
if
(
res
.
code
===
200
)
{
if
(
res
.
code
===
200
)
{
this
.
labels
=
res
.
data
||
[]
const
data
=
res
.
data
}
let
lists
if
(
this
.
classifyId
==
1
)
{
lists
=
data
.
partnerCompany
}
else
{
lists
=
data
.
classify
}
this
.
labels
=
lists
||
[]
}
})
})
},
},
}
}
...
...
src/pages/order/parts.vue
View file @
f0018ebd
<
template
>
<
template
>
<view
class=
"u-flex det-wrap"
>
<view
class=
"u-flex det-wrap"
>
<view
class=
"search"
>
<u-search
:clearabled=
"true"
:action-style=
"searchStyle"
bg-color=
"#fff"
v-model=
"keyword"
@
custom=
"searchParts"
@
search=
"searchParts"
></u-search>
</view>
<view
class=
"content"
v-if=
"lists.length > 0"
>
<view
class=
"content"
v-if=
"lists.length > 0"
>
<scroll-view
style=
"height: 100%;"
scroll-y=
"true"
>
<scroll-view
style=
"height: 100%;"
scroll-y=
"true"
>
<select-parts
<select-parts
v-for=
"(item, index) in lists"
v-for=
"(item, index) in lists"
:key=
"index"
:key=
"index"
:info=
"item"
:info=
"item"
:show-checked=
"true"
:show-checked=
"true"
...
@@ -23,7 +34,7 @@
...
@@ -23,7 +34,7 @@
</view>
</view>
<view
class=
"bar"
v-if=
"lists.length > 0"
>
<view
class=
"bar"
v-if=
"lists.length > 0"
>
<submit-bar
<submit-bar
:partNum=
"partNum"
:partNum=
"partNum"
:num=
"num"
:num=
"num"
:btnStatus=
"partNum > 0"
:btnStatus=
"partNum > 0"
...
@@ -35,50 +46,72 @@
...
@@ -35,50 +46,72 @@
@
cancel=
"cancel"
@
cancel=
"cancel"
/>
/>
</view>
</view>
</view>
</view>
</
template
>
</
template
>
<
script
>
<
script
>
import
selectParts
from
"@/components/select-parts/index"
import
selectParts
from
'@/components/select-parts/index'
import
submitBar
from
"@/components/submit-bar/index"
import
submitBar
from
'@/components/submit-bar/index'
export
default
{
export
default
{
components
:
{
components
:
{
selectParts
,
selectParts
,
submitBar
submitBar
,
},
data
()
{
return
{
keyword
:
''
,
lists
:
[],
workOrderId
:
null
,
}
},
computed
:
{
// 配件数
partNum
()
{
return
this
.
lists
.
reduce
(
(
counter
,
{
checked
})
=>
(
checked
?
(
counter
+=
1
)
:
counter
),
0
)
},
},
data
()
{
// 总数
return
{
num
()
{
lists
:
[],
return
this
.
lists
.
reduce
(
workOrderId
:
null
,
(
counter
,
{
checked
,
quantity
})
=>
}
checked
?
(
counter
+=
quantity
)
:
counter
,
0
)
},
},
computed
:
{
// 全选状态
// 配件数
allChecked
()
{
partNum
()
{
const
count
=
this
.
lists
.
reduce
(
return
this
.
lists
.
reduce
((
counter
,
{
checked
})
=>
checked
?
counter
+=
1
:
counter
,
0
)
(
counter
,
{
checked
})
=>
(
!
checked
?
(
counter
+=
1
)
:
counter
),
},
0
// 总数
)
num
()
{
return
count
===
0
||
false
return
this
.
lists
.
reduce
((
counter
,
{
checked
,
quantity
})
=>
checked
?
counter
+=
quantity
:
counter
,
0
)
},
// 全选状态
allChecked
()
{
const
count
=
this
.
lists
.
reduce
((
counter
,
{
checked
})
=>
!
checked
?
counter
+=
1
:
counter
,
0
)
return
count
===
0
||
false
}
},
},
onLoad
(
e
)
{
searchStyle
()
{
this
.
workOrderId
=
parseInt
(
e
.
workOrderId
)
return
{
this
.
categoryId
=
parseInt
(
e
.
categoryId
)
color
:
'#2272FF'
,
this
.
brandId
=
parseInt
(
e
.
brandId
)
}
this
.
getReserve
()
},
},
methods
:
{
},
getReserve
()
{
onLoad
(
e
)
{
this
.
$u
.
api
.
getMyReserve
({
'categoryId'
:
this
.
categoryId
,
'brandId'
:
this
.
brandId
}).
then
(
res
=>
{
this
.
workOrderId
=
parseInt
(
e
.
workOrderId
)
this
.
categoryId
=
parseInt
(
e
.
categoryId
)
this
.
brandId
=
parseInt
(
e
.
brandId
)
this
.
getReserve
()
},
methods
:
{
getReserve
()
{
this
.
$u
.
api
.
getMyReserve
({
categoryId
:
this
.
categoryId
,
brandId
:
this
.
brandId
,
keyword
:
this
.
keyword
,
})
.
then
((
res
)
=>
{
if
(
res
.
code
===
200
)
{
if
(
res
.
code
===
200
)
{
const
data
=
res
.
data
||
[]
const
data
=
res
.
data
||
[]
this
.
lists
=
data
.
map
(
v
=>
{
this
.
lists
=
data
.
map
(
(
v
)
=>
{
v
.
min
=
1
v
.
min
=
1
v
.
max
=
v
.
stock
v
.
max
=
v
.
stock
v
.
checked
=
false
v
.
checked
=
false
...
@@ -89,75 +122,83 @@
...
@@ -89,75 +122,83 @@
})
})
}
}
})
})
},
},
numChange
(
val
,
index
)
{
// 搜索配件
this
.
$set
(
this
.
lists
[
index
],
'quantity'
,
val
)
searchParts
(
val
)
{
},
this
.
keyword
=
val
selectChange
(
val
,
index
)
{
this
.
lists
=
[]
this
.
$set
(
this
.
lists
[
index
],
'checked'
,
val
)
this
.
getReserve
()
},
},
allSelect
(
value
)
{
numChange
(
val
,
index
)
{
const
count
=
this
.
lists
.
filter
(
v
=>
!
v
.
checked
).
length
this
.
$set
(
this
.
lists
[
index
],
'quantity'
,
val
)
this
.
lists
.
forEach
(
v
=>
{
},
this
.
$set
(
v
,
'checked'
,
count
!==
0
||
false
)
selectChange
(
val
,
index
)
{
})
this
.
$set
(
this
.
lists
[
index
],
'checked'
,
val
)
},
},
submit
()
{
allSelect
(
value
)
{
const
lists
=
this
.
lists
.
filter
(
v
=>
v
.
checked
).
map
(
v
=>
{
const
count
=
this
.
lists
.
filter
((
v
)
=>
!
v
.
checked
).
length
this
.
lists
.
forEach
((
v
)
=>
{
this
.
$set
(
v
,
'checked'
,
count
!==
0
||
false
)
})
},
submit
()
{
const
lists
=
this
.
lists
.
filter
((
v
)
=>
v
.
checked
)
.
map
((
v
)
=>
{
return
{
return
{
name
:
v
.
name
,
name
:
v
.
name
,
part_id
:
v
.
skuId
,
part_id
:
v
.
skuId
,
quantity
:
v
.
quantity
,
quantity
:
v
.
quantity
,
max
:
v
.
max
,
max
:
v
.
max
,
cost
:
v
.
cost
||
0
cost
:
v
.
cost
||
0
,
}
}
})
})
let
pages
=
getCurrentPages
();
let
pages
=
getCurrentPages
()
let
prevPage
=
pages
[
pages
.
length
-
2
];
//上一个页面
let
prevPage
=
pages
[
pages
.
length
-
2
]
//上一个页面
prevPage
.
$vm
.
$refs
[
'fileChildParts'
][
0
].
valChange
(
lists
)
prevPage
.
$vm
.
$refs
[
'fileChildParts'
][
0
].
valChange
(
lists
)
this
.
$u
.
route
({
type
:
'back'
})
this
.
$u
.
route
({
type
:
'back'
})
},
},
cancel
()
{
cancel
()
{
let
pages
=
getCurrentPages
();
let
pages
=
getCurrentPages
()
let
prevPage
=
pages
[
pages
.
length
-
2
];
//上一个页面
let
prevPage
=
pages
[
pages
.
length
-
2
]
//上一个页面
prevPage
.
$vm
.
$refs
[
'fileChildParts'
][
0
].
valChange
()
prevPage
.
$vm
.
$refs
[
'fileChildParts'
][
0
].
valChange
()
this
.
$u
.
route
({
type
:
'back'
})
this
.
$u
.
route
({
type
:
'back'
})
},
},
qnFile
(
src
)
{
qnFile
(
src
)
{
return
process
.
uniEnv
.
qn_base_url
+
src
return
process
.
uniEnv
.
qn_base_url
+
src
}
},
}
},
}
}
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
.det-wrap
{
.det-wrap
{
flex-flow
:
column
;
flex-flow
:
column
;
height
:
100vh
;
height
:
100vh
;
.search
{
.search
{
width
:
100%
;
width
:
100%
;
padding
:
30rpx
;
padding
:
30rpx
;
}
}
.content
{
.content
{
background
:
#fff
;
background
:
#fff
;
border-radius
:
30rpx
30rpx
0
0
;
border-radius
:
30rpx
30rpx
0
0
;
padding
:
10rpx
10rpx
0
10rpx
;
padding
:
10rpx
10rpx
0
10rpx
;
width
:
100%
;
width
:
100%
;
flex
:
1
;
flex
:
1
;
overflow-y
:
auto
;
overflow-y
:
auto
;
}
}
.bar
{
.bar
{
width
:
100%
;
width
:
100%
;
border-top
:
1px
solid
#F4F5F7
;
border-top
:
1px
solid
#f4f5f7
;
padding
:
0
20rpx
;
padding
:
0
20rpx
;
background
:
#fff
;
background
:
#fff
;
}
}
.empty
{
.empty
{
flex
:
1
;
flex
:
1
;
justify-content
:
center
;
justify-content
:
center
;
font-size
:
26rpx
;
font-size
:
26rpx
;
color
:
#aaa
;
color
:
#aaa
;
}
}
}
}
</
style
>
</
style
>
src/pages/parts/addParts.vue
View file @
f0018ebd
<
template
>
<
template
>
<view
class=
"u-flex content"
>
<view
class=
"u-flex content"
>
<view
class=
"categary"
v-if=
"type === '2'"
>
<view
class=
"categary"
>
<view
class=
"u-flex u-col-center"
>
<view
class=
"u-flex u-col-center"
>
<view
<view
:class=
"['txt',
{'active': classifyId === item.id }]"
:class=
"['txt',
{'active': classifyId === item.id }]"
...
@@ -192,11 +192,11 @@ export default {
...
@@ -192,11 +192,11 @@ export default {
onLoad
(
e
)
{
onLoad
(
e
)
{
getApp
().
trackPage
(
'选择配件页'
)
getApp
().
trackPage
(
'选择配件页'
)
if
(
e
)
{
if
(
e
)
{
if
(
e
.
type
==
1
)
{
if
(
e
.
type
==
1
)
{
// 从订单进入
this
.
categoryId
=
e
.
categaryId
||
''
this
.
categoryId
=
e
.
categaryId
||
''
this
.
type
=
e
.
type
this
.
type
=
e
.
type
this
.
get
BrandList
(
e
.
brandId
)
this
.
get
Classify
(
)
}
else
if
(
e
.
type
==
2
)
{
}
else
if
(
e
.
type
==
2
)
{
// 从物料库进入
this
.
type
=
e
.
type
this
.
type
=
e
.
type
this
.
getCategaryList
()
this
.
getCategaryList
()
}
}
...
@@ -402,6 +402,8 @@ export default {
...
@@ -402,6 +402,8 @@ export default {
'pages/order/document-tag'
+
'pages/order/document-tag'
+
'?categoryId='
+
'?categoryId='
+
this
.
categoryId
+
this
.
categoryId
+
'&classifyId='
+
this
.
classifyId
+
'&selectedId='
+
'&selectedId='
+
this
.
brandId
,
this
.
brandId
,
})
})
...
...
src/pages/parts/address.vue
0 → 100644
View file @
f0018ebd
<
template
>
<view
class=
"u-flex address-wrap"
>
<w-navbar
title=
"收货地址"
></w-navbar>
<view
class=
"lists"
>
<view
class=
"body"
v-for=
"(item, index) in lists"
:key=
"item.id"
>
<w-address
@
editSite=
"toEditSite(item)"
@
selectSite=
"selectSite(item)"
@
setDefault=
"setDefault(item, index)"
@
remove=
"remove(item)"
:info=
"item"
:is-default=
"item.enable === 1"
:showRemove=
"true"
/>
</view>
</view>
<view
class=
"addSite"
@
tap=
"toAddSite"
>
<view
class=
"add"
>
新建收货地址
</view>
</view>
</view>
</
template
>
<
script
>
const
app
=
getApp
();
export
default
{
data
()
{
return
{
background
:
{
backgroundColor
:
'none'
},
lists
:
[]
};
},
computed
:
{
editPen
()
{
return
process
.
uniEnv
.
qn_base_url
+
'icon/edit-pen.png'
},
submitBtn
()
{
return
{
color
:
'#FFFFFF'
,
backgroundColor
:
'#2272FF'
}
}
},
onLoad
(
options
)
{
getApp
().
trackPage
(
'我的收获地址页'
)
},
onShow
()
{
if
(
this
.
$u
.
test
.
isEmpty
(
this
.
vuex_token
))
{
this
.
$u
.
route
({
url
:
'pages/login/index'
})
}
this
.
getData
();
},
methods
:
{
getData
()
{
this
.
getMineSite
()
},
getMineSite
()
{
this
.
$u
.
api
.
getMyAddress
().
then
((
res
)
=>
{
const
data
=
res
.
data
if
(
data
.
length
>
0
)
{
this
.
lists
=
data
.
map
(
v
=>
{
let
region
=
[]
if
(
v
.
provinceName
&&
v
.
cityName
&&
v
.
districtName
)
{
region
=
[
v
.
provinceName
,
v
.
cityName
,
v
.
districtName
]
}
v
.
region
=
region
return
v
})
}
})
},
toAddSite
()
{
this
.
$u
.
route
({
url
:
'pages/mine/address/addSite'
,
params
:
{
type
:
'select'
}
})
},
setDefault
(
val
)
{
this
.
$u
.
api
.
setDefaultAddress
({
id
:
val
.
id
}).
then
((
res
)
=>
{
if
(
res
.
code
===
200
)
{
this
.
lists
.
forEach
(
v
=>
{
this
.
$set
(
v
,
'enable'
,
v
.
id
===
val
.
id
?
1
:
0
)
})
this
.
getMineSite
()
let
pages
=
getCurrentPages
()
let
prevPage
=
pages
[
pages
.
length
-
2
]
prevPage
.
$vm
.
loadAddress
()
}
})
},
remove
(
val
)
{
uni
.
showModal
({
title
:
'温馨提示'
,
content
:
'确定要删除该收货地址?'
,
success
:
(
res
)
=>
{
if
(
res
.
confirm
)
{
uni
.
showLoading
({
title
:
'加载中'
,
})
this
.
$u
.
api
.
deleteMyAddress
({
id
:
val
.
id
}).
then
((
res
)
=>
{
uni
.
hideLoading
()
if
(
res
.
code
===
200
)
{
this
.
getMineSite
()
}
else
{
uni
.
showToast
({
icon
:
"none"
,
title
:
res
.
message
,
})
}
})
}
}
})
},
selectSite
(
val
)
{
let
pages
=
getCurrentPages
();
let
prevPage
=
pages
[
pages
.
length
-
2
];
//上一个页面
let
address
=
val
.
region
.
join
(
""
)
+
val
.
address
let
site
=
{
name
:
val
.
name
,
mobile
:
val
.
mobile
,
address
:
address
,
region
:
val
.
region
,
id
:
val
.
id
}
prevPage
.
$vm
.
updateSite
(
site
)
this
.
$u
.
route
({
type
:
'back'
})
},
toEditSite
(
val
){
const
region
=
val
.
region
.
join
(
'-'
)
this
.
$u
.
route
({
url
:
'pages/mine/address/addSite'
,
params
:
{
type
:
'select'
,
region
:
region
,
name
:
val
.
name
,
mobile
:
val
.
mobile
,
address
:
val
.
address
,
id
:
val
.
id
}
})
}
}
};
</
script
>
<
style
lang=
"scss"
scoped
>
.address-wrap
{
background-color
:
#F4F5F7
;
flex-direction
:column
;
height
:
100vh
;
.lists
{
width
:
100%
;
flex
:
1
;
overflow-y
:auto
;
}
}
.body
{
padding
:
30rpx
;
margin
:
30rpx
;
border-radius
:
12rpx
;
background-color
:
#FFFFFF
;
}
.addSite
{
display
:
flex
;
justify-content
:
space-around
;
width
:
600rpx
;
height
:
100rpx
;
line-height
:
100rpx
;
margin
:
50rpx
0
;
background-color
:
#2272FF
;
border-radius
:
60rpx
;
font-size
:
30rpx
;
.add
{
display
:
flex
;
align-items
:
center
;
color
:
#ffffff
;
.icon
{
margin-right
:
10rpx
;
}
}
}
</
style
>
src/pages/parts/application.vue
View file @
f0018ebd
...
@@ -68,7 +68,7 @@ export default {
...
@@ -68,7 +68,7 @@ export default {
remark
:
''
,
remark
:
''
,
curType
:
0
,
curType
:
0
,
addressInfo
:
{
addressInfo
:
{
name
:
''
,
mobile
:
''
,
address
:
''
,
region
:
[]
id
:
''
,
name
:
''
,
mobile
:
''
,
address
:
''
,
region
:
[]
},
},
};
};
},
},
...
@@ -106,6 +106,7 @@ export default {
...
@@ -106,6 +106,7 @@ export default {
loadAddress
()
{
loadAddress
()
{
this
.
$u
.
api
.
getDefaultAddress
().
then
((
res
)
=>
{
this
.
$u
.
api
.
getDefaultAddress
().
then
((
res
)
=>
{
if
(
res
.
code
==
200
&&
res
.
data
)
{
if
(
res
.
code
==
200
&&
res
.
data
)
{
this
.
addressInfo
.
id
=
res
.
data
.
id
this
.
addressInfo
.
name
=
res
.
data
.
name
this
.
addressInfo
.
name
=
res
.
data
.
name
this
.
addressInfo
.
mobile
=
res
.
data
.
mobile
this
.
addressInfo
.
mobile
=
res
.
data
.
mobile
this
.
addressInfo
.
address
=
res
.
data
.
address
this
.
addressInfo
.
address
=
res
.
data
.
address
...
@@ -136,6 +137,7 @@ export default {
...
@@ -136,6 +137,7 @@ export default {
url
:
"pages/mine/address/addSite"
,
url
:
"pages/mine/address/addSite"
,
params
:
{
params
:
{
type
:
'select'
,
type
:
'select'
,
id
:
this
.
addressInfo
.
id
,
name
:
this
.
addressInfo
.
name
,
name
:
this
.
addressInfo
.
name
,
mobile
:
this
.
addressInfo
.
mobile
,
mobile
:
this
.
addressInfo
.
mobile
,
address
:
this
.
addressInfo
.
address
,
address
:
this
.
addressInfo
.
address
,
...
@@ -145,10 +147,7 @@ export default {
...
@@ -145,10 +147,7 @@ export default {
},
},
toAddress
()
{
toAddress
()
{
this
.
$u
.
route
({
this
.
$u
.
route
({
url
:
"pages/mine/address/index"
,
url
:
"pages/parts/address"
params
:
{
type
:
'parts'
}
})
})
},
},
updateSite
(
site
)
{
updateSite
(
site
)
{
...
...
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