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
81099525
Commit
81099525
authored
Jun 05, 2023
by
郑娟
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
B系列接口新增字段
parent
ac8bf765
Changes
12
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
2177 additions
and
1010 deletions
+2177
-1010
AttachmentInfo.vue
src/pages/customerAccessApply/components/AttachmentInfo.vue
+45
-21
BaseInfoNP.vue
src/pages/customerAccessApply/components/BaseInfoNP.vue
+85
-0
BaseInfoOrg.vue
src/pages/customerAccessApply/components/BaseInfoOrg.vue
+89
-5
customerAccess-detail.vue
src/pages/customerAccessApply/customerAccess-detail.vue
+0
-14
Appendix.vue
src/pages/financingApply/components/Appendix.vue
+103
-43
Lessee.vue
src/pages/financingApply/components/Lessee.vue
+2
-0
Plan.vue
src/pages/financingApply/components/Plan.vue
+182
-47
financingApply-detail.vue
src/pages/financingApply/financingApply-detail.vue
+40
-37
accessory-info.vue
src/pages/userBindNew/np/accessory-info.vue
+426
-342
base-info.vue
src/pages/userBindNew/np/base-info.vue
+224
-15
baseInfo.vue
src/pages/userBindNew/org/baseInfo.vue
+340
-10
enclosure.vue
src/pages/userBindNew/org/enclosure.vue
+641
-476
No files found.
src/pages/customerAccessApply/components/AttachmentInfo.vue
View file @
81099525
...
...
@@ -2,44 +2,67 @@
<list-item
:item-height=
"44"
>
<div>
<div
slot=
"name"
class=
"section-title"
style=
""
>
车辆行驶证
</div>
<item
v-for=
"(ele, i) of driving_permit"
:key=
"ele.title"
>
<div
slot=
"name"
class=
"font-color"
>
{{
ele
.
title
}}
</div>
<span
v-if=
"ele.type === 'date'"
slot=
"content"
>
{{
car
[
ele
.
prop
]
|
dateFormat
}}
</span>
<span
v-else-if=
"ele.type === 'currency'"
slot=
"content"
>
{{
car
[
ele
.
prop
]
|
currency
}}
</span>
<span
v-else-if=
"ele.type === 'bool'"
slot=
"content"
>
{{
car
[
ele
.
prop
]
===
'Y'
?
'是'
:
'否'
}}
</span>
<span
v-else
slot=
"content"
>
{{
car
[
ele
.
prop
]
}}
</span>
</item>
<Collapse
v-model=
"activeNames_c"
>
<CollapseItem
v-for=
"(item,index) of car"
:key=
"'c'+index"
:name=
"'c'+index"
:title=
"'车辆行驶证'+(index+1)"
>
<item
v-for=
"(ele, i) of driving_permit"
:key=
"ele.title"
>
<div
slot=
"name"
class=
"font-color"
>
{{
ele
.
title
}}
</div>
<span
v-if=
"ele.type === 'date'"
slot=
"content"
>
{{
item
[
ele
.
prop
]
|
dateFormat
}}
</span>
<span
v-else-if=
"ele.type === 'currency'"
slot=
"content"
>
{{
item
[
ele
.
prop
]
|
currency
}}
</span>
<span
v-else-if=
"ele.type === 'bool'"
slot=
"content"
>
{{
item
[
ele
.
prop
]
===
'Y'
?
'是'
:
'否'
}}
</span>
<span
v-else
slot=
"content"
>
{{
item
[
ele
.
prop
]
}}
</span>
</item>
</CollapseItem>
</Collapse>
</div>
<div>
<div
slot=
"name"
class=
"section-title"
style=
""
>
房产证
</div>
<item
v-for=
"(ele, i) of house_card"
:key=
"ele.title"
>
<div
slot=
"name"
class=
"font-color"
>
{{
ele
.
title
}}
</div>
<span
v-if=
"ele.type === 'date'"
slot=
"content"
>
{{
house
[
ele
.
prop
]
|
dateFormat
}}
</span>
<span
v-else-if=
"ele.type === 'currency'"
slot=
"content"
>
{{
house
[
ele
.
prop
]
|
currency
}}
</span>
<span
v-else-if=
"ele.type === 'bool'"
slot=
"content"
>
{{
house
[
ele
.
prop
]
===
'Y'
?
'是'
:
'否'
}}
</span>
<span
v-else
slot=
"content"
>
{{
house
[
ele
.
prop
]
}}
</span>
</item>
<Collapse
v-model=
"activeNames_h"
>
<CollapseItem
v-for=
"(item,index) of house"
:key=
"'h'+index"
:name=
"'h'+index"
:title=
"'房产证'+(index+1)"
>
<item
v-for=
"(ele, i) of house_card"
:key=
"ele.title"
>
<div
slot=
"name"
class=
"font-color"
>
{{
ele
.
title
}}
</div>
<span
v-if=
"ele.type === 'date'"
slot=
"content"
>
{{
item
[
ele
.
prop
]
|
dateFormat
}}
</span>
<span
v-else-if=
"ele.type === 'currency'"
slot=
"content"
>
{{
item
[
ele
.
prop
]
|
currency
}}
</span>
<span
v-else-if=
"ele.type === 'bool'"
slot=
"content"
>
{{
item
[
ele
.
prop
]
===
'Y'
?
'是'
:
'否'
}}
</span>
<span
v-else
slot=
"content"
>
{{
item
[
ele
.
prop
]
}}
</span>
</item>
</CollapseItem>
</Collapse>
</div>
<div>
<div
slot=
"name"
class=
"section-title"
style=
""
>
不动产权证
</div>
<item
v-for=
"(ele, i) of real_est"
:key=
"ele.title"
>
<div
slot=
"name"
class=
"font-color"
>
{{
ele
.
title
}}
</div>
<span
v-if=
"ele.type === 'date'"
slot=
"content"
>
{{
real
[
ele
.
prop
]
|
dateFormat
}}
</span>
<span
v-else-if=
"ele.type === 'currency'"
slot=
"content"
>
{{
real
[
ele
.
prop
]
|
currency
}}
</span>
<span
v-else-if=
"ele.type === 'bool'"
slot=
"content"
>
{{
real
[
ele
.
prop
]
===
'Y'
?
'是'
:
'否'
}}
</span>
<span
v-else
slot=
"content"
>
{{
real
[
ele
.
prop
]
}}
</span>
</item>
<Collapse
v-model=
"activeNames_p"
>
<CollapseItem
v-for=
"(item,index) of real"
:key=
"'p'+index"
:name=
"'p'+index"
:title=
"'不动产权证'+(index+1)"
>
<item
v-for=
"(ele, i) of real_est"
:key=
"ele.title"
>
<div
slot=
"name"
class=
"font-color"
>
{{
ele
.
title
}}
</div>
<span
v-if=
"ele.type === 'date'"
slot=
"content"
>
{{
real
[
ele
.
prop
]
|
dateFormat
}}
</span>
<span
v-else-if=
"ele.type === 'currency'"
slot=
"content"
>
{{
item
[
ele
.
prop
]
|
currency
}}
</span>
<span
v-else-if=
"ele.type === 'bool'"
slot=
"content"
>
{{
item
[
ele
.
prop
]
===
'Y'
?
'是'
:
'否'
}}
</span>
<span
v-else
slot=
"content"
>
{{
item
[
ele
.
prop
]
}}
</span>
</item>
</CollapseItem>
</Collapse>
</div>
</list-item>
</
template
>
<
script
>
import
{
Collapse
,
CollapseItem
}
from
'vant'
import
'vant/lib/collapse/style'
import
'vant/lib/collapse-item/style'
export
default
{
components
:
{
Collapse
,
CollapseItem
},
props
:
[
'car'
,
'house'
,
'real'
],
data
()
{
return
{
activeNames_h
:
[
0
],
// 折叠面板 房产证
activeNames_p
:
[
0
],
// 折叠面板 不动产权
activeNames_c
:
[
0
],
// 折叠面板 车辆行驶证
}
},
computed
:
{
...
...
@@ -81,6 +104,7 @@ export default {
[
'号牌号码'
,
'plate_number'
,
'text'
],
[
'注册日期'
,
'regist_date'
,
'date'
],
[
'数量'
,
'words_result_num'
,
'text'
],
// ['驾照类型', 'driving_license_type_n', 'text'],
]
return
this
.
factory
(
driving_permit
)
},
...
...
src/pages/customerAccessApply/components/BaseInfoNP.vue
View file @
81099525
...
...
@@ -10,6 +10,10 @@
<span
v-else-if=
"ele.type === 'bool'"
slot=
"content"
>
{{
baseInfo
[
ele
.
prop
]
===
'Y'
?
'是'
:
'否'
}}
</span>
<span
v-else
slot=
"content"
>
{{
baseInfo
[
ele
.
prop
]
}}
</span>
</item>
<Field
v-model=
"baseInfo.customer_nature_n"
:required=
"true"
:is-link=
"true"
input-align=
"right"
label=
"客户性质选择"
@
click=
"showPicker()"
placeholder=
"请选择"
/>
</div>
<div>
...
...
@@ -32,14 +36,30 @@
<span
v-else
slot=
"content"
>
{{
baseInfo
[
ele
.
prop
]
}}
</span>
</item>
</div>
<div
class=
"foot-bottom"
>
<button
class=
"success"
@
click=
"save"
>
保存
</button>
</div>
<ActionSheet
v-model=
"picker_show"
:actions=
"actions"
:close-on-click-action=
"true"
:closeable=
"false"
title=
"客户性质选择"
@
select=
"onSelect"
/>
</list-item>
</
template
>
<
script
>
import
{
Field
,
ActionSheet
}
from
'vant'
import
'vant/lib/field/style'
import
'vant/lib/action-sheet/style'
export
default
{
components
:
{
Field
,
ActionSheet
,
},
props
:
[
'baseInfo'
],
data
()
{
return
{
actions
:
[],
// 下拉框
customerType
:
[],
// 客户性质下拉框
picker_show
:
false
,
}
},
computed
:
{
...
...
@@ -53,7 +73,65 @@ export default {
return
this
.
createForm_quality
()
},
},
created
()
{
this
.
getDropBox
()
},
methods
:
{
onSelect
(
value
)
{
let
val
=
value
.
name
this
.
$set
(
this
.
baseInfo
,
'customer_nature_n'
,
val
)
let
arr
=
this
.
customerType
.
filter
(
item
=>
item
.
code_name
===
val
)
this
.
$set
(
this
.
baseInfo
,
'customer_nature'
,
arr
[
0
].
code
)
},
showPicker
()
{
this
.
actions
=
this
.
customerType
.
map
(
item
=>
({
name
:
item
.
code_name
}))
this
.
picker_show
=
true
},
// 下拉框数据获取
async
getDropBox
()
{
let
url
=
process
.
env
.
basePath
+
'app_get_syscode'
let
param
=
{
'CUSTOMER_NATURE'
:
'CUSTOMER_NATURE'
,
}
// hlsPopup.showLoading('请稍候')
let
res
=
await
this
.
$post
(
url
,
param
)
// this.hlsPopup.hideLoading()
if
(
res
.
return_status
===
'S'
)
{
this
.
customerType
=
res
.
CUSTOMER_NATURE
}
},
async
save
()
{
let
flag
=
false
let
obj
=
{
'bp_id'
:
this
.
baseInfo
[
'bp_id'
],
}
obj
[
'customer_nature_n'
]
=
this
.
baseInfo
[
'customer_nature_n'
]
obj
[
'customer_nature'
]
=
this
.
baseInfo
[
'customer_nature'
]
Object
.
keys
(
obj
).
map
(
key
=>
{
if
(
obj
[
key
]
===
undefined
||
obj
[
key
]
===
null
||
obj
[
key
]
===
''
)
{
flag
=
true
}
})
console
.
log
(
obj
)
if
(
flag
)
{
hlsPopup
.
showLongCenter
(
'请将必填字段填写完整'
)
return
}
let
url
=
process
.
env
.
basePath
+
'bp_access_info_save'
let
param
=
{
'master'
:
obj
,
}
hlsPopup
.
showLoading
(
'请稍候'
)
let
res
=
await
this
.
$post
(
url
,
param
)
this
.
hlsPopup
.
hideLoading
()
if
(
res
.
result
===
'S'
)
{
hlsPopup
.
showLongCenter
(
'保存成功'
)
}
else
{
hlsPopup
.
showLongCenter
(
'保存失败'
)
}
},
factory
(
arr
)
{
let
outArr
=
[]
if
(
arr
.
length
)
{
...
...
@@ -88,6 +166,8 @@ export default {
[
'户籍地址'
,
'address_on_resident_booklit'
,
'text'
],
[
'联系地址'
,
'living_address'
,
'text'
],
[
'资产'
,
'capital'
,
'text'
],
[
'驾照类型'
,
'driving_license_type_n'
,
'text'
],
]
let
baseInfo_B
=
[
// 经销商/主机厂/办事处
...
...
@@ -95,6 +175,8 @@ export default {
[
'学历'
,
'academic_background_n'
,
'text'
],
[
'婚姻状况'
,
'marital_status_n'
,
'text'
],
[
'身份证'
,
'id_card_no'
,
'text'
],
[
'年份'
,
'id_card_no_yy'
,
'text'
],
[
'月份'
,
'id_card_no_mm'
,
'text'
],
[
'证件有效期从'
,
'id_card_date_from'
,
'date'
],
[
'证件有效期到'
,
'id_card_date_to'
,
'date'
],
[
'业务办理地(省)'
,
'province_n'
,
'text'
],
...
...
@@ -145,4 +227,7 @@ export default {
line-height: 0.5rem;
margin-top: 12px;
}
/deep/ #contract-details .van-cell{
background-color: white;
}
</
style
>
src/pages/customerAccessApply/components/BaseInfoOrg.vue
View file @
81099525
...
...
@@ -11,6 +11,10 @@
<Checkbox
v-else-if=
"ele.type === 'checkbox'"
:value=
"baseInfo[ele.prop]==='Y'"
shape=
"square"
/>
<span
v-else
slot=
"content"
>
{{
baseInfo
[
ele
.
prop
]
}}
</span>
</item>
<Field
v-model=
"baseInfo.customer_nature_n"
:required=
"true"
:is-link=
"true"
input-align=
"right"
label=
"客户性质选择"
@
click=
"showPicker()"
placeholder=
"请选择"
/>
</div>
<div
v-if=
"['FACTORY'].indexOf(baseInfo.bp_type)===-1"
class=
"baseinfo-supp"
>
...
...
@@ -33,6 +37,17 @@
<span
v-else
slot=
"content"
>
{{
baseInfo
[
ele
.
prop
]
}}
</span>
</item>
</div>
<div>
<div
slot=
"name"
class=
"section-title"
style=
""
>
实际控制人信息
</div>
<item
v-for=
"(ele, i) of ctrlInfo"
:key=
"ele.title"
>
<div
slot=
"name"
class=
"font-color"
>
{{
ele
.
title
}}
</div>
<span
v-if=
"ele.type === 'date'"
slot=
"content"
>
{{
baseInfo
[
ele
.
prop
]
|
dateFormat
}}
</span>
<span
v-else-if=
"ele.type === 'currency'"
slot=
"content"
>
{{
baseInfo
[
ele
.
prop
]
|
currency
}}
</span>
<Checkbox
v-else-if=
"ele.type === 'checkbox'"
:value=
"baseInfo[ele.prop]==='Y'"
shape=
"square"
/>
<span
v-else-if=
"ele.type === 'bool'"
slot=
"content"
>
{{
baseInfo
[
ele
.
prop
]
===
'Y'
?
'是'
:
'否'
}}
</span>
<span
v-else
slot=
"content"
>
{{
baseInfo
[
ele
.
prop
]
}}
</span>
</item>
</div>
<div
v-if=
"baseInfo.auth_flag==='Y'"
>
<div
slot=
"name"
class=
"section-title"
style=
""
>
法人授权信息
</div>
<item
v-for=
"(ele, i) of authInfo"
:key=
"ele.title"
>
...
...
@@ -58,22 +73,30 @@
<button
class=
"success"
style=
" border: 1px solid #e6b500;background-color: white;color: #e6b500;"
@
click=
"signAuth"
>
签署认证
</button>
<button
class=
"success"
@
click=
"save"
>
保存
</button>
</div>
<ActionSheet
v-model=
"picker_show"
:actions=
"actions"
:close-on-click-action=
"true"
:closeable=
"false"
title=
"客户性质选择"
@
select=
"onSelect"
/>
</list-item>
</
template
>
<
script
>
import
{
Checkbox
,
Field
}
from
'vant'
import
{
Checkbox
,
Field
,
ActionSheet
}
from
'vant'
import
'vant/lib/checkbox/style'
import
'vant/lib/field/style'
import
'vant/lib/action-sheet/style'
export
default
{
components
:
{
Checkbox
,
Field
,
ActionSheet
,
},
props
:
[
'baseInfo'
],
data
()
{
return
{
actions
:
[],
// 下拉框
customerType
:
[],
// 客户性质下拉框
picker_show
:
false
,
}
},
computed
:
{
...
...
@@ -86,6 +109,9 @@ export default {
orgInfo
()
{
return
this
.
createFormOrg
()
},
ctrlInfo
()
{
return
this
.
createFormCtrl
()
},
authInfo
()
{
return
this
.
createFormAuth
()
},
...
...
@@ -93,7 +119,33 @@ export default {
return
this
.
createForm_quality
()
},
},
created
()
{
this
.
getDropBox
()
},
methods
:
{
onSelect
(
value
)
{
let
val
=
value
.
name
this
.
$set
(
this
.
baseInfo
,
'customer_nature_n'
,
val
)
let
arr
=
this
.
customerType
.
filter
(
item
=>
item
.
code_name
===
val
)
this
.
$set
(
this
.
baseInfo
,
'customer_nature'
,
arr
[
0
].
code
)
},
showPicker
()
{
this
.
actions
=
this
.
customerType
.
map
(
item
=>
({
name
:
item
.
code_name
}))
this
.
picker_show
=
true
},
// 下拉框数据获取
async
getDropBox
()
{
let
url
=
process
.
env
.
basePath
+
'app_get_syscode'
let
param
=
{
'CUSTOMER_NATURE'
:
'CUSTOMER_NATURE'
,
}
// hlsPopup.showLoading('请稍候')
let
res
=
await
this
.
$post
(
url
,
param
)
// this.hlsPopup.hideLoading()
if
(
res
.
return_status
===
'S'
)
{
this
.
customerType
=
res
.
CUSTOMER_NATURE
}
},
async
signAuth
()
{
let
vm
=
this
// console.log('qianshu renzhneg ', this.baseInfo)
...
...
@@ -126,12 +178,15 @@ export default {
this
.
baseInfo_B
.
forEach
(
item
=>
{
obj
[
item
.
prop
]
=
this
.
baseInfo
[
item
.
prop
]
})
obj
[
'customer_nature_n'
]
=
this
.
baseInfo
[
'customer_nature_n'
]
obj
[
'customer_nature'
]
=
this
.
baseInfo
[
'customer_nature'
]
Object
.
keys
(
obj
).
map
(
key
=>
{
if
(
obj
[
key
]
===
undefined
||
obj
[
key
]
===
null
||
obj
[
key
]
===
''
)
{
flag
=
true
}
})
console
.
log
(
obj
)
if
(
flag
)
{
hlsPopup
.
showLongCenter
(
'请将必填字段填写完整'
)
return
...
...
@@ -151,7 +206,6 @@ export default {
let
param
=
{
'master'
:
obj
,
}
hlsPopup
.
showLoading
(
'请稍候'
)
let
res
=
await
this
.
$post
(
url
,
param
)
this
.
hlsPopup
.
hideLoading
()
...
...
@@ -199,6 +253,9 @@ export default {
[
'公司名称'
,
'bp_name'
,
'text'
],
[
'企业类型'
,
'enterprise_type'
,
'text'
],
[
'注册地址'
,
'registered_place'
,
'text'
],
[
'营业期限从'
,
'business_term_from'
,
'text'
],
[
'营业期限到'
,
'business_term_to'
,
'text'
],
[
'营业期限'
,
'business_term_type_n'
,
'text'
],
[
'经营地址'
,
'business_address'
,
'text'
],
[
'法定代表人'
,
'legal_person'
,
'text'
],
[
'纳税人识别号'
,
'organization_code'
,
'text'
],
...
...
@@ -215,6 +272,9 @@ export default {
[
'公司名称'
,
'bp_name'
,
'text'
],
[
'企业类型'
,
'enterprise_type'
,
'text'
],
[
'注册地址'
,
'registered_place'
,
'text'
],
[
'营业期限从'
,
'business_term_from'
,
'text'
],
[
'营业期限到'
,
'business_term_to'
,
'text'
],
[
'营业期限'
,
'business_term_type_n'
,
'text'
],
[
'经营地址'
,
'business_address'
,
'text'
],
[
'纳税人识别号'
,
'organization_code'
,
'text'
],
[
'注册资本(万元)'
,
'registered_capital'
,
'text'
],
...
...
@@ -226,14 +286,24 @@ export default {
[
'logo上传的超链接'
,
'logo_upload'
,
'text'
],
[
'是否授权'
,
'auth_flag'
,
'checkbox'
],
]
let
info
=
[]
let
bp_type
=
this
.
baseInfo
.
bp_type
if
([
'TENANT'
,
'GUTA'
].
indexOf
(
bp_type
)
!==
-
1
)
{
return
this
.
factory
(
baseInfo_A2
)
info
=
baseInfo_A2
}
else
if
(
bp_type
===
'AGENT'
)
{
return
this
.
factory
(
baseInfo_A
)
info
=
baseInfo_A
}
else
{
return
this
.
factory
(
baseInfo_A3
)
info
=
baseInfo_A3
}
if
(
this
.
baseInfo
.
business_term_type_n
!==
'长期'
)
{
info
.
push
(
[
'营业期限从'
,
'business_term_from'
,
'date'
],
[
'营业期限到'
,
'business_term_to'
,
'date'
],
)
}
else
{
info
.
push
([
'营业期限'
,
'business_term_type_n'
,
'text'
])
}
return
this
.
factory
(
info
)
},
createFormB
()
{
let
baseInfo_B
=
[
// 基本信息补录 经销商
...
...
@@ -258,6 +328,17 @@ export default {
]
return
this
.
factory
(
orgInfo
)
},
createFormCtrl
()
{
let
orgInfo
=
[
// 实际控制人信息
[
'姓名'
,
'bp_control_name'
,
'text'
],
[
'身份证号'
,
'id_card_no_c'
,
'text'
],
[
'证件有效期从'
,
'id_card_date_from_c'
,
'date'
],
[
'证件有效期到'
,
'id_card_date_to_c'
,
'date'
],
[
'手机号'
,
'cell_phone_c'
,
'text'
],
[
'联系地址'
,
'living_address_c'
,
'text'
],
]
return
this
.
factory
(
orgInfo
)
},
createFormAuth
()
{
let
authInfo
=
[
// 法人授权信息
[
'姓名'
,
'auth_person_name'
,
'text'
],
...
...
@@ -296,4 +377,7 @@ export default {
padding-left:5px
}
}
/deep/ #contract-details .van-cell{
background-color: white;
}
</
style
>
src/pages/customerAccessApply/customerAccess-detail.vue
View file @
81099525
...
...
@@ -104,7 +104,6 @@ export default {
historyData
:
[],
appendixData
:
[],
isTodo
:
true
,
isEditType
:
false
,
// 30节点可编辑合同类型、开票类型
}
},
beforeRouteEnter
(
to
,
from
,
next
)
{
...
...
@@ -122,7 +121,6 @@ export default {
vm
.
historyData
=
[]
vm
.
appendixData
=
[]
vm
.
isTodo
=
vm
.
$route
.
params
.
type
===
'todo'
vm
.
isEditType
=
false
// 30节点可编辑合同类型、开票类型
vm
.
getData
()
vm
.
getHistory
()
...
...
@@ -175,18 +173,6 @@ export default {
this
.
history_Coll
=
!
this
.
history_Coll
},
approv
(
action_type
)
{
if
(
this
.
isEditType
)
{
let
flag
=
false
this
.
planData
.
map
(
item
=>
{
if
(
!
item
.
repurchase_flag
&&
!
item
.
rent_invoice_type
)
{
flag
=
true
}
})
if
(
flag
)
{
hlsPopup
.
showLongCenter
(
'请将必填字段填写完整'
)
return
}
}
let
params
=
this
.
$route
.
params
let
param
=
{
master
:
{
...
...
src/pages/financingApply/components/Appendix.vue
View file @
81099525
<!-- 附件 -->
<
template
>
<div
style=
"width: 100%;"
>
<p
class=
"notice"
>
tips:点击上传目录即可上传,点击文件即可下载或预览。
</p>
<div
class=
"table-box"
>
<table
class=
"att_table"
>
<tr>
<th>
上传目录
</th>
<th>
附件
</th>
<th>
备注
</th>
</tr>
<tr
v-for=
"(item, index) of appendixData"
:key=
"item.check_id"
>
<td
@
click=
"chooseFile(item.check_id)"
>
{{
item
.
description
}}
</td>
<td>
<span
v-for=
"(attach, ai) in item.attachArr"
:key=
"attach.attachId"
@
click=
"previewOrDownload(attach)"
>
{{
attach
.
fileName
+
(
ai
===
item
.
attachArr
.
length
-
1
?
''
:
','
)
}}
</span>
</td>
<td>
{{
item
.
note
}}
</td>
</tr>
</table>
</div>
<Tabs
v-model=
"active"
color=
"#02459a"
>
<Tab
title=
"附件信息"
>
<p
class=
"notice"
>
tips:点击上传目录即可上传,点击文件即可下载或预览。
</p>
<div
class=
"table-box"
>
<table
class=
"att_table"
>
<tr>
<th>
上传目录
</th>
<th>
附件
</th>
<th>
备注
</th>
</tr>
<tr
v-for=
"(item, index) of attachFileArr"
:key=
"item.check_id"
>
<td
@
click=
"chooseFile(item.check_id)"
>
{{
item
.
description
}}
</td>
<td>
<span
v-for=
"(attach, ai) in item.attachArr"
:key=
"attach.attachId"
@
click=
"previewOrDownload(attach)"
>
{{
attach
.
fileName
+
(
ai
===
item
.
attachArr
.
length
-
1
?
''
:
','
)
}}
</span>
</td>
<td>
{{
item
.
note
}}
</td>
</tr>
</table>
</div>
</Tab>
<Tab
title=
"特批附件"
>
<p
class=
"notice"
>
tips:点击上传目录即可上传,点击文件即可下载或预览。
</p>
<div
class=
"table-box"
>
<table
class=
"att_table"
>
<tr>
<th>
上传目录
</th>
<th>
附件
</th>
<th>
备注
</th>
</tr>
<tr
v-for=
"(item, index) of spcialArr"
:key=
"item.check_id"
>
<td
@
click=
"chooseFile(item.check_id)"
>
{{
item
.
description
}}
</td>
<td>
<span
v-for=
"(attach, ai) in item.attachArr"
:key=
"attach.attachId"
@
click=
"previewOrDownload(attach)"
>
{{
attach
.
fileName
+
(
ai
===
item
.
attachArr
.
length
-
1
?
''
:
','
)
}}
</span>
</td>
<td>
{{
item
.
note
}}
</td>
</tr>
</table>
</div>
</Tab>
</Tabs>
</div>
</
template
>
<
script
>
import
{
Tab
,
Tabs
}
from
'vant'
import
'vant/lib/tab/style'
import
'vant/lib/tabs/style'
export
default
{
components
:
{
Tabs
,
Tab
},
props
:
[
'appendixData'
],
data
()
{
data
()
{
return
{
licenseImg
:
''
,
active
:
0
,
// tab索引值
attachFileArr
:
[],
// 附件信息
spcialArr
:
[],
// 特批附件
}
},
// watch:{
// appendixData(){
// console.log('mounted执行', this.appendixData );
// this.attachFileArr = this.appendixData.filter((item, index) => {
// if (item.cdd_item === 'SPCIAL_REPORT') {
// this.spcialArr.push(item)
// }
// return item.cdd_item !== 'SPCIAL_REPORT'
// })
// },
// active(n,o){
// console.log('xin',n,'jiu',o);
// }
// },
created
(){
this
.
attachFileArr
=
this
.
appendixData
.
filter
((
item
,
index
)
=>
{
if
(
item
.
cdd_item
===
'SPCIAL_REPORT'
)
{
this
.
spcialArr
.
push
(
item
)
}
return
item
.
cdd_item
!==
'SPCIAL_REPORT'
})
},
methods
:
{
previewOrDownload
(
attObj
)
{
getspcialArr
()
{
return
this
.
spcialArr
[
0
]
},
previewOrDownload
(
attObj
)
{
let
picUrl
=
`
${
process
.
env
.
filePath
}
attachment_id=
${
attObj
.
attachId
}
&access_token=
${
window
.
localStorage
.
access_token
}
`
if
(
/.png|.jpg$/
.
test
(
attObj
.
fileName
))
{
this
.
showBigPicture
(
picUrl
)
}
else
{
console
.
log
(
hlsUtil
.
convertImageUrl
(
picUrl
))
;
console
.
log
(
hlsUtil
.
convertImageUrl
(
picUrl
))
window
.
open
(
hlsUtil
.
convertImageUrl
(
picUrl
))
}
console
.
log
(
attObj
)
;
console
.
log
(
attObj
)
},
// 上传窗口
chooseFile
(
check_id
)
{
chooseFile
(
check_id
)
{
let
vm
=
this
hlsPopup
.
showActionSheet
({
titleText
:
'请选择照片'
,
...
...
@@ -59,7 +119,7 @@ export default {
},
})
},
openCamera
(
check_id
)
{
openCamera
(
check_id
)
{
let
vm
=
this
let
cameraoptions
=
{
quality
:
60
,
...
...
@@ -73,12 +133,12 @@ export default {
vm
.
licenseImg
=
hlsUtil
.
convertImageUrl
(
imgdata
)
let
list
=
[{
pkvalue
:
check_id
,
source_type
:
"PRJ_CDD_ITEM_CHECK"
,
source_type
:
'PRJ_CDD_ITEM_CHECK'
,
picture
:
''
,
filePath
:
imgdata
,
attachment_id
:
''
,
user_id
:
1
,
fileName
:
''
fileName
:
''
,
}]
vm
.
save_file
(
list
)
...
...
@@ -89,7 +149,7 @@ export default {
}
hlsUtil
.
openCamera
(
cameraoptions
,
success
,
error
)
},
takePicture
(
check_id
)
{
takePicture
(
check_id
)
{
let
vm
=
this
var
cameraoptions
=
{
quality
:
70
,
...
...
@@ -104,12 +164,12 @@ export default {
vm
.
licenseImg
=
hlsUtil
.
convertImageUrl
(
imgUrl
[
0
])
let
list
=
[{
pkvalue
:
check_id
,
source_type
:
"PRJ_CDD_ITEM_CHECK"
,
source_type
:
'PRJ_CDD_ITEM_CHECK'
,
picture
:
''
,
filePath
:
imgUrl
[
0
],
attachment_id
:
''
,
user_id
:
1
,
fileName
:
''
fileName
:
''
,
}]
vm
.
save_file
(
list
)
...
...
@@ -122,9 +182,9 @@ export default {
},
// 图片保存
save_file
(
list
)
{
save_file
(
list
)
{
let
vm
=
this
let
upView
=
vm
.
debounce
(
function
()
{
vm
.
$emit
(
"upData"
)
},
1500
)
let
upView
=
vm
.
debounce
(
function
()
{
vm
.
$emit
(
'upData'
)
},
1500
)
if
(
list
.
length
)
{
// hlsPopup.showLoading('图片上传请稍候')
var
alreadyUploadNum
=
0
...
...
@@ -162,24 +222,24 @@ export default {
}
},
// 查看图片
showBigPicture
(
picUrl
)
{
showBigPicture
(
picUrl
)
{
let
vm
=
this
vm
.
hlsPopup
.
showBigPicture
({
imgUrl
:
picUrl
,
width
:
'100%'
,
})
vm
.
hlsPopup
.
showBigPicture
({
imgUrl
:
picUrl
,
width
:
'100%'
})
},
debounce
(
func
,
wait
)
{
let
timer
;
debounce
(
func
,
wait
)
{
let
timer
return
function
()
{
let
context
=
this
;
// 注意 this 指向
let
args
=
arguments
;
// arguments中存着e
let
context
=
this
// 注意 this 指向
let
args
=
arguments
// arguments中存着e
if
(
timer
)
clearTimeout
(
timer
)
;
if
(
timer
)
clearTimeout
(
timer
)
timer
=
setTimeout
(()
=>
{
func
.
apply
(
this
,
args
)
},
wait
)
}
}
}
}
,
}
,
}
</
script
>
...
...
@@ -221,4 +281,4 @@ export default {
}
}
</
style
>
\ No newline at end of file
</
style
>
src/pages/financingApply/components/Lessee.vue
View file @
81099525
...
...
@@ -55,6 +55,7 @@ export default {
[
'工程合同'
,
'engineer_con_n'
,
'text'
],
[
'农行代扣'
,
'abc_deduction_flag'
,
'bool'
],
[
'是否授权'
,
'auth_flag'
,
'bool'
],
[
'管家卡'
,
'bank_card_number'
,
'text'
],
[
'合同补充条款'
,
'contract_supplementary_file'
,
'text'
],
]
...
...
@@ -76,6 +77,7 @@ export default {
[
'配偶联系地址'
,
'address_sp'
,
'text'
],
[
'农行代扣'
,
'abc_deduction_flag'
,
'bool'
],
[
'是否抵押'
,
'mortgega_flag'
,
'bool'
],
[
'管家卡'
,
'bank_card_number'
,
'text'
],
[
'合同补充条款'
,
'contract_supplementary_file'
,
'text'
],
]
let
nowForm
=
this
.
lesseeData
.
bp_class
===
'NP'
?
personalFormArr
:
corporationFormArr
...
...
src/pages/financingApply/components/Plan.vue
View file @
81099525
This diff is collapsed.
Click to expand it.
src/pages/financingApply/financingApply-detail.vue
View file @
81099525
...
...
@@ -10,14 +10,14 @@
<h-content
style=
"overflow-y: auto;"
>
<!-- 审批历史 -->
<div
class=
"history"
:class=
"[history_Coll ? 'history_active' : '']
"
@
click=
"triggerHistory"
>
<History
:isOpen=
"history_Coll"
:historyData=
"historyData"
></History
>
<div
:class=
"[history_Coll ? 'history_active' : '']"
class=
"history
"
@
click=
"triggerHistory"
>
<History
:isOpen=
"history_Coll"
:historyData=
"historyData"
/
>
</div>
<!-- 销售信息折叠 -->
<Collapse
v-model=
"collActiveTab"
>
<CollapseItem
title=
"销售信息"
name=
"1"
>
<Sale
:lesseeData=
"lesseeData"
></Sale
>
<Sale
:lesseeData=
"lesseeData"
/
>
</CollapseItem>
</Collapse>
...
...
@@ -38,21 +38,21 @@
</div>
<div
v-if=
"tabNum === 1"
class=
"z100"
>
<Lessee
:lesseeData=
"lesseeData"
></Lessee
>
<Lessee
:lesseeData=
"lesseeData"
/
>
</div>
<div
v-
if
=
"tabNum === 2"
class=
"z100"
>
<Plan
:planData=
"planData"
:editFlag=
"isEditType"
:showFlag=
"isShowType"
></Plan
>
<div
v-
show
=
"tabNum === 2"
class=
"z100"
>
<Plan
ref=
"myform_30"
:planData=
"planData"
:editFlag=
"isEditType"
:showFlag=
"isShowType"
/
>
</div>
<div
v-if=
"tabNum === 3"
class=
"z100"
>
<Partner
:bplist=
"bplist"
></Partner
>
<Partner
:bplist=
"bplist"
/
>
</div>
<div
v-if=
"tabNum === 4"
class=
"z100"
>
<Appendix
:appendixData=
"appendixData"
@
upData=
"getData"
></Appendix
>
<Appendix
ref=
"myappendix"
:appendixData=
"appendixData"
@
upData=
"getData"
/
>
<div
v-show=
"isTodo"
class=
"approveBottom"
>
<span>
审批意见
</span>
<textarea
v-model=
"confirm_note"
cols=
"8"
rows=
"5"
placeholder=
"请输入"
/>
</div>
<div
class=
"foot-bottom"
v-show=
"isTodo
"
>
<div
v-show=
"isTodo"
class=
"foot-bottom
"
>
<button
class=
"success"
@
click=
"approv('1')"
>
通 过
</button>
<button
class=
"refused"
@
click=
"approv('2')"
>
拒 绝
</button>
</div>
...
...
@@ -62,9 +62,9 @@
</
template
>
<
script
>
import
{
Collapse
,
CollapseItem
}
from
'vant'
;
import
'vant/lib/collapse/style'
;
import
'vant/lib/collapse-item/style'
;
import
{
Collapse
,
CollapseItem
}
from
'vant'
import
'vant/lib/collapse/style'
import
'vant/lib/collapse-item/style'
import
Plan
from
'./components/plan.vue'
import
Sale
from
'./components/Sale.vue'
import
Partner
from
'./components/Partner.vue'
...
...
@@ -82,16 +82,16 @@ export default {
Partner
,
Appendix
,
Lessee
,
History
History
,
},
data
()
{
data
()
{
return
{
tabNum
:
1
,
collActiveTab
:
[
'2'
],
history_Coll
:
false
,
confirm_note
:
''
,
bplist
:
[],
//商业伙伴信息
lesseeData
:
{},
//承租人, 销售信息
bplist
:
[],
//
商业伙伴信息
lesseeData
:
{},
//
承租人, 销售信息
planData
:
[],
// 商务方案
historyData
:
[],
appendixData
:
[],
...
...
@@ -100,12 +100,12 @@ export default {
isShowType
:
false
,
// 75节点可见合同类型、开票类型
}
},
beforeRouteEnter
(
to
,
from
,
next
)
{
beforeRouteEnter
(
to
,
from
,
next
)
{
next
(
vm
=>
{
})
},
mounted
()
{
mounted
()
{
console
.
log
(
this
.
$route
.
params
)
this
.
isEditType
=
this
.
$route
.
params
.
node_sequence_num
===
'30'
this
.
isShowType
=
this
.
$route
.
params
.
node_sequence_num
===
'75'
...
...
@@ -114,7 +114,7 @@ export default {
this
.
getData
()
},
methods
:
{
getData
()
{
getData
()
{
let
project_id
=
this
.
$route
.
params
.
document_id
this
.
hlsPopup
.
showLoading
(
'请稍候'
)
let
url
=
$config
.
basePath
+
'prj_project_info_query'
...
...
@@ -139,28 +139,31 @@ export default {
hlsPopup
.
showLongCenter
(
'获取工作流信息失败'
)
setTimeout
(()
=>
{
this
.
$router
.
back
()
},
2000
)
;
},
2000
)
}
})
},
getHistory
()
{
getHistory
()
{
this
.
historyData
=
this
.
$route
.
params
.
approve_history_lists
.
reverse
()
},
triggerHistory
()
{
triggerHistory
()
{
this
.
history_Coll
=
!
this
.
history_Coll
},
approv
(
action_type
)
{
if
(
this
.
isEditType
)
{
let
flag
=
false
this
.
planData
.
map
(
item
=>
{
if
(
!
item
.
repurchase_flag
&&
!
item
.
rent_invoice_type
)
{
flag
=
true
}
})
if
(
flag
)
{
hlsPopup
.
showLongCenter
(
'请将必填字段填写完整'
)
async
approv
(
action_type
)
{
if
(
this
.
isEditType
)
{
// 30节点编辑后的校验
let
isSave
=
window
.
localStorage
.
getItem
(
'myform_30_isSave'
)
let
flag
=
await
this
.
$refs
.
myform_30
.
validate
()
if
(
!
flag
||
isSave
===
'false'
)
{
hlsPopup
.
showLongCenter
(
'请将商务方案中的必填项填写完整并保存'
)
return
}
if
(
this
.
$refs
.
myform_30
.
getData
()
===
'Y'
)
{
let
temp
=
this
.
$refs
.
myappendix
.
getspcialArr
()
if
(
temp
.
attachArr
.
length
<
1
)
{
hlsPopup
.
showLongCenter
(
'请上传特批报告'
)
return
}
}
}
let
params
=
this
.
$route
.
params
let
param
=
{
...
...
@@ -171,18 +174,19 @@ export default {
comment_text
:
this
.
confirm_note
,
},
}
console
.
log
(
process
.
env
.
basePath
)
;
let
url
=
process
.
env
.
basePath
+
(
action_type
===
'1'
?
'action_agree'
:
'action_refuse'
)
console
.
log
(
url
)
;
console
.
log
(
process
.
env
.
basePath
)
let
url
=
process
.
env
.
basePath
+
(
action_type
===
'1'
?
'action_agree'
:
'action_refuse'
)
console
.
log
(
url
)
this
.
hlsPopup
.
showLoading
(
'请稍候'
)
this
.
hlsHttp
.
post
(
url
,
param
).
then
((
res
)
=>
{
this
.
hlsPopup
.
hideLoading
()
this
.
hlsPopup
.
showLongCenter
(
res
.
message
)
if
(
res
.
result
===
'S'
)
{
window
.
localStorage
.
removeItem
(
'myform_30_isSave'
)
setTimeout
(()
=>
{
this
.
$router
.
back
()
},
2000
)
;
},
2000
)
}
})
},
...
...
@@ -225,7 +229,6 @@ export default {
}
}
.tab-style {
display: flex;
justify-content: center;
...
...
src/pages/userBindNew/np/accessory-info.vue
View file @
81099525
This diff is collapsed.
Click to expand it.
src/pages/userBindNew/np/base-info.vue
View file @
81099525
This diff is collapsed.
Click to expand it.
src/pages/userBindNew/org/baseInfo.vue
View file @
81099525
This diff is collapsed.
Click to expand it.
src/pages/userBindNew/org/enclosure.vue
View file @
81099525
This diff is collapsed.
Click to expand it.
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