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
3ecee334
Commit
3ecee334
authored
Dec 24, 2020
by
Jennie Shi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
需求变更
parent
49b0a08c
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
407 additions
and
201 deletions
+407
-201
uat.env.js
config/uat.env.js
+1
-1
add-car.vue
src/pages/contractStart/add-car.vue
+406
-196
start-list.vue
src/pages/contractStart/start-list.vue
+0
-4
No files found.
config/uat.env.js
View file @
3ecee334
...
...
@@ -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
:
'"2.
8.9
"'
currentVersion
:
'"2.
9.0
"'
}
src/pages/contractStart/add-car.vue
View file @
3ecee334
...
...
@@ -106,212 +106,241 @@
<span>
合同明细
</span>
</div>
</h-header>
<Tab
:title=
"text"
@
getTabNum=
"getTabNum"
/>
<h-content>
<div
class=
"userInfo"
>
承租人信息
</div>
<list-item
:item-height=
"44"
>
<item
v-if=
"!read"
:showArrow=
"true"
>
<div
slot=
"name"
>
合同号
</div>
<input
slot=
"content"
v-model=
"detail.project_number"
placeholder=
"请选择合同号"
@
click=
"selectContruct"
>
</item>
<item
v-if=
"read"
>
<div
slot=
"name"
>
合同号
</div>
<input
slot=
"content"
v-model=
"detail.project_number"
readonly
placeholder=
"暂无数据"
>
</item>
<item
v-if=
"!read"
:showArrow=
"true"
>
<div
slot=
"name"
>
经销商
</div>
<input
slot=
"content"
v-model=
"detail.bp_agent_name"
placeholder=
"请选择经销商"
@
click=
"selectAgent"
>
</item>
<item
v-if=
"read"
>
<div
slot=
"name"
>
{{
detail
.
bp_agent_name
?
"经销商"
:
"办事处"
}}
</div>
<div
slot=
"content"
>
{{
detail
.
bp_agent_name
?
detail
.
bp_agent_name
:
detail
.
office_name
}}
</div>
</item>
<item>
<div
slot=
"name"
>
承租人
</div>
<input
slot=
"content"
v-model=
"detail.bp_name"
:placeholder=
"read ? '暂无数据' : '请输入承租人姓名'"
readonly=
"read"
>
</item>
<item
v-if=
"!read"
:showArrow=
"true"
>
<div
slot=
"name"
>
产品名称
</div>
<input
slot=
"content"
v-model=
"detail.division_n"
placeholder=
"请选择产品名称"
@
click=
"selectProductLine"
>
</item>
<item
v-if=
"read"
>
<div
slot=
"name"
>
产品名称
</div>
<input
slot=
"content"
v-model=
"detail.division_n"
readonly
placeholder=
"暂无数据"
>
</item>
<item
v-if=
"read"
>
<div
slot=
"name"
>
产品型号
</div>
<input
slot=
"content"
v-model=
"detail.product_code"
readonly
placeholder=
"暂无数据"
>
</item>
<item>
<div
slot=
"name"
>
合同金额
</div>
<input
slot=
"content"
v-model=
"detail.total_price"
:placeholder=
"read ? '暂无数据' : '请输入合同金额'"
:readonly=
"read"
>
</item>
<item
v-if=
"!read"
:showArrow=
"true"
>
<div
slot=
"name"
>
商务政策
</div>
<input
slot=
"content"
v-model=
"detail.product_plan_id_n"
placeholder=
"请选择合同政策"
@
click=
"selectProductPlan"
>
</item>
<item
v-if=
"read"
>
<div
slot=
"name"
>
商务政策
</div>
<input
slot=
"content"
v-model=
"detail.product_plan_id_n"
readonly
placeholder=
"暂无数据"
>
</item>
<item>
<div
slot=
"name"
>
租赁物数量
</div>
<input
slot=
"content"
v-model=
"detail.product_num"
:readonly=
"read"
placeholder=
"请输入租赁物数量"
>
</item>
<item
v-if=
"!flag"
class=
"date-check"
@
click
.
native=
"showFirstTime('YYYY-MM-DD', 'Sign')"
>
<div
slot=
"name"
class=
"firstPay"
>
签约日期
</div>
<input
slot=
"content"
v-model=
"detail.sale_date"
readonly
placeholder=
"请选择日期 "
class=
"firstPay"
<div
v-show=
"tabNum===0"
>
<div
class=
"userInfo"
>
承租人信息
</div>
<list-item
:item-height=
"44"
>
<item
v-if=
"!read"
:showArrow=
"true"
>
<div
slot=
"name"
>
合同号
</div>
<input
slot=
"content"
v-model=
"detail.project_number"
placeholder=
"请选择合同号"
@
click=
"selectContruct"
>
</item>
<item
v-if=
"read"
>
<div
slot=
"name"
>
合同号
</div>
<input
slot=
"content"
v-model=
"detail.project_number"
readonly
placeholder=
"暂无数据"
>
</item>
<item
v-if=
"!read"
:showArrow=
"true"
>
<div
slot=
"name"
>
经销商
</div>
<input
slot=
"content"
v-model=
"detail.bp_agent_name"
placeholder=
"请选择经销商"
@
click=
"selectAgent"
>
</item>
<item
v-if=
"read"
>
<div
slot=
"name"
>
{{
detail
.
bp_agent_name
?
"经销商"
:
"办事处"
}}
</div>
<div
slot=
"content"
>
{{
detail
.
bp_agent_name
?
detail
.
bp_agent_name
:
detail
.
office_name
}}
</div>
</item>
<item>
<div
slot=
"name"
>
承租人
</div>
<input
slot=
"content"
v-model=
"detail.bp_name"
:placeholder=
"read ? '暂无数据' : '请输入承租人姓名'"
readonly=
"read"
>
</item>
<item
v-if=
"!read"
:showArrow=
"true"
>
<div
slot=
"name"
>
产品名称
</div>
<input
slot=
"content"
v-model=
"detail.division_n"
placeholder=
"请选择产品名称"
@
click=
"selectProductLine"
>
</item>
<item
v-if=
"read"
>
<div
slot=
"name"
>
产品名称
</div>
<input
slot=
"content"
v-model=
"detail.division_n"
readonly
placeholder=
"暂无数据"
>
</item>
<item
v-if=
"read"
>
<div
slot=
"name"
>
产品型号
</div>
<input
slot=
"content"
v-model=
"detail.product_code"
readonly
placeholder=
"暂无数据"
>
</item>
<item>
<div
slot=
"name"
>
合同金额
</div>
<input
slot=
"content"
v-model=
"detail.total_price"
:placeholder=
"read ? '暂无数据' : '请输入合同金额'"
:readonly=
"read"
>
</item>
<item
v-if=
"!read"
:showArrow=
"true"
>
<div
slot=
"name"
>
商务政策
</div>
<input
slot=
"content"
v-model=
"detail.product_plan_id_n"
placeholder=
"请选择合同政策"
@
click=
"selectProductPlan"
>
</item>
<item
v-if=
"read"
>
<div
slot=
"name"
>
商务政策
</div>
<input
slot=
"content"
v-model=
"detail.product_plan_id_n"
readonly
placeholder=
"暂无数据"
>
</item>
<item>
<div
slot=
"name"
>
租赁物数量
</div>
<input
slot=
"content"
v-model=
"detail.product_num"
:readonly=
"read"
placeholder=
"请输入租赁物数量"
>
</item>
<item
v-if=
"!flag"
class=
"date-check"
@
click
.
native=
"showFirstTime('YYYY-MM-DD', 'Sign')"
>
</item
>
<item
v-if=
"flag
"
>
<div
slot=
"name"
class=
"firstPay"
>
签约日期
</div>
<input
slot=
"content
"
v-model=
"detail.sale_date"
readonly
placeholder=
"请选择日期 "
class=
"firstPay
"
<div
slot=
"name"
class=
"firstPay"
>
签约日期
</div
>
<input
slot=
"content
"
v-model=
"detail.sale_date"
readonly
placeholder=
"请选择日期 "
class=
"firstPay
"
>
</item>
<item
v-if=
"flag
"
>
</item
>
<item
v-if=
"!flag
"
class=
"date-check
"
@
click
.
native=
"showFirstTime('YYYY-MM-DD', 'FirstPay')"
>
<div
slot=
"name"
class=
"firstPay"
>
首次分期付款日
</div>
<input
slot=
"content"
v-model=
"detail.lease_start_date"
readonly
placeholder=
"请选择日期
"
class=
"firstPay
"
<div
slot=
"name"
class=
"firstPay"
>
签约日期
</div
>
<input
slot=
"content
"
v-model=
"detail.sale_date
"
readonly
placeholder=
"请选择日期 "
class=
"firstPay"
>
</item>
<item
v-if=
"!flag"
class=
"date-check
"
@
click
.
native=
"showFirstTime('YYYY-MM-DD', 'FirstPay')
"
>
</item
>
<item
v-if=
"flag
"
>
<div
slot=
"name"
class=
"firstPay"
>
首次分期付款日
</div>
<input
slot=
"content
"
v-model=
"detail.lease_start_date"
readonly
placeholder=
"请选择日期 "
class=
"firstPay
"
<div
slot=
"name"
class=
"firstPay"
>
首次分期付款日
</div
>
<input
slot=
"content
"
v-model=
"detail.lease_start_date"
readonly
placeholder=
"请选择日期 "
class=
"firstPay
"
>
</item>
<item
v-if=
"flag
"
>
</item>
<div
slot=
"name"
class=
"firstPay"
>
首次分期付款日
</div>
<input
slot=
"content"
v-model=
"detail.lease_start_date"
readonly
placeholder=
"请选择日期 "
class=
"firstPay"
>
</item>
<item
:showArrow=
"true"
@
click
.
native=
"goPlan"
>
<div
slot=
"name"
>
查看还款计划
</div>
<input
slot=
"content"
readonly
>
</item>
</list-item>
<div
class=
"userInfo"
>
设备清单
</div>
<div
v-for=
"(item, index) in equip"
:key=
"index"
class=
"equipment"
@
click=
"
downNum = true;
getRent(item.contract_id, item.contract_lease_item_id);
"
>
<div
class=
"left"
>
<span>
<img
src=
"@/assets/contractStart/list.png"
>
</span>
</div>
<div
class=
"center"
>
<span>
租赁物信息
</span>
<span
:class=
"[
'status',
item.lease_status === 'Y' ? 'unMantain' : 'mantain',
]"
>
{{
item
.
lease_status
===
"Y"
?
"已维护"
:
"待维护"
}}
</span
>
<p>
设备识别号
<span>
{{
item
.
product_code
}}
-
{{
(
index
+
1
)
|
lengthCheck
}}
</span>
</p>
</div>
<div
class=
"right"
>
<img
src=
"@/assets/contractStart/into.png"
>
<item
:showArrow=
"true"
@
click
.
native=
"goPlan"
>
<div
slot=
"name"
>
查看还款计划
</div>
<input
slot=
"content"
readonly
>
</item>
</list-item>
<div
class=
"userInfo"
>
设备清单
</div>
<div
v-for=
"(item, index) in equip"
:key=
"index"
class=
"equipment"
@
click=
"
downNum = true;
getRent(item.contract_id, item.contract_lease_item_id);
"
>
<div
class=
"left"
>
<span>
<img
src=
"@/assets/contractStart/list.png"
>
</span>
</div>
<div
class=
"center"
>
<span>
租赁物信息
</span>
<span
:class=
"[
'status',
item.lease_status === 'Y' ? 'unMantain' : 'mantain',
]"
>
{{
item
.
lease_status
===
"Y"
?
"已维护"
:
"待维护"
}}
</span
>
<p>
设备识别号
<span>
{{
item
.
product_code
}}
-
{{
(
index
+
1
)
|
lengthCheck
}}
</span>
</p>
</div>
<div
class=
"right"
>
<img
src=
"@/assets/contractStart/into.png"
>
</div>
</div>
</div>
<div
v-show=
"tabNum===1"
>
<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"
>
<div
slot=
"name"
class=
"aguremrnt-list"
>
<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"
>
</div>
</div>
<div
slot=
"content"
class=
"in-detail"
@
click=
"goContent(item,index)"
>
<img
src=
"@/assets/constractSigning/detail.png"
alt
>
</div>
</item>
</list-item>
</div>
</h-content>
<bottom-tab
v-if=
"!flag"
>
<
!--
<tab-button
class=
"save"
@
click
.
native=
"handSave"
>
同步电子签
</tab-button>
--
>
<
tab-button
class=
"save"
@
click
.
native=
"generateContract"
>
生成合同文本
</tab-button
>
<tab-button
class=
"approve"
@
click
.
native=
"checkStatus"
>
融租合同创建
</tab-button
...
...
@@ -364,7 +393,11 @@
</h-view>
</
template
>
<
script
>
import
Tab
from
'@/pages/carConfirm/tab'
export
default
{
components
:
{
Tab
,
},
filters
:
{
lengthCheck
:
function
(
value
)
{
if
(
value
.
toString
().
length
===
1
)
{
...
...
@@ -390,7 +423,13 @@ export default {
productLine
:
[],
productPlan
:
[],
contract
:
[],
tabNum
:
0
,
attachArray
:
[],
agent
:
[],
text
:
{
first
:
'合同详情'
,
second
:
'合同文本'
,
},
info
:
{
contract_id
:
''
,
frame_number
:
''
,
...
...
@@ -464,6 +503,7 @@ export default {
vm
.
read
=
true
vm
.
getDetail
()
vm
.
getEquipment
()
vm
.
getAttachment
()
if
(
vm
.
$route
.
query
.
car_start_status
===
'REJECTED'
||
vm
.
$route
.
query
.
car_start_status
===
'NEW'
...
...
@@ -495,6 +535,32 @@ export default {
}
})
},
goContent
(
item
,
index
)
{
// 详情
// 合同状态更新保存
let
vm
=
this
vm
.
attachFlag
=
true
vm
.
attachUrl
=
item
.
attachment_file_path
let
url
=
process
.
env
.
basePath
+
'prj_content_check_status_save'
let
param
=
{
master
:
{
content_id
:
item
.
content_id
,
check_status
:
'Y'
,
},
}
hlsPopup
.
showLoading
(
'请稍候'
)
vm
.
hlsHttp
.
post
(
url
,
param
).
then
(
res
=>
{
hlsPopup
.
hideLoading
()
if
(
res
.
result
===
'S'
)
{
let
temp
=
vm
.
attachArray
[
index
]
temp
.
read_status
=
'Y'
vm
.
$router
.
push
({
name
:
'previewPdf'
,
params
:
{
attachUrl
:
vm
.
attachUrl
}})
vm
.
attachArray
.
splice
(
vm
.
attachArray
[
index
],
1
,
temp
)
}
else
{
vm
.
hlsPopup
.
showLongCenter
(
res
.
message
)
}
})
},
goPlan
()
{
let
vm
=
this
vm
.
$router
.
push
({
...
...
@@ -555,6 +621,9 @@ export default {
},
})
},
getTabNum
(
i
)
{
this
.
tabNum
=
i
},
// ocr识别入口
ocrShow
()
{
let
vm
=
this
...
...
@@ -870,6 +939,42 @@ export default {
})
}
},
generateContract
()
{
// 生成合同文本
let
vm
=
this
let
url
=
process
.
env
.
basePath
+
'car_create_all_content'
let
param
=
{
project_id
:
vm
.
project_id
,
}
hlsPopup
.
showLoading
(
'请稍候'
)
vm
.
hlsHttp
.
post
(
url
,
param
).
then
(
res
=>
{
hlsPopup
.
hideLoading
()
if
(
res
.
result
===
'S'
)
{
hlsPopup
.
showLongCenter
(
'提交成功!'
)
vm
.
getAttachment
()
}
else
{
vm
.
hlsPopup
.
showLongCenter
(
res
.
message
)
}
})
},
// 合同文本详情附件查询
getAttachment
()
{
let
vm
=
this
let
url
=
process
.
env
.
basePath
+
'get_content_app_agent'
let
param
=
{
project_id
:
vm
.
project_id
,
data_class
:
'LEASE_ITEM'
,
}
hlsPopup
.
showLoading
(
'请稍候'
)
vm
.
hlsHttp
.
post
(
url
,
param
).
then
(
res
=>
{
hlsPopup
.
hideLoading
()
if
(
res
.
result
===
'S'
)
{
vm
.
attachArray
=
res
.
attachments
}
else
{
vm
.
hlsPopup
.
showLongCenter
(
res
.
message
)
}
})
},
checkStatus
()
{
let
mantained
=
this
.
equip
.
filter
((
i
)
=>
{
return
i
.
lease_status
===
'N'
...
...
@@ -1116,6 +1221,111 @@ export default {
</
script
>
<
style
lang=
"less"
scoped
>
#addCar {
.aguremrnt-list {
display: flex;
display: -webkit-flex;
align-items: center;
-webkit-align-items: center;
width: 100%;
height: 100%;
.unread {
width: 34px;
height: 20px;
margin: 0 10px;
}
.wrap-img {
width: 12%;
height: 100%;
display: flex;
display: -webkit-flex;
align-items: center;
-webkit-align-items: center;
justify-content: center;
-webkit-justify-content:center;
background: rgb(254, 251, 233);
img {
width: 22px;
height: 20px;
}
}
.pic {
margin-left: -3px;
}
.pics {
// width: 21px;
height: 30px;
}
.read {
height: 16px;
margin-top: 8px;
margin-left: 6px;
}
.second {
font-family: PingFangSC-Regular;
font-size: 14px;
margin-left: 16px;
color: #383f45;
letter-spacing: 0.43px;
}
.first {
margin-left: 13px;
width: 60%;
}
}
.contract-text {
.border-red {
border: 2px solid rgba(255, 0, 0, 0.4);
}
.hls-item {
margin-top: 8px;
background-color: #fff;
}
.contents {
padding: 0;
}
.in-detail {
background-color: rgba(0, 70, 156, 0.08);
width: 48px;
height: 56px;
text-align: center;
line-height: 65px;
img {
width: 16px;
}
}
.in-all {
//width: 96px;
display: flex;
img {
width: 16px;
}
div {
width: 48px;
height: 56px;
text-align: center;
line-height: 65px;
}
div:first-child {
background-color: rgba(252, 200, 0, 0.1);
}
div:nth-child(2) {
background-color: rgba(0, 70, 156, 0.08);
}
}
}
input::placeholder {
color: #888c8f;
}
...
...
src/pages/contractStart/start-list.vue
View file @
3ecee334
...
...
@@ -146,10 +146,6 @@ export default {
},
goAdd
()
{
hlsPopup
.
showLongCenter
(
'暂不支持无关联进件的车辆发送'
)
// this.$router.push({
// name: 'AddCar',
// })
},
changePage
(
e
)
{
this
.
$router
.
push
({
...
...
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