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
b4905f9d
Commit
b4905f9d
authored
Mar 07, 2024
by
14699
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix:修改
parent
29fe67b2
Changes
9
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
531 additions
and
491 deletions
+531
-491
README.md
README.md
+13
-13
prod.env.js
config/prod.env.js
+1
-1
android.json
plugins/android.json
+0
-3
contract-detail.vue
src/pages/contractSigning/contract-detail.vue
+194
-152
contract-new.vue
src/pages/contractSigning/contract-new.vue
+4
-4
contract-signing.vue
src/pages/contractSigning/contract-signing.vue
+5
-2
my-info.vue
src/pages/myInfo/my-info.vue
+0
-1
myBindUser.vue
src/pages/myInfo/myBindUser.vue
+282
-283
hlsUtil.js
src/scripts/hlsUtil.js
+32
-32
No files found.
README.md
View file @
b4905f9d
...
...
@@ -103,6 +103,6 @@ For a detailed explanation on how things work, check out the [guide](http://vuej
# 热更新操作步骤
1.
修改对应环境的版本号
2.
执行npm run build:对应环境
2.
执行npm run build:对应环境
, 重新移除添加android平台 cordova platform rm android , cordova platform add android@6.3.0
3.
将压缩后的www文件夹里的文件覆盖到服务器上下载下来的对应文件
4.
去对应的业务系统环境内修改相应的版本号
config/prod.env.js
View file @
b4905f9d
...
...
@@ -11,5 +11,5 @@ module.exports = {
ocrPath
:
'"http://210.12.156.64:9090/r/api"'
,
fileUploadSvcPath
:
'"http://210.12.156.64:9090/r/api/app/fileUploadSvc?sysName=XCMG_UAT&apiName="'
,
appId
:
'"com.xcmg.app.dev"'
,
currentVersion
:
'"3.7.
3
"'
currentVersion
:
'"3.7.
4
"'
}
plugins/android.json
View file @
b4905f9d
...
...
@@ -59,9 +59,6 @@
}
},
"dependent_plugins"
:
{
"cordova-plugin-compat"
:
{
"PACKAGE_NAME"
:
"com.hls.app"
},
"cordova-plugin-contacts"
:
{
"PACKAGE_NAME"
:
"com.hls.app"
},
...
...
src/pages/contractSigning/contract-detail.vue
View file @
b4905f9d
...
...
@@ -87,7 +87,7 @@
<h-content
v-if=
"num === 0"
class=
"business-condition"
>
<list-item
:item-height=
"44"
class=
"second-part"
>
<item>
<div
slot=
"name"
class=
"font-color"
>
业务主办
</div>
<div
slot=
"name"
class=
"font-color"
>
业务主办
11
</div>
<input
slot=
"content"
v-model=
"baseInfo.bp_user_id_n"
readonly
>
</item>
...
...
@@ -124,42 +124,42 @@
<input
slot=
"content"
v-model=
"baseInfo.bp_name"
:readonly=
"$route.params.readOnly === 'Y' ? true : false"
placeholder=
"请选择"
>
</item>
<item>
<div
slot=
"name"
class=
"font-color required"
>
统一社会信用代码
</div>
<input
slot=
"content"
v-model=
"baseInfo.organization_code"
>
<input
slot=
"content"
v-model=
"baseInfo.organization_code"
:readonly=
"$route.params.readOnly === 'Y' ? true : false"
>
</item>
<item>
<div
slot=
"name"
class=
"font-color required"
>
注册资本
</div>
<input
slot=
"content"
v-model=
"baseInfo.registered_capital"
>
<input
slot=
"content"
v-model=
"baseInfo.registered_capital"
:readonly=
"$route.params.readOnly === 'Y' ? true : false"
>
</item>
<item>
<div
slot=
"name"
class=
"font-color required"
>
注册地址
</div>
<input
slot=
"content"
v-model=
"baseInfo.registered_place"
>
<input
slot=
"content"
v-model=
"baseInfo.registered_place"
:readonly=
"$route.params.readOnly === 'Y' ? true : false"
>
</item>
<item>
<div
slot=
"name"
class=
"font-color required"
>
经营地址
</div>
<input
slot=
"content"
v-model=
"baseInfo.business_address"
>
<input
slot=
"content"
v-model=
"baseInfo.business_address"
:readonly=
"$route.params.readOnly === 'Y' ? true : false"
>
</item>
<item>
<div
slot=
"name"
class=
"font-color required"
>
联系电话
</div>
<input
slot=
"content"
v-model=
"baseInfo.phone"
>
<input
slot=
"content"
v-model=
"baseInfo.phone"
:readonly=
"$route.params.readOnly === 'Y' ? true : false"
>
</item>
<item>
<div
slot=
"name"
class=
"font-color"
>
联合承租人
</div>
<input
slot=
"content"
v-model=
"baseInfo.union_bp"
>
<input
slot=
"content"
v-model=
"baseInfo.union_bp"
:readonly=
"$route.params.readOnly === 'Y' ? true : false"
>
</item>
<item>
<div
slot=
"name"
class=
"font-color required"
>
承租人其他资产说明项
</div>
<input
slot=
"content"
v-model=
"baseInfo.bp_other_asset"
>
<input
slot=
"content"
v-model=
"baseInfo.bp_other_asset"
:readonly=
"$route.params.readOnly === 'Y' ? true : false"
>
</item>
<item>
<div
slot=
"name"
class=
"font-color required"
>
其他补充信息栏
</div>
<input
slot=
"content"
v-model=
"baseInfo.other_info"
>
<input
slot=
"content"
v-model=
"baseInfo.other_info"
:readonly=
"$route.params.readOnly === 'Y' ? true : false"
>
</item>
<!--
<item>
<div
slot=
"name"
class=
"font-color"
>
是否授权
</div>
...
...
@@ -174,38 +174,38 @@
<list-item
:item-height=
"44"
class=
"second-part"
>
<item>
<div
slot=
"name"
class=
"font-color"
>
姓名
</div>
<input
slot=
"content"
v-model=
"baseInfo.legal_person"
>
<input
slot=
"content"
v-model=
"baseInfo.legal_person"
:readonly=
"$route.params.readOnly === 'Y' ? true : false"
>
</item>
<item>
<div
slot=
"name"
class=
"font-color"
>
证件号
</div>
<input
slot=
"content"
v-model=
"baseInfo.id_card_no"
>
<input
slot=
"content"
v-model=
"baseInfo.id_card_no"
:readonly=
"$route.params.readOnly === 'Y' ? true : false"
>
</item>
<item>
<div
slot=
"name"
class=
"font-color"
>
手机号码
</div>
<input
slot=
"content"
v-model=
"baseInfo.cell_phone"
>
<input
slot=
"content"
v-model=
"baseInfo.cell_phone"
:readonly=
"$route.params.readOnly === 'Y' ? true : false"
>
</item>
<item>
<div
slot=
"name"
class=
"font-color"
>
联系地址
</div>
<textarea
slot=
"content"
v-model=
"baseInfo.living_address"
/>
<textarea
slot=
"content"
v-model=
"baseInfo.living_address"
:readonly=
"$route.params.readOnly === 'Y' ? true : false"
/>
</item>
</list-item>
<div
class=
"equipment-list"
>
实控人
</div>
<list-item
:item-height=
"44"
class=
"second-part"
>
<item>
<div
slot=
"name"
class=
"font-color"
>
姓名
</div>
<input
slot=
"content"
v-model=
"baseInfo.control_person"
>
<input
slot=
"content"
v-model=
"baseInfo.control_person"
:readonly=
"$route.params.readOnly === 'Y' ? true : false"
>
</item>
<item>
<div
slot=
"name"
class=
"font-color"
>
证件号
</div>
<input
slot=
"content"
v-model=
"baseInfo.control_id_card_no"
>
<input
slot=
"content"
v-model=
"baseInfo.control_id_card_no"
:readonly=
"$route.params.readOnly === 'Y' ? true : false"
>
</item>
<item>
<div
slot=
"name"
class=
"font-color"
>
手机号码
</div>
<input
slot=
"content"
v-model=
"baseInfo.control_cell_phone"
>
<input
slot=
"content"
v-model=
"baseInfo.control_cell_phone"
:readonly=
"$route.params.readOnly === 'Y' ? true : false"
>
</item>
<item>
<div
slot=
"name"
class=
"font-color"
>
联系地址
</div>
<textarea
slot=
"content"
v-model=
"baseInfo.control_living_address"
/>
<textarea
slot=
"content"
v-model=
"baseInfo.control_living_address"
:readonly=
"$route.params.readOnly === 'Y' ? true : false"
/>
</item>
</list-item>
<!--
<div
class=
"equipment-list"
>
...
...
@@ -230,7 +230,7 @@
<div
class=
"equipment-list-fund"
style=
"color:#00469c"
>
<span/>
<p>
担保人信息
</p>
<div
style=
"width: 75%;text-align: right;"
@
click=
"addGuarantor()"
>
新增
</div>
<div
v-if=
"$route.params.readOnly !== 'Y'"
style=
"width: 75%;text-align: right;"
@
click=
"addGuarantor()"
>
新增
</div>
</div>
<list-item
v-for=
"(item, index) in guarantorList"
:item-height=
"76"
:key=
"index"
class=
"second-part"
>
<!--
<item>
-->
...
...
@@ -275,18 +275,23 @@
</item>
<item>
<div
slot=
"name"
class=
"font-color"
>
发票抬头
</div>
<input
slot=
"content"
v-model=
"baseInfo.invoice_title"
type=
"text"
placeholder=
"请输入发票抬头"
>
<input
slot=
"content"
v-model=
"baseInfo.invoice_title"
:readonly=
"$route.params.readOnly === 'Y' ? true : false"
type=
"text"
placeholder=
"请输入发票抬头"
>
</item>
<item>
<div
slot=
"name"
class=
"font-color"
>
发票地址
</div>
<textarea
slot=
"content"
ref=
"myTestarea"
v-model=
"baseInfo.invoice_adds"
cols=
"22"
slot=
"content"
ref=
"myTestarea"
v-model=
"baseInfo.invoice_adds"
:readonly=
"$route.params.readOnly === 'Y' ? true : false"
cols=
"22"
rows=
"1"
type=
"text"
placeholder=
"请输入发票地址"
@
input=
"addRows(baseInfo.invoice_adds)"
/>
</item>
<item>
<div
slot=
"name"
class=
"font-color"
>
开户电话
</div>
<input
slot=
"content"
v-model=
"baseInfo.invoice_tel"
type=
"text"
placeholder=
"请输入开户电话"
>
<input
slot=
"content"
v-model=
"baseInfo.invoice_tel"
:readonly=
"$route.params.readOnly === 'Y' ? true : false"
type=
"text"
placeholder=
"请输入开户电话"
>
</item>
<item>
<div
slot=
"name"
class=
"font-color"
>
发票开户行
</div>
...
...
@@ -294,6 +299,7 @@
slot=
"content"
ref=
"myTestareaLive"
v-model=
"baseInfo.open_bank"
:readonly=
"$route.params.readOnly === 'Y' ? true : false"
cols=
"22"
rows=
"1"
type=
"text"
...
...
@@ -303,19 +309,27 @@
</item>
<item>
<div
slot=
"name"
class=
"font-color"
>
开户行账号
</div>
<input
slot=
"content"
v-model=
"baseInfo.open_account"
type=
"text"
placeholder=
"请输入开户行账号"
>
<input
slot=
"content"
v-model=
"baseInfo.open_account"
:readonly=
"$route.params.readOnly === 'Y' ? true : false"
type=
"text"
placeholder=
"请输入开户行账号"
>
</item>
<item>
<div
slot=
"name"
class=
"font-color"
>
联系人
</div>
<input
slot=
"content"
v-model=
"baseInfo.invoice_contact_person"
type=
"text"
placeholder=
"请输入联系人"
>
<input
slot=
"content"
v-model=
"baseInfo.invoice_contact_person"
:readonly=
"$route.params.readOnly === 'Y' ? true : false"
type=
"text"
placeholder=
"请输入联系人"
>
</item>
<item>
<div
slot=
"name"
class=
"font-color"
>
联系电话
</div>
<input
slot=
"content"
v-model=
"baseInfo.invoice_contact_phone"
type=
"text"
placeholder=
"请输入联系电话"
>
<input
slot=
"content"
v-model=
"baseInfo.invoice_contact_phone"
:readonly=
"$route.params.readOnly === 'Y' ? true : false"
type=
"text"
placeholder=
"请输入联系电话"
>
</item>
<item>
<div
slot=
"name"
class=
"font-color"
>
发票邮寄地址
</div>
<input
slot=
"content"
v-model=
"baseInfo.invoice_mail_address"
type=
"text"
placeholder=
"请输入发票邮寄地址"
>
<input
slot=
"content"
v-model=
"baseInfo.invoice_mail_address"
:readonly=
"$route.params.readOnly === 'Y' ? true : false"
type=
"text"
placeholder=
"请输入发票邮寄地址"
>
</item>
<!--
<item>
<div
slot=
"name"
class=
"font-color"
>
纳税人识别号
</div>
...
...
@@ -331,13 +345,14 @@
<list-item
:item-height=
"44"
>
<item>
<div
slot=
"name"
>
账户名称
</div>
<input
slot=
"content"
v-model=
"baseInfo.bank_account_name"
placeholder=
"请输入账户名称"
>
<input
slot=
"content"
v-model=
"baseInfo.bank_account_name"
:readonly=
"$route.params.readOnly === 'Y' ? true : false"
placeholder=
"请输入账户名称"
>
</item>
<item>
<div
slot=
"name"
>
开户行
</div>
<input
slot=
"content"
v-model=
"baseInfo.bank_full_name"
:readonly=
"$route.params.readOnly === 'Y' ? true : false"
placeholder=
"请输入开户行"
>
</item>
...
...
@@ -346,12 +361,13 @@
<input
slot=
"content"
v-model=
"baseInfo.bank_account_num"
:readonly=
"$route.params.readOnly === 'Y' ? true : false"
placeholder=
"请输入银行账号"
>
</item>
<item>
<div
slot=
"name"
>
联行号
</div>
<input
slot=
"content"
v-model=
"baseInfo.bank_branch_name"
placeholder=
"请输入联行号"
>
<input
slot=
"content"
v-model=
"baseInfo.bank_branch_name"
:readonly=
"$route.params.readOnly === 'Y' ? true : false"
placeholder=
"请输入联行号"
>
</item>
</list-item>
<div
class=
"equipment-list"
>
...
...
@@ -360,13 +376,14 @@
<list-item
:item-height=
"44"
>
<item>
<div
slot=
"name"
>
联系人姓名
</div>
<input
slot=
"content"
v-model=
"baseInfo.contact_name"
placeholder=
"请输入联系人姓名"
>
<input
slot=
"content"
v-model=
"baseInfo.contact_name"
:readonly=
"$route.params.readOnly === 'Y' ? true : false"
placeholder=
"请输入联系人姓名"
>
</item>
<item>
<div
slot=
"name"
>
身份证号码
</div>
<input
slot=
"content"
v-model=
"baseInfo.contact_card_no"
:readonly=
"$route.params.readOnly === 'Y' ? true : false"
placeholder=
"请输入身份证号码"
>
</item>
...
...
@@ -375,12 +392,13 @@
<input
slot=
"content"
v-model=
"baseInfo.contact_tel"
:readonly=
"$route.params.readOnly === 'Y' ? true : false"
placeholder=
"请输入联系电话"
>
</item>
<item>
<div
slot=
"name"
>
联系地址
</div>
<input
slot=
"content"
v-model=
"baseInfo.contact_adds"
placeholder=
"请输入联系地址"
>
<input
slot=
"content"
v-model=
"baseInfo.contact_adds"
:readonly=
"$route.params.readOnly === 'Y' ? true : false"
placeholder=
"请输入联系地址"
>
</item>
</list-item>
<div
class=
"equipment-list"
>
...
...
@@ -610,37 +628,37 @@
<item>
<div
slot=
"name"
class=
"font-color"
>
设备总价
</div>
<!--
<span
slot=
"content"
>
{{
info
.
equip_price
*
info
.
product_num
|
currency
}}
</span>
-->
<currency-input
slot=
"content"
v-model=
"quotationInfo.equip_price"
placeholder=
"请输入设备总价"
/>
<currency-input
slot=
"content"
v-model=
"quotationInfo.equip_price"
:readonly=
"$route.params.readOnly === 'Y' ? true : false"
placeholder=
"请输入设备总价"
/>
</item>
<item>
<div
slot=
"name"
class=
"font-color"
>
融资金额
</div>
<!--
<span
slot=
"content"
>
{{
info
.
finance_amount
*
info
.
product_num
|
currency
}}
</span>
-->
<currency-input
slot=
"content"
v-model=
"quotationInfo.finance_amount"
placeholder=
"请输入融资金额"
/>
<currency-input
slot=
"content"
v-model=
"quotationInfo.finance_amount"
:readonly=
"$route.params.readOnly === 'Y' ? true : false"
placeholder=
"请输入融资金额"
/>
</item>
<item>
<div
slot=
"name"
class=
"font-color"
>
首付款
</div>
<!--
<span
slot=
"content"
>
{{
info
.
down_payment
*
info
.
product_num
|
currency
}}
</span>
-->
<currency-input
slot=
"content"
v-model=
"quotationInfo.down_payment"
placeholder=
"请输入首付款"
/>
<currency-input
slot=
"content"
v-model=
"quotationInfo.down_payment"
:readonly=
"$route.params.readOnly === 'Y' ? true : false"
placeholder=
"请输入首付款"
/>
</item>
<item>
<div
slot=
"name"
class=
"font-color"
>
保证金比例
</div>
<!--
<span
slot=
"content"
>
{{
info
.
deposit_ratio_n
}}
</span>
-->
<rate-input
slot=
"content"
v-model=
"quotationInfo.deposit_ratio"
placeholder=
"请输入保证金比例"
/>
<rate-input
slot=
"content"
v-model=
"quotationInfo.deposit_ratio"
:readonly=
"$route.params.readOnly === 'Y' ? true : false"
placeholder=
"请输入保证金比例"
/>
</item>
<item>
<div
slot=
"name"
class=
"font-color"
>
保证金
</div>
<!--
<span
slot=
"content"
>
{{
info
.
deposit
*
info
.
product_num
|
currency
}}
</span>
-->
<currency-input
slot=
"content"
v-model=
"quotationInfo.deposit"
placeholder=
"请输入保证金"
/>
<currency-input
slot=
"content"
v-model=
"quotationInfo.deposit"
:readonly=
"$route.params.readOnly === 'Y' ? true : false"
placeholder=
"请输入保证金"
/>
</item>
<item>
<div
slot=
"name"
class=
"font-color"
>
手续费比例
</div>
<!--
<input
slot=
"content"
v-model=
"info.lease_charge_ratio_n"
readonly
/>
-->
<rate-input
slot=
"content"
v-model=
"quotationInfo.lease_charge_ratio"
placeholder=
"请输入手续费比例"
/>
<rate-input
slot=
"content"
v-model=
"quotationInfo.lease_charge_ratio"
:readonly=
"$route.params.readOnly === 'Y' ? true : false"
placeholder=
"请输入手续费比例"
/>
</item>
<item>
<div
slot=
"name"
class=
"font-color"
>
手续费
</div>
<!--
<span
slot=
"content"
>
{{
parseFloat
(
info
.
lease_charge
*
info
.
product_num
).
toFixed
(
2
)
|
currency
}}
</span>
-->
<currency-input
slot=
"content"
v-model=
"quotationInfo.lease_charge"
placeholder=
"请输入手续费"
/>
<currency-input
slot=
"content"
v-model=
"quotationInfo.lease_charge"
:readonly=
"$route.params.readOnly === 'Y' ? true : false"
placeholder=
"请输入手续费"
/>
</item>
<!--
<item>
<div
slot=
"name"
class=
"font-color"
>
保险押金
</div>
-->
...
...
@@ -680,12 +698,14 @@
<item>
<div
slot=
"name"
class=
"font-color"
>
租赁期数
</div>
<!--
<input
slot=
"content"
v-model=
"info.lease_times"
readonly
/>
-->
<input
slot=
"content"
v-model=
"quotationInfo.lease_times"
placeholder=
"请输入租赁期数"
type=
"number"
>
<input
slot=
"content"
v-model=
"quotationInfo.lease_times"
:readonly=
"$route.params.readOnly === 'Y' ? true : false"
placeholder=
"请输入租赁期数"
type=
"number"
>
</item>
<item>
<div
slot=
"name"
class=
"font-color"
>
年利率
</div>
<!--
<span
slot=
"content"
>
{{
info
.
int_rate_n
}}
</span>
-->
<rate-input
slot=
"content"
v-model=
"quotationInfo.int_rate"
placeholder=
"请输入年利率"
/>
<rate-input
slot=
"content"
v-model=
"quotationInfo.int_rate"
:readonly=
"$route.params.readOnly === 'Y' ? true : false"
placeholder=
"请输入年利率"
/>
</item>
</list-item>
<!--
<div
class=
"repay-plan"
>
-->
...
...
@@ -694,7 +714,7 @@
<div
class=
"equipment-list-fund"
>
<span/>
<p>
设备清单
</p>
<div
style=
"width: 75%;text-align: right;"
@
click=
"downNum=true"
>
新增
</div>
<div
v-if=
"$route.params.readOnly !== 'Y'"
style=
"width: 75%;text-align: right;"
@
click=
"downNum=true"
>
新增
</div>
</div>
<list-item
v-for=
"(item, index) in leaseList"
:item-height=
"44"
:key=
"index"
class=
"second-part"
>
<!--
<item>
-->
...
...
@@ -925,6 +945,7 @@ export default {
methods
:
{
// 删除设备
deleteProduct
(
item
)
{
if
(
this
.
$route
.
params
.
readOnly
!==
'Y'
)
{
let
vm
=
this
let
url
=
$config
.
basePath
+
'zm_prj_lease_item_delete'
let
param
=
{
...
...
@@ -944,18 +965,23 @@ export default {
hlsPopup
.
showLongCenter
(
res
.
message
)
}
})
}
},
// 更新产品
saveProduct
(
item
)
{
if
(
this
.
$route
.
params
.
readOnly
!==
'Y'
)
{
let
vm
=
this
vm
.
itemInfo
=
item
vm
.
downNum
=
true
}
},
// 更新担保人
saveGuarantor
(
item
)
{
if
(
this
.
$route
.
params
.
readOnly
!==
'Y'
)
{
let
vm
=
this
vm
.
guarantorInfo
=
item
vm
.
guarantorFlag
=
true
}
},
saveData
()
{
let
vm
=
this
...
...
@@ -1016,6 +1042,7 @@ export default {
})
},
selectPayTimes
()
{
if
(
this
.
$route
.
params
.
readOnly
!==
'Y'
)
{
let
vm
=
this
vm
.
hlsPopup
.
selectList
({
list
:
[{
code
:
1
,
code_name
:
1
},
{
code
:
2
,
code_name
:
2
},
{
code
:
3
,
code_name
:
3
}],
...
...
@@ -1026,6 +1053,7 @@ export default {
vm
.
$set
(
vm
.
quotationInfo
,
'annual_pay_times_n'
,
obj
.
annual_pay_times_n
)
},
})
}
},
selectGuarantorType
()
{
let
vm
=
this
...
...
@@ -1122,6 +1150,7 @@ export default {
},
addRows
(
e
)
{
if
(
this
.
$route
.
params
.
readOnly
!==
'Y'
)
{
if
(
e
)
{
let
len
=
0
for
(
let
i
=
0
;
i
<
e
.
length
;
i
++
)
{
...
...
@@ -1136,6 +1165,7 @@ export default {
let
addNum
=
Math
.
ceil
(
len
/
21
)
this
.
$refs
.
myTestarea
.
rows
=
addNum
}
}
},
addRowsLive
(
e
)
{
if
(
e
)
{
...
...
@@ -1419,6 +1449,9 @@ export default {
})
},
selectApproverBp
(
e
)
{
console
.
log
(
'是否只读:'
,
this
.
$route
.
params
.
readOnly
)
if
(
this
.
$route
.
params
.
readOnly
===
'N'
)
{
// 只读页面不可修改
let
vm
=
this
vm
.
hlsPopup
.
selectList
({
list
:
vm
.
approverBpList
,
...
...
@@ -1430,6 +1463,7 @@ export default {
console
.
log
(
'obj'
,
vm
.
baseInfo
)
},
})
}
},
getTaxpayer
()
{
let
vm
=
this
...
...
@@ -1463,6 +1497,7 @@ export default {
})
},
selectInvoiceType
(
e
)
{
if
(
this
.
$route
.
params
.
readOnly
!==
'Y'
)
{
let
vm
=
this
vm
.
hlsPopup
.
selectList
({
list
:
vm
.
invoicList
,
...
...
@@ -1473,6 +1508,7 @@ export default {
vm
.
$set
(
vm
.
baseInfo
,
'invoice_kind_n'
,
obj
.
bp_type_n
)
},
})
}
},
// 查看大图
...
...
@@ -1485,6 +1521,7 @@ export default {
},
// ocr识别入口
ocrShow
(
desc
,
id
,
code
)
{
if
(
this
.
$route
.
params
.
readOnly
!==
'Y'
)
{
let
vm
=
this
hlsPopup
.
showActionSheet
({
titleText
:
'请选择照片'
,
...
...
@@ -1497,6 +1534,7 @@ export default {
}
},
})
}
},
openCamera
(
desc
,
id
,
code
)
{
let
vm
=
this
...
...
@@ -1614,6 +1652,7 @@ export default {
},
// 移除图片
remove_pic
(
attachment_id
,
index
,
code
)
{
if
(
this
.
$route
.
params
.
readOnly
!==
'Y'
)
{
let
vm
=
this
var
delete_list
=
[]
let
obj
=
{
'attachment_id'
:
attachment_id
}
...
...
@@ -1632,6 +1671,7 @@ export default {
hlsPopup
.
showShortCenter
(
res
.
message
)
}
})
}
},
remove_upload_list
(
attachment_id
,
index
,
code
)
{
let
vm
=
this
...
...
@@ -1660,6 +1700,7 @@ export default {
},
// 删除图片
delete_pic
(
attachment_id
,
code
)
{
if
(
this
.
$route
.
params
.
readOnly
!==
'Y'
)
{
let
vm
=
this
let
delete_list
=
[]
let
obj
=
{
'attachment_id'
:
attachment_id
}
...
...
@@ -1678,6 +1719,7 @@ export default {
hlsPopup
.
showShortCenter
(
res
.
message
)
}
})
}
},
remove_dowload_list
(
attachment_id
,
code
)
{
console
.
log
(
'attachment_id'
,
attachment_id
)
...
...
src/pages/contractSigning/contract-new.vue
View file @
b4905f9d
...
...
@@ -971,10 +971,10 @@ export default {
vm
.
hlsPopup
.
hideLoading
()
if
(
res
.
result
===
'S'
)
{
vm
.
approverBpList
=
res
.
lists
.
map
(
item
=>
{
if
(
item
.
bp_name
===
'李燕'
)
{
vm
.
$set
(
vm
.
baseInfo
,
'zm_approver_bp'
,
item
.
bp_id
)
vm
.
$set
(
vm
.
baseInfo
,
'zm_approver_bp_n'
,
item
.
bp_name
)
}
//
if (item.bp_name === '李燕') {
//
vm.$set(vm.baseInfo, 'zm_approver_bp', item.bp_id)
//
vm.$set(vm.baseInfo, 'zm_approver_bp_n', item.bp_name)
//
}
return
{
code
:
item
.
bp_id
,
code_name
:
item
.
bp_name
,
...
...
src/pages/contractSigning/contract-signing.vue
View file @
b4905f9d
...
...
@@ -10,11 +10,11 @@
</h-header>
<div
class=
"tab-style has-header"
>
<div
:class=
"
{ 'done': num === 1, 'undone': num !== 1 }" @click="num = 1; isRadio = false">
<img
:src=
"num === 1 ? check1 : uncheck1"
/
>
<img
:src=
"num === 1 ? check1 : uncheck1"
>
<span>
未审核方案
</span>
</div>
<div
:class=
"
{ 'done': num === 2, 'undone': num !== 2 }" @click="num = 2; isRadio = false">
<img
:src=
"num === 2 ? check2 : uncheck2"
/
>
<img
:src=
"num === 2 ? check2 : uncheck2"
>
<span>
已审核方案
</span>
</div>
</div>
...
...
@@ -443,6 +443,8 @@ export default {
},
goDetails
(
item
)
{
console
.
log
(
'点击对象:'
,
item
)
console
.
log
(
'是否该只读:'
,
this
.
num
)
this
.
$router
.
push
({
name
:
'ContractDetail'
,
params
:
{
...
...
@@ -450,6 +452,7 @@ export default {
user_bp_type
:
this
.
user_bp_type
,
num
:
this
.
num
,
check_id
:
item
.
check_id
,
readOnly
:
this
.
num
===
1
?
'N'
:
'Y'
,
},
})
},
...
...
src/pages/myInfo/my-info.vue
View file @
b4905f9d
...
...
@@ -825,7 +825,6 @@ export default {
obj.picture = hlsUtil.convertImageUrl(imgUrl[0])
obj.filePath = imgUrl[0]
vm.upLoadObj = obj.picture
console.log('$$$$$$$$$$$$$$$1' + imgUrl[0])
// 拍完一张立马执行保存图片逻辑
vm.save_picture(obj)
}
...
...
src/pages/myInfo/myBindUser.vue
View file @
b4905f9d
<
template
>
<
template
>
<h-view
id=
"my-bind-user"
class=
"public-style"
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=
"$router.go(-1)"
>
</div>
<div
slot=
"center"
class=
"top-word"
>
我绑定的用户
</div>
</h-header>
...
...
@@ -10,9 +10,9 @@
<scroll
ref=
"scrollLists"
:updateData=
"[prolists]"
:pullUp=
"false"
>
<div
class=
"scroll-box"
>
<div
class=
"box"
v-for=
"item of list"
:key=
"item.bp_id"
class=
"box"
@
click
.
stop=
"changePageHead(item)"
>
<div
class=
"name"
>
...
...
@@ -20,8 +20,8 @@
v-if=
"item.bp_class === 'NP'"
src=
"../../assets/login/person.png"
alt=
"自然人"
/
>
<img
v-else
src=
"../../assets/login/bank.png"
alt=
"bank"
/
>
>
<img
v-else
src=
"../../assets/login/bank.png"
alt=
"bank"
>
<span
class=
"bp_name"
>
{{
item
.
bp_name
}}
</span>
</div>
<div
class=
"flag"
>
...
...
@@ -37,7 +37,7 @@
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>
...
...
@@ -46,7 +46,7 @@
</scroll>
<button
class=
"submit"
@
click=
"$router.push('/user-bind')"
>
<img
src=
"../../assets/login/addUser.png"
alt=
"自然人"
/
>
添加新用户
<img
src=
"../../assets/login/addUser.png"
alt=
"自然人"
>
添加新用户
</button>
<!-- 选项 -->
...
...
@@ -64,11 +64,11 @@
import
roleSwitch
from
'./role-switch-component'
export
default
{
name
:
'm
yBindUser'
,
name
:
'M
yBindUser'
,
components
:
{
roleSwitch
roleSwitch
,
},
data
()
{
data
()
{
return
{
prolists
:
[],
list
:
JSON
.
parse
(
window
.
localStorage
.
getItem
(
'bind-user-list'
)),
...
...
@@ -90,22 +90,21 @@ export default {
NowItem
:
{},
// 当前操作对象
}
},
mounted
()
{
mounted
()
{
this
.
getList
()
},
methods
:
{
// 未认证进行人脸 认证
async
face
(
item
)
{
async
face
(
item
)
{
return
let
vm
=
this
;
let
register
=
[
'NP_NO'
,
'ORG_NO'
,
'ORG_L_NO'
,
'ORG_AUTH_NO'
];
let
vm
=
this
let
register
=
[
'NP_NO'
,
'ORG_NO'
,
'ORG_L_NO'
,
'ORG_AUTH_NO'
]
if
(
register
.
includes
(
item
.
bp_identity
))
{
// 人脸识别之前要确认是否已经在别的渠道已经绑定。
let
res
=
await
vm
.
getNpCertificationUrl
(
item
)
if
(
res
)
{
hlsPopup
.
showLongCenter
(
item
.
bp_identity
===
'ORG_NO'
?
'请联系业务人员协助认证'
:
'认证已通过'
);
return
vm
.
getList
();
hlsPopup
.
showLongCenter
(
item
.
bp_identity
===
'ORG_NO'
?
'请联系业务人员协助认证'
:
'认证已通过'
)
return
vm
.
getList
()
}
// 正式进行人脸识别
...
...
@@ -126,8 +125,8 @@ export default {
let
success
=
JSON
.
parse
(
suc
)
if
(
success
.
code
===
1
)
{
let
res
=
await
vm
.
getNpCertificationUrl
(
item
)
hlsPopup
.
showLongCenter
(
res
?
'绑定成功!'
:
'绑定失败!'
);
if
(
res
)
vm
.
getList
();
hlsPopup
.
showLongCenter
(
res
?
'绑定成功!'
:
'绑定失败!'
)
if
(
res
)
vm
.
getList
()
}
},
function
(
reason
)
{
...
...
@@ -140,17 +139,17 @@ export default {
}
})
}
else
{
hlsPopup
.
showLongCenter
(
'认证已通过'
);
hlsPopup
.
showLongCenter
(
'认证已通过'
)
}
},
// 获取个人认证url
async
getNpCertificationUrl
(
item
)
{
async
getNpCertificationUrl
(
item
)
{
let
vm
=
this
let
url
=
$config
.
basePath
+
'auth_user_sign'
let
param
=
{
phone
:
window
.
localStorage
.
user_phone
,
bp_id
:
item
.
bp_id
bp_id
:
item
.
bp_id
,
}
hlsPopup
.
showLoading
(
'请稍候'
)
let
res
=
await
vm
.
$post
(
url
,
param
)
...
...
@@ -168,48 +167,48 @@ export default {
},
// 针对 不同的 状态 去操作
doStatus
(
item
)
{
if
(
item
.
bp_type
===
"MANAGER"
)
{
doStatus
(
item
)
{
if
(
item
.
bp_type
===
'MANAGER'
)
{
// 提示不能操作
return
;
return
}
this
.
NowItem
=
item
;
this
.
NowItem
=
item
switch
(
item
.
bp_status
)
{
// 待提交 拒绝或者被退回
case
"NEW"
:
case
"RETURN"
:
case
"REJECT"
:
this
.
popSetectBox
=
true
;
break
;
case
'NEW'
:
case
'RETURN'
:
case
'REJECT'
:
this
.
popSetectBox
=
true
break
// 通过-->解绑
case
"APPROVED"
:
this
.
unBind
(
item
);
break
;
case
'APPROVED'
:
this
.
unBind
(
item
)
break
// 审批中
default
:
this
.
changePageHead
(
item
);
this
.
changePageHead
(
item
)
}
},
// 选项卡 策略
typeConfirm
(
e
)
{
this
.
popSetectBox
=
false
;
typeConfirm
(
e
)
{
this
.
popSetectBox
=
false
// 是修改信息,还是 重新选择用户类型
if
(
e
.
bp_type
===
'0'
)
{
this
.
changePageHead
(
this
.
NowItem
);
this
.
changePageHead
(
this
.
NowItem
)
}
else
if
(
e
.
bp_type
===
'1'
)
{
this
.
unBind
(
this
.
NowItem
);
this
.
unBind
(
this
.
NowItem
)
}
},
// 解绑,需要等待后端调整后使用
unBind
(
item
)
{
if
(
!
Object
.
keys
(
item
).
length
)
return
;
unBind
(
item
)
{
if
(
!
Object
.
keys
(
item
).
length
)
return
let
vm
=
this
hlsPopup
.
showConfirm
({
...
...
@@ -217,22 +216,22 @@ export default {
content
:
'确定解除绑定?'
,
onConfirm
:
function
(
index
)
{
if
(
index
===
1
)
{
let
url
=
process
.
env
.
basePath
+
'bp_unbind'
;
let
url
=
process
.
env
.
basePath
+
'bp_unbind'
let
param
=
{
master
:
{
phone
:
window
.
localStorage
.
getItem
(
'user_phone'
),
password
:
window
.
localStorage
.
getItem
(
'password'
),
bp_id
:
item
.
bp_id
bp_id
:
item
.
bp_id
,
},
}
vm
.
hlsPopup
.
showLoading
(
'请稍候'
);
vm
.
hlsPopup
.
showLoading
(
'请稍候'
)
vm
.
hlsHttp
.
post
(
url
,
param
).
then
(
res
=>
{
vm
.
hlsPopup
.
hideLoading
();
vm
.
hlsPopup
.
hideLoading
()
if
(
res
.
result
===
'S'
)
{
vm
.
hlsPopup
.
showLongCenter
(
'解绑成功'
);
vm
.
hlsPopup
.
showLongCenter
(
'解绑成功'
)
// 重新查询一次 用户列表
vm
.
getList
(
item
.
bp_id
===
JSON
.
parse
(
window
.
localStorage
.
getItem
(
'now_user_bp_bind_id'
)).
bp_id
);
vm
.
getList
(
item
.
bp_id
===
JSON
.
parse
(
window
.
localStorage
.
getItem
(
'now_user_bp_bind_id'
)).
bp_id
)
}
else
{
vm
.
hlsPopup
.
showLongCenter
(
res
.
message
)
}
...
...
@@ -243,68 +242,68 @@ export default {
},
// 获取用户列表,并缓存
async
getList
(
isNowBind
)
{
let
url
=
process
.
env
.
basePath
+
'user_bp_query'
;
let
params
=
{
app_user_id
:
window
.
localStorage
.
getItem
(
'app_user_id'
)
};
async
getList
(
isNowBind
)
{
let
url
=
process
.
env
.
basePath
+
'user_bp_query'
let
params
=
{
app_user_id
:
window
.
localStorage
.
getItem
(
'app_user_id'
)
}
try
{
hlsPopup
.
showLoading
(
'请稍等'
);
let
query
=
await
this
.
hlsHttp
.
post
(
url
,
params
);
hlsPopup
.
showLoading
(
'请稍等'
)
let
query
=
await
this
.
hlsHttp
.
post
(
url
,
params
)
if
(
query
.
result
==
'S'
)
{
this
.
hlsPopup
.
hideLoading
();
this
.
hlsPopup
.
hideLoading
()
// 自己添加认证文字
let
register
=
{
NP_NO
:
"个人"
,
NP_YES
:
"个人"
,
ORG_YES
:
"企业"
,
ORG_NO
:
"企业"
,
ORG_L_NO
:
"法人"
,
ORG_L_YES
:
"法人"
,
ORG_AUTH_NO
:
"授权人"
,
ORG_AUTH_YES
:
"授权人"
NP_NO
:
'个人'
,
NP_YES
:
'个人'
,
ORG_YES
:
'企业'
,
ORG_NO
:
'企业'
,
ORG_L_NO
:
'法人'
,
ORG_L_YES
:
'法人'
,
ORG_AUTH_NO
:
'授权人'
,
ORG_AUTH_YES
:
'授权人'
,
}
query
.
lists
=
query
.
lists
.
map
(
item
=>
{
item
.
bp_identity_name
=
register
[
item
.
bp_identity
];
return
item
;
item
.
bp_identity_name
=
register
[
item
.
bp_identity
]
return
item
})
window
.
localStorage
.
setItem
(
'bind-user-list'
,
JSON
.
stringify
(
query
.
lists
));
if
(
isNowBind
)
window
.
localStorage
.
setItem
(
'now_user_bp_bind_id'
,
JSON
.
stringify
(
query
.
lists
.
length
?
query
.
lists
[
0
]
:
{}));
window
.
localStorage
.
setItem
(
'bind-user-list'
,
JSON
.
stringify
(
query
.
lists
))
if
(
isNowBind
)
window
.
localStorage
.
setItem
(
'now_user_bp_bind_id'
,
JSON
.
stringify
(
query
.
lists
.
length
?
query
.
lists
[
0
]
:
{}))
this
.
list
=
query
.
lists
;
this
.
list
=
query
.
lists
}
else
{
this
.
hlsPopup
.
hideLoading
();
this
.
hlsPopup
.
showLongCenter
(
res
.
message
);
this
.
hlsPopup
.
hideLoading
()
this
.
hlsPopup
.
showLongCenter
(
res
.
message
)
}
}
catch
(
error
)
{
this
.
hlsPopup
.
hideLoading
();
this
.
hlsPopup
.
hideLoading
()
}
},
// 修改信息逻辑
changePageHead
(
item
)
{
if
(
!
Object
.
keys
(
item
).
length
)
return
;
changePageHead
(
item
)
{
if
(
!
Object
.
keys
(
item
).
length
)
return
if
(
item
.
bp_status
===
'APPROVING'
)
{
this
.
hlsPopup
.
showLongCenter
(
'您的绑定申请还在流程中'
);
return
;
this
.
hlsPopup
.
showLongCenter
(
'您的绑定申请还在流程中'
)
return
};
let
params
=
{
user_bp_name
:
item
.
bp_name
,
status
:
item
.
bp_status
,
isAGENT
:
item
.
bp_type
===
'AGENT'
,
//
是否为经销商
isMultiRole
:
[
"GUTA"
,
"TENANT"
,
"AGENT"
].
includes
(
item
.
bp_type
),
// 是否为 担保人/承租人 能否为多角色
isAGENT
:
item
.
bp_type
===
'AGENT'
,
//
是否为经销商
isMultiRole
:
[
'GUTA'
,
'TENANT'
,
'AGENT'
].
includes
(
item
.
bp_type
),
// 是否为 担保人/承租人 能否为多角色
...
item
||
{},
};
}
let
name
=
item
.
bp_class
===
"NP"
?
"NPBaseInfo"
:
"EnterpriseNew"
;
let
name
=
item
.
bp_class
===
'NP'
?
'NPBaseInfo'
:
'EnterpriseNew'
this
.
$router
.
push
({
name
});
window
.
localStorage
.
setItem
(
'handleUser'
,
JSON
.
stringify
(
params
));
this
.
$router
.
push
({
name
})
window
.
localStorage
.
setItem
(
'handleUser'
,
JSON
.
stringify
(
params
))
},
},
}
...
...
src/scripts/hlsUtil.js
View file @
b4905f9d
...
...
@@ -310,9 +310,9 @@ export default {
//转换iOS下的webview url
convertImageUrl
:
function
(
url
)
{
if
(
vum
.
Platform
.
isAndroid
())
{
if
(
vum
.
Platform
.
isAndroid
())
{
return
url
}
else
if
(
vum
.
Platform
.
isIOS
())
{
}
else
if
(
vum
.
Platform
.
isIOS
())
{
return
window
.
Ionic
.
WebView
.
convertFileSrc
(
url
)
}
},
...
...
@@ -320,16 +320,16 @@ export default {
/**
* 录制视频
*/
captureVideo
:
function
(
onSuccess
,
onError
)
{
captureVideo
:
function
(
onSuccess
,
onError
)
{
var
option
=
{
//本设置录制的视频尺寸为10s 4-5mb,清晰度较好
duration
:
10
*
1000
,
//10s
duration
:
10
*
1000
,
//10s
cameraDirection
:
window
.
MediaCapture
.
CAMERA_FRONT
}
if
(
typeof
onSuccess
===
'function'
&&
typeof
onError
===
'function'
)
{
navigator
.
device
.
capture
.
captureVideo
(
onSuccess
,
onError
,
option
);
}
else
{
}
else
{
window
.
hlsPopup
.
showLongBottom
(
'参数有误!'
)
}
},
...
...
@@ -380,11 +380,11 @@ export default {
}
}
function
uploadSuccess
(
result
)
{
function
uploadSuccess
(
result
)
{
success
(
JSON
.
parse
(
result
.
response
))
}
function
fileError
()
{
function
fileError
()
{
window
.
hlsPopup
.
hideLoading
()
console
.
log
(
'upload error source '
+
error
.
source
)
console
.
log
(
'upload error target '
+
error
.
target
)
...
...
@@ -398,9 +398,9 @@ export default {
* @param success
*/
fileUploadSvc
:
function
(
file
,
success
)
{
console
.
log
(
'file'
,
file
)
if
(
file
.
pkvalue
&&
file
.
source_type
)
{
console
.
log
(
'file1'
,
file
)
console
.
log
(
'file'
,
file
)
if
(
file
.
pkvalue
&&
file
.
source_type
)
{
console
.
log
(
'file1'
,
file
)
let
path
=
file
.
filePath
var
name
=
path
.
substr
(
path
.
lastIndexOf
(
'/'
)
+
1
)
let
url
=
encodeURI
(
process
.
env
.
fileUploadSvcPath
+
'attachment_upload'
)
...
...
@@ -417,19 +417,19 @@ export default {
'access_token'
:
window
.
localStorage
.
access_token
,
'filePath'
:
path
,
}
if
(
file
.
fileName
)
{
if
(
file
.
fileName
)
{
options
.
fileName
=
encodeURI
(
file
.
fileName
)
+
name
.
substr
(
name
.
lastIndexOf
(
'.'
))
}
else
{
else
{
options
.
fileName
=
name
}
options
.
mimeType
=
'multipart/form-date'
let
ft
=
new
FileTransfer
()
// eslint-disable-line
function
uploadSuccess
(
result
)
{
function
uploadSuccess
(
result
)
{
success
(
JSON
.
parse
(
result
.
response
))
}
function
fileError
()
{
function
fileError
()
{
window
.
hlsPopup
.
hideLoading
()
console
.
log
(
'upload error source '
+
error
.
source
)
console
.
log
(
'upload error target '
+
error
.
target
)
...
...
@@ -437,8 +437,8 @@ export default {
ft
.
upload
(
path
,
url
,
uploadSuccess
,
fileError
,
options
)
}
else
{
console
.
log
(
'file2'
,
file
)
else
{
console
.
log
(
'file2'
,
file
)
hlsPopup
.
showLongCenter
(
'上传失败!'
)
}
},
...
...
@@ -464,12 +464,12 @@ export default {
options
.
mimeType
=
'multipart/form-date'
let
ft
=
new
FileTransfer
()
// eslint-disable-line
function
uploadSuccess
(
message
)
{
function
uploadSuccess
(
message
)
{
let
res
=
JSON
.
parse
(
message
.
response
)
success
(
res
)
}
function
error
(
e
)
{
function
error
(
e
)
{
this
.
hlsPopup
.
showLongCenter
(
'汉王识别失败'
)
}
...
...
@@ -496,12 +496,12 @@ export default {
options
.
fileName
=
name
options
.
mimeType
=
'multipart/form-date'
let
ft
=
new
FileTransfer
()
// eslint-disable-line
function
uploadSuccess
(
message
)
{
function
uploadSuccess
(
message
)
{
let
res
=
JSON
.
parse
(
message
.
response
)
console
.
log
(
JSON
.
stringify
(
res
,
''
,
2
))
success
(
res
)
}
function
error
(
e
)
{
function
error
(
e
)
{
this
.
hlsPopup
.
showLongCenter
(
'识别失败'
)
}
ft
.
upload
(
path
,
url
,
uploadSuccess
,
error
,
options
)
...
...
@@ -529,12 +529,12 @@ export default {
}
let
ft
=
new
FileTransfer
()
// eslint-disable-line
function
uploadSuccess
(
message
)
{
function
uploadSuccess
(
message
)
{
let
res
=
JSON
.
parse
(
message
.
response
)
success
(
res
)
}
function
error
(
e
)
{
function
error
(
e
)
{
this
.
hlsPopup
.
showLongCenter
(
'识别失败'
)
}
...
...
@@ -562,12 +562,12 @@ export default {
}
let
ft
=
new
FileTransfer
()
// eslint-disable-line
function
uploadSuccess
(
message
)
{
function
uploadSuccess
(
message
)
{
let
res
=
JSON
.
parse
(
message
.
response
)
success
(
res
)
}
function
error
(
e
)
{
function
error
(
e
)
{
console
.
log
(
'识别失败'
)
hlsPopup
.
showLongCenter
(
'识别失败'
)
}
...
...
@@ -800,7 +800,7 @@ export default {
})
if
(
!
positive
||
!
negative
)
throw
new
Error
(
'IRR requires at least one positive value and one negative value'
)
function
npv
(
rate
)
{
function
npv
(
rate
)
{
numberOfTries
++
if
(
numberOfTries
>
1000
)
{
throw
new
Error
(
'IRR can
\'
t find a result'
)
...
...
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