Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
F
fns_front_2
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
chenqikuai
fns_front_2
Commits
6af286cd
Commit
6af286cd
authored
Oct 21, 2021
by
chenqikuai
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' of gitlab.33.cn:chenqikuai/fns_front_2 into dev
parents
037486e4
704ca0ca
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
128 additions
and
109 deletions
+128
-109
index.html
public/index.html
+1
-1
activity_bg.png
src/assets/img/activity_bg.png
+0
-0
index.vue
src/components/HotNews/index.vue
+19
-18
index.vue
src/components/Loan/LoanCard2/index.vue
+1
-1
index.vue
src/components/Loan/LoanHotSwipe/index.vue
+27
-19
branch.vue
src/components/Mine/Branch/branch.vue
+11
-2
index.vue
src/components/PopUpContent/LoanFilter/index.vue
+4
-5
index.ts
src/service/LoanProductService/index.ts
+5
-6
type.ts
src/service/LoanProductService/type.ts
+11
-1
index.vue
src/views/ActivityList/components/activityCard/index.vue
+4
-2
index.vue
src/views/ActivityList/index.vue
+3
-4
index.vue
src/views/LoanDetail/index.vue
+8
-11
index.vue
src/views/LoanList/index.vue
+8
-14
index.vue
src/views/withMenu/Home/index.vue
+15
-12
index.vue
src/views/withMenu/Loan/index.vue
+11
-13
No files found.
public/index.html
View file @
6af286cd
...
@@ -4,7 +4,7 @@
...
@@ -4,7 +4,7 @@
<head>
<head>
<meta
charset=
"utf-8"
>
<meta
charset=
"utf-8"
>
<meta
http-equiv=
"X-UA-Compatible"
content=
"IE=edge"
>
<meta
http-equiv=
"X-UA-Compatible"
content=
"IE=edge"
>
<meta
name=
"viewport"
content=
"width=device-width,initial-scale=1.0"
>
<meta
name=
"viewport"
content=
"width=device-width,initial-scale=1.0
, user-scalable=no, maximum-scale=1.0
"
>
<!-- <meta name="viewport" content="width=device-width; initial-scale=1; maximum-scale=1; minimum-scale=1; user-scalable=no;"> -->
<!-- <meta name="viewport" content="width=device-width; initial-scale=1; maximum-scale=1; minimum-scale=1; user-scalable=no;"> -->
<link
rel=
"icon"
href=
"<%= BASE_URL %>favicon.ico"
>
<link
rel=
"icon"
href=
"<%= BASE_URL %>favicon.ico"
>
...
...
src/assets/img/activity_bg.png
View replaced file @
037486e4
View file @
6af286cd
60.7 KB
|
W:
|
H:
66.3 KB
|
W:
|
H:
2-up
Swipe
Onion skin
src/components/HotNews/index.vue
View file @
6af286cd
...
@@ -9,15 +9,11 @@
...
@@ -9,15 +9,11 @@
<span
class=
"word24"
>
{{
$format
(
info
?.
created_at
,
'YYYY-MM-DD'
)
}}
</span>
<span
class=
"word24"
>
{{
$format
(
info
?.
created_at
,
'YYYY-MM-DD'
)
}}
</span>
</div>
</div>
</div>
</div>
<div
class=
"box2 flex-col ml-4 flex-shrink-0"
>
<div
class=
"box2 ml-4 flex-shrink-0"
>
<img
<img
class=
"w-full h-full"
:src=
"url"
alt=
""
>
class=
"pic3"
referrerpolicy=
"no-referrer"
:src=
"url"
/>
</div>
</div>
</div>
</div>
<
div
class=
"wrap23 flex-col"
></div
>
<
!--
<div
class=
"wrap23 flex-col"
></div>
--
>
</div>
</div>
</
template
>
</
template
>
<
script
lang=
"ts"
>
<
script
lang=
"ts"
>
...
@@ -32,7 +28,6 @@ export default defineComponent({
...
@@ -32,7 +28,6 @@ export default defineComponent({
setup
(
props
)
{
setup
(
props
)
{
const
url
=
ref
(
''
)
const
url
=
ref
(
''
)
url
.
value
=
getImageSrcFromFileHash
((
props
.
info
as
{
file_name
:
string
})?.
file_name
)
url
.
value
=
getImageSrcFromFileHash
((
props
.
info
as
{
file_name
:
string
})?.
file_name
)
return
{
return
{
url
url
}
}
...
@@ -47,12 +42,12 @@ export default defineComponent({
...
@@ -47,12 +42,12 @@ export default defineComponent({
}
}
.box1
{
.box1
{
z-index
:
auto
;
/* z-index: auto; */
height
:
88px
;
height
:
88px
;
}
}
.info8
{
.info8
{
z-index
:
205
;
/* z-index: 205; */
display
:
block
;
display
:
block
;
overflow-wrap
:
break-word
;
overflow-wrap
:
break-word
;
color
:
rgba
(
27
,
31
,
55
,
1
);
color
:
rgba
(
27
,
31
,
55
,
1
);
...
@@ -67,7 +62,7 @@ export default defineComponent({
...
@@ -67,7 +62,7 @@ export default defineComponent({
}
}
.info10
{
.info10
{
z-index
:
205
;
/* z-index: 205; */
display
:
block
;
display
:
block
;
overflow-wrap
:
break-word
;
overflow-wrap
:
break-word
;
color
:
rgba
(
141
,
146
,
175
,
1
);
color
:
rgba
(
141
,
146
,
175
,
1
);
...
@@ -83,14 +78,14 @@ export default defineComponent({
...
@@ -83,14 +78,14 @@ export default defineComponent({
}
}
.layer4
{
.layer4
{
z-index
:
auto
;
/* z-index: auto; */
height
:
25px
;
height
:
25px
;
margin-top
:
13px
;
margin-top
:
13px
;
justify-content
:
space-between
;
justify-content
:
space-between
;
}
}
.info9
{
.info9
{
z-index
:
206
;
/* z-index: 206; */
height
:
25px
;
height
:
25px
;
display
:
block
;
display
:
block
;
overflow-wrap
:
break-word
;
overflow-wrap
:
break-word
;
...
@@ -104,7 +99,7 @@ export default defineComponent({
...
@@ -104,7 +99,7 @@ export default defineComponent({
}
}
.word24
{
.word24
{
z-index
:
207
;
/* z-index: 207; */
height
:
25px
;
height
:
25px
;
display
:
block
;
display
:
block
;
overflow-wrap
:
break-word
;
overflow-wrap
:
break-word
;
...
@@ -118,19 +113,25 @@ export default defineComponent({
...
@@ -118,19 +113,25 @@ export default defineComponent({
}
}
.box2
{
.box2
{
z-index
:
209
;
/* z-index: 209; */
position
:
relative
;
/* position: relative; */
width
:
80px
;
height
:
80px
;
height
:
80px
;
border-radius
:
20px
;
border-radius
:
20px
;
overflow
:
hidden
;
overflow
:
hidden
;
background
:
url(https://lanhu.oss-cn-beijing.aliyuncs.com/SketchPngd7b6ced5c00064ccb38620d2a9de003cbd2e2688ac377f17fc74f6fba4dadd11)
-1px
/* background: url(https://lanhu.oss-cn-beijing.aliyuncs.com/SketchPngd7b6ced5c00064ccb38620d2a9de003cbd2e2688ac377f17fc74f6fba4dadd11) -1px
0px
no-repeat
;
0px no-repeat; */
background
:
#f00
;
margin-top
:
3px
;
margin-top
:
3px
;
}
}
.pic3
{
.pic3
{
width
:
80px
;
width
:
80px
;
height
:
80px
;
height
:
80px
;
/* position: absolute;
z-index: 210;
top: 0;
left: 0; */
}
}
.wrap23
{
.wrap23
{
...
...
src/components/Loan/LoanCard2/index.vue
View file @
6af286cd
...
@@ -36,7 +36,7 @@ export default defineComponent({
...
@@ -36,7 +36,7 @@ export default defineComponent({
{
props
.
min_amount
}
-
{
props
.
max_amount
}
{
props
.
min_amount
}
-
{
props
.
max_amount
}
<
/span
>
<
/span
>
<
span
class
=
"word19"
>
<
span
class
=
"word19"
>
近七日年化
&
nbsp
;{
props
.
rate_lower
}
%
-
{
props
.
rate_upper
}
%
近七日年化
&
nbsp
;{
props
.
rate_lower
}
%
起
<
/span
>
<
/span
>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
...
...
src/components/Loan/LoanHotSwipe/index.vue
View file @
6af286cd
<
template
>
<
template
>
<Skeleton
:row=
"3"
:loading=
"skeLoading"
>
<Skeleton
:row=
"3"
:loading=
"skeLoading"
>
<van-swipe
class=
"my-swipe"
indicator-color=
"#3E4FAF"
style=
"margin-top:20px"
>
<van-swipe
class=
"my-swipe"
indicator-color=
"#3E4FAF"
style=
"margin-top: 20px"
>
<van-swipe-item
<van-swipe-item
class=
"flex justify-center swpiItem"
class=
"flex justify-center swpiItem"
v-for=
"item in state.hotProductList"
v-for=
"item in state.hotProductList"
...
@@ -29,6 +33,7 @@ import { onMounted, PropType, reactive, watch } from "@vue/runtime-core";
...
@@ -29,6 +33,7 @@ import { onMounted, PropType, reactive, watch } from "@vue/runtime-core";
import
{
eLoanMode
}
from
"@/views/withMenu/Loan/types"
;
import
{
eLoanMode
}
from
"@/views/withMenu/Loan/types"
;
import
{
hotProduct
}
from
"./type"
;
import
{
hotProduct
}
from
"./type"
;
import
{
Skeleton
}
from
"vant"
;
import
{
Skeleton
}
from
"vant"
;
import
{
eProductStatus
}
from
"@/service/LoanProductService/type"
;
const
props
=
defineProps
({
const
props
=
defineProps
({
loanMode
:
{
loanMode
:
{
...
@@ -38,7 +43,7 @@ const props = defineProps({
...
@@ -38,7 +43,7 @@ const props = defineProps({
});
});
let
skeLoading
=
ref
(
true
);
let
skeLoading
=
ref
(
true
);
let
state
=
reactive
({
hotProductList
:
[]
as
Array
<
hotProduct
>
})
let
state
=
reactive
({
hotProductList
:
[]
as
Array
<
hotProduct
>
});
watch
(
props
,
(
newV
,
oldV
)
=>
{
watch
(
props
,
(
newV
,
oldV
)
=>
{
state
.
hotProductList
=
[];
state
.
hotProductList
=
[];
...
@@ -55,32 +60,35 @@ const fetchList = () => {
...
@@ -55,32 +60,35 @@ const fetchList = () => {
limit
:
3
,
limit
:
3
,
loan_type
:
props
.
loanMode
!
,
loan_type
:
props
.
loanMode
!
,
offset
:
0
,
offset
:
0
,
product_status
:
eProductStatus
.
hot
,
}).
then
((
ret
)
=>
{
}).
then
((
ret
)
=>
{
if
(
ret
.
code
===
200
)
{
if
(
ret
.
code
===
200
)
{
skeLoading
.
value
=
false
;
skeLoading
.
value
=
false
;
ret
.
data
.
uuid
.
map
((
uuid
)
=>
{
ret
.
data
.
uuid
.
map
((
uuid
)
=>
{
queryLoanProductInfo
({
uuid
}).
then
((
ret
)
=>
{
queryLoanProductInfo
({
uuid
}).
then
((
ret
)
=>
{
const
{
rate_lower
,
max_amount
,
max_date
,
inst_name
,
product_name
,
product_status
}
=
const
{
ret
.
data
;
rate_lower
,
console
.
log
(
'status'
,
product_status
);
max_amount
,
max_date
,
if
(
product_status
==
3
){
inst_name
,
state
.
hotProductList
.
push
({
product_name
,
rate_lower
,
product_status
,
max_amount
,
}
=
ret
.
data
;
max_date
,
inst_name
,
state
.
hotProductList
.
push
({
product_name
,
rate_lower
,
uuid
,
max_amount
,
product_status
max_date
,
});
inst_name
,
}
product_name
,
uuid
,
product_status
,
});
});
});
});
});
}
}
});
});
console
.
log
(
'pro'
,
state
.
hotProductList
);
console
.
log
(
"pro"
,
state
.
hotProductList
);
};
};
</
script
>
</
script
>
...
...
src/components/Mine/Branch/branch.vue
View file @
6af286cd
...
@@ -79,7 +79,7 @@
...
@@ -79,7 +79,7 @@
<!-- 底部操作 -->
<!-- 底部操作 -->
<div
<div
class=
"flex text-center py-3 text-gray-800 bg-branch-tab-bg rounded-b-2xl"
class=
"flex text-center py-3 text-gray-800 bg-branch-tab-bg rounded-b-2xl"
v-if=
"is_normal_work"
v-if=
"is_normal_work
&&isUser
"
>
>
<p
class=
"w-1/2 border-r border-gray-200 mb-0"
@
click=
"handleClickChatWithClientManager"
>
联系客服
</p>
<p
class=
"w-1/2 border-r border-gray-200 mb-0"
@
click=
"handleClickChatWithClientManager"
>
联系客服
</p>
<p
class=
"w-1/2 mb-0"
:class=
"isOpen ? 'text-app-blue' : 'text-gray-800'"
@
click=
"toCall"
>
电话咨询
</p>
<p
class=
"w-1/2 mb-0"
:class=
"isOpen ? 'text-app-blue' : 'text-gray-800'"
@
click=
"toCall"
>
电话咨询
</p>
...
@@ -89,7 +89,7 @@
...
@@ -89,7 +89,7 @@
</template>
</template>
<
script
lang=
"ts"
setup
>
<
script
lang=
"ts"
setup
>
import
{
computed
,
defineComponent
,
PropTyp
e
,
ref
}
from
'vue'
import
{
computed
,
defineComponent
,
onMounted
,
onUnmounted
,
PropType
,
reactiv
e
,
ref
}
from
'vue'
import
Icon
from
"@/components/common/Icon.vue"
import
Icon
from
"@/components/common/Icon.vue"
import
{
transfterStrToDate
}
from
'@/utils/transfer'
import
{
transfterStrToDate
}
from
'@/utils/transfer'
import
AddressService
from
'@/service/AddressService'
import
AddressService
from
'@/service/AddressService'
...
@@ -101,6 +101,15 @@ import { authCheck } from '@/utils/authCheck'
...
@@ -101,6 +101,15 @@ import { authCheck } from '@/utils/authCheck'
import
router
from
'@/router'
import
router
from
'@/router'
import
ShowCall
from
'@/components/showCall/index.vue'
import
ShowCall
from
'@/components/showCall/index.vue'
import
{
goToChatWithOutletRoboot
}
from
'@/router/navigate'
import
{
goToChatWithOutletRoboot
}
from
'@/router/navigate'
import
{
getUserMsg
}
from
"@/utils/userMsg"
;
import
{
eRole
}
from
'@/types/roleType'
const
isUser
=
computed
(()
=>
{
console
.
log
(
'user'
,
getUserMsg
()?.
role
==
eRole
.
user
);
return
getUserMsg
()?.
role
==
eRole
.
user
;
})
const
addressService
=
new
AddressService
()
const
addressService
=
new
AddressService
()
...
...
src/components/PopUpContent/LoanFilter/index.vue
View file @
6af286cd
...
@@ -7,7 +7,7 @@
...
@@ -7,7 +7,7 @@
:selecteds=
"selectedBanks"
:selecteds=
"selectedBanks"
:setSelecteds=
"setBanks"
:setSelecteds=
"setBanks"
/>
/>
<div
class=
"group-title mt-8"
>
利率 (%)
</div>
<div
class=
"group-title mt-8"
>
最低
利率 (%)
</div>
<div
class=
"section10 flex-row"
>
<div
class=
"section10 flex-row"
>
<div
class=
"mod5 flex-col"
>
<div
class=
"mod5 flex-col"
>
<div
class=
"layer4 flex-row"
>
<div
class=
"layer4 flex-row"
>
...
@@ -16,14 +16,13 @@
...
@@ -16,14 +16,13 @@
v-model
.
number=
"min_"
v-model
.
number=
"min_"
@
blur=
"checkInterstValid"
@
blur=
"checkInterstValid"
type=
"number"
type=
"number"
placeholder=
"最低利率"
class=
"bg-transparent w-full text-center"
class=
"bg-transparent w-full text-center"
/>
/>
</div>
</div>
<div
class=
"word25"
>
%
</div>
<div
class=
"word25"
>
%
</div>
</div>
</div>
</div>
</div>
<div
class=
"mod6 flex-col"
></div>
<
!--
<
div
class=
"mod6 flex-col"
></div>
<div
class=
"mod7 flex-col"
>
<div
class=
"mod7 flex-col"
>
<div
class=
"main12 flex-row"
>
<div
class=
"main12 flex-row"
>
<div
class=
"txt12"
>
<div
class=
"txt12"
>
...
@@ -37,7 +36,7 @@
...
@@ -37,7 +36,7 @@
</div>
</div>
<div
class=
"word26"
>
%
</div>
<div
class=
"word26"
>
%
</div>
</div>
</div>
</div>
</div>
-->
</div>
</div>
<div
class=
"group-title mt-8"
>
额度 (万元)
</div>
<div
class=
"group-title mt-8"
>
额度 (万元)
</div>
<div
class=
"section10 flex-row"
>
<div
class=
"section10 flex-row"
>
...
@@ -76,7 +75,7 @@
...
@@ -76,7 +75,7 @@
:selecteds=
"selectedTypes"
:selecteds=
"selectedTypes"
:setSelecteds=
"setSelectedTypes"
:setSelecteds=
"setSelectedTypes"
/>
/>
<div
class=
"group-title mt-8"
>
最长
期限
</div>
<div
class=
"group-title mt-8"
>
期限
</div>
<SelectList
<SelectList
class=
"mt-5"
class=
"mt-5"
:list=
"peridList"
:list=
"peridList"
...
...
src/service/LoanProductService/index.ts
View file @
6af286cd
import
baseAxios
from
'../index'
import
baseAxios
from
'../index'
import
{
eLoanMode
}
from
'@/views/withMenu/Loan/types'
import
{
eLoanMode
}
from
'@/views/withMenu/Loan/types'
import
{
iLoanProdcutItem
}
from
"./type"
import
{
iLoanProdcutItem
,
eProductStatus
}
from
"./type"
const
prefix
=
'/loan/query'
const
prefix
=
'/loan/query'
export
function
queryLoanProductList
(
data
:
{
export
function
queryLoanProductList
(
data
:
{
limit
:
number
,
limit
:
number
,
loan_type
:
eLoanMode
loan_type
:
eLoanMode
,
product_status
:
eProductStatus
,
offset
:
number
offset
:
number
})
{
})
{
return
baseAxios
<
{
return
baseAxios
<
{
...
@@ -41,11 +42,9 @@ export function queryBankList() {
...
@@ -41,11 +42,9 @@ export function queryBankList() {
}
}
export
function
queryDirectLoanReq
(
data
:
{
export
function
queryDirectLoanReq
(
data
:
{
min_date
:
number
date
:
number
max_date
:
number
bank_code
:
number
bank_code
:
number
rate_upper
:
number
lower
:
number
rate_lower
:
number
min_amount
:
number
min_amount
:
number
max_amount
:
number
max_amount
:
number
loan_type
:
number
loan_type
:
number
...
...
src/service/LoanProductService/type.ts
View file @
6af286cd
...
@@ -4,13 +4,15 @@ export interface iLoanProdcutItem{
...
@@ -4,13 +4,15 @@ export interface iLoanProdcutItem{
created_at
:
number
,
created_at
:
number
,
features
:
string
,
features
:
string
,
guarantee_type
:
number
,
guarantee_type
:
number
,
rate
:
number
,
date
:
number
,
inst_name
:
string
,
inst_name
:
string
,
max_amount
:
number
,
max_amount
:
number
,
max_date
:
number
,
max_date
:
number
,
min_amount
:
number
,
min_amount
:
number
,
min_date
:
number
,
min_date
:
number
,
product_name
:
string
,
product_name
:
string
,
product_status
:
number
,
product_status
:
eProductStatus
,
loan_type
:
number
,
loan_type
:
number
,
products
:
string
,
products
:
string
,
rate_lower
:
number
,
rate_lower
:
number
,
...
@@ -20,6 +22,14 @@ export interface iLoanProdcutItem{
...
@@ -20,6 +22,14 @@ export interface iLoanProdcutItem{
uuid
:
string
uuid
:
string
}
}
export
enum
eProductStatus
{
all
=
0
,
unpublished
=
1
,
normal
=
2
,
hot
=
3
,
published
=
4
}
export
enum
eGuaranteeType
{
export
enum
eGuaranteeType
{
credit
=
1
,
credit
=
1
,
mortgage
=
2
,
mortgage
=
2
,
...
...
src/views/ActivityList/components/activityCard/index.vue
View file @
6af286cd
<
template
>
<
template
>
<div>
<div>
<div
class=
"text-xs text-gray-400 text-center
pb-2
"
>
<div
class=
"text-xs text-gray-400 text-center
mt-5
"
>
{{
timestampFormat
(
created_at
)
}}
{{
timestampFormat
(
created_at
)
}}
</div>
</div>
<img
:src=
"src"
class=
"mb-5 w-83 h-22 object-cover object-center"
/>
<div
class=
"text-center mt-2"
>
<img
:src=
"src"
class=
"w-83 h-22 object-cover object-center inline-block"
/>
</div>
</div>
</div>
</
template
>
</
template
>
...
...
src/views/ActivityList/index.vue
View file @
6af286cd
...
@@ -4,9 +4,8 @@
...
@@ -4,9 +4,8 @@
:style=
"
{ background: '#0081F7 !important', color: 'white' }"
:style=
"
{ background: '#0081F7 !important', color: 'white' }"
iconColor="white"
iconColor="white"
/>
/>
<div
class=
"w-full -mt-16 relative"
>
<div
class=
" -mt-5"
>
<img
src=
"../../assets/img/activity_bg.png"
class=
"w-full -mt-16"
/>
<img
src=
"../../assets/img/activity_bg.png"
class=
" w-full"
/>
<p
class=
" text-lg text-white absolute top-40 left-0 right-0 mx-auto text-center"
>
等您来了解
</p>
</div>
</div>
<!-- 活动列表 -->
<!-- 活动列表 -->
<van-list
<van-list
...
@@ -16,7 +15,7 @@
...
@@ -16,7 +15,7 @@
:immediate-check=
"false"
:immediate-check=
"false"
@
load=
"onLoad"
@
load=
"onLoad"
>
>
<div
class=
"p-5"
>
<div
class=
"p
x
-5"
>
<Skeleton
:loading=
"skeLoading"
:row=
"3"
class=
"mt-2"
>
<Skeleton
:loading=
"skeLoading"
:row=
"3"
class=
"mt-2"
>
<card
<card
v-for=
"activity in activityList"
v-for=
"activity in activityList"
...
...
src/views/LoanDetail/index.vue
View file @
6af286cd
...
@@ -46,12 +46,12 @@ export default defineComponent({
...
@@ -46,12 +46,12 @@ export default defineComponent({
const
uuid
=
ref
(
''
)
const
uuid
=
ref
(
''
)
const
min_amount
=
ref
(
0
)
const
min_amount
=
ref
(
0
)
const
max_amount
=
ref
(
0
)
const
max_amount
=
ref
(
0
)
const
rate
=
ref
(
0
)
const
rate_lower
=
ref
(
0
)
const
rate_lower
=
ref
(
0
)
const
rate_upper
=
ref
(
0
)
const
rate_upper
=
ref
(
0
)
const
inst_name
=
ref
(
''
)
const
inst_name
=
ref
(
''
)
const
product_name
=
ref
(
''
)
const
product_name
=
ref
(
''
)
const
min_date
=
ref
(
0
)
const
date
=
ref
(
0
)
const
max_date
=
ref
(
0
)
const
guarantee_type
=
ref
(
eGuaranteeType
.
credit
)
const
guarantee_type
=
ref
(
eGuaranteeType
.
credit
)
const
products
=
ref
(
''
)
const
products
=
ref
(
''
)
const
features
=
ref
(
''
)
const
features
=
ref
(
''
)
...
@@ -84,12 +84,10 @@ export default defineComponent({
...
@@ -84,12 +84,10 @@ export default defineComponent({
const
productItem
=
ret
.
data
const
productItem
=
ret
.
data
min_amount
.
value
=
productItem
.
min_amount
min_amount
.
value
=
productItem
.
min_amount
max_amount
.
value
=
productItem
.
max_amount
max_amount
.
value
=
productItem
.
max_amount
rate_lower
.
value
=
productItem
.
rate_lower
rate
.
value
=
productItem
.
rate
rate_upper
.
value
=
productItem
.
rate_upper
inst_name
.
value
=
productItem
.
inst_name
inst_name
.
value
=
productItem
.
inst_name
product_name
.
value
=
productItem
.
product_name
product_name
.
value
=
productItem
.
product_name
min_date
.
value
=
productItem
.
min_date
date
.
value
=
productItem
.
date
max_date
.
value
=
productItem
.
max_date
guarantee_type
.
value
=
productItem
.
guarantee_type
guarantee_type
.
value
=
productItem
.
guarantee_type
products
.
value
=
productItem
.
products
products
.
value
=
productItem
.
products
features
.
value
=
productItem
.
features
features
.
value
=
productItem
.
features
...
@@ -162,7 +160,6 @@ export default defineComponent({
...
@@ -162,7 +160,6 @@ export default defineComponent({
min_amount
=
{
min_amount
.
value
}
min_amount
=
{
min_amount
.
value
}
max_amount
=
{
max_amount
.
value
}
max_amount
=
{
max_amount
.
value
}
rate_lower
=
{
rate_lower
.
value
}
rate_lower
=
{
rate_lower
.
value
}
rate_upper
=
{
rate_upper
.
value
}
setRef
=
{(
el
:
HTMLElement
)
=>
{
setRef
=
{(
el
:
HTMLElement
)
=>
{
applyEl
.
value
=
el
;
applyEl
.
value
=
el
;
}}
}}
...
@@ -219,16 +216,16 @@ export default defineComponent({
...
@@ -219,16 +216,16 @@ export default defineComponent({
<
span
class
=
" w-235 py-4 pr-5 inline-block break-words text-right"
>
{
product_name
.
value
}
<
/span
>
<
span
class
=
" w-235 py-4 pr-5 inline-block break-words text-right"
>
{
product_name
.
value
}
<
/span
>
<
/div
>
<
/div
>
<
div
class
=
"flex text-sm text-gray-800 border-b border-product-detail-bg justify-between"
>
<
div
class
=
"flex text-sm text-gray-800 border-b border-product-detail-bg justify-between"
>
<
span
class
=
" w-100 align-center bg-product-detail-bg py-4 inline-block text-center"
>
产品
利率
<
/span
>
<
span
class
=
" w-100 align-center bg-product-detail-bg py-4 inline-block text-center"
>
贷款
利率
<
/span
>
<
span
class
=
" w-235 py-4 pr-5 inline-block break-words text-right"
>
{
rate
_lower
.
value
}
%~
{
rate_upper
.
value
}
%
<
/span
>
<
span
class
=
" w-235 py-4 pr-5 inline-block break-words text-right"
>
{
rate
.
value
}
%
起
<
/span
>
<
/div
>
<
/div
>
<
div
class
=
"flex text-sm text-gray-800 border-b border-product-detail-bg justify-between"
>
<
div
class
=
"flex text-sm text-gray-800 border-b border-product-detail-bg justify-between"
>
<
span
class
=
" w-100 align-center bg-product-detail-bg py-4 inline-block text-center"
>
产品额度
<
/span
>
<
span
class
=
" w-100 align-center bg-product-detail-bg py-4 inline-block text-center"
>
产品额度
<
/span
>
<
span
class
=
" w-235 py-4 pr-5 inline-block break-words text-right"
>
{
min_amount
.
value
}
万
~
{
max_amount
.
value
}
万
<
/span
>
<
span
class
=
" w-235 py-4 pr-5 inline-block break-words text-right"
>
{
min_amount
.
value
}
万
~
{
max_amount
.
value
}
万
<
/span
>
<
/div
>
<
/div
>
<
div
class
=
"flex text-sm text-gray-800 border-b border-product-detail-bg justify-between"
>
<
div
class
=
"flex text-sm text-gray-800 border-b border-product-detail-bg justify-between"
>
<
span
class
=
" w-100 align-center bg-product-detail-bg py-4 inline-block text-center"
>
产品
期限
<
/span
>
<
span
class
=
" w-100 align-center bg-product-detail-bg py-4 inline-block text-center"
>
贷款
期限
<
/span
>
<
span
class
=
" w-235 py-4 pr-5 inline-block break-words text-right"
>
{
min_date
.
value
}
个月
~
{
max_date
.
value
}
个月
<
/span
>
<
span
class
=
" w-235 py-4 pr-5 inline-block break-words text-right"
>
{
date
.
value
}
年
<
/span
>
<
/div
>
<
/div
>
<
div
class
=
"flex text-sm text-gray-800 border-b border-product-detail-bg justify-between"
>
<
div
class
=
"flex text-sm text-gray-800 border-b border-product-detail-bg justify-between"
>
<
span
class
=
" w-100 align-center bg-product-detail-bg py-4 inline-block text-center"
>
担保方式
<
/span
>
<
span
class
=
" w-100 align-center bg-product-detail-bg py-4 inline-block text-center"
>
担保方式
<
/span
>
...
...
src/views/LoanList/index.vue
View file @
6af286cd
...
@@ -85,7 +85,7 @@ import {
...
@@ -85,7 +85,7 @@ import {
queryBankList
,
queryBankList
,
}
from
"@/service/LoanProductService/index"
;
}
from
"@/service/LoanProductService/index"
;
import
{
simpleItemInfo
}
from
"@/views/withMenu/Loan/types"
;
import
{
simpleItemInfo
}
from
"@/views/withMenu/Loan/types"
;
import
{
iLoanProdcutItem
}
from
"@/service/LoanProductService/type"
;
import
{
eProductStatus
,
iLoanProdcutItem
}
from
"@/service/LoanProductService/type"
;
import
{
Skeleton
,
Toast
}
from
"vant"
;
import
{
Skeleton
,
Toast
}
from
"vant"
;
import
{
import
{
loanSearchState
,
loanSearchState
,
...
@@ -107,10 +107,10 @@ export default defineComponent({
...
@@ -107,10 +107,10 @@ export default defineComponent({
const
mode
=
ref
(
+
useRoute
().
params
.
mode
);
const
mode
=
ref
(
+
useRoute
().
params
.
mode
);
onMounted
(()
=>
{
onMounted
(()
=>
{
fetchBanks
();
/* 状态为空时获取list */
/* 状态为空时获取list */
if
(
loanSearchState
.
result
.
length
==
0
)
{
if
(
loanSearchState
.
result
.
length
==
0
)
{
fetchList
();
fetchList
();
fetchBanks
();
}
}
});
});
...
@@ -154,6 +154,7 @@ export default defineComponent({
...
@@ -154,6 +154,7 @@ export default defineComponent({
limit
:
LIST_SIZE
,
limit
:
LIST_SIZE
,
offset
:
offset
.
value
,
offset
:
offset
.
value
,
loan_type
:
mode
.
value
,
loan_type
:
mode
.
value
,
product_status
:
eProductStatus
.
published
}).
then
((
ret
)
=>
{
}).
then
((
ret
)
=>
{
loading
.
value
=
false
;
loading
.
value
=
false
;
if
(
ret
.
code
===
200
)
{
if
(
ret
.
code
===
200
)
{
...
@@ -198,10 +199,9 @@ export default defineComponent({
...
@@ -198,10 +199,9 @@ export default defineComponent({
return
{
return
{
show
:
false
,
show
:
false
,
peridList
:
[
peridList
:
[
{
id
:
{
min_date
:
0
,
max_date
:
3
},
name
:
"3个月内"
},
{
id
:
{
date
:
1
},
name
:
"1年"
},
{
id
:
{
min_date
:
3
,
max_date
:
6
},
name
:
"3-6个月"
},
{
id
:
{
date
:
3
},
name
:
"3年"
},
{
id
:
{
min_date
:
6
,
max_date
:
12
},
name
:
"6-12个月"
},
{
id
:
{
date
:
10
},
name
:
"10年"
},
{
id
:
{
min_date
:
12
,
max_date
:
360
},
name
:
"12个月以上"
},
],
],
typeList
:
[
typeList
:
[
{
id
:
{
guarantee_type
:
1
},
name
:
"信用"
},
{
id
:
{
guarantee_type
:
1
},
name
:
"信用"
},
...
@@ -315,17 +315,11 @@ export default defineComponent({
...
@@ -315,17 +315,11 @@ export default defineComponent({
queryList
()
{
queryList
()
{
this
.
loading
=
true
;
this
.
loading
=
true
;
queryDirectLoanReq
({
queryDirectLoanReq
({
rate_lower
:
+
this
.
reqParams
.
min
!
?
+
this
.
reqParams
.
min
!
:
0
,
lower
:
+
this
.
reqParams
.
min
!
?
+
this
.
reqParams
.
min
!
:
0
,
rate_upper
:
+
this
.
reqParams
.
max
!
?
+
this
.
reqParams
.
max
!
:
1000
,
min_amount
:
+
this
.
reqParams
.
min2
!
?
+
this
.
reqParams
.
min2
!
:
0
,
min_amount
:
+
this
.
reqParams
.
min2
!
?
+
this
.
reqParams
.
min2
!
:
0
,
max_amount
:
+
this
.
reqParams
.
max2
!
?
+
this
.
reqParams
.
max2
!
:
9999
,
max_amount
:
+
this
.
reqParams
.
max2
!
?
+
this
.
reqParams
.
max2
!
:
9999
,
bank_code
:
this
.
reqParams
.
selectedBanks
[
0
],
bank_code
:
this
.
reqParams
.
selectedBanks
[
0
],
max_date
:
this
.
reqParams
.
selectedPerids
[
0
]
date
:
this
.
reqParams
.
selectedPerids
[
0
]?
this
.
reqParams
.
selectedPerids
[
0
].
date
:
undefined
,
?
this
.
reqParams
.
selectedPerids
[
0
].
max_date
:
undefined
,
min_date
:
this
.
reqParams
.
selectedPerids
[
0
]
?
this
.
reqParams
.
selectedPerids
[
0
].
min_date
:
undefined
,
loan_type
:
this
.
mode
,
loan_type
:
this
.
mode
,
product_status
:
4
,
product_status
:
4
,
guarantee_type
:
this
.
reqParams
.
selectedTypes
[
0
]
guarantee_type
:
this
.
reqParams
.
selectedTypes
[
0
]
...
...
src/views/withMenu/Home/index.vue
View file @
6af286cd
...
@@ -37,17 +37,19 @@
...
@@ -37,17 +37,19 @@
@
click=
"$router.push(
{ name: 'ActivityList' })"
@
click=
"$router.push(
{ name: 'ActivityList' })"
/>
/>
<Skeleton
:loading=
"skeLoading"
:row=
"3"
class=
"mt-2"
>
<Skeleton
:loading=
"skeLoading"
:row=
"3"
class=
"mt-2"
>
<img
<div
class=
"mx-5 mt-5 text-center"
>
class=
"mx-auto mt-5 w-83 h-22 object-cover object-center rounded-lg"
<img
:src=
"src"
class=
"w-83 h-22 object-cover object-center rounded-lg inline-block"
v-if=
"src"
:src=
"src"
@
click=
"
v-if=
"src"
$router.push(
{
@
click=
"
name: 'ActivityDetail',
$router.push(
{
params: { uuid: activityUuid },
name: 'ActivityDetail',
})
params: { uuid: activityUuid },
"
})
/>
"
/>
</div>
</Skeleton>
</Skeleton>
<group-title
class=
"mt-7"
v-if=
"hotNews"
title=
"热门资讯"
@
click=
"$router.push('News')"
/>
<group-title
class=
"mt-7"
v-if=
"hotNews"
title=
"热门资讯"
@
click=
"$router.push('News')"
/>
<HotNews
v-for=
"n in hotNews"
:key=
"n.uuid"
:info=
"n"
/>
<HotNews
v-for=
"n in hotNews"
:key=
"n.uuid"
:info=
"n"
/>
...
@@ -80,7 +82,7 @@ import {
...
@@ -80,7 +82,7 @@ import {
}
from
"@/service/LoanProductService"
;
}
from
"@/service/LoanProductService"
;
import
{
number
}
from
"bitcoinjs-lib/types/script"
;
import
{
number
}
from
"bitcoinjs-lib/types/script"
;
import
{
Skeleton
}
from
"vant"
;
import
{
Skeleton
}
from
"vant"
;
import
{
getUserMsg
}
from
"@/utils/userMsg
"
;
import
{
eProductStatus
}
from
"@/service/LoanProductService/type
"
;
export
default
defineComponent
({
export
default
defineComponent
({
components
:
{
components
:
{
...
@@ -200,6 +202,7 @@ export default defineComponent({
...
@@ -200,6 +202,7 @@ export default defineComponent({
limit
:
1
,
limit
:
1
,
offset
:
0
,
offset
:
0
,
loan_type
:
2
,
loan_type
:
2
,
product_status
:
eProductStatus
.
hot
});
});
if
(
ret
.
code
===
200
)
{
if
(
ret
.
code
===
200
)
{
this
.
skeLoading
=
false
;
this
.
skeLoading
=
false
;
...
...
src/views/withMenu/Loan/index.vue
View file @
6af286cd
...
@@ -154,6 +154,7 @@ import {
...
@@ -154,6 +154,7 @@ import {
}
from
"@/service/LoanProductService"
;
}
from
"@/service/LoanProductService"
;
import
{
loanMode
}
from
"@/store/loanModeStore"
;
import
{
loanMode
}
from
"@/store/loanModeStore"
;
import
{
clearSearchResult
}
from
"@/store/loanSearchResultStore"
;
import
{
clearSearchResult
}
from
"@/store/loanSearchResultStore"
;
import
{
eProductStatus
}
from
"@/service/LoanProductService/type"
;
let
skeLoading
=
ref
(
false
);
let
skeLoading
=
ref
(
false
);
let
state
=
reactive
({
allProductList
:
[]
as
Array
<
simpleItemInfo
>
});
let
state
=
reactive
({
allProductList
:
[]
as
Array
<
simpleItemInfo
>
});
...
@@ -209,9 +210,10 @@ const fetchList = () => {
...
@@ -209,9 +210,10 @@ const fetchList = () => {
// 取前7产品产品遍历
// 取前7产品产品遍历
skeLoading
.
value
=
true
;
skeLoading
.
value
=
true
;
queryLoanProductList
({
queryLoanProductList
({
limit
:
8
,
limit
:
4
,
loan_type
:
mode
.
value
,
loan_type
:
mode
.
value
,
offset
:
0
,
offset
:
0
,
product_status
:
eProductStatus
.
normal
}).
then
((
ret
)
=>
{
}).
then
((
ret
)
=>
{
if
(
ret
.
code
===
200
)
{
if
(
ret
.
code
===
200
)
{
skeLoading
.
value
=
false
;
skeLoading
.
value
=
false
;
...
@@ -225,18 +227,14 @@ const fetchList = () => {
...
@@ -225,18 +227,14 @@ const fetchList = () => {
product_name
,
product_name
,
product_status
,
product_status
,
}
=
ret
.
data
;
}
=
ret
.
data
;
if
(
count
.
value
<
5
)
{
count
.
value
=
count
.
value
+
1
;
if
(
product_status
==
2
)
{
state
.
allProductList
.
push
({
count
.
value
=
count
.
value
+
1
;
max_amount
,
state
.
allProductList
.
push
({
product_name
,
max_amount
,
features
,
product_name
,
inst_name
,
features
,
uuid
,
inst_name
,
});
uuid
,
});
}
}
});
});
});
});
}
}
...
...
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