Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
liyeyun
Project
Project
Details
Activity
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
cfld-frontend
liyeyun
Commits
87f559be
Commit
87f559be
authored
Dec 20, 2023
by
shilei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
用户协议
parent
0ca6cab4
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
93 additions
and
48 deletions
+93
-48
StarDetail.vue
src/components/detail/StarDetail.vue
+3
-2
VideoList.vue
src/components/detail/VideoList.vue
+1
-1
LoginView.vue
src/components/login/LoginView.vue
+80
-39
MapView.vue
src/components/map/MapView.vue
+1
-1
router.ts
src/router/router.ts
+2
-2
ThirdAgreement.vue
src/views/agreement/ThirdAgreement.vue
+4
-1
UserAgreement.vue
src/views/agreement/UserAgreement.vue
+0
-0
UserInfoPolicy.vue
src/views/agreement/UserInfoPolicy.vue
+0
-0
CarrierDetail.vue
src/views/carrier/CarrierDetail.vue
+1
-1
LandDetail.vue
src/views/land/LandDetail.vue
+1
-1
No files found.
src/components/detail/StarDetail.vue
View file @
87f559be
...
@@ -5,7 +5,7 @@
...
@@ -5,7 +5,7 @@
<div
class=
"main-width"
>
<div
class=
"main-width"
>
<div
class=
"flex"
>
<div
class=
"flex"
>
<div
class=
"mt-[159px] font-yahei font-bold text-white"
>
<div
class=
"mt-[159px] font-yahei font-bold text-white"
>
<div
class=
"main-title h-[86px] w-[638px]
text-[58px] whitespace-nowrap
"
>
<div
class=
"main-title h-[86px] w-[638px]
whitespace-nowrap text-[58px]
"
>
立业
{{
developName
}}
丨共赢发展未来
立业
{{
developName
}}
丨共赢发展未来
</div>
</div>
<div
class=
"sub-title mt-[13px] h-[37px] w-[637px] whitespace-nowrap text-[28px]"
>
<div
class=
"sub-title mt-[13px] h-[37px] w-[637px] whitespace-nowrap text-[28px]"
>
...
@@ -247,7 +247,8 @@ const handleShowDesc = () => {
...
@@ -247,7 +247,8 @@ const handleShowDesc = () => {
}
}
.star-detail
{
.star-detail
{
.star-bg
{
.star-bg
{
background
:
url('https://cfld-obs-pro01.obs.cn-north-4.myhuaweicloud.com/img/system/%E8%88%92%E5%9F%8E%E5%A4%B4%E5%9B%BE.png?x-image-process=image/quality,q_80')
no-repeat
;
background
:
url('https://cfld-obs-pro01.obs.cn-north-4.myhuaweicloud.com/img/system/%E8%88%92%E5%9F%8E%E5%A4%B4%E5%9B%BE.png?x-image-process=image/quality,q_80')
no-repeat
;
background-size
:
cover
;
background-size
:
cover
;
background-position-y
:
-100px
;
background-position-y
:
-100px
;
}
}
...
...
src/components/detail/VideoList.vue
View file @
87f559be
...
@@ -28,7 +28,7 @@
...
@@ -28,7 +28,7 @@
></CommonVideo>
></CommonVideo>
<CommonImage
<CommonImage
v-else
v-else
class=
"
w-[492px] h-[288
px]"
class=
"
h-[288px] w-[492
px]"
:src=
"item.videourl"
:src=
"item.videourl"
:type=
"DetailType.develop"
:type=
"DetailType.develop"
></CommonImage>
></CommonImage>
...
...
src/components/login/LoginView.vue
View file @
87f559be
...
@@ -42,15 +42,22 @@
...
@@ -42,15 +42,22 @@
<div
class=
"my-2.5 py-3"
>
<div
class=
"my-2.5 py-3"
>
<button
class=
"btn-default"
@
click=
"login"
>
登录
</button>
<button
class=
"btn-default"
@
click=
"login"
>
登录
</button>
</div>
</div>
<p
class=
"mb-1 cursor-pointer text-[#C0322B]"
@
click=
"changeModalType('loginByAccount')"
>
<div
class=
"checkbox-box mt-2.5 leading-[20px] text-black/[.65]"
>
账号密码登录
<ElCheckbox
v-model=
"agree"
:label=
"1"
>
</p>
<p
style=
"text-wrap: wrap; line-height: 20px"
class=
"text-xs"
>
<p
class=
"text-xs text-black/[.45]"
>
我已阅读并同意
登录即代表同意
<a
class=
"text-[#C0322B]"
@
click
.
stop
.
prevent=
"toAgreement(RouteName.userInfoPolicy)"
>
<a
class=
"text-[#C0322B]"
>
《立业云隐私政策》
</a>
《立业云隐私政策》
及
</a>
<a
class=
"text-[#C0322B]"
>
《立业云用户服务协议》
</a>
<a
class=
"text-[#C0322B]"
@
click
.
stop
.
prevent=
"toAgreement(RouteName.userAgreement)"
>
《立业云用户服务协议》
</a>
<a
class=
"text-[#C0322B]"
@
click
.
stop
.
prevent=
"toAgreement(RouteName.thirdAgreement)"
>
《第三方使用信息协议》
</a>
</p>
</p>
</ElCheckbox>
</div>
</div>
</div>
<!-- /** * 账号密码登录 */ -->
<!-- /** * 账号密码登录 */ -->
<div
v-if=
"modalType === 'loginByAccount'"
>
<div
v-if=
"modalType === 'loginByAccount'"
>
...
@@ -89,12 +96,22 @@
...
@@ -89,12 +96,22 @@
<p
class=
"mb-1 cursor-pointer text-[#C0322B]"
@
click=
"changeModalType('loginByPhone')"
>
<p
class=
"mb-1 cursor-pointer text-[#C0322B]"
@
click=
"changeModalType('loginByPhone')"
>
手机快捷登录
手机快捷登录
</p>
</p>
<p
class=
"text-xs text-black/[.45]"
>
<div
class=
"checkbox-box mt-2.5 leading-[20px] text-black/[.65]"
>
登录即代表同意
<ElCheckbox
v-model=
"agree"
:label=
"1"
>
<a
class=
"text-[#C0322B]"
>
《立业云隐私政策》
</a>
<p
style=
"text-wrap: wrap; line-height: 20px"
class=
"text-xs"
>
及
我已阅读并同意
<a
class=
"text-[#C0322B]"
>
《立业云用户服务协议》
</a>
<a
class=
"text-[#C0322B]"
@
click
.
stop=
"toAgreement(RouteName.userInfoPolicy)"
>
《立业云隐私政策》
</a>
<a
class=
"text-[#C0322B]"
@
click
.
stop=
"toAgreement(RouteName.userAgreement)"
>
《立业云用户服务协议》
</a>
<a
class=
"text-[#C0322B]"
@
click
.
stop=
"toAgreement(RouteName.thirdAgreement)"
>
《第三方使用信息协议》
</a>
</p>
</p>
</ElCheckbox>
</div>
</div>
</div>
<!-- /** * 找回密码 */ -->
<!-- /** * 找回密码 */ -->
<div
v-if=
"modalType === 'resetPassWord'"
>
<div
v-if=
"modalType === 'resetPassWord'"
>
...
@@ -190,9 +207,15 @@
...
@@ -190,9 +207,15 @@
<ElCheckbox
v-model=
"agree"
:label=
"1"
>
<ElCheckbox
v-model=
"agree"
:label=
"1"
>
<p
style=
"text-wrap: wrap; line-height: 20px"
class=
"text-xs"
>
<p
style=
"text-wrap: wrap; line-height: 20px"
class=
"text-xs"
>
我已阅读并同意
我已阅读并同意
<a
class=
"text-[#C0322B]"
>
《立业云隐私政策》
</a>
<a
class=
"text-[#C0322B]"
@
click
.
stop
.
prevent=
"toAgreement(RouteName.userInfoPolicy)"
>
及
《立业云隐私政策》
<a
class=
"text-[#C0322B]"
>
《立业云用户服务协议》
</a>
</a>
<a
class=
"text-[#C0322B]"
@
click
.
stop
.
prevent=
"toAgreement(RouteName.userAgreement)"
>
《立业云用户服务协议》
</a>
<a
class=
"text-[#C0322B]"
@
click
.
stop
.
prevent=
"toAgreement(RouteName.thirdAgreement)"
>
《第三方使用信息协议》
</a>
</p>
</p>
</ElCheckbox>
</ElCheckbox>
</div>
</div>
...
@@ -206,6 +229,8 @@ import { RequestUrl } from '@/types/api.ts';
...
@@ -206,6 +229,8 @@ import { RequestUrl } from '@/types/api.ts';
import
{
useMessage
}
from
'@/composable/useMessage.ts'
;
import
{
useMessage
}
from
'@/composable/useMessage.ts'
;
import
{
useAppStore
}
from
'@/stores/app.ts'
;
import
{
useAppStore
}
from
'@/stores/app.ts'
;
import
{
debounce
}
from
'lodash-es'
;
import
{
debounce
}
from
'lodash-es'
;
import
{
RouteName
}
from
'@/router/router.ts'
;
import
{
useJump
}
from
'@/composable/useJump.ts'
;
import
{
useLoginModal
}
from
'./login.ts'
;
import
{
useLoginModal
}
from
'./login.ts'
;
const
appStore
=
useAppStore
();
const
appStore
=
useAppStore
();
...
@@ -221,18 +246,20 @@ const interval = ref<number>(0);
...
@@ -221,18 +246,20 @@ const interval = ref<number>(0);
const
{
message
}
=
useMessage
();
const
{
message
}
=
useMessage
();
const
{
close
:
closeModal
}
=
useLoginModal
();
const
{
close
:
closeModal
}
=
useLoginModal
();
const
{
proxy
}
=
getCurrentInstance
()
as
any
;
const
{
proxy
}
=
getCurrentInstance
()
as
any
;
const
{
open
}
=
useJump
();
const
changeModalType
=
(
type
:
string
)
=>
{
const
changeModalType
=
(
type
:
string
)
=>
{
console
.
log
(
'xxfdf'
)
console
.
log
(
'xxfdf'
)
;
phoneNum
.
value
=
null
;
phoneNum
.
value
=
null
;
verifyCode
.
value
=
null
;
verifyCode
.
value
=
null
;
password
.
value
=
null
;
password
.
value
=
null
;
modalType
.
value
=
type
;
modalType
.
value
=
type
;
errorMsg
.
value
=
null
;
errorMsg
.
value
=
null
;
agree
.
value
=
[];
// setTimeout(() => {
// setTimeout(() => {
// console.log('az')
// console.log('az')
proxy
.
$refs
.
phoneInput
.
style
.
borderColor
=
'rgba(0, 0, 0, 0.15)'
;
proxy
.
$refs
.
phoneInput
.
style
.
borderColor
=
'rgba(0, 0, 0, 0.15)'
;
if
(
proxy
.
$refs
.
passWord
)
proxy
.
$refs
.
passWord
.
style
.
borderColor
=
'rgba(0, 0, 0, 0.15)'
;
if
(
proxy
.
$refs
.
passWord
)
proxy
.
$refs
.
passWord
.
style
.
borderColor
=
'rgba(0, 0, 0, 0.15)'
;
// },400)
// },400)
};
};
...
@@ -287,7 +314,7 @@ const verify = (type: string = 'all') => {
...
@@ -287,7 +314,7 @@ const verify = (type: string = 'all') => {
if
(
type
===
'all'
)
{
if
(
type
===
'all'
)
{
return
false
;
return
false
;
}
else
{
}
else
{
return
true
return
true
;
}
}
}
else
{
}
else
{
if
(
errorMsg
.
value
===
'请输入有效的手机号码'
)
{
if
(
errorMsg
.
value
===
'请输入有效的手机号码'
)
{
...
@@ -302,15 +329,16 @@ const verify = (type: string = 'all') => {
...
@@ -302,15 +329,16 @@ const verify = (type: string = 'all') => {
if
(
type
===
'password'
||
type
===
'all'
)
{
if
(
type
===
'password'
||
type
===
'all'
)
{
if
(
modalType
.
value
!==
'loginByPhone'
)
{
if
(
modalType
.
value
!==
'loginByPhone'
)
{
if
(
!
/^.
{6,20}
$/
.
test
(
password
.
value
?.
toString
()
||
''
))
{
if
(
!
/^.
{6,20}
$/
.
test
(
password
.
value
?.
toString
()
||
''
))
{
if
(
proxy
.
$refs
.
passWord
)
proxy
.
$refs
.
passWord
.
style
.
borderColor
=
'#c0322b'
;
if
(
proxy
.
$refs
.
passWord
)
proxy
.
$refs
.
passWord
.
style
.
borderColor
=
'#c0322b'
;
errorMsg
.
value
=
'请输入6-20位有效密码'
;
errorMsg
.
value
=
'请输入6-20位有效密码'
;
if
(
type
===
'all'
)
{
return
false
};
if
(
type
===
'all'
)
{
return
false
;
}
}
else
{
}
else
{
if
(
errorMsg
.
value
===
'请输入6-20位有效密码'
)
{
if
(
errorMsg
.
value
===
'请输入6-20位有效密码'
)
{
errorMsg
.
value
=
null
;
errorMsg
.
value
=
null
;
}
}
if
(
proxy
.
$refs
.
passWord
)
proxy
.
$refs
.
passWord
.
style
.
borderColor
=
'rgba(0, 0, 0, 0.15)'
if
(
proxy
.
$refs
.
passWord
)
proxy
.
$refs
.
passWord
.
style
.
borderColor
=
'rgba(0, 0, 0, 0.15)'
;
}
}
}
}
}
}
...
@@ -325,6 +353,10 @@ const login = debounce(
...
@@ -325,6 +353,10 @@ const login = debounce(
if
(
!
verify
(
'all'
))
{
if
(
!
verify
(
'all'
))
{
return
;
return
;
}
}
if
(
!
agree
.
value
.
length
)
{
message
.
error
(
`同意《个人信息保护政策》《立业云用户协议》《第三方使用信息协议》后可登录`
);
return
;
}
const
url
:
string
=
const
url
:
string
=
modalType
.
value
===
'loginByAccount'
?
RequestUrl
.
loginByAccount
:
RequestUrl
.
loginByPhone
;
modalType
.
value
===
'loginByAccount'
?
RequestUrl
.
loginByAccount
:
RequestUrl
.
loginByPhone
;
request
(
url
);
request
(
url
);
...
@@ -424,7 +456,7 @@ const register = async () => {
...
@@ -424,7 +456,7 @@ const register = async () => {
return
;
return
;
}
}
if
(
!
agree
.
value
.
length
)
{
if
(
!
agree
.
value
.
length
)
{
errorMsg
.
value
=
'请勾选同意相关协议'
;
message
.
error
(
`同意《个人信息保护政策》《立业云用户协议》《第三方使用信息协议》后可注册`
)
;
return
;
return
;
}
}
request
(
RequestUrl
.
sign
);
request
(
RequestUrl
.
sign
);
...
@@ -452,16 +484,23 @@ const close = () => {
...
@@ -452,16 +484,23 @@ const close = () => {
* 失焦事件
* 失焦事件
*/
*/
const
handleBlur
=
(
type
:
string
)
=>
{
const
handleBlur
=
(
type
:
string
)
=>
{
const
_modalType
=
modalType
.
value
;
const
_modalType
=
modalType
.
value
;
console
.
log
(
'333'
,
_modalType
)
console
.
log
(
'333'
,
_modalType
);
setTimeout
(()
=>
{
setTimeout
(()
=>
{
console
.
log
(
444
)
console
.
log
(
444
)
;
if
(
_modalType
===
modalType
.
value
)
{
if
(
_modalType
===
modalType
.
value
)
{
verify
(
type
)
verify
(
type
)
;
}
}
},
320
)
},
320
);
}
};
/**
* 跳转条款
*/
const
toAgreement
=
(
name
:
RouteName
)
=>
{
open
({
name
,
});
};
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
.login-panel
{
.login-panel
{
...
@@ -470,14 +509,15 @@ const handleBlur = (type: string) => {
...
@@ -470,14 +509,15 @@ const handleBlur = (type: string) => {
padding
:
16px
33px
;
padding
:
16px
33px
;
text-align
:
left
;
text-align
:
left
;
outline
:
none
;
outline
:
none
;
// .checkbox-box ::v-deep {
::v-deep
{
// .el-checkbox {
.el-checkbox
{
// align-items: flex-start;
align-items
:
flex-start
;
// }
height
:
auto
;
// .el-checkbox__input {
}
// padding-top: 3px;
.el-checkbox__input
{
// }
padding-top
:
4px
;
// }
}
}
}
}
.phone-input
{
.phone-input
{
width
:
312px
;
width
:
312px
;
...
@@ -537,7 +577,8 @@ const handleBlur = (type: string) => {
...
@@ -537,7 +577,8 @@ const handleBlur = (type: string) => {
box-shadow
:
none
;
box-shadow
:
none
;
}
}
}
}
.el-input__wrapper.is-focus
,
.el-input
.el-input__wrapper.el-input__wrapper.is-focus.is-focus
{
.el-input__wrapper.is-focus
,
.el-input
.el-input__wrapper.el-input__wrapper.is-focus.is-focus
{
box-shadow
:
none
!
important
;
box-shadow
:
none
!
important
;
}
}
}
}
...
...
src/components/map/MapView.vue
View file @
87f559be
...
@@ -102,7 +102,7 @@ const props = defineProps<{
...
@@ -102,7 +102,7 @@ const props = defineProps<{
containerClass
?:
string
;
containerClass
?:
string
;
}
>
();
}
>
();
const
infoList
=
ref
<
any
[]
>
([]);
const
infoList
=
ref
<
any
[]
>
([]);
const
{
VITE_BASE_USER_URL
}
=
import
.
meta
.
env
;
const
{
VITE_BASE_USER_URL
}
=
import
.
meta
.
env
;
(
window
as
any
).
_AMapSecurityConfig
=
{
(
window
as
any
).
_AMapSecurityConfig
=
{
serviceHost
:
`
${
VITE_BASE_USER_URL
}
/_AMapService`
,
serviceHost
:
`
${
VITE_BASE_USER_URL
}
/_AMapService`
,
};
};
...
...
src/router/router.ts
View file @
87f559be
...
@@ -293,12 +293,12 @@ const routes: readonly RouteRecordRaw[] = [
...
@@ -293,12 +293,12 @@ const routes: readonly RouteRecordRaw[] = [
{
{
// 立业云用户协议
// 立业云用户协议
...
gen
(
RouteName
.
userAgreement
),
...
gen
(
RouteName
.
userAgreement
),
component
:
User
Agreement
,
component
:
User
InfoPolicy
,
},
},
{
{
// 个人信息保护政策
// 个人信息保护政策
...
gen
(
RouteName
.
userInfoPolicy
),
...
gen
(
RouteName
.
userInfoPolicy
),
component
:
User
InfoPolicy
,
component
:
User
Agreement
,
},
},
{
{
// 第三方使用信息协议
// 第三方使用信息协议
...
...
src/views/agreement/ThirdAgreement.vue
View file @
87f559be
<!-- 第三方使用信息协议 -->
<!-- 第三方使用信息协议 -->
<
template
>
<
template
>
<div></div>
<div
class=
"main-width mx-auto"
>
<p
style=
"text-align: center"
><strong>
第三方使用信息协议
</strong></p>
<p>
同意华夏数科按照本政策的约定,将用户信息提供给第三方
</p>
</div>
</
template
>
</
template
>
src/views/agreement/UserAgreement.vue
View file @
87f559be
This diff is collapsed.
Click to expand it.
src/views/agreement/UserInfoPolicy.vue
View file @
87f559be
This diff is collapsed.
Click to expand it.
src/views/carrier/CarrierDetail.vue
View file @
87f559be
...
@@ -29,7 +29,7 @@
...
@@ -29,7 +29,7 @@
<DetailInfoCell
:infos=
"joinRequired"
title=
"入驻要求"
>
<DetailInfoCell
:infos=
"joinRequired"
title=
"入驻要求"
>
<DetailInfo
:infos=
"joinRequired"
></DetailInfo>
<DetailInfo
:infos=
"joinRequired"
></DetailInfo>
</DetailInfoCell>
</DetailInfoCell>
<DetailInfoCell
title=
"周边配套"
title-center
v-if=
"detail.carrierParkVo.latitude"
>
<DetailInfoCell
v-if=
"detail.carrierParkVo.latitude"
title=
"周边配套"
title-center
>
<MapView
<MapView
:lat=
"detail.carrierParkVo.latitude"
:lat=
"detail.carrierParkVo.latitude"
:lng=
"detail.carrierParkVo.longitude"
:lng=
"detail.carrierParkVo.longitude"
...
...
src/views/land/LandDetail.vue
View file @
87f559be
...
@@ -34,7 +34,7 @@
...
@@ -34,7 +34,7 @@
<DetailInfoCell
:infos=
"joinRequired"
title=
"入驻要求"
>
<DetailInfoCell
:infos=
"joinRequired"
title=
"入驻要求"
>
<DetailInfo
:infos=
"joinRequired"
></DetailInfo>
<DetailInfo
:infos=
"joinRequired"
></DetailInfo>
</DetailInfoCell>
</DetailInfoCell>
<DetailInfoCell
title=
"周边配套"
title-center
v-if=
"detail.development.latitude"
>
<DetailInfoCell
v-if=
"detail.development.latitude"
title=
"周边配套"
title-center
>
<MapView
:lat=
"detail.development.latitude"
:lng=
"detail.development.longitude"
></MapView>
<MapView
:lat=
"detail.development.latitude"
:lng=
"detail.development.longitude"
></MapView>
</DetailInfoCell>
</DetailInfoCell>
<DetailInfoCell
class=
"!mt-10"
title-center
title=
"所属开发区"
>
<DetailInfoCell
class=
"!mt-10"
title-center
title=
"所属开发区"
>
...
...
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