Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
H
h5-ci-test
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
test-ci
h5-ci-test
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
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论