Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
H
h5
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
iuav
h5
Commits
51070885
提交
51070885
authored
5月 27, 2023
作者:
龚洪江
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
功能:新全国网点
上级
c686fe33
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
211 行增加
和
0 行删除
+211
-0
pick-regions.vue
components/pick-regions/pick-regions.vue
+137
-0
index.vue
pages/network/components/network-item/index.vue
+74
-0
index.vue
pages/network/index.vue
+0
-0
没有找到文件。
components/pick-regions/pick-regions.vue
0 → 100644
浏览文件 @
51070885
<
template
>
<picker
mode=
"multiSelector"
:value=
"multiIndex"
:range=
"multiArray"
@
change=
"handleValueChange"
@
columnchange=
"handleColumnChange"
>
<slot></slot>
</picker>
</
template
>
<
script
>
import
CHINA_REGIONS
from
'./regions.json'
export
default
{
props
:
{
defaultRegions
:
{
type
:
Array
,
default
()
{
return
[]
}
},
defaultRegionCode
:
{
type
:
String
},
defaultRegion
:
[
String
,
Array
]
},
data
()
{
return
{
cityArr
:
CHINA_REGIONS
[
0
].
childs
,
districtArr
:
CHINA_REGIONS
[
0
].
childs
[
0
].
childs
,
multiIndex
:
[
0
,
0
,
0
],
isInitMultiArray
:
true
}
},
computed
:
{
multiArray
()
{
return
this
.
pickedArr
.
map
((
arr
)
=>
arr
.
map
((
item
)
=>
item
.
name
))
},
pickedArr
()
{
// 进行初始化
if
(
this
.
isInitMultiArray
)
{
return
[
CHINA_REGIONS
,
CHINA_REGIONS
[
0
].
childs
,
CHINA_REGIONS
[
0
].
childs
[
0
].
childs
]
}
return
[
CHINA_REGIONS
,
this
.
cityArr
,
this
.
districtArr
]
}
},
watch
:
{
defaultRegion
:
{
handler
(
region
,
oldRegion
)
{
if
(
Array
.
isArray
(
region
))
{
// 避免传的是字面量的时候重复触发
oldRegion
=
oldRegion
||
[]
if
(
region
.
join
(
''
)
!==
oldRegion
.
join
(
''
))
{
this
.
handleDefaultRegion
(
region
)
}
}
else
if
(
region
&&
region
.
length
==
6
)
{
this
.
handleDefaultRegion
(
region
)
}
else
{
console
.
warn
(
'defaultRegion非有效格式'
)
}
},
immediate
:
true
}
},
methods
:
{
handleColumnChange
(
e
)
{
// console.log(e);
this
.
isInitMultiArray
=
false
const
that
=
this
const
col
=
e
.
detail
.
column
const
row
=
e
.
detail
.
value
that
.
multiIndex
[
col
]
=
row
try
{
switch
(
col
)
{
case
0
:
if
(
CHINA_REGIONS
[
that
.
multiIndex
[
0
]].
childs
.
length
==
0
)
{
that
.
cityArr
=
that
.
districtArr
=
[
CHINA_REGIONS
[
that
.
multiIndex
[
0
]]]
break
}
that
.
cityArr
=
CHINA_REGIONS
[
that
.
multiIndex
[
0
]].
childs
that
.
districtArr
=
CHINA_REGIONS
[
that
.
multiIndex
[
0
]].
childs
[
that
.
multiIndex
[
1
]].
childs
break
case
1
:
that
.
districtArr
=
CHINA_REGIONS
[
that
.
multiIndex
[
0
]].
childs
[
that
.
multiIndex
[
1
]].
childs
break
case
2
:
break
}
}
catch
(
e
)
{
// console.log(e);
that
.
districtArr
=
CHINA_REGIONS
[
that
.
multiIndex
[
0
]].
childs
[
0
].
childs
}
},
handleValueChange
(
e
)
{
// 结构赋值
const
[
index0
,
index1
,
index2
]
=
e
.
detail
.
value
const
[
arr0
,
arr1
,
arr2
]
=
this
.
pickedArr
const
address
=
[
arr0
[
index0
],
arr1
[
index1
],
arr2
[
index2
]]
// console.log(address);
this
.
$emit
(
'getRegion'
,
address
)
},
handleDefaultRegion
(
region
)
{
const
isCode
=
!
Array
.
isArray
(
region
)
this
.
isInitMultiArray
=
false
let
children
=
CHINA_REGIONS
for
(
let
i
=
0
;
i
<
3
;
i
++
)
{
for
(
let
j
=
0
;
j
<
children
.
length
;
j
++
)
{
const
condition
=
isCode
?
children
[
j
].
code
==
region
.
slice
(
0
,
(
i
+
1
)
*
2
)
:
children
[
j
].
name
.
includes
(
region
[
i
])
if
(
condition
)
{
// 匹配成功进行赋值
// console.log(i,j,children.length-1);
children
=
children
[
j
].
childs
if
(
i
==
0
)
{
this
.
cityArr
=
children
}
else
if
(
i
==
1
)
{
this
.
districtArr
=
children
}
this
.
$set
(
this
.
multiIndex
,
i
,
j
)
// console.log(this.multiIndex);
break
}
else
{
// 首次匹配失败就用默认的初始化
// console.log(i,j,children.length-1);
if
(
i
==
0
&&
j
==
children
.
length
-
1
)
{
this
.
isInitMultiArray
=
true
}
}
}
}
}
}
}
</
script
>
pages/network/components/network-item/index.vue
0 → 100644
浏览文件 @
51070885
<
template
>
<view
class=
"network-item-wrap"
>
<view
class=
"network-item"
>
<view
class=
"network-item-img"
>
<image
:src=
"networkItem.addressDescImg"
/>
</view>
<view
class=
"network-item-content"
>
<view
class=
"network-info-wrap"
>
<view
class=
"network-info"
>
<view
class=
"info-title"
>
{{
networkItem
.
address
}}
</view>
<view
class=
"info-meta"
>
{{
networkItem
.
distance
.
toFixed
(
2
)
}}
KM
</view>
</view>
<!--
<view
class=
"select-icon"
>
<image
src=
"/page-home/static/image/select-icon.png"
/>
</view>
-->
</view>
</view>
</view>
</view>
</
template
>
<
script
>
export
default
{
props
:[
'networkItem'
]
}
</
script
>
<
style
lang=
"scss"
scoped
>
.network-item-wrap
{
background-color
:
#fff
;
height
:
168
rpx
;
padding
:
8
rpx
16
rpx
;
.network-item
{
display
:
flex
;
border-bottom
:
1
rpx
solid
#e8e8e8
;
&-img
{
margin-right
:
16
rpx
;
image
{
width
:
156
rpx
;
height
:
156
rpx
;
}
}
&
-content
{
flex
:
1
;
.network-info-wrap
{
display
:
flex
;
align-items
:
center
;
.network-info
{
flex
:
1
;
.info-title
{
font-size
:
28
rpx
;
color
:
#1a1a1a
;
line-height
:
40
rpx
;
margin-bottom
:
12
rpx
;
word-break
:
break-all
;
}
.info-meta
{
font-size
:
24
rpx
;
color
:
#b3b3b3
;
line-height
:
34
rpx
;
word-break
:
break-all
;
}
}
.select-icon
{
margin
:
0
54
rpx
0
24
rpx
;
image
{
width
:
28
rpx
;
height
:
24
rpx
;
vertical-align
:
bottom
;
}
}
}
}
}
}
</
style
>
pages/network/index.vue
0 → 100644
浏览文件 @
51070885
差异被折叠。
点击展开。
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论