Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
H
hls-xcmg-vue-app
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
xugong
hls-xcmg-vue-app
Commits
1016637d
Commit
1016637d
authored
Dec 23, 2021
by
胡
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix
parent
329e9d2c
Changes
14
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
269 additions
and
183 deletions
+269
-183
uat.env.js
config/uat.env.js
+1
-1
cha.png
src/assets/login/cha.png
+0
-0
contract-red.png
src/assets/login/contract-red.png
+0
-0
batchSign.vue
src/pages/carConfirm/batchSign.vue
+93
-24
confirm-list.vue
src/pages/carConfirm/confirm-list.vue
+11
-7
repay-details.vue
src/pages/contractRepayment/repay-details.vue
+45
-45
contract-detail.vue
src/pages/contractSigning/contract-detail.vue
+88
-88
contract-signing.vue
src/pages/contractSigning/contract-signing.vue
+16
-11
baseEninfo.vue
src/pages/functionCenter/component/baseEninfo.vue
+1
-1
my-info.vue
src/pages/myInfo/my-info.vue
+1
-1
myBindUser.vue
src/pages/myInfo/myBindUser.vue
+11
-2
contract-record.vue
src/pages/pay/firstPay/contract-record.vue
+1
-1
contract-record.vue
src/pages/pay/payment/contract-record.vue
+1
-1
index.html
www/index.html
+0
-1
No files found.
config/uat.env.js
View file @
1016637d
...
...
@@ -11,5 +11,5 @@ module.exports = {
ocrPath
:
'"http://180.104.121.66:8088/r/api"'
,
fileUploadSvcPath
:
'"http://180.104.121.66:8088/r/api/app/fileUploadSvc?sysName=XCMG_UAT&apiName="'
,
appId
:
'"com.xcmg.app.dev"'
,
currentVersion
:
'"3.
2.9
"'
currentVersion
:
'"3.
3.0
"'
}
src/assets/login/cha.png
0 → 100644
View file @
1016637d
324 Bytes
src/assets/login/contract-red.png
0 → 100644
View file @
1016637d
559 Bytes
src/pages/carConfirm/batchSign.vue
View file @
1016637d
...
...
@@ -2,21 +2,21 @@
<h-view
id=
"batch-sign"
class=
"public-style"
:title=
"title"
>
<h-header
class=
"bar-custom"
>
<div
slot=
"left"
class=
"h-header-btn"
>
<img
src=
"@/assets/userBind/arrow.png"
@
click=
"
$router.go(-1
)"
/>
<img
src=
"@/assets/userBind/arrow.png"
@
click=
"
goBack(
)"
/>
</div>
<div
slot=
"center"
class=
"top-word"
>
{{
title
}}
</div>
</h-header>
<scroll
ref=
"scrollLists"
:updateData=
"[prolists]"
:pullUp=
"false"
>
<div
class=
"hint-info"
>
<img
src=
"@/assets/contractCreate/hint.png"
/>
提示: 红色为已签署合同
</div>
<div
class=
"scroll-box"
>
<div
class=
"box"
v-for=
"item of list"
:key=
"item.project_id"
@
click=
"doCheck(item.project_id)"
>
<div
class=
"box"
v-for=
"item of list"
:key=
"item.project_id"
>
<!-- 颜色 d6204b -->
<div
class=
"name"
>
<img
src=
"@/assets/login/contract.png"
alt=
"icon"
/>
<img
v-if=
"item.checked"
src=
"@/assets/login/contract-red.png"
alt=
"icon"
/>
<img
v-else
src=
"@/assets/login/contract.png"
alt=
"icon"
/>
<span>
{{
item
.
project_name
}}
</span>
</div>
<div>
{{
item
.
project_number
}}
</div>
...
...
@@ -24,10 +24,6 @@
</div>
</scroll>
<!--
<button
class=
"submit"
>
<img
src=
"@/assets/login/addUser.png"
alt=
"自然人"
/>
添加新用户
</button>
-->
<bottom-tab
class=
"add-box"
>
<tab-button
class=
"before"
@
click
.
native=
"signContact"
>
签署电子合同
</tab-button>
<tab-button
class=
"next"
@
click
.
native=
"submit"
>
提交审核
</tab-button>
...
...
@@ -37,27 +33,84 @@
<
script
>
export
default
{
name
:
'
myBindUser
'
,
name
:
'
batch-sign
'
,
data
()
{
return
{
prolists
:
[],
title
:
this
.
$route
.
query
.
name
===
'confirmList'
?
'批量签署电子合同'
:
''
,
title
:
this
.
$route
.
query
.
name
===
'confirmList'
?
'批量签署电子合同'
:
'
批量签署电子合同
'
,
list
:
JSON
.
parse
(
window
.
localStorage
.
getItem
(
'handleContact'
)),
checkList
:
[],
// 需要进行签署的合同
}
},
mounted
()
{
this
.
checkSigned
();
},
methods
:
{
// 检测已经签署的合同,进行过滤
async
checkSigned
()
{
let
url
=
process
.
env
.
basePath
+
'batch_check_sign'
;
let
data_class
=
this
.
$route
.
query
.
name
===
"confirmList"
?
"LEASE_ITEM"
:
"PRJ_CONFIRM"
;
let
param
=
{
"master"
:
this
.
list
.
map
(
item
=>
({
confirm_id
:
item
.
confirm_id
,
data_class
}))
};
hlsPopup
.
showLoading
(
'请稍候'
);
let
res
=
await
this
.
$post
(
url
,
param
);
this
.
hlsPopup
.
hideLoading
();
if
(
res
.
result
===
"S"
)
{
let
checkList
=
res
.
lists
.
filter
(
ele
=>
ele
.
signed_flag
===
'N'
).
map
(
ele
=>
ele
.
confirm_id
);
this
.
checkList
=
this
.
list
.
filter
(
ele
=>
checkList
.
includes
(
ele
.
confirm_id
));
// 加标识, checked为true 为 已签署
this
.
list
=
this
.
list
.
map
(
ele
=>
{
ele
.
checked
=
!
checkList
.
includes
(
ele
.
confirm_id
);
return
ele
;
})
}
else
{
hlsPopup
.
showLongCenter
(
res
.
message
);
}
},
// 提交
async
submit
()
{
let
data_class
=
this
.
$route
.
query
.
name
===
"confirmList"
?
"LEASE_ITEM"
:
"PRJ_CONFIRM"
;
let
confirm_list
=
this
.
list
.
filter
(
item
=>
item
.
checked
).
map
(
item
=>
({
confirm_id
:
item
.
confirm_id
,
data_class
,
confirm_status
:
"APPROVED"
}));
if
(
!
confirm_list
.
length
)
return
hlsPopup
.
showLongCenter
(
"无可提交审核的合同"
);
let
url
=
process
.
env
.
basePath
+
'batch_do_confirm_bp'
;
let
param
=
{
master
:
{
confirm_list
}
};
hlsPopup
.
showLoading
(
'提交数据中'
);
let
res
=
await
this
.
$post
(
url
,
param
);
this
.
hlsPopup
.
hideLoading
();
if
(
res
.
result
===
'S'
)
{
this
.
hlsPopup
.
showSuccess
(
'提交成功'
);
let
successList
=
res
.
info
.
filter
(
item
=>
item
.
status
==
'S'
).
map
(
item
=>
item
.
confirm_id
);
this
.
list
=
this
.
list
.
filter
(
item
=>
!
successList
.
includes
(
item
.
confirm_id
));
window
.
localStorage
.
setItem
(
'handleContact'
,
JSON
.
stringify
(
this
.
list
));
await
this
.
checkSigned
();
}
else
{
this
.
hlsPopup
.
showLongCenter
(
res
.
message
);
}
},
// 签署
async
signContact
()
{
if
(
!
this
.
checkList
.
length
)
return
hlsPopup
.
showLongCenter
(
"无可需要签署的电子合同"
);
let
url
=
process
.
env
.
basePath
+
'batch_sign'
;
let
data_class
=
this
.
$route
.
query
.
name
===
"confirmList"
?
"LEASE_ITEM"
:
"PRJ_CONFIRM"
;
let
param
=
{
"master"
:
{
"project_id"
:
this
.
list
.
map
(
item
=>
item
.
project_id
),
"bp_id"
:
JSON
.
parse
(
window
.
localStorage
.
getItem
(
'now_user_bp_bind_id'
)).
bp_id
master
:
{
project_list
:
this
.
checkList
.
map
(
item
=>
({
project_id
:
item
.
project_id
,
data_class
})
),
bp_id
:
JSON
.
parse
(
window
.
localStorage
.
getItem
(
'now_user_bp_bind_id'
)).
bp_id
}
}
hlsPopup
.
showLoading
(
'请稍候'
);
let
res
=
await
this
.
$post
(
url
,
param
);
this
.
hlsPopup
.
hideLoading
()
...
...
@@ -71,12 +124,11 @@ export default {
hlsPopup
.
showLongCenter
(
res
.
message
||
res
.
info
.
msg
)
}
},
doCheck
(
id
)
{
this
.
list
=
this
.
list
.
map
(
item
=>
{
item
.
checked
=
item
.
project_id
==
id
;
return
item
;
})
},
// 返回,清缓存
goBack
()
{
window
.
localStorage
.
removeItem
(
"handleContact"
);
this
.
$router
.
go
(
-
1
);
}
},
}
</
script
>
...
...
@@ -87,7 +139,24 @@ export default {
.scrollContent {
background-color: rgb(242, 242, 242);
}
.hint-info {
width: 100%;
height: 36px;
font-family: PingFangSC-Regular;
font-size: 14px;
color: #fcc800;
letter-spacing: 0.5px;
background-color: #faf5e0;
display: flex;
align-items: center;
img {
width: 16px;
height: 16px;
margin-left: 17px;
margin-right: 12px;
}
}
.add-box {
.before {
border: 1px solid #fdb62f;
...
...
src/pages/carConfirm/confirm-list.vue
View file @
1016637d
...
...
@@ -53,13 +53,10 @@
<span
:style=
"
{ color: chooseAll ? '#1d3fff' : 'rgb(212,214,212)' }">全选
</span>
</div>
<button
class=
"cancel"
@
click=
"cancelRadio"
>
× 取消批量
</button>
<button
class=
"sign"
@
click=
"$router.push(
{ path: '/batchSign', query: { name: 'confirmList' } })"
>签订电子合同
</button>
<button
class=
"sign"
@
click=
"sign"
>
签订电子合同
</button>
</div>
<button
v-show=
"!isRadio"
class=
"go-radio"
@
click=
"isRadio = true"
>
<button
v-show=
"!
tabNum && !
isRadio"
class=
"go-radio"
@
click=
"isRadio = true"
>
<img
src=
"@/assets/login/write.png"
alt=
"icon"
/>
<span>
批量签署
</span>
</button>
...
...
@@ -120,6 +117,12 @@ export default {
})
},
methods
:
{
sign
()
{
let
list
=
this
.
showList
.
filter
(
item
=>
item
.
checked
);
if
(
!
list
.
length
)
return
hlsPopup
.
showLongCenter
(
'请选择合同'
);
window
.
localStorage
.
setItem
(
'handleContact'
,
JSON
.
stringify
(
list
));
this
.
$router
.
push
({
path
:
'/batchSign'
,
query
:
{
name
:
'confirmList'
}
});
},
clickRadio
(
item
)
{
item
.
checked
=
!
item
.
checked
;
...
...
@@ -181,7 +184,8 @@ export default {
}
},
getTabNum
(
i
)
{
this
.
tabNum
=
i
this
.
tabNum
=
i
;
this
.
isRadio
=
false
;
this
.
$refs
.
scroll
.
update
(
false
)
this
.
$refs
.
scroll
.
scrollToTop
()
},
...
...
@@ -275,7 +279,7 @@ export default {
display: flex;
justify-content: center;
align-items: center;
font-size: 0.
1
5rem;
font-size: 0.
2
5rem;
img {
width: 16px;
margin-right: 4px;
...
...
src/pages/contractRepayment/repay-details.vue
View file @
1016637d
<
template
>
<h-view
id=
"repay-details"
class=
"public-style"
>
<h-header
:proportion=
"[5,
1,
1]"
class=
"bar-custom"
>
<h-header
:proportion=
"[5,
1,
1]"
class=
"bar-custom"
>
<div
slot=
"left"
class=
"h-header-btn"
>
<img
src=
"@/assets/userBind/arrow.png"
@
click=
"$routeGo()"
>
<img
src=
"@/assets/userBind/arrow.png"
@
click=
"$routeGo()"
/
>
<span>
合同明细
</span>
</div>
</h-header>
...
...
@@ -23,15 +23,15 @@
</item>
<item>
<div
slot=
"name"
>
产品名称
</div>
<div
slot=
"content"
>
{{
detailInfo
.
division_n
?
detailInfo
.
division_n
:
"暂无数据"
}}
</div>
<div
slot=
"content"
>
{{
detailInfo
.
division_n
?
detailInfo
.
division_n
:
"暂无数据"
}}
</div>
</item>
<item>
<div
slot=
"name"
>
产品型号
</div>
<div
slot=
"content"
>
{{
detailInfo
.
product_code
?
detailInfo
.
product_code
:
"暂无数据"
}}
</div>
<div
slot=
"content"
>
{{
detailInfo
.
product_code
?
detailInfo
.
product_code
:
"暂无数据"
}}
</div>
</item>
<item>
<div
slot=
"name"
>
合同金额
</div>
<div
slot=
"content"
>
{{
detailInfo
.
total_price
|
currency
}}
</div>
<div
slot=
"content"
>
{{
detailInfo
.
total_price
|
currency
}}
</div>
</item>
<item>
<div
slot=
"name"
>
商务政策
</div>
...
...
@@ -41,18 +41,15 @@
<div
slot=
"name"
>
租赁物数量
</div>
<div
slot=
"content"
>
{{
detailInfo
.
product_num
}}
</div>
</item>
</list-item>
<div
class=
"header"
>
设备清单
</div>
<scroll
ref=
"scroll"
:updateData=
"[lists]"
:pullUp=
"true"
@
pullingUp=
"getEquipment"
>
<scroll
ref=
"scroll"
:updateData=
"[lists]"
:pullUp=
"true"
@
pullingUp=
"getEquipment"
>
<list-item
:item-height=
"104"
class=
"equipment-list"
>
<item
v-for=
"(item,index) in lists"
:proportion=
"[2,1]"
:key=
"index"
>
<item
v-for=
"(item,index) in lists"
:proportion=
"[2,
1]"
:key=
"index"
>
<div
slot=
"name"
class=
"parameters"
>
<div
class=
"list"
>
<p>
设备识别号
</p>
<span
class=
"bold"
>
{{
item
.
product_code
}}
-
{{
index
+
1
|
lengthCheck
}}
</span>
<span
class=
"bold"
>
{{
item
.
product_code
}}
-
{{
index
+
1
|
lengthCheck
}}
</span>
</div>
<div
class=
"list"
>
<p>
发动机号
</p>
...
...
@@ -68,15 +65,19 @@
</div>
</div>
<div
slot=
"content"
>
<span
v-if=
"item.overdue_times!=0"
:class=
"['status','red']"
>
逾期
{{
item
.
overdue_times
}}
期
</span>
<span
v-if=
"item.overdue_times != 0"
:class=
"['status', 'red']"
>
逾期
{{
item
.
overdue_times
}}
期
</span>
<div
class=
"plan"
@
click=
"toRepayPlan(item.contract_id)"
>
<img
src=
"@/assets/contractRepayment/plan.png"
alt
=
""
>
<img
src=
"@/assets/contractRepayment/plan.png"
alt
/
>
<span>
还款计划
</span>
</div>
</div>
</item>
</list-item>
</scroll></h-content>
</scroll>
</h-content>
</h-view>
</
template
>
...
...
@@ -94,7 +95,7 @@ export default {
}
},
},
data
()
{
data
()
{
return
{
pagenum
:
1
,
detailInfo
:
{
...
...
@@ -112,7 +113,7 @@ export default {
},
computed
:
{},
watch
:
{},
beforeRouteEnter
(
to
,
from
,
next
)
{
beforeRouteEnter
(
to
,
from
,
next
)
{
next
(
vm
=>
{
if
(
from
.
name
===
'ContractRepayment'
)
{
vm
.
pagenum
=
1
...
...
@@ -123,7 +124,7 @@ export default {
})
},
methods
:
{
getEquipment
()
{
getEquipment
()
{
let
vm
=
this
let
url
=
process
.
env
.
basePath
+
'con_equip_list'
let
param
=
{
...
...
@@ -157,7 +158,7 @@ export default {
}
})
},
getDetail
()
{
getDetail
()
{
let
vm
=
this
let
url
=
process
.
env
.
basePath
+
'con_repayment_detial'
let
param
=
{
...
...
@@ -173,7 +174,7 @@ export default {
}
})
},
toRepayPlan
(
e
)
{
toRepayPlan
(
e
)
{
this
.
$router
.
push
({
name
:
'RepayPlan'
,
params
:
{
...
...
@@ -186,18 +187,18 @@ export default {
</
script
>
<
style
lang=
'less'
>
#repay-details {
.status{
margin-bottom:20px;
.status
{
margin-bottom:
20px;
display: inline-block;
}
.red
{
color: red;
border-bottom: 1px solid red;
}
.blue
{
color: blue;
border-bottom: 1px solid blue;
}
.red
{
color: red;
border-bottom: 1px solid red;
}
.blue
{
color: blue;
border-bottom: 1px solid blue;
}
.h-header {
background-color: @headerColor;
.h-header-btn {
...
...
@@ -225,10 +226,10 @@ export default {
line-height: 40px;
font-family: PingFangSC-Semibold;
font-size: 14px;
color: #21254
C
;
color: #21254
c
;
font-weight: 700;
text-indent: 1em;
border-bottom: 1px solid #
F1F0F
5;
border-bottom: 1px solid #
f1f0f
5;
&:before {
content: "";
...
...
@@ -244,8 +245,8 @@ export default {
.invoice {
margin-bottom: 0px;
.hls-item{
.contents{
.hls-item
{
.contents
{
.add-name {
font-family: PingFangSC-Regular;
font-size: 14px;
...
...
@@ -255,7 +256,7 @@ export default {
.add-content {
font-family: PingFangSC-Regular;
font-size: 14px;
color: rgba(56,
63,69,0.60
);
color: rgba(56,
63, 69, 0.6
);
}
}
}
...
...
@@ -266,14 +267,14 @@ export default {
background-color: transparent;
.hls-item {
border-top: 1px solid #
D9DBDF
;
border-bottom: 1px solid #
D9DBDF
;
border-top: 1px solid #
d9dbdf
;
border-bottom: 1px solid #
d9dbdf
;
background-color: #fff;
margin-bottom: 10px;
.contents {
padding-top: 8px;
.add-name{
.add-name
{
display: flex;
flex-direction: column;
...
...
@@ -283,23 +284,23 @@ export default {
.list {
display: flex;
margin-bottom:0;
margin-bottom:
0;
p {
font-family: PingFangSC-Regular;
font-size: 13px;
color: rgba(56,
63,69,0.60
);
color: rgba(56,
63, 69, 0.6
);
letter-spacing: 0.4px;
text-align: right;
flex: 1;
}
span {
flex:1;
flex:
1;
margin-left: 15px;
font-family: PingFangSC-Regular;
font-size: 13px;
color: #383
F
45;
color: #383
f
45;
letter-spacing: 0.4px;
}
...
...
@@ -316,7 +317,7 @@ export default {
position: relative;
width: 100px;
height: 30px;
background: rgba(29, 63, 255,.2);
background: rgba(29, 63, 255,
0
.2);
border-radius: 4px;
img {
...
...
@@ -337,7 +338,6 @@ export default {
}
}
}
}
}
}
...
...
@@ -360,7 +360,7 @@ export default {
@media (device-width: 375px) and (device-height: 812px) and (-webkit-min-device-pixel-ratio: 3) {
.platform-ios {
#repay-details{
#repay-details
{
.scrollContent {
// padding-top: 3.72rem;
}
...
...
@@ -370,7 +370,7 @@ export default {
// iPhoneXR适配
@media (device-width: 414px) and (device-height: 896px) {
.platform-ios {
#repay-details{
#repay-details
{
.scrollContent {
// padding-top: 3.72rem;
}
...
...
src/pages/contractSigning/contract-detail.vue
View file @
1016637d
...
...
@@ -4,7 +4,7 @@
<div
class=
"prompt"
>
<div
class=
"top"
>
<div>
<img
src=
"@/assets/constractSigning/prompt.png"
alt
>
<img
src=
"@/assets/constractSigning/prompt.png"
alt
/
>
<span>
提示
</span>
</div>
<div>
请前往【农行代扣授权书】界面完成银行卡信息录入!
</div>
...
...
@@ -12,9 +12,9 @@
<div
class=
"bottom"
@
click=
"isshow = !isshow"
>
我知道了
</div>
</div>
</div>
<h-header
:proportion=
"[5,
1,
1]"
class=
"bar-custom"
>
<h-header
:proportion=
"[5,
1,
1]"
class=
"bar-custom"
>
<div
slot=
"left"
class=
"h-header-btn"
>
<img
src=
"@/assets/userBind/arrow.png"
@
click=
"$routeGo()"
>
<img
src=
"@/assets/userBind/arrow.png"
@
click=
"$routeGo()"
/
>
<span>
方案详情
</span>
</div>
</h-header>
...
...
@@ -32,16 +32,16 @@
<button
v-if=
"!ischecked"
style=
"background:rgba(56, 63, 69, 0.5)"
>
同意
</button>
<button
v-if=
"ischecked"
class=
"appro"
style=
"background:#00469c"
@
click=
"confirm"
>
同意
</button>
</div>
</div>
-->
</div>
-->
<div
class=
"tab-style"
>
<div
:class=
"
{
'done':num === 0,'undone':num !== 0
}" @click="num = 0;">
<img
:src=
"num === 0
?check1:uncheck1"
>
基本信息
<div
:class=
"
{
'done': num === 0, 'undone': num !== 0
}" @click="num = 0;">
<img
:src=
"num === 0
? check1 : uncheck1"
/
>
基本信息
</div>
<div
:class=
"
{
'done':num === 1,'undone':num !== 1
}" @click="num = 1;">
<img
:src=
"num === 1
?check3:uncheck3"
>
方案信息
<div
:class=
"
{
'done': num === 1, 'undone': num !== 1
}" @click="num = 1;">
<img
:src=
"num === 1
? check3 : uncheck3"
/
>
方案信息
</div>
<div
:class=
"
{
'done':num === 2,'undone':num !== 2
}" @click="num = 2;">
<img
:src=
"num === 2
?check2:uncheck2"
>
征信授权书
<div
:class=
"
{
'done': num === 2, 'undone': num !== 2
}" @click="num = 2;">
<img
:src=
"num === 2
? check2 : uncheck2"
/
>
征信授权书
</div>
</div>
<h-content
v-if=
"num === 0"
class=
"business-condition"
>
...
...
@@ -58,22 +58,22 @@
<list-item
v-if=
"guarantorInfo.length"
:item-height=
"76"
>
<item
v-for=
"(item,index) in guarantorInfo"
:key=
"index"
>
<div
slot=
"name"
>
<span
class=
"name-box"
>
{{
index
+
1
}}
</span>
<span
class=
"name"
>
担保人
{{
index
+
1
}}
姓名
</span>
<span
class=
"name-box"
>
{{
index
+
1
}}
</span>
<span
class=
"name"
>
担保人
{{
index
+
1
}}
姓名
</span>
<span
class=
"card-num"
>
证件号
</span>
</div>
<div
slot=
"content"
class=
"right"
>
<img
src=
"@/assets/intoApproval/introduce.png"
>
<img
src=
"@/assets/intoApproval/introduce.png"
/
>
<span
:title=
"item.bp_name"
>
{{
item
.
bp_name
}}
</span>
<br
>
<span>
{{
item
.
bp_class
===
'NP'
?
item
.
id_card_no
:
item
.
organization_code
}}
</span>
<br
/
>
<span>
{{
item
.
bp_class
===
'NP'
?
item
.
id_card_no
:
item
.
organization_code
}}
</span>
</div>
</item>
</list-item>
<div
class=
"alert"
>
<div
class=
"alert-content"
>
<div
class=
"title"
>
<img
src=
"@/assets/intoApproval/info.png"
>
<img
src=
"@/assets/intoApproval/info.png"
/
>
<span
class=
"info-word"
>
温馨提示
</span>
</div>
<p
class=
"top-info"
>
绑定成功后,您即可使用APP中合同查询、还款查询等功能。
</p>
...
...
@@ -87,30 +87,30 @@
</h-content>
<h-content
v-if=
"num === 2"
>
<list-item
:item-height=
"56"
class=
"contract-text"
style=
"background-color:rgb(250,250,250);"
>
<item
v-for=
"(item,index) in attachArray"
:proportion=
"[7,1]"
:key=
"index"
>
<item
v-for=
"(item,index) in attachArray"
:proportion=
"[7,
1]"
:key=
"index"
>
<div
slot=
"name"
class=
"aguremrnt-list"
>
<img
src=
"@/assets/constractSigning/npack.png"
alt
class=
"pics"
>
<img
src=
"@/assets/constractSigning/npack.png"
alt
class=
"pics"
/
>
<p
class=
"second first"
>
{{
item
.
attachment_file
}}
</p>
<img
v-if=
"item.read_status === 'N'"
class=
"unread"
src=
"@/assets/constractSigning/unread.png"
>
/
>
<img
v-if=
"item.read_status === 'Y'"
class=
"unread"
src=
"@/assets/constractSigning/read.png"
>
/
>
<div
v-if=
"item.template_code === 'PRE_ABC_PAYMENT'"
class=
"wrap-img"
@
click=
"entryInfo"
>
<img
src=
"@/assets/constractSigning/scan.png"
>
<img
src=
"@/assets/constractSigning/scan.png"
/
>
</div>
</div>
<div
slot=
"content"
class=
"in-detail"
@
click=
"goContent(item,index)"
>
<img
src=
"@/assets/constractSigning/detail.png"
alt
>
<div
slot=
"content"
class=
"in-detail"
@
click=
"goContent(item,
index)"
>
<img
src=
"@/assets/constractSigning/detail.png"
alt
/
>
</div>
</item>
</list-item>
...
...
@@ -123,7 +123,7 @@
<list-item
:item-height=
"44"
class=
"second-part"
>
<item>
<div
slot=
"name"
class=
"font-color"
>
商务政策
</div>
<input
slot=
"content"
v-model=
"info.product_plan_id_n"
readonly
>
<input
slot=
"content"
v-model=
"info.product_plan_id_n"
readonly
/
>
</item>
<item>
<div
slot=
"name"
class=
"font-color"
>
设备总价
</div>
...
...
@@ -147,7 +147,7 @@
</item>
<item>
<div
slot=
"name"
class=
"font-color"
>
手续费比例
</div>
<input
slot=
"content"
v-model=
"info.lease_charge_ratio_n"
readonly
>
<input
slot=
"content"
v-model=
"info.lease_charge_ratio_n"
readonly
/
>
</item>
<item>
<div
slot=
"name"
class=
"font-color"
>
手续费
</div>
...
...
@@ -173,15 +173,15 @@
</item>
<item>
<div
slot=
"name"
class=
"font-color"
>
还款周期
</div>
<input
slot=
"content"
v-model=
"info.annual_pay_times_n"
readonly
>
<input
slot=
"content"
v-model=
"info.annual_pay_times_n"
readonly
/
>
</item>
<item>
<div
slot=
"name"
class=
"font-color"
>
租赁期数
</div>
<input
slot=
"content"
v-model=
"info.lease_times"
readonly
>
<input
slot=
"content"
v-model=
"info.lease_times"
readonly
/
>
</item>
<item>
<div
slot=
"name"
class=
"font-color"
>
年利率
</div>
<input
slot=
"content"
v-model=
"info.int_rate_n"
readonly
>
<input
slot=
"content"
v-model=
"info.int_rate_n"
readonly
/
>
</item>
</list-item>
<div
class=
"repay-plan"
>
...
...
@@ -194,21 +194,21 @@
<list-item
:item-height=
"44"
class=
"second-part"
>
<item>
<div
slot=
"name"
class=
"font-color"
>
设备识别号
</div>
<input
slot=
"content"
v-model=
"info.product_code"
readonly
>
<input
slot=
"content"
v-model=
"info.product_code"
readonly
/
>
</item>
<item>
<div
slot=
"name"
class=
"font-color"
>
产品名称
</div>
<input
slot=
"content"
v-model=
"info.product_name"
readonly
>
<input
slot=
"content"
v-model=
"info.product_name"
readonly
/
>
</item>
<item>
<div
slot=
"name"
class=
"font-color"
>
产品数量
</div>
<input
slot=
"content"
v-model=
"info.product_num"
readonly
>
<input
slot=
"content"
v-model=
"info.product_num"
readonly
/
>
</item>
</list-item>
<div
class=
"alert alert-fund"
>
<div
class=
"alert-content"
>
<div
class=
"title"
>
<img
src=
"@/assets/intoApproval/info.png"
>
<img
src=
"@/assets/intoApproval/info.png"
/
>
<span
class=
"info-word"
>
提示
</span>
</div>
<p
class=
"top-info"
>
...
...
@@ -218,16 +218,16 @@
</div>
</div>
</h-content>
<bottom-tab
v-if=
"con_confirm_status
!==
'APPROVED'"
class=
"add-box"
>
<bottom-tab
v-if=
"con_confirm_status
!==
'APPROVED'"
class=
"add-box"
>
<tab-button
class=
"before"
@
click
.
native=
"takePhonto"
>
<img
src=
"@/assets/constractSigning/certification.png"
>
征信签约
<img
src=
"@/assets/constractSigning/certification.png"
/
>
征信签约
</tab-button>
<tab-button
class=
"next"
@
click
.
native=
"inSure"
>
<img
src=
"@/assets/intoApproval/approve.png"
>
提交审核
<img
src=
"@/assets/intoApproval/approve.png"
/
>
提交审核
</tab-button>
</bottom-tab>
<h-modal
v-if=
"con_confirm_status
!==
'APPROVED'"
v-if=
"con_confirm_status
!==
'APPROVED'"
ref=
"modal"
v-model=
"showModalValue"
position=
"bottom"
...
...
@@ -238,17 +238,17 @@
<div
class=
"approveBottom"
>
<span>
审批意见
<img
src=
"@/assets/intoApproval/close1.png"
@
click=
"showModalValue
=false"
>
<img
src=
"@/assets/intoApproval/close1.png"
@
click=
"showModalValue
= false"
/
>
</span>
<textarea
v-model=
"confirm_note"
cols=
"8"
rows=
"20"
placeholder=
"请输入"
/>
</div>
</h-content>
<bottom-tab>
<tab-button
class=
"reject"
@
click
.
native=
"showModalValue
=true;charge('拒绝',
'REJECTED')"
>
<img
src=
"@/assets/intoApproval/reject.png"
>
拒绝
<tab-button
class=
"reject"
@
click
.
native=
"showModalValue
= true; charge('拒绝',
'REJECTED')"
>
<img
src=
"@/assets/intoApproval/reject.png"
/
>
拒绝
</tab-button>
<tab-button
class=
"same"
@
click
.
native=
"showModalValue
=true;charge('同意',
'APPROVED')"
>
<img
src=
"@/assets/intoApproval/approve.png"
>
同意
<tab-button
class=
"same"
@
click
.
native=
"showModalValue
= true; charge('同意',
'APPROVED')"
>
<img
src=
"@/assets/intoApproval/approve.png"
/
>
同意
</tab-button>
</bottom-tab>
</h-view>
...
...
@@ -275,7 +275,7 @@ export default {
LegalPerson
,
// bodyCheck,
},
data
()
{
data
()
{
return
{
pages
:
0
,
pdfDoc
:
null
,
...
...
@@ -330,7 +330,7 @@ export default {
computed
:
{},
watch
:
{
$route
(
to
,
from
)
{
$route
(
to
,
from
)
{
hlsPopup
.
hideConfirm
()
},
// ischecked: function (newVal, oldVal) {
...
...
@@ -341,7 +341,7 @@ export default {
// appro.style.backgroundColor = 'rgba(56, 63, 69, 0.5)'
// }
// },
bp_class
()
{
bp_class
()
{
if
(
this
.
bp_class
===
'NP'
)
{
this
.
bp_flag
=
false
// this.getBseMsg()
...
...
@@ -350,7 +350,7 @@ export default {
}
},
},
beforeRouteEnter
(
to
,
from
,
next
)
{
beforeRouteEnter
(
to
,
from
,
next
)
{
next
(
vm
=>
{
if
(
from
.
name
===
'ContractSigning'
)
{
// vm.$refs.body.hideBody()
...
...
@@ -390,10 +390,10 @@ export default {
}
})
},
activated
()
{
activated
()
{
// this.bankCardQuery()
},
mounted
()
{
mounted
()
{
if
(
this
.
con_confirm_status
!==
'APPROVED'
)
{
// this.popProtocol()
}
...
...
@@ -410,7 +410,7 @@ export default {
}, */
methods
:
{
// 签约校验
async
signCheck
()
{
async
signCheck
()
{
let
vm
=
this
hlsPopup
.
showLoading
(
'请稍候'
)
let
url
=
process
.
env
.
basePath
+
'sign_check'
...
...
@@ -427,7 +427,7 @@ export default {
return
false
}
},
async
goContent
(
item
,
index
)
{
async
goContent
(
item
,
index
)
{
// 详情
// 合同状态更新保存
let
vm
=
this
...
...
@@ -458,7 +458,7 @@ export default {
}
},
// 合同文本详情附件查询
getAttachment
()
{
getAttachment
()
{
let
vm
=
this
let
url
=
process
.
env
.
basePath
+
'get_content_app'
let
param
=
{
...
...
@@ -477,7 +477,7 @@ export default {
})
},
// 征信授权书
getBook
()
{
getBook
()
{
let
vm
=
this
let
url
=
process
.
env
.
basePath
+
'get_content_app'
let
param
=
{
...
...
@@ -500,17 +500,17 @@ export default {
}
})
},
_renderPage
(
num
)
{
_renderPage
(
num
)
{
this
.
pdfDoc
.
getPage
(
num
).
then
((
page
)
=>
{
let
canvas
=
document
.
getElementById
(
'the-canvas'
+
num
)
console
.
log
(
canvas
)
let
ctx
=
canvas
.
getContext
(
'2d'
)
let
dpr
=
window
.
devicePixelRatio
||
1
let
bsr
=
ctx
.
webkitBackingStorePixelRatio
||
ctx
.
mozBackingStorePixelRatio
||
ctx
.
msBackingStorePixelRatio
||
ctx
.
oBackingStorePixelRatio
||
ctx
.
backingStorePixelRatio
||
1
ctx
.
mozBackingStorePixelRatio
||
ctx
.
msBackingStorePixelRatio
||
ctx
.
oBackingStorePixelRatio
||
ctx
.
backingStorePixelRatio
||
1
let
ratio
=
dpr
/
bsr
let
viewport
=
page
.
getViewport
(
screen
.
availWidth
/
page
.
getViewport
(
1
).
width
)
canvas
.
width
=
viewport
.
width
*
ratio
...
...
@@ -528,7 +528,7 @@ export default {
}
})
},
_loadFile
(
url
)
{
_loadFile
(
url
)
{
console
.
log
(
'URL ==== '
+
url
)
PDFJS
.
getDocument
(
url
).
then
((
pdf
)
=>
{
this
.
pdfDoc
=
pdf
...
...
@@ -540,7 +540,7 @@ export default {
})
},
// 征信查询
creditCheck
()
{
creditCheck
()
{
let
vm
=
this
let
url
=
process
.
env
.
basePath
+
'bp_credit_check'
let
param
=
{
...
...
@@ -558,7 +558,7 @@ export default {
})
},
goElectronicSign
()
{
// 电子签
goElectronicSign
()
{
// 电子签
let
vm
=
this
let
url
=
process
.
env
.
basePath
+
'get_sign_url'
let
param
=
{
...
...
@@ -580,7 +580,7 @@ export default {
}
})
},
charge
(
val
,
status
)
{
charge
(
val
,
status
)
{
let
vm
=
this
this
.
hlsPopup
.
showConfirm
({
title
:
'提示'
,
...
...
@@ -593,7 +593,7 @@ export default {
},
})
},
async
takePhonto
()
{
async
takePhonto
()
{
let
vm
=
this
vm
.
goElectronicSign
()
},
...
...
@@ -634,7 +634,7 @@ export default {
// })
// },
// 图片上传
uploadImg
(
img
)
{
uploadImg
(
img
)
{
let
vm
=
this
vm
.
faceListUpload
=
[]
let
obj
=
{
...
...
@@ -650,7 +650,7 @@ export default {
vm
.
save_picture
(
vm
.
faceListUpload
)
},
// 确认签约逻辑
doConfirm
(
status
)
{
doConfirm
(
status
)
{
let
vm
=
this
let
url
=
process
.
env
.
basePath
+
'do_confrim_bp'
let
param
=
{
...
...
@@ -673,7 +673,7 @@ export default {
})
},
// 图片保存
save_picture
(
list
)
{
save_picture
(
list
)
{
// alert('list' + JSON.stringify(list))
let
vm
=
this
if
(
list
.
length
)
{
...
...
@@ -713,11 +713,11 @@ export default {
}
},
// 授权书勾选
select
()
{
select
()
{
this
.
ischecked
=
!
this
.
ischecked
},
// 授权书同意
confirm
()
{
confirm
()
{
this
.
ischecked
?
(
this
.
isConfirm
=
true
)
:
(
this
.
isConfirm
=
false
)
let
vm
=
this
let
url
=
$config
.
basePath
+
'prj_content_status_save'
...
...
@@ -736,7 +736,7 @@ export default {
})
},
// 担保人
getGuarantor
()
{
getGuarantor
()
{
let
vm
=
this
let
url
=
$config
.
basePath
+
'prj_guarantor_list_query'
let
param
=
{
...
...
@@ -750,11 +750,11 @@ export default {
}
})
},
dateConverse
(
date
)
{
dateConverse
(
date
)
{
return
date
.
replace
(
/
\/
/g
,
'-'
)
},
// 租赁信息
getLease
()
{
getLease
()
{
let
vm
=
this
let
url
=
$config
.
basePath
+
'prj_lease_query'
let
param
=
{
...
...
@@ -769,7 +769,7 @@ export default {
})
},
// 基本信息
getBseMsg
()
{
getBseMsg
()
{
let
vm
=
this
let
url
=
''
let
url1
=
$config
.
basePath
+
'prj_np_info_query'
...
...
@@ -792,7 +792,7 @@ export default {
})
},
// 合同列表查询
getContractLists
()
{
getContractLists
()
{
let
vm
=
this
let
url
=
$config
.
basePath
+
'prj_contract_text_query'
let
param
=
{
...
...
@@ -808,7 +808,7 @@ export default {
})
},
// 还款计划
repayPlan
()
{
repayPlan
()
{
this
.
$router
.
push
({
name
:
'ContractRepayPlan'
,
params
:
{
...
...
@@ -818,7 +818,7 @@ export default {
})
},
// 跳转合同详情
goContractContent
(
name
)
{
goContractContent
(
name
)
{
this
.
$router
.
push
({
name
:
'ContractContent'
,
params
:
{
...
...
@@ -837,7 +837,7 @@ export default {
}
},
// 跳转银行信息录入
entryInfo
()
{
entryInfo
()
{
let
idCard
=
''
if
(
this
.
baseInfo
.
auth_flag
)
{
this
.
baseInfo
.
auth_flag
===
'是'
...
...
@@ -860,7 +860,7 @@ export default {
},
})
},
async
inSure
()
{
async
inSure
()
{
let
flag
=
await
this
.
signCheck
()
if
(
flag
)
{
// 只有认证通过后方可进行签约操作
...
...
@@ -880,7 +880,7 @@ export default {
},
// 银行卡查询
bankCardQuery
()
{
bankCardQuery
()
{
let
vm
=
this
let
url
=
$config
.
basePath
+
'con_bank_query'
let
param
=
{
...
...
@@ -909,16 +909,16 @@ export default {
</
script
>
<
style
lang=
"less"
rel=
"stylesheet"
>
#contract-details {
.outer{
width:259px;
height:370px;
.outer
{
width:
259px;
height:
370px;
background-color: #fff;
overflow-y: scroll;
overflow-x:hidden;
.canvas{
position: relative;
z-index: 0;
}
overflow-x:
hidden;
.canvas
{
position: relative;
z-index: 0;
}
}
.sign-elect {
...
...
@@ -1360,7 +1360,7 @@ export default {
align-items: center;
-webkit-align-items: center;
justify-content: center;
-webkit-justify-content:center;
-webkit-justify-content:
center;
background: rgb(254, 251, 233);
img {
width: 22px;
...
...
@@ -1411,14 +1411,14 @@ export default {
position: relative;
width: 301px;
height: 467px;
top:-67px;
top:
-67px;
background: url("../../assets/intoApproval/top.png") no-repeat;
background-size: 301px 24.7px;
background-color: #fff;
img{
img
{
position: absolute;
z-index: 999;
width:301px;
width:
301px;
}
button {
width: 240px;
...
...
src/pages/contractSigning/contract-signing.vue
View file @
1016637d
...
...
@@ -7,7 +7,7 @@
</div>
</h-header>
<div
class=
"tab-style has-header"
>
<div
:class=
"
{ 'done': num === 1, 'undone': num !== 1 }" @click="num = 1;
isRadio = false">
<div
:class=
"
{ 'done': num === 1, 'undone': num !== 1 }" @click="num = 1; isRadio = false">
<img
:src=
"num === 1 ? check1 : uncheck1"
/>
<span>
待确认
</span>
</div>
...
...
@@ -80,10 +80,7 @@
<span
:style=
"
{ color: chooseAll ? '#1d3fff' : 'rgb(212,214,212)' }">全选
</span>
</div>
<button
class=
"cancel"
@
click=
"cancelRadio"
>
× 取消批量
</button>
<button
class=
"sign"
@
click=
"signContract"
>
签订电子合同
</button>
<button
class=
"sign"
@
click=
"signContract"
>
签订电子合同
</button>
</div>
<button
v-show=
"num == 1 && !isRadio"
class=
"go-radio"
@
click=
"isRadio = true"
>
...
...
@@ -188,21 +185,21 @@ export default {
methods
:
{
signContract
()
{
let
list
=
this
.
showLists
.
filter
(
item
=>
item
.
checked
);
if
(
!
list
.
length
)
return
hlsPopup
.
showLongCenter
(
'请选择合同'
);
if
(
!
list
.
length
)
return
hlsPopup
.
showLongCenter
(
'请选择合同'
);
window
.
localStorage
.
setItem
(
'handleContact'
,
JSON
.
stringify
(
list
));
this
.
$router
.
push
({
path
:
'/batchSign'
,
query
:
{
name
:
'con
firmList'
}
});
this
.
$router
.
push
({
path
:
'/batchSign'
,
query
:
{
name
:
'con
tract'
}
});
},
clickRadio
(
item
)
{
item
.
checked
=
!
item
.
checked
;
this
.
chooseAll
=
this
.
showLists
.
every
(
item
=>
item
.
checked
);
},
allChoose
(
status
)
{
this
.
chooseAll
=
status
;
allChoose
(
status
)
{
this
.
chooseAll
=
status
;
this
.
showLists
=
this
.
showLists
.
map
(
item
=>
{
item
.
checked
=
status
;
return
item
;
});
});
},
cancelRadio
()
{
this
.
isRadio
=
false
;
// 关闭多选菜单
...
...
@@ -512,7 +509,7 @@ export default {
display: flex;
justify-content: center;
align-items: center;
font-size: 0.
1
5rem;
font-size: 0.
2
5rem;
img {
width: 16px;
margin-right: 4px;
...
...
@@ -715,6 +712,10 @@ export default {
.scrollContent {
padding-top: 3.8rem;
}
.check-bottom {
bottom: 32px;
}
}
}
}
...
...
@@ -739,6 +740,10 @@ export default {
color: #888c8f;
}
}
.check-bottom {
bottom: 32px;
}
}
}
}
...
...
src/pages/functionCenter/component/baseEninfo.vue
View file @
1016637d
...
...
@@ -668,7 +668,7 @@ export default {
let
vm
=
this
let
url
=
process
.
env
.
basePath
+
'prj_cdd_check_update'
let
param
=
{
document_id
:
window
.
localStorage
.
bp_id
,
document_id
:
JSON
.
parse
(
window
.
localStorage
.
getItem
(
'handleUser'
))
.
bp_id
,
tab_group
:
'HLS_ORG_AUTH'
,
}
vm
.
hlsPopup
.
showLoading
(
'请稍候'
)
...
...
src/pages/myInfo/my-info.vue
View file @
1016637d
...
...
@@ -14,7 +14,7 @@
<!--
<div
:class=
"['top',(multipleRole!=='GUTA'&&user_bp_type!=='GUTA')?'has':'antiHas']"
style=
"margin-top:-1px;"
>
-->
<div
class=
"top"
style=
"margin-top: -1px"
>
<div
class=
"card-top"
:style=
"
{height: nowBind.bp_type==='MANAGER'?'
170px
' : '2.4rem'}">
<div
class=
"card-top"
:style=
"
{height: nowBind.bp_type==='MANAGER'?'
3.4rem
' : '2.4rem'}">
<img
:src=
"upLoadObj"
@
click=
"checkType"
/>
<div
class=
"sign"
>
<span>
{{
user_phone
}}
</span>
...
...
src/pages/myInfo/myBindUser.vue
View file @
1016637d
...
...
@@ -30,9 +30,10 @@
:class=
"['normal',
{ unbind: item.bp_status === 'APPROVED' }]"
@click.stop="doStatus(item)"
>
<span
<
!--
<
span
style=
"font-size: .3rem;"
>
{{
item
.
bp_status
===
'APPROVED'
?
'×'
:
''
}}
</span>
>
{{
item
.
bp_status
===
'APPROVED'
?
'×'
:
''
}}
</span>
-->
<img
v-if=
"item.bp_status === 'APPROVED'"
src=
"../../assets/login/cha.png"
alt=
"cha"
>
{{
item
.
bp_status
===
'APPROVED'
?
' 解绑'
:
item
.
bp_status
===
'NEW'
?
'待提交'
:
item
.
bp_status_n
}}
</div>
</div>
...
...
@@ -369,6 +370,14 @@ export default {
.normal {
background-color: #1d3fff;
color: white;
display: flex;
justify-content: center;
align-items: center;
img {
height: 12px;
margin-right: 3px;
}
}
.unbind {
...
...
src/pages/pay/firstPay/contract-record.vue
View file @
1016637d
...
...
@@ -117,7 +117,7 @@ export default {
let
vm
=
this
let
url
=
process
.
env
.
basePath
+
'payment_prj_list_query'
let
param
=
{
bp_id
:
window
.
localStorage
.
getItem
(
'bp_id'
)
,
bp_id
:
JSON
.
parse
(
window
.
localStorage
.
getItem
(
'now_user_bp_bind_id'
)).
bp_id
,
}
hlsPopup
.
showLoading
(
'请稍候'
)
vm
.
$post
(
url
,
param
).
then
(
function
(
res
)
{
...
...
src/pages/pay/payment/contract-record.vue
View file @
1016637d
...
...
@@ -208,7 +208,7 @@ export default {
'&index'
+
`'
${
randomString
}
'`
let
param
=
{
bp_id
:
window
.
localStorage
.
getItem
(
'bp_id'
)
,
bp_id
:
JSON
.
parse
(
window
.
localStorage
.
getItem
(
'now_user_bp_bind_id'
)).
bp_id
,
searchInput
:
vm
.
keyWords
,
}
hlsPopup
.
showLoading
(
'请稍候'
)
...
...
www/index.html
deleted
100644 → 0
View file @
329e9d2c
<!DOCTYPE html>
<html><head><meta
charset=
utf-8
><meta
name=
viewport
content=
"initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=no,width=device-width,viewport-fit=cover"
><meta
name=
format-detection
content=
"telephone=no"
><meta
name=
format-detection
content=
"email=no"
><meta
name=
apple-mobile-web-app-capable
content=
yes
><meta
name=
apple-mobile-web-app-status-bar-style
content=
black
><script
type=
text/javascript
src=
./static/vuePlatform.js
></script><script
type=
text/javascript
src=
./static/prototype.js
></script><script
type=
text/javascript
src=
./cordova.js
></script><script
type=
text/javascript
src=
"http://api.map.baidu.com/api?v=2.0&ak=Eoo0EtfjYCdAy7r8D19gZ0vMojdZpHqU"
></script><title>
徐工金服
</title><link
href=
./static/css/app.e7e2377302829c9967e8db68dae2bfee.css
rel=
stylesheet
></head><body><div
id=
app-box
></div><script
type=
text/javascript
src=
./static/js/manifest.0220c1f499aeb5db00f1.js
></script><script
type=
text/javascript
src=
./static/js/vendor.ab3a82a5a65cc1afd48b.js
></script><script
type=
text/javascript
src=
./static/js/app.dea6ba33c7164ae80cb8.js
></script></body></html>
\ No newline at end of file
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