Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
Support
提交反馈
为 GitLab 提交贡献
登录/注册
切换导航
M
mcep-h5
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
jiangzaicheng
mcep-h5
提交
fb7656fd
提交
fb7656fd
编写于
7月 26, 2022
作者:
jiangzaicheng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
“
个人信息
上级
7941916e
变更
29
隐藏空白字符变更
内嵌
并排
正在显示
29 个修改的文件
包含
873 行增加
和
2588 行删除
+873
-2588
tw.png
src/assets/images/tw.png
+0
-0
Person.vue
src/components/common/Person.vue
+7
-3
PicketAcced.vue
src/components/common/PicketAcced.vue
+49
-43
ProductCard.vue
src/components/common/ProductCard.vue
+15
-11
Calculate.vue
...ch/company-common-functions/auxiliary-tools/Calculate.vue
+0
-198
FinancialTrial.vue
...mpany-common-functions/auxiliary-tools/FinancialTrial.vue
+0
-77
InterestPricing.vue
...pany-common-functions/auxiliary-tools/InterestPricing.vue
+0
-109
LoanCalculation.vue
...pany-common-functions/auxiliary-tools/LoanCalculation.vue
+0
-345
RepaymentTrial.vue
...mpany-common-functions/auxiliary-tools/RepaymentTrial.vue
+0
-375
ManufacturingTrial.vue
...ns/auxiliary-tools/financial-trial/ManufacturingTrial.vue
+0
-261
UnManufacturingTrial.vue
.../auxiliary-tools/financial-trial/UnManufacturingTrial.vue
+0
-261
ContractSigningAndBilling.vue
...-functions/business-inquiry/ContractSigningAndBilling.vue
+0
-18
LoanApplication.vue
...any-common-functions/business-inquiry/LoanApplication.vue
+0
-18
MarketingTask.vue
...mpany-common-functions/business-inquiry/MarketingTask.vue
+0
-248
PeriodicInspection.vue
...-common-functions/business-inquiry/PeriodicInspection.vue
+0
-18
ProcessQuery.vue
...ompany-common-functions/business-inquiry/ProcessQuery.vue
+0
-437
RiskWarning.vue
...company-common-functions/business-inquiry/RiskWarning.vue
+0
-18
AllOutlets.vue
...ch/company-common-functions/online-enquiry/AllOutlets.vue
+0
-18
Area.vue
...orkbench/company-common-functions/online-enquiry/Area.vue
+0
-18
Nearby.vue
...kbench/company-common-functions/online-enquiry/Nearby.vue
+0
-94
main.ts
src/main.ts
+5
-1
workbench.routing.ts
src/router/workbench.routing.ts
+22
-1
LevelSent.vue
src/views/MyView/LevelSent.vue
+3
-3
ForgetPassView.vue
src/views/login/ForgetPassView.vue
+3
-3
Register.vue
src/views/login/Register.vue
+3
-3
AccommodDetails.vue
src/views/workbench/AccommodDetails.vue
+205
-0
Accommodation.vue
src/views/workbench/Accommodation.vue
+18
-7
Growth.vue
src/views/workbench/Growth.vue
+285
-0
Repayment.vue
src/views/workbench/Repayment.vue
+258
-0
未找到文件。
src/assets/images/tw.png
0 → 100644
浏览文件 @
fb7656fd
2.3 KB
src/components/common/Person.vue
浏览文件 @
fb7656fd
...
...
@@ -2,7 +2,7 @@
* @Author: jiangzaicheng jiangzaicheng_jzc@163.com
* @Date: 2022-07-04 16:24:00
* @LastEditors: jiangzaicheng jiangzaicheng_jzc@163.com
* @LastEditTime: 2022-07-
14 13:54:18
* @LastEditTime: 2022-07-
25 18:31:14
* @FilePath: \mcep-h5\src\components\common\Tatle.vue
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
...
...
@@ -64,7 +64,7 @@
{{
param
.
live
}}
</div>
<div
class=
" ml-auto "
@
click=
"pushStarts()"
><img
class=
"imgstar"
src=
"../../assets/images/stars.png"
alt=
""
></div>
</div>
<div
class=
"
"
<div
@
click=
"layoutDiss()
"
style=
"background-color: #ffffff; border-radius: 4px; color: #FE6B1B; width: 90px; font-size: 12px;text-align: center;margin-top: 4px;"
>
成长值
{{
param
.
grow
}}
<van-icon
name=
"arrow"
class=
"arrow"
/>
...
...
@@ -98,7 +98,11 @@ export default class Person extends Vue {
name
:
"
level
"
})
}
layoutDiss
(){
this
.
$router
.
push
({
name
:
"
Growth
"
})
}
}
</
script
>
<
style
scoped
lang=
"scss"
>
...
...
src/components/common/PicketAcced.vue
浏览文件 @
fb7656fd
...
...
@@ -2,58 +2,59 @@
* @Author: jiangzaicheng jiangzaicheng_jzc@163.com
* @Date: 2022-07-04 16:24:00
* @LastEditors: jiangzaicheng jiangzaicheng_jzc@163.com
* @LastEditTime: 2022-07-2
2 19:24:22
* @LastEditTime: 2022-07-2
5 14:28:53
* @FilePath: \mcep-h5\src\components\common\Tatle.vue
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
<
template
>
<!--
<div>
-->
<div
class=
"d-tatle"
>
<div
class=
"card"
v-for=
"(item, index) in productParam"
:key=
"index"
@
click=
"onClickPicket()"
>
<div
class=
"card"
v-for=
"(item, index) in productParam"
:key=
"index"
>
<div
@
click=
"onClickDetails()"
>
<van-row>
<van-col
span=
"16"
>
<van-col
span=
"24"
class=
"priductName"
>
{{
item
.
productname
}}
</van-col>
<van-col
style=
" width: 100%; margin-left: 8%; line-height: 2;"
>
<van-row
gutter=
"20"
>
<van-col
span=
"12"
class=
"lable"
><span>
申请金额:万元
</span></van-col>
<van-col
span=
"12"
class=
"money"
style=
"color:rgb(255, 204, 0);"
>
{{
item
.
money
}}
</van-col>
</van-row>
<van-row
gutter=
"20"
>
<van-col
span=
"12"
class=
"lable"
><span>
担保方式
</span></van-col>
<van-col
span=
"12"
class=
"guarantee"
>
{{
item
.
guarantee
}}
</van-col>
</van-row>
<van-row
gutter=
"20"
>
<van-col
span=
"12"
class=
"lable"
><span>
申请日期(月)
</span></van-col>
<van-col
span=
"12"
class=
"month"
>
{{
item
.
month
}}
</van-col>
</van-row>
<van-row>
<van-col
span=
"12"
class=
"lable"
><span>
申请时间
</span></van-col>
<van-col
span=
"12"
class=
"time"
>
{{
item
.
time
}}
</van-col>
</van-row>
<van-row>
<van-col
span=
"16"
>
<van-col
span=
"24"
class=
"priductName"
>
{{
item
.
productname
}}
</van-col>
<van-col
style=
" width: 100%; margin-left: 8%; line-height: 2;"
>
<van-row
gutter=
"20"
>
<van-col
span=
"12"
class=
"lable"
><span>
申请金额:万元
</span></van-col>
<van-col
span=
"12"
class=
"money"
style=
"color:rgb(255, 204, 0);"
>
{{
item
.
money
}}
</van-col>
</van-row>
<van-row
gutter=
"20"
>
<van-col
span=
"12"
class=
"lable"
><span>
担保方式
</span></van-col>
<van-col
span=
"12"
class=
"guarantee"
>
{{
item
.
guarantee
}}
</van-col>
</van-row>
<van-row
gutter=
"20"
>
<van-col
span=
"12"
class=
"lable"
><span>
申请日期(月)
</span></van-col>
<van-col
span=
"12"
class=
"month"
>
{{
item
.
month
}}
</van-col>
</van-row>
<van-row>
<van-col
span=
"12"
class=
"lable"
><span>
申请时间
</span></van-col>
<van-col
span=
"12"
class=
"time"
>
{{
item
.
time
}}
</van-col>
</van-row>
</van-col>
</van-col>
</van-col>
<van-col
span=
"8"
>
<svg
class=
"icon"
aria-hidden=
"true"
v-if=
"item.status ===1"
>
<use
xlink:href=
"#icon-a-yifafang60x60px"
></use>
</svg>
<svg
class=
"icon"
aria-hidden=
"true"
v-if=
"item.status ===2"
>
<use
xlink:href=
"#icon-a-yifafang60x60px"
></use>
</svg>
<svg
class=
"icon"
aria-hidden=
"true"
v-if=
"item.status ===3"
>
<use
xlink:href=
"#icon-a-yijieqing60x60px"
></use>
</svg>
</van-col>
</van-row>
<van-row
v-if=
"item.status === 2"
type=
"flex"
class=
"bottom"
>
<van-col
span=
"8"
>
<svg
class=
"icon"
aria-hidden=
"true"
v-if=
"item.status === 1"
>
<use
xlink:href=
"#icon-a-yifafang60x60px"
></use>
</svg>
<svg
class=
"icon"
aria-hidden=
"true"
v-if=
"item.status === 2"
>
<use
xlink:href=
"#icon-a-yifafang60x60px"
></use>
</svg>
<svg
class=
"icon"
aria-hidden=
"true"
v-if=
"item.status === 3"
>
<use
xlink:href=
"#icon-a-yijieqing60x60px"
></use>
</svg>
</van-col>
</van-row>
</div>
<van-row
v-if=
"item.status === 2"
type=
"flex"
class=
"bottom"
@
click=
"onClickPicket()"
>
<van-col
span=
"24"
class=
"lablel"
><span>
还款计划
</span>
<svg
class=
"iconl"
aria-hidden=
"true"
>
<use
xlink:href=
"#icon-a-xiayiye24x24px"
></use>
</svg>
</van-col>
</van-row>
</van-row>
</div>
</div>
</
template
>
...
...
@@ -69,16 +70,21 @@ import { Component, Vue, Prop, Watch, Emit } from "vue-property-decorator";
export
default
class
PicketAcced
extends
Vue
{
@
Prop
({
default
:
""
})
productParam
:
any
|
[]
//列表信息
//调用父组件的值
@
Emit
(
"
onClickPicket
"
)
onClickPicket
()
{
}
onClickPicket
()
{
this
.
$emit
(
"
onClickPicket
"
)
}
//调用父组件的值
onClickDetails
()
{
this
.
$emit
(
"
onClickDetails
"
)
}
}
</
script
>
<
style
scoped
lang=
"scss"
>
.icon
{
width
:
80px
;
height
:
80px
;
margin-top
:
10%
;
width
:
80px
;
height
:
80px
;
margin-top
:
10%
;
}
.card
{
...
...
src/components/common/ProductCard.vue
浏览文件 @
fb7656fd
...
...
@@ -2,7 +2,7 @@
* @Author: jiangzaicheng jiangzaicheng_jzc@163.com
* @Date: 2022-07-07 16:13:13
* @LastEditors: jiangzaicheng jiangzaicheng_jzc@163.com
* @LastEditTime: 2022-07-
13 17:58:57
* @LastEditTime: 2022-07-
25 18:18:42
* @FilePath: \mcep-h5\src\components\common\Bottom.vue
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
...
...
@@ -11,7 +11,7 @@
<!--
<div>
-->
<div
class=
"roolsolt"
>
<div
class=
"rool"
>
<van-row
type=
"flex"
>
<van-row
type=
"flex"
>
<van-col
span=
"24"
class=
"title"
>
最高贷款额度
</van-col>
</van-row>
<van-row
type=
"flex"
justify=
"center"
class=
"integral"
>
...
...
@@ -35,10 +35,10 @@
margin: 20% auto;
box-shadow: 0 y-shadow 10px 10px rgba(0, 0, 0, .2);
"
>
<van-collapse-item
title=
"标题1"
name=
"1"
>
内容
</van-collapse-item>
<van-collapse-item
title=
"标题2"
name=
"2"
>
内容
</van-collapse-item>
<van-collapse-item
title=
"标题3"
name=
"3"
>
内容
</van-collapse-item>
</van-collapse>
<van-collapse-item
title=
"标题1"
name=
"1"
>
内容
</van-collapse-item>
<van-collapse-item
title=
"标题2"
name=
"2"
>
内容
</van-collapse-item>
<van-collapse-item
title=
"标题3"
name=
"3"
>
内容
</van-collapse-item>
</van-collapse>
</div>
</div>
</
template
>
...
...
@@ -55,7 +55,7 @@ export default class ProductCard extends Vue {
@
Prop
({
default
:
""
})
money
:
string
|
undefined
;
//额度
@
Prop
({
default
:
""
})
moneyName
:
string
|
undefined
;
//额度大写
//立即登录
activeNames
=
[
"
1
"
];
activeNames
=
[
"
1
"
];
lodiing
()
{
this
.
$router
.
push
({
path
:
"
/Recognition
"
,
...
...
@@ -64,9 +64,8 @@ activeNames=["1"];
}
</
script
>
<
style
scoped
lang=
"scss"
>
.div
{
}
.div
{}
.roolsolt
{
width
:
90%
;
margin
:
0px
auto
;
...
...
@@ -75,6 +74,7 @@ activeNames=["1"];
.title
{
margin-top
:
10%
;
margin-bottom
:
2%
;
font-size
:
14px
;
text-align
:
center
;
font-family
:
'Arial Normal'
,
'Arial'
,
sans-serif
;
...
...
@@ -92,11 +92,15 @@ activeNames=["1"];
//margin-top: 10%;
/* margin-left: 20%; */
text-align
:
center
;
width
:
90%
;
height
:
66px
;
margin
:
0px
auto
;
font-size
:
36px
;
color
:
#FFA121
;
background-image
:
url('../../assets/images/tw.png')
;
}
.integrall
{
//margin-top: 10%;
/* margin-left: 20%; */
...
...
src/components/workbench/company-common-functions/auxiliary-tools/Calculate.vue
已删除
100644 → 0
浏览文件 @
7941916e
<
template
>
<div
class=
"content"
>
<div
style=
"width: 100%"
>
<van-form
label-width=
"25%"
@
submit=
"onSubmit"
>
<!--
<mobile-input
v-model=
"type_of_certificate"
placeholder=
"营业执照"
readonly
label=
"证件类型"
/>
-->
<d-select
placeholder=
"请选择"
label=
"证件类型"
:value=
"IdentTp"
border=
"true"
:required=
"true"
v-model=
"IdentTp"
sfield=
"IdentTp"
size=
"small"
:rules=
"[
{ required: true, message: '证件类型不能为空' }]"
>
</d-select>
<mobile-input
:formatter=
"formatter"
format-trigger=
"reset"
v-model=
"IdentNo"
:required=
"true"
:rules=
"[
{ validator, message: msg == '' ? '类型不能为空' : msg }]"
label="证件号码"
/>
<mobile-input
v-show=
"companyName != ''"
class=
"contact_tel"
placeholder=
"请输入联系电话"
label=
"公司名称"
readonly
v-model=
"companyName"
/>
<div
style=
"margin: 16px; display: flex; justify-content: space-around"
>
<van-button
@
click=
"reset"
style=
"width: 40%"
round
color=
"#999999"
native-type=
"info"
plain
>
重置
</van-button
>
<van-button
style=
"width: 40%"
round
type=
"info"
native-type=
"submit"
>
计算
</van-button
>
</div>
</van-form>
<div
class=
"content-style"
v-show=
"LOAN_BAL != '' && LOAN_BAL != null"
>
<table-single-view
:data=
"AUMInfo"
:keyValue=
"keyValueAum"
></table-single-view>
</div>
</div>
</div>
</
template
>
<
script
lang=
"ts"
>
import
{
Component
,
Vue
}
from
"
vue-property-decorator
"
;
import
nettyApi
from
"
@/constants/api/ms-netty/netty.api.ts
"
;
import
systemApi
from
"
@/constants/api/ms-system/system.api.ts
"
;
import
IF
from
"
@/public/factory/InterFaceFactory
"
;
import
{
NativeUI
}
from
"
@/public/ts/NativeUI
"
;
import
TableSingleView
from
"
@/public/TableSingleView.vue
"
;
// import emUtil from '@/public/js/em.util';
/**
* @Description 年日均计算
* @Author JiangTao
* @Date 2021-11-10 下午 03:36
*/
@
Component
({
name
:
"
Calculate
"
,
components
:
{
TableSingleView
},
})
export
default
class
Calculate
extends
Vue
{
IdentTp
=
""
;
IdentNo
=
""
;
msg
=
"
输入不能为空
"
;
cusInfo
:
any
=
{};
AUMInfo
:
any
=
{};
//查询AUM返回的信息
keyValueAum
=
{
LOAN_BAL
:
"
贷款总额
"
,
LOAN_YEAR_DAY_AVG
:
"
贷款年日均
"
,
};
LOAN_BAL
=
""
;
companyName
=
""
;
onSubmit
()
{
this
.
selectCustInfo
();
}
formatter
()
{}
reset
()
{
this
.
IdentNo
=
""
;
this
.
IdentTp
=
""
;
}
// 暂无拍照接口
// ocrScan(bse64Img:any) {
// if (!this.IdentTp) {
// NativeUI.toast('请先选择证件类型');
// } else {
// emUtil.captureImage().then(localData => {
// let _this = this;
// let fileImage = _this.base64ToFile(localData);
// NativeUI.showWaiting('正在识别...');
// IF.transferFile(systemApi.ocrCertificateIdentify, { file: fileImage }).then(res => {
// NativeUI.closeWaiting();
// console.log(res);
// if (res.ret_code == '000000') {
// NativeUI.toast(res.msg);
// _this.IdentNo = res.REGISTER_ID;
// // _this.CstNm = res.COMPANY_NAME;
// // _this.displayValue = res.COMPANY_TYPE;
// } else {
// NativeUI.toast(res.msg || 'OCR识别失败');
// }
// });
// });
// }
// }
//证件号校验规则
validator
(
val
:
any
)
{
if
(
this
.
IdentTp
==
"
1
"
)
{
this
.
msg
=
"
组织机构代码输入有误
"
;
return
/
[
A-Z0-9
]{8}
-
[
A-Z0-9
]
$|
[
A-Z0-9
]{8}
-
[
A-Z0-9
]
-
[
0-9
]{2}
$/
.
test
(
val
);
}
else
if
(
this
.
IdentTp
==
"
2
"
)
{
//社会统一信用代码
this
.
msg
=
"
社会统一信用代码输入有误
"
;
return
/
[
1-9A-GY
]{1}[
1239
]{1}[
1-5
]{1}[
0-9
]{5}[
0-9A-Z
]{10}
/
.
test
(
val
);
}
}
//查询年日均AUM
selectAUMInfo
()
{
const
param
=
{
CUST_NO
:
this
.
cusInfo
.
cus_id
,
//'1003813734'
CUST_NAME
:
this
.
cusInfo
.
cus_name
,
//'成***',
tc
:
nettyApi
.
TRADE_CODE
.
selectCompanyAumInfo
,
};
NativeUI
.
showWaiting
(
"
正在查询...
"
);
return
IF
.
transferDataInter
(
nettyApi
.
commonRq
,
param
).
then
((
res
:
any
)
=>
{
NativeUI
.
closeWaiting
();
if
(
res
.
rc
==
"
1
"
)
{
if
(
res
.
LOAN_BAL
!=
null
)
{
this
.
AUMInfo
=
res
;
this
.
LOAN_BAL
=
res
.
LOAN_BAL
;
}
else
{
NativeUI
.
toast
(
"
此用户无AUM数据
"
);
}
}
else
{
NativeUI
.
toast
(
res
.
msg
);
}
});
}
//查询客户列表
selectCustInfo
(
pageNo
=
1
)
{
const
param
=
{
cus_status
:
""
,
cert_code
:
this
.
IdentNo
,
cus_type
:
""
,
maxLine
:
"
1
"
,
targetPage
:
1
,
tc
:
nettyApi
.
TRADE_CODE
.
selectXDGSXX
,
};
NativeUI
.
showWaiting
(
"
正在查询...
"
);
return
IF
.
transferDataInter
(
nettyApi
.
commonRq
,
param
).
then
((
res
:
any
)
=>
{
NativeUI
.
closeWaiting
();
if
(
res
.
rc
==
"
1
"
)
{
if
(
res
.
CusComList
.
length
>
0
)
{
this
.
cusInfo
=
res
.
CusComList
[
0
];
this
.
companyName
=
res
.
CusComList
[
0
].
cus_name
;
this
.
selectAUMInfo
();
}
else
{
NativeUI
.
toast
(
"
信贷系统无此用户
"
);
}
}
else
{
NativeUI
.
toast
(
res
.
msg
);
}
});
}
}
</
script
>
<
style
scoped
lang=
"scss"
>
.content
{
width
:
50%
;
padding-top
:
5%
;
margin
:
0
auto
;
}
::v-deep
.van-button--info
{
background-color
:
#fd5065
;
border
:
1px
solid
#fd5065
;
}
::v-deep
.van-button__text
{
font-size
:
16px
;
}
.content-style
{
margin-left
:
100px
;
margin-top
:
100px
;
}
</
style
>
src/components/workbench/company-common-functions/auxiliary-tools/FinancialTrial.vue
已删除
100644 → 0
浏览文件 @
7941916e
<
template
>
<div
class=
"content"
>
<van-tabs
class=
"label"
type=
"card"
>
<van-tab
@
click=
"manufacturing_trial_click"
title=
"制造业试算"
>
<manufacturing-trial></manufacturing-trial>
</van-tab>
<van-tab
@
click=
"unmanufacturing_trial_click"
title=
"非制造业试算"
>
<un-manufacturing-trial></un-manufacturing-trial>
</van-tab>
</van-tabs>
</div>
</
template
>
<
script
lang=
"ts"
>
import
{
Component
,
Vue
}
from
"
vue-property-decorator
"
;
import
{
Tab
,
Tabs
}
from
"
vant
"
;
import
ManufacturingTrial
from
"
@/components/workbench/company-common-functions/auxiliary-tools/financial-trial/ManufacturingTrial.vue
"
;
import
UnManufacturingTrial
from
"
@/components/workbench/company-common-functions/auxiliary-tools/financial-trial/UnManufacturingTrial.vue
"
;
/**
* @Description 财务试算
* @Author JiangTao
* @Date 2021-11-10 下午 03:36
*/
Vue
.
use
(
Tab
);
Vue
.
use
(
Tabs
);
@
Component
({
name
:
"
FinancialTrial
"
,
components
:
{
ManufacturingTrial
,
UnManufacturingTrial
},
})
export
default
class
FinancialTrial
extends
Vue
{
manufacturing_trial
=
true
;
un_manufacturing_trial
=
false
;
manufacturing_trial_click
()
{
// console.log("aaaaaaaaaaa");
this
.
manufacturing_trial
=
true
;
this
.
un_manufacturing_trial
=
false
;
}
unmanufacturing_trial_click
()
{
// console.log("bbbbbbbbbbbbb");
this
.
manufacturing_trial
=
false
;
this
.
un_manufacturing_trial
=
true
;
}
}
</
script
>
<
style
scoped
>
.content
{
width
:
90%
;
margin
:
0
auto
;
margin-top
:
2%
;
}
.label
{
width
:
30%
;
margin
:
0
auto
;
margin-bottom
:
4%
;
}
::v-deep
.van-tabs
{
margin
:
0
;
width
:
98%
;
}
::v-deep
.van-tabs--card
>
.van-tabs__wrap
{
width
:
300px
;
margin
:
0
auto
;
}
::v-deep
.van-tab__text--ellipsis
{
font-size
:
16px
;
}
::v-deep
.van-tabs__wrap
,
::v-deep
.van-tabs__nav--card
{
height
:
40px
;
}
::v-deep
.van-tabs--card
>
.van-tabs__wrap
{
margin-bottom
:
4%
;
}
</
style
>
src/components/workbench/company-common-functions/auxiliary-tools/InterestPricing.vue
已删除
100644 → 0
浏览文件 @
7941916e
<
template
>
<div
class=
"content"
>
<div
v-if=
"getData[0]"
class=
"personal-mortgage"
>
<div></div>
<div
@
click=
"selectInfo(0)"
>
《
{{
getData
[
0
].
fileName
}}
》
</div>
</div>
<div
v-if=
"getData[1]"
class=
"personal-consumption"
>
<div></div>
<div
@
click=
"selectInfo(1)"
>
《
{{
getData
[
1
].
fileName
}}
》
</div>
</div>
</div>
</
template
>
<
script
lang=
"ts"
>
import
{
Component
,
Vue
}
from
"
vue-property-decorator
"
;
import
nettyApi
from
"
@/constants/api/ms-netty/netty.api.ts
"
;
import
systemApi
from
"
@/constants/api/ms-system/system.api.ts
"
;
import
IF
from
"
@/public/factory/InterFaceFactory
"
;
import
{
NativeUI
}
from
"
@/public/ts/NativeUI
"
;
/**
* @Description 利率定价
* @Author JiangTao
* @Date 2021-10-25 下午 08:55
*/
@
Component
({
name
:
"
InterestPricing
"
,
})
export
default
class
InterestPricing
extends
Vue
{
getData
:
any
[]
=
[];
itemInfo
:
any
=
{};
//查询个贷利率定价
selectPerLoanPrice
()
{
NativeUI
.
showWaiting
(
"
正在查询...
"
);
return
IF
.
transferDataInter
(
systemApi
.
selectPerLoanPrice
,
{}).
then
(
(
res
:
any
)
=>
{
NativeUI
.
closeWaiting
();
if
(
res
.
code
==
1
)
{
this
.
getData
=
res
.
data
;
console
.
log
(
this
.
getData
);
for
(
let
i
=
0
;
i
<
this
.
getData
.
length
;
i
++
)
{
let
temp
=
this
.
getData
[
i
].
docName
;
// let strs = temp.spit('个');
let
index
=
temp
.
indexOf
(
"
个人
"
);
let
fileDate
=
temp
.
substr
(
0
,
index
);
let
fileName
=
temp
.
substr
(
index
);
this
.
getData
[
i
].
fileDate
=
fileDate
;
this
.
getData
[
i
].
fileName
=
fileName
;
}
// console.log(this.getData,'-----------------------------------------------');
}
else
{
NativeUI
.
toast
(
res
.
msg
);
}
}
);
}
selectInfo
(
index
=
0
)
{
const
urlFront
=
"
http://15.1.48.24:8888/
"
;
//http://15.1.48.24:8888/
if
(
index
==
0
)
{
window
.
location
.
href
=
urlFront
+
this
.
getData
[
0
].
mcepFileKey
;
}
else
if
(
index
==
1
)
{
window
.
location
.
href
=
urlFront
+
this
.
getData
[
1
].
mcepFileKey
;
}
}
mounted
()
{
this
.
selectPerLoanPrice
();
}
}
</
script
>
<
style
scoped
>
.content
{
width
:
100%
;
height
:
100%
;
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
}
.personal-mortgage
,
.personal-consumption
{
width
:
30%
;
height
:
33%
;
background-image
:
url("~@/assets/images/auxiliary-tools-Interest-pricing.png")
;
background-repeat
:
no-repeat
;
background-size
:
90%
;
}
.personal-mortgage
div
:nth-child
(
1
),
.personal-consumption
div
:nth-child
(
1
)
{
width
:
50%
;
height
:
30%
;
margin-top
:
10%
;
margin-left
:
8%
;
background-image
:
url("~@/assets/images/chengdu-bank-logo.png")
;
background-repeat
:
no-repeat
;
background-size
:
75%
;
}
.personal-mortgage
div
:nth-child
(
2
),
.personal-consumption
div
:nth-child
(
2
)
{
width
:
50%
;
margin
:
0
auto
;
margin-left
:
20%
;
font-size
:
115%
;
}
</
style
>
src/components/workbench/company-common-functions/auxiliary-tools/LoanCalculation.vue
已删除
100644 → 0
浏览文件 @
7941916e
<
template
>
<div
class=
"content"
>
<div
style=
"width: 100%"
>
<van-form
label-width=
"25%"
@
submit=
"onSubmit"
>
<d-select
border=
"true"
readonly
clickable
v-model=
"refundType"
label=
"还款方式:"
placeholder=
"点击选择还款方式"
sfield=
"refundType"
:required=
"true"
:rules=
"[
{ required: true, message: '还款方式不能为空' }]" />
<mobile-input
border=
"true"
:formatter=
"formatter"
required
format-trigger=
"reset"
v-model=
"loanMoney"
label=
"贷款金额(元):"
type=
"number"
vtype=
"decimals"
:required=
"true"
placeholder=
"请输入贷款金额"
/>
<mobile-input
border=
"true"
:formatter=
"formatter"
required
format-trigger=
"reset"
v-model=
"allMonths"
type=
"digit"
:required=
"true"
placeholder=
"请输入贷款期限(1-360)"
:rules=
"[
{ validator: validatorIntRules, message: msg }]" label="贷款期限(月):" />
<mobile-input
border=
"true"
:formatter=
"formatter"
required
format-trigger=
"reset"
v-model=
"lprRate"
label=
"年利率(%):"
@
input=
"onMothRate"
:required=
"true"
placeholder=
"请输入小于100的年利率"
:rules=
"[
{ validator: validatorRules, message: LprMsg }]" />
<div
style=
"margin: 16px; display: flex; justify-content: space-around"
>
<van-button
@
click=
"reset"
style=
"width: 40%"
round
color=
"#999999"
native-type=
"button"
plain
>
重置
</van-button>
<van-button
style=
"width: 40%"
round
type=
"info"
native-type=
"submit"
>
提交
</van-button>
</div>
</van-form>
</div>
</div>
</
template
>
<
script
lang=
"ts"
>
import
{
Component
,
Vue
}
from
"
vue-property-decorator
"
;
import
{
Calendar
}
from
"
vant
"
;
import
{
Picker
}
from
"
vant
"
;
import
{
Button
}
from
"
vant
"
;
Vue
.
use
(
Button
);
Vue
.
use
(
Picker
);
Vue
.
use
(
Calendar
);
/**
* @Description 贷款测算
* @Author JiangTao
* @Date 2021-10-25 下午 08:53
*/
@
Component
({
name
:
"
LoanCalculation
"
})
export
default
class
LoanCalculation
extends
Vue
{
listShow
=
false
;
//计算结果显示
floatRate
=
""
;
//浮动利率
lprRate
:
any
=
""
;
//LPR利率
loanMoney
:
any
=
""
;
//总贷款金额
allMonths
:
any
=
""
;
//贷款月日期
monthRate
:
any
=
""
;
//月利率
monthRateFormat
:
any
=
""
;
//月利率显示格式
refundType
=
""
;
//还款方式
title
=
"
贷款试算
"
;
showPicker
=
false
;
list
:
any
[]
=
[];
keyBase
=
[];
keyBase1
=
[
"
贷款金额(万元):
"
,
"
每月还款本金(元):
"
,
"
首月还款额(元):
"
,
"
每月递减(元):
"
,
"
累计还贷款本息额(元):
"
,
"
累计还贷款利息额(元):
"
];
LprMsg
=
"
年利率为正整数或小数
"
;
keyBase2
=
[
"
贷款金额(万元):
"
,
"
每月还款额(元):
"
,
"
累计还贷款本息额(元):
"
,
"
累计还贷款利息额(元):
"
];
keyBase3
=
[
"
贷款金额(万元):
"
,
"
累计还贷款本息额(元):
"
,
"
累计还贷款利息额(元):
"
,
"
每月利息约为(元):
"
];
msg
=
""
;
reset
()
{
}
formatter
()
{
}
//toFixed四舍五入精度丢失重写
toFixed
(
num
:
any
,
s
:
any
)
{
var
times
=
Math
.
pow
(
10
,
s
);
var
des
:
any
=
num
*
times
+
0.5
;
des
=
parseInt
(
des
,
10
)
/
times
;
return
des
+
""
;
}
//输入内容为整数进行校验
validatorIntRules
(
val
:
any
)
{
if
(
val
>
360
||
val
<
1
)
{
this
.
msg
=
"
期数必须大于0小于360
"
;
return
false
;
}
else
{
this
.
msg
=
"
期数必须为整数
"
;
return
/^
[
0-9
]
*$/
.
test
(
val
);
}
}
//输入内容进行校验
validatorRules
(
val
:
any
)
{
let
reg
=
new
RegExp
(
"
^(([0-9]+
\\
.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*
\\
.[0-9]+)|([0-9]*[1-9][0-9]*))$
"
);
if
(
!
reg
.
test
(
val
))
{
this
.
LprMsg
=
"
年利率为正整数或小数
"
;
return
false
;
}
else
if
(
val
>
100
)
{
this
.
LprMsg
=
"
年利率不能大于100
"
;
return
false
;
}
return
true
;
}
//给monthRate动态绑定输入值
onMothRate
()
{
let
lprRate
=
this
.
lprRate
==
""
?
0
:
parseFloat
(
this
.
lprRate
);
let
floatRate
=
this
.
floatRate
==
""
?
0
:
parseFloat
(
this
.
floatRate
);
this
.
monthRate
=
lprRate
/
12
;
//月利率用于计算
// this.monthRate = parseFloat(this.monthRate).toFixed(2);
this
.
monthRateFormat
=
this
.
monthRate
*
100
||
0
;
//月利率用于展示
this
.
monthRateFormat
=
this
.
toFixed
(
this
.
monthRateFormat
,
3
);
}
/**
* 清除页面信息
*/
onClearInfo
()
{
this
.
listShow
=
false
;
this
.
loanMoney
=
""
;
//总贷款金额
this
.
allMonths
=
""
;
//贷款月日期
this
.
monthRate
=
""
;
//月利率
this
.
monthRateFormat
=
""
;
//月利率显示格式
this
.
refundType
=
""
;
//还款方式
this
.
floatRate
=
""
;
//浮动利率
this
.
lprRate
=
""
;
//LPR利率(年利率)
}
onSubmit
(
values
:
any
)
{
if
(
this
.
refundType
==
"
等额本金
"
)
{
//参数
let
loanMoney
:
any
=
parseFloat
(
this
.
loanMoney
);
//总贷款金额
let
allMonths
:
any
=
parseFloat
(
this
.
allMonths
);
//贷款月日期
let
monthRate
:
any
=
parseFloat
(
this
.
monthRate
)
/
100
;
//月利率,输入为百分比转换为小数;
console
.
log
(
monthRate
,
"
===============
"
);
let
monthLoanMoney
:
any
=
(
loanMoney
/
allMonths
).
toFixed
(
3
);
let
curMonthInterest
:
any
=
0
;
//本月应还利息
let
repayLoanMoney
:
any
=
0
;
//已还本金总额
let
repayInterestMoney
:
any
=
0
;
//已还利息
let
everyMonthMoney
:
any
=
0
;
//每月还本息
monthLoanMoney
=
parseFloat
(
monthLoanMoney
).
toFixed
(
2
);
//每月应还本金
this
.
list
=
[];
//结果集置空
for
(
let
i
=
0
;
i
<
allMonths
;
i
++
)
{
let
monthPayMap
:
any
=
{};
//存储每一个月的还款内容
if
(
i
<
allMonths
-
1
)
{
//不是最后一个月的话
repayLoanMoney
=
parseFloat
(
repayLoanMoney
)
+
parseFloat
(
monthLoanMoney
);
repayLoanMoney
=
repayLoanMoney
.
toFixed
(
2
);
monthPayMap
.
monthLoanMoney
=
monthLoanMoney
;
//每月应还本金
// console.log(loanMoney,'===',monthLoanMoney,'====',monthRate);
curMonthInterest
=
(
parseFloat
(
loanMoney
)
-
i
*
parseFloat
(
monthLoanMoney
))
*
parseFloat
(
monthRate
);
curMonthInterest
=
curMonthInterest
.
toFixed
(
2
);
repayInterestMoney
=
parseFloat
(
repayInterestMoney
)
+
parseFloat
(
curMonthInterest
);
repayInterestMoney
=
this
.
toFixed
(
repayInterestMoney
,
2
);
everyMonthMoney
=
parseFloat
(
monthLoanMoney
)
+
parseFloat
(
curMonthInterest
);
everyMonthMoney
=
everyMonthMoney
.
toFixed
(
2
);
}
else
{
//最后一个月,消除误差
monthLoanMoney
=
(
parseFloat
(
loanMoney
)
-
parseFloat
(
repayLoanMoney
)).
toFixed
(
2
);
repayLoanMoney
=
parseFloat
(
repayLoanMoney
)
+
parseFloat
(
monthLoanMoney
);
repayLoanMoney
=
repayLoanMoney
.
toFixed
(
2
);
monthPayMap
.
monthLoanMoney
=
monthLoanMoney
;
curMonthInterest
=
(
loanMoney
-
i
*
monthLoanMoney
)
*
monthRate
;
curMonthInterest
=
curMonthInterest
.
toFixed
(
2
);
repayInterestMoney
=
parseFloat
(
repayInterestMoney
)
+
parseFloat
(
curMonthInterest
);
repayInterestMoney
=
this
.
toFixed
(
repayInterestMoney
,
2
);
everyMonthMoney
=
parseFloat
(
monthLoanMoney
)
+
parseFloat
(
curMonthInterest
);
everyMonthMoney
=
everyMonthMoney
.
toFixed
(
2
);
}
monthPayMap
.
curMonthInterest
=
curMonthInterest
;
monthPayMap
.
everyMonthMoney
=
everyMonthMoney
;
//每月应还本息
monthPayMap
.
repayInterestMoney
=
repayInterestMoney
;
//已还利息
monthPayMap
.
repayLoanMoney
=
repayLoanMoney
;
this
.
list
.
push
(
monthPayMap
);
}
this
.
$store
.
commit
(
"
setEmpty
"
);
this
.
$store
.
commit
(
"
setCalculateRes
"
,
this
.
list
);
this
.
$router
.
push
({
path
:
"
/LoanCalculationDetail
"
});
}
else
if
(
this
.
refundType
==
"
等额本息
"
)
{
let
loanMoney
:
any
=
parseFloat
(
this
.
loanMoney
);
//总贷款金额
let
allMonths
:
any
=
parseFloat
(
this
.
allMonths
);
//贷款月日期
let
monthRate
:
any
=
parseFloat
(
this
.
monthRate
)
/
100
;
//月利率,输入为百分比转换为小数;
let
perMonthMoney
:
any
=
(
loanMoney
*
monthRate
*
Math
.
pow
(
1
+
monthRate
,
allMonths
))
/
(
Math
.
pow
(
1
+
monthRate
,
allMonths
)
-
1
);
//每月还款金额
let
allMoney
:
any
=
parseFloat
(
perMonthMoney
)
*
parseFloat
(
allMonths
);
//总还款金额
let
onlyRate
:
any
=
parseFloat
(
allMoney
)
-
parseFloat
(
loanMoney
);
//剩余本金
let
curMonthInterest
:
any
=
0
;
//本月应还利息
let
repayLoanMoney
:
any
=
0
;
//已还本金总额
let
repayInterestMoney
:
any
=
0
;
//已还利息
let
everyMonthMoney
:
any
=
0
;
//每月还本息
let
monthLoanMoney
:
any
=
0
;
//本月还本金
let
totalRepay
:
any
=
0
;
//已还本息
perMonthMoney
=
this
.
toFixed
(
perMonthMoney
,
2
);
allMoney
=
this
.
toFixed
(
allMoney
,
2
);
onlyRate
=
this
.
toFixed
(
onlyRate
,
2
);
this
.
list
=
[];
this
.
keyBase
=
[];
for
(
let
i
=
0
;
i
<
allMonths
;
i
++
)
{
let
monthPayMap
:
any
=
{};
if
(
i
<
allMonths
-
1
)
{
curMonthInterest
=
(
parseFloat
(
loanMoney
)
-
parseFloat
(
repayLoanMoney
))
*
parseFloat
(
monthRate
);
//每月还利息
monthLoanMoney
=
parseFloat
(
perMonthMoney
)
-
parseFloat
(
curMonthInterest
);
//每月本金
repayInterestMoney
=
parseFloat
(
repayInterestMoney
)
+
parseFloat
(
curMonthInterest
);
//已还利息
repayLoanMoney
=
parseFloat
(
repayLoanMoney
)
+
parseFloat
(
monthLoanMoney
);
//已还本金
totalRepay
=
parseFloat
(
totalRepay
)
+
parseFloat
(
perMonthMoney
);
//已还本息
}
else
{
everyMonthMoney
=
parseFloat
(
allMoney
)
-
parseFloat
(
totalRepay
);
//剩余本息
monthLoanMoney
=
parseFloat
(
loanMoney
)
-
parseFloat
(
repayLoanMoney
);
repayLoanMoney
=
parseFloat
(
repayLoanMoney
)
+
parseFloat
(
monthLoanMoney
);
//已还本金
curMonthInterest
=
parseFloat
(
everyMonthMoney
)
-
parseFloat
(
monthLoanMoney
);
}
monthPayMap
.
everyMonthMoney
=
this
.
toFixed
(
perMonthMoney
,
2
);
monthPayMap
.
curMonthInterest
=
this
.
toFixed
(
curMonthInterest
,
2
);
monthPayMap
.
repayInterestMoney
=
this
.
toFixed
(
repayInterestMoney
,
2
);
//已还利息
monthPayMap
.
repayLoanMoney
=
this
.
toFixed
(
repayLoanMoney
,
2
);
monthPayMap
.
monthLoanMoney
=
this
.
toFixed
(
monthLoanMoney
,
2
);
this
.
list
.
push
(
monthPayMap
);
}
this
.
$store
.
commit
(
"
setEmpty
"
);
this
.
$store
.
commit
(
"
setCalculateRes
"
,
this
.
list
);
this
.
$router
.
push
({
path
:
"
/LoanCalculationDetail
"
});
}
else
if
(
this
.
refundType
==
"
按月付息
"
)
{
let
loanMoney
:
any
=
parseFloat
(
this
.
loanMoney
);
//总贷款金额
let
allMonths
:
any
=
parseFloat
(
this
.
allMonths
);
//贷款月日期
let
monthRate
:
any
=
parseFloat
(
this
.
monthRate
)
/
100
;
//月利率,输入为百分比转换为小数;
let
curMonthInterest
:
any
=
0
;
//本月应还利息
let
repayLoanMoney
:
any
=
0
;
//已还本金总额
let
repayInterestMoney
:
any
=
0
;
//已还利息
let
everyMonthMoney
:
any
=
0
;
//每月还本息
let
monthLoanMoney
:
any
=
0
;
//本月还本金
let
totalRepay
:
any
=
0
;
//已还本息
let
onlyRate
:
any
=
loanMoney
*
allMonths
*
monthRate
;
//总利息
let
allMoney
:
any
=
loanMoney
+
onlyRate
;
//总还款金额
let
perOnlyRate
:
any
=
onlyRate
/
allMonths
;
this
.
list
=
[];
allMoney
=
this
.
toFixed
(
allMoney
,
2
);
onlyRate
=
this
.
toFixed
(
onlyRate
,
2
);
perOnlyRate
=
this
.
toFixed
(
perOnlyRate
,
2
);
curMonthInterest
=
parseFloat
(
loanMoney
)
*
parseFloat
(
monthRate
);
for
(
let
i
=
0
;
i
<
allMonths
;
i
++
)
{
let
monthPayMap
:
any
=
{};
repayInterestMoney
=
parseFloat
(
repayInterestMoney
)
+
parseFloat
(
curMonthInterest
);
if
(
i
!=
allMonths
-
1
)
{
everyMonthMoney
=
curMonthInterest
;
}
else
if
(
i
==
allMonths
-
1
)
{
everyMonthMoney
=
parseFloat
(
curMonthInterest
)
+
parseFloat
(
loanMoney
);
monthLoanMoney
=
loanMoney
;
repayLoanMoney
=
loanMoney
;
}
monthPayMap
.
everyMonthMoney
=
this
.
toFixed
(
everyMonthMoney
,
2
);
monthPayMap
.
curMonthInterest
=
this
.
toFixed
(
curMonthInterest
,
2
);
monthPayMap
.
repayInterestMoney
=
this
.
toFixed
(
repayInterestMoney
,
2
);
//已还利息
monthPayMap
.
repayLoanMoney
=
this
.
toFixed
(
repayLoanMoney
,
2
);
monthPayMap
.
monthLoanMoney
=
this
.
toFixed
(
monthLoanMoney
,
2
);
this
.
list
.
push
(
monthPayMap
);
}
this
.
$store
.
commit
(
"
setEmpty
"
);
this
.
$store
.
commit
(
"
setCalculateRes
"
,
this
.
list
);
this
.
$router
.
push
({
path
:
"
/LoanCalculationDetail
"
});
}
else
{
this
.
list
=
[];
}
//跳转到还款页面
}
onConfirm
(
value
:
any
)
{
this
.
refundType
=
value
;
this
.
showPicker
=
false
;
}
/**
* @desc: keepAlive 处理代码逻辑,根据路由判断进入页面销毁缓存数据
* @author: zmk
* @date: 2022年01月25日23:07:36
* */
activated
()
{
this
.
$router
.
beforeEach
((
to
,
from
,
next
)
=>
{
if
(
from
.
path
==
"
/main/workbench
"
)
{
this
.
listShow
=
false
;
this
.
loanMoney
=
""
;
//总贷款金额
this
.
allMonths
=
""
;
//贷款月日期
this
.
monthRate
=
""
;
//月利率
this
.
monthRateFormat
=
""
;
//月利率显示格式
this
.
refundType
=
""
;
//还款方式
this
.
floatRate
=
""
;
//浮动利率
this
.
lprRate
=
""
;
//LPR利率(年利率)
}
next
();
});
}
// watch: {
// lprRate() {
// if (this.lprRate > 100) {
// this.LprMsg = '年利率不能大于100';
// } else {
// this.LprMsg = '年利率为正整数或小数';
// }
// }
// }
}
</
script
>
<
style
scoped
>
.content
{
width
:
60%
;
padding-top
:
10%
;
margin
:
0
auto
;
}
::v-deep
.d-field-label
{
width
:
110px
!important
;
text-align
:
right
;
}
::v-deep
.van-button--info
{
background-color
:
#fd5065
;
border
:
1px
solid
#fd5065
;
}
::v-deep
.van-button__text
{
font-size
:
16px
;
}
::v-deep
.van-cell
::after
{
border
:
0
;
}
</
style
>
src/components/workbench/company-common-functions/auxiliary-tools/RepaymentTrial.vue
已删除
100644 → 0
浏览文件 @
7941916e
<
template
>
<!-- 随意分-->
<div
class=
"content"
>
<div
style=
"width: 100%"
>
<van-form
label-width=
"25%"
@
submit=
"onSubmit"
>
<mobile-input
:formatter=
"formatter"
size=
"100"
format-trigger=
"reset"
v-model=
"loanMoney"
:required=
"true"
:rules=
"[
{ validator: validatorFloatNum, message: '输入有误,请输入' }]"
type="number"
label="贷款金额(元)"
placeholder="请输入贷款金额"
/>
<d-select
label=
"还款方式"
:rules=
"[
{ required: true, message: '还款方式不能为空' }]"
placeholder="请选择"
:required="true"
border="true"
@input="selectSYFRate"
v-model="Repayment"
sfield="Repayment"
size="small"
>
</d-select>
<d-select
label=
"手续费收取方式"
:rules=
"[
{ required: true, message: '手续费收取方式不能为空' }]"
placeholder="请选择"
:required="true"
border="true"
v-model="brokerage"
sfield="brokerage"
size="small"
>
</d-select>
<mobile-input
:formatter=
"formatter"
format-trigger=
"reset"
readonly
v-model=
"yearRate"
:rules=
"[
{ validator: validatorRules, message: '输入有误,请输入' }]"
:label="label1"
/>
<mobile-input
:formatter=
"formatter"
format-trigger=
"reset"
readonly
v-model=
"AllRate"
:rules=
"[
{ validator: validatorRules, message: '输入有误,请输入' }]"
:label="label2"
/>
<mobile-input
:formatter=
"formatter"
format-trigger=
"reset"
v-model=
"yearRate_yh"
:required=
"true"
label=
"优惠折扣"
placeholder=
"请输入"
:rules=
"[
{ validator: validatorRules, message: rateMsg }]"
/>
<d-select
v-if=
"Repayment == '1'"
name=
"NUM"
label=
"期数(月)"
placeholder=
"请选择期数"
:rules=
"[
{ required: true, message: '期数不能为空' }]"
border="true"
sfield="NUM"
:required="true"
v-model="NUMS" />
<mobile-input
v-if=
"Repayment == '2'"
:formatter=
"formatter"
format-trigger=
"reset"
v-model=
"NUMS2"
:required=
"true"
type=
"digit"
:rules=
"[
{ validator: validatorNumber, message: '期数必须小于等于730' }]"
label="期数(天)"
/>
<div
style=
"margin: 16px; display: flex; justify-content: space-around"
>
<van-button
@
click=
"reset"
style=
"width: 40%"
round
color=
"#999999"
native-type=
"button"
plain
>
重置
</van-button
>
<van-button
style=
"width: 40%"
round
type=
"info"
native-type=
"submit"
>
提交
</van-button
>
</div>
</van-form>
</div>
</div>
</
template
>
<
script
lang=
"ts"
>
import
{
Component
,
Vue
,
Watch
}
from
"
vue-property-decorator
"
;
import
nettyApi
from
"
@/constants/api/ms-netty/netty.api.ts
"
;
import
IF
from
"
@/public/factory/InterFaceFactory
"
;
import
{
NativeUI
}
from
"
@/public/ts/NativeUI
"
;
import
systemApi
from
"
@/constants/api/ms-system/system.api.ts
"
;
/**
*@description: 随意分还款试算
*@author: wanghang
*@date: 2022-02-16
*/
@
Component
({
name
:
"
RepaymentTrial
"
})
export
default
class
RepaymentTrial
extends
Vue
{
title
=
"
随意分还款试算
"
;
columns1
=
[
"
每月1日
"
,
"
每月2日
"
,
"
每月3日
"
,
"
每月4日
"
,
"
每月5日
"
];
showPicker1
=
false
;
showPicker2
=
false
;
loanMoney
:
any
=
""
;
yearRate
:
any
=
""
;
yearRate_yh
:
any
=
""
;
//优惠卷利率
NUMS
:
any
=
""
;
//选择的期数,月
NUMS2
:
any
=
""
;
//手写的期数,天
Repayment
:
any
=
""
;
brokerage
:
any
=
""
;
resInfo
:
any
[]
=
[];
pattern
:
any
=
/^
[
1-9
]\d
*$/
;
//整数校验
rateMsg
:
any
=
"
请填写正确的折扣
"
;
inrateType
:
any
=
"
aytxbj_inrate
"
;
//随意分类别
AllRate
:
any
=
""
;
label1
:
any
=
"
年利率(%)
"
;
label2
:
any
=
"
总费率(%)
"
;
largeDay
:
any
=
0
;
//利率请求默认天数
smallDay
:
any
=
1000
;
//利率请求默认天数
formatter
()
{
}
onSubmit
()
{
this
.
selectSYFInfo
();
}
reset
()
{
this
.
loanMoney
=
""
;
this
.
yearRate
=
""
;
this
.
yearRate_yh
=
""
;
//优惠卷利率
this
.
NUMS
=
""
;
this
.
Repayment
=
""
;
this
.
AllRate
=
""
;
this
.
NUMS2
=
""
;
this
.
brokerage
=
""
;
}
selectSYFInfo
()
{
const
param
:
any
=
{
tc
:
"
MCEP
"
,
AMT
:
this
.
loanMoney
,
inRate
:
this
.
yearRate
,
inRate_YH
:
this
.
Repayment
==
"
1
"
?
this
.
yearRate_yh
/
100
:
this
.
yearRate_yh
/
10000
,
NUMS
:
this
.
Repayment
==
"
1
"
?
this
.
NUMS
:
this
.
NUMS2
,
Repayment
:
this
.
Repayment
,
brokerage
:
this
.
brokerage
};
NativeUI
.
showWaiting
(
"
正在查询...
"
);
return
IF
.
transferDataInter
(
systemApi
.
SYFLoanmoneyComputed
,
param
).
then
((
res
:
any
)
=>
{
NativeUI
.
closeWaiting
();
if
(
res
.
code
==
1
)
{
this
.
resInfo
=
res
.
data
.
LIST
;
this
.
$store
.
commit
(
"
setEmpty
"
);
this
.
$store
.
commit
(
"
setCalculateRes
"
,
this
.
resInfo
);
this
.
$router
.
push
({
path
:
"
/RepaymentTrialDetail
"
});
}
else
{
NativeUI
.
toast
(
res
.
message
);
}
});
}
//查询随意分利率
selectSYFRate
(
val
:
any
)
{
if
(
val
==
1
)
{
//按月付款
this
.
largeDay
=
1
;
this
.
smallDay
=
1000
;
}
else
if
(
val
==
2
)
{
if
(
this
.
NUMS2
==
""
||
this
.
NUMS2
==
0
||
(
this
.
NUMS2
>=
1
&&
this
.
NUMS2
<=
365
))
{
this
.
largeDay
=
1
;
this
.
smallDay
=
365
;
}
else
{
this
.
largeDay
=
366
;
this
.
smallDay
=
1000
;
}
}
const
param
=
{
capitalType
:
val
,
largeDay
:
this
.
largeDay
,
smallDay
:
this
.
smallDay
,
pageNum
:
"
1
"
,
pageSize
:
"
10
"
};
return
IF
.
transferDataInter
(
systemApi
.
SYFLoanRateSelect
,
param
).
then
((
res
:
any
)
=>
{
if
(
res
.
code
==
1
)
{
//查询回来利率
this
.
yearRate
=
res
.
data
.
records
[
0
].
rate
;
}
else
{
NativeUI
.
toast
(
res
.
msg
);
}
});
}
//浮点校验规则
validator
(
val
:
any
)
{
return
/^
(
-
?\d
+
)(\.\d
+
)?
$/
.
test
(
val
);
}
//输入内容进行校验
validatorRules
(
val
:
any
)
{
let
reg
=
new
RegExp
(
"
^d{1,2}$|^
\\
d{1,2}
"
);
if
(
!
reg
.
test
(
val
))
{
return
false
;
}
else
if
(
val
>
100
)
{
return
false
;
}
return
true
;
}
//验证非负两位浮点数
validatorFloatNum
(
val
:
any
)
{
let
reg
=
new
RegExp
(
"
^(([0-9]+
\\
.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*
\\
.[0-9]+)|([0-9]*[1-9][0-9]*))$
"
);
if
(
!
reg
.
test
(
val
))
{
return
false
;
}
return
true
;
}
validatorNumber
(
val
:
any
)
{
console
.
log
(
val
);
let
reg
=
new
RegExp
(
"
^[1-9]
\\
d*$
"
);
if
(
!
reg
.
test
(
val
))
{
return
false
;
}
else
if
(
val
>
730
)
{
return
false
;
}
else
{
return
true
;
}
}
activated
()
{
this
.
$router
.
beforeEach
((
to
,
from
,
next
)
=>
{
if
(
from
.
path
==
"
/main/workbench
"
)
{
this
.
loanMoney
=
""
;
this
.
yearRate
=
""
;
this
.
yearRate_yh
=
""
;
//优惠卷利率
this
.
AllRate
=
""
;
this
.
NUMS
=
""
;
this
.
NUMS2
=
""
;
this
.
Repayment
=
""
;
this
.
brokerage
=
""
;
}
next
();
});
}
@
Watch
(
"
yearRate
"
)
yearRateFunction
(
val
:
any
)
{
if
(
this
.
Repayment
==
"
1
"
)
{
let
payoff
=
this
.
yearRate_yh
;
if
(
payoff
==
""
)
{
this
.
AllRate
=
((
this
.
NUMS
*
val
)
/
12
).
toFixed
(
2
).
toString
();
}
else
{
this
.
AllRate
=
((
this
.
NUMS
*
val
*
payoff
/
100
)
/
12
).
toFixed
(
2
).
toString
();
}
}
else
if
(
this
.
Repayment
==
"
2
"
)
{
// this.selectSYFRate("2");
let
payoff
=
this
.
yearRate_yh
;
if
(
payoff
==
""
)
{
this
.
AllRate
=
((
this
.
NUMS2
*
val
)
/
100
).
toFixed
(
2
).
toString
();
}
else
{
this
.
AllRate
=
((
this
.
NUMS2
*
val
*
payoff
/
100
)
/
100
).
toFixed
(
2
).
toString
();
}
}
}
@
Watch
(
"
yearRate_yh
"
)
yearRate_yhFunction
(
val
:
any
)
{
if
(
this
.
yearRate_yh
<
0
)
{
this
.
rateMsg
=
"
折扣不能为负
"
;
}
else
{
this
.
rateMsg
=
"
请填写正确的折扣
"
;
}
if
(
this
.
Repayment
==
"
1
"
)
{
let
payoff
=
val
;
if
(
payoff
==
""
)
{
this
.
AllRate
=
((
this
.
NUMS
*
this
.
yearRate
)
/
12
).
toFixed
(
2
).
toString
();
}
else
{
this
.
AllRate
=
((
this
.
NUMS
*
this
.
yearRate
*
payoff
/
100
)
/
12
).
toFixed
(
2
).
toString
();
}
}
else
if
(
this
.
Repayment
==
"
2
"
)
{
let
payoff
=
val
;
if
(
payoff
==
""
)
{
this
.
AllRate
=
((
this
.
NUMS2
*
this
.
yearRate
)
/
100
).
toFixed
(
2
).
toString
();
}
else
{
this
.
AllRate
=
((
this
.
NUMS2
*
this
.
yearRate
*
payoff
/
100
)
/
100
).
toFixed
(
2
).
toString
();
}
}
}
@
Watch
(
"
NUMS2
"
)
NUMS2Function
(
val
:
any
)
{
this
.
selectSYFRate
(
"
2
"
);
let
payoff
=
this
.
yearRate_yh
;
if
(
payoff
==
""
)
{
this
.
AllRate
=
((
val
*
this
.
yearRate
)
/
100
).
toFixed
(
2
).
toString
();
}
else
{
this
.
AllRate
=
((
val
*
this
.
yearRate
*
payoff
/
100
)
/
100
).
toFixed
(
2
).
toString
();
}
}
@
Watch
(
"
NUMS
"
)
NUMSFunction
(
val
:
any
)
{
if
(
this
.
Repayment
==
"
1
"
)
{
let
payoff
=
this
.
yearRate_yh
;
if
(
payoff
==
""
)
{
this
.
AllRate
=
((
val
*
this
.
yearRate
)
/
12
).
toFixed
(
2
).
toString
();
}
else
{
this
.
AllRate
=
((
val
*
this
.
yearRate
*
payoff
/
100
)
/
12
).
toFixed
(
2
).
toString
();
}
}
}
@
Watch
(
"
Repayment
"
)
RepaymentFunction
(
val
:
any
)
{
if
(
val
==
"
1
"
)
{
this
.
label1
=
"
年利率(%)
"
;
this
.
label2
=
"
总费率(%)
"
;
}
else
if
(
val
==
"
2
"
)
{
this
.
label1
=
"
天利率(万分)
"
;
this
.
label2
=
"
总费率(%)
"
;
}
}
}
</
script
>
<
style
scoped
>
.content
{
width
:
60%
;
padding-top
:
10%
;
margin
:
0
auto
;
}
::v-deep
.d-form-field
.van-field
{
align-items
:
center
;
}
::v-deep
.van-cell
::after
{
border
:
0
;
}
::v-deep
.van-button--info
{
background-color
:
#fd5065
;
border
:
1px
solid
#fd5065
;
}
::v-deep
.van-button__text
{
font-size
:
16px
;
}
</
style
>
src/components/workbench/company-common-functions/auxiliary-tools/financial-trial/ManufacturingTrial.vue
已删除
100644 → 0
浏览文件 @
7941916e
<
template
>
<div>
<van-form
@
submit=
"onSubmit"
>
<table>
<tr>
<td>
<mobile-input
:formatter=
"formatter"
:rules=
"[
{ validator: testFloat, message: '必须为正整数或者小数' }]" :required="true" type="number" format-trigger="reset" v-model="manufacturingObject.GPM"
label="销售毛利率(%)" size="small" />
</td>
<td>
<mobile-input
:formatter=
"formatter"
:rules=
"[
{ validator: testFloat, message: '必须为正整数或者小数' }]" :required="true" format-trigger="reset" v-model="manufacturingObject.ROE" type="number" label="净资产收益率(%)"
size="small" />
</td>
</tr>
<tr>
<td>
<mobile-input
:formatter=
"formatter"
:rules=
"[
{ validator: testFloat, message: '必须为正整数或者小数' }]" :required="true" type="number" format-trigger="reset" v-model="manufacturingObject.ASSET"
label="资产负债率(%)" size="small" />
</td>
<td>
<mobile-input
:formatter=
"formatter"
:rules=
"[
{ validator: testFloat, message: '必须为正整数或者小数' }]" :required="true" format-trigger="reset"
v-model="manufacturingObject.EARNED" label="已获利息倍数" type="number" size="small" />
</td>
</tr>
<tr>
<td>
<mobile-input
:formatter=
"formatter"
:rules=
"[
{ validator: testFloat, message: '必须为正整数或者小数' }]" :required="true" format-trigger="reset"
v-model="manufacturingObject.InterBearing" type="number" label="有息负债率(%)" size="small" />
</td>
<td>
<mobile-input
:formatter=
"formatter"
:rules=
"[
{ validator: testFloat, message: '必须为正整数或者小数' }]" :required="true" format-trigger="reset"
v-model="manufacturingObject.ACCRECETRUN" type="number" label="应收账款周转率(%)" size="small" />
</td>
</tr>
<tr>
<td>
<mobile-input
:formatter=
"formatter"
:rules=
"[
{ validator: testFloat, message: '必须为正整数或者小数' }]" :required="true" format-trigger="reset" v-model="manufacturingObject.DEPTURN"
label="存款周转率(%)" type="number" size="small" />
</td>
<td>
<mobile-input
:formatter=
"formatter"
:rules=
"[
{ validator: testFloat, message: '必须为正整数或者小数' }]" :required="true" format-trigger="reset"
v-model="manufacturingObject.FAT" type="number" label="固定资产周转率(%)" size="small" />
</td>
</tr>
<tr>
<td>
<mobile-input
:formatter=
"formatter"
:rules=
"[
{ validator: testFloat, message: '必须为正整数或者小数' }]" :required="true" format-trigger="reset" v-model="manufacturingObject.ITR"
label="存货周转率(%)" type="number" size="small" />
</td>
<td>
<mobile-input
:formatter=
"formatter"
:required=
"true"
type=
"number"
format-trigger=
"reset"
v-model=
"manufacturingObject.SARE"
label=
"销售收入(元)"
size=
"small"
/>
</td>
</tr>
<tr>
<td>
<mobile-input
:formatter=
"formatter"
:rules=
"[
{ pattern, message: '年限为整数' }]" :required="true" format-trigger="reset" v-model="manufacturingObject.ESYEAR"
label="成立年限" type="digit" size="small" />
</td>
<td>
<mobile-input
:formatter=
"formatter"
:rules=
"[
{ validator: testFloat, message: floatMsg }]" :required="true" format-trigger="reset" v-model="manufacturingObject.TASS"
label="总资产(元)" type="digit" size="small" />
</td>
</tr>
<tr>
<td
colspan=
"2"
>
<mobile-input
:required=
"true"
:rules=
"[
{ validator: testFloat, message: floatMsg }]" :formatter="formatter" format-trigger="reset" v-model="manufacturingObject.NASS"
label="净资产(元)" type="number" size="small" />
</td>
</tr>
<tr>
<td
colspan=
"2"
>
<div
style=
"margin: 16px; display: flex; justify-content: space-around"
>
<van-button
@
click=
"reset"
style=
"width: 25%"
round
color=
"#999999"
native-type=
"button"
plain
>
重置
</van-button>
<van-button
style=
"width: 25%"
round
type=
"info"
native-type=
"submit"
>
试算
</van-button>
</div>
</td>
</tr>
</table>
</van-form>
<van-dialog
:show-cancel-button=
"false"
:show-confirm-button=
"false"
:close-on-click-overlay=
"true"
v-model=
"showDialogReject"
>
<div
class=
"dialog-box"
style=
"position: relative"
>
<div
class=
"dialog-title"
>
测算结果
</div>
<div
class=
"score-box"
>
{{
totalScore
}}
</div>
<svg
class=
"icon icon-img"
aria-hidden=
"true"
>
<use
xlink:href=
"#icon-a-cepingjieguo110x110ziyuan40"
></use>
</svg>
<van-button
class=
"submitstyle3"
block
native-type=
"button"
@
click=
"showDialogReject = false"
>
知道了
</van-button>
</div>
</van-dialog>
</div>
</
template
>
<
script
lang=
"ts"
>
import
{
Component
,
Vue
}
from
"
vue-property-decorator
"
;
import
systemApi
from
"
@/constants/api/ms-system/system.api.ts
"
;
import
IF
from
"
@/public/factory/InterFaceFactory
"
;
import
{
NativeUI
}
from
"
@/public/ts/NativeUI
"
;
/**
* @Description 制造业试算
* @Author 王航
* @Date 2022-2-23 下午 04:32
*/
@
Component
({
name
:
"
ManufacturingTrial
"
})
export
default
class
ManufacturingTrial
extends
Vue
{
manufacturingObject
:
any
=
{
//制造业对象
GPM
:
''
,
//销售毛利率
ROE
:
''
,
//净资产收益率
ASSET
:
''
,
//资产负债率
EARNED
:
''
,
//已获息倍数
InterBearing
:
''
,
//有息负债率
ACCRECETRUN
:
''
,
//应收账款周转率
DEPTURN
:
''
,
//存款周转率
FAT
:
''
,
//固定资产周转率
ITR
:
''
,
//存货周转率
SARE
:
''
,
//销售收入
ESYEAR
:
''
,
//成立年限
TASS
:
''
,
//总资产
NASS
:
''
//净资产
};
pattern
=
/^
[
1-9
]\d
*$/
;
//整数校验
totalScore
:
any
=
''
;
//总分数
showDialogReject
=
false
;
floatMsg
=
''
;
//浮点数验证信息
formatter
()
{
}
onSubmit
(
values
:
any
)
{
// console.log("submit", values);
this
.
selectCompanyComputeInfo
();
}
selectCompanyComputeInfo
()
{
let
param
=
{
GPM
:
this
.
manufacturingObject
.
GPM
,
//销售毛利率
ROE
:
this
.
manufacturingObject
.
ROE
,
//净资产收益率
ASSET
:
this
.
manufacturingObject
.
ASSET
,
//资产负债率
EARNED
:
this
.
manufacturingObject
.
EARNED
,
//已获息倍数
InterBearing
:
this
.
manufacturingObject
.
InterBearing
,
//有息负债率
ACCRECETRUN
:
this
.
manufacturingObject
.
ACCRECETRUN
,
//应收账款周转率
DEPTURN
:
this
.
manufacturingObject
.
DEPTURN
,
//存款周转率
FAT
:
this
.
manufacturingObject
.
FAT
,
//固定资产周转率
ITR
:
this
.
manufacturingObject
.
ITR
,
//存货周转率
SARE
:
this
.
manufacturingObject
.
SARE
,
//销售收入
ESYEAR
:
this
.
manufacturingObject
.
ESYEAR
,
//成立年限
TASS
:
this
.
manufacturingObject
.
TASS
,
//总资产
NASS
:
this
.
manufacturingObject
.
NASS
,
//净资产
COMTYPE
:
'
0
'
//0表示制造业企业,1表示非制造业
};
NativeUI
.
showWaiting
(
'
正在查询...
'
);
return
IF
.
transferDataInter
(
systemApi
.
companyMoneyComputed
,
param
).
then
((
res
:
any
)
=>
{
NativeUI
.
closeWaiting
();
if
(
res
.
code
==
1
)
{
this
.
totalScore
=
res
.
data
.
totalAch
;
//总分
console
.
log
(
this
.
totalScore
);
this
.
showDialogReject
=
true
;
}
else
{
NativeUI
.
toast
(
res
.
message
);
}
});
}
formatDate
(
date
:
any
)
{
return
`
${
date
.
getFullYear
()}
-
${
date
.
getMonth
()
+
1
}
-
${
date
.
getDate
()}
`
;
}
reset
()
{
this
.
manufacturingObject
.
GPM
=
''
;
this
.
manufacturingObject
.
ROE
=
''
;
this
.
manufacturingObject
.
ASSET
=
''
;
this
.
manufacturingObject
.
EARNED
=
''
;
this
.
manufacturingObject
.
InterBearing
=
''
;
this
.
manufacturingObject
.
ACCRECETRUN
=
''
;
this
.
manufacturingObject
.
DEPTURN
=
''
;
this
.
manufacturingObject
.
FAT
=
''
;
this
.
manufacturingObject
.
ITR
=
''
;
this
.
manufacturingObject
.
SARE
=
''
;
this
.
manufacturingObject
.
ESYEAR
=
''
;
this
.
manufacturingObject
.
TASS
=
''
;
this
.
manufacturingObject
.
NASS
=
''
;
}
testFloat
(
val
:
any
)
{
if
(
parseFloat
(
val
)
<
0
)
{
// this.floatMsg = '必须为正数';
return
false
;
}
else
{
// this.floatMsg = '必须为整数或者小数';
return
/^
(
-
?\d
+
)(\.\d
+
)?
$/
.
test
(
val
);
}
}
}
</
script
>
<
style
scoped
>
table
{
width
:
90%
;
margin
:
0
auto
;
}
::v-deep
.van-button--info
{
background-color
:
#fd5065
;
border
:
1px
solid
#fd5065
;
}
::v-deep
.van-button__text
{
font-size
:
16px
;
}
.dialog-box
{
margin
:
0
auto
;
background
:
#fff
;
display
:
flex
;
flex-direction
:
column
;
align-items
:
center
;
width
:
300px
;
height
:
306px
;
}
.icon-img
{
width
:
120px
;
height
:
120px
;
margin-top
:
20px
;
margin-bottom
:
20px
;
color
:
rgb
(
17
,
167
,
30
);
}
.dialog-title
{
font-weight
:
bold
;
margin-top
:
10%
;
font-size
:
16px
;
color
:
#333
;
}
.score-box
{
position
:
absolute
;
font-size
:
36px
;
font-weight
:
400
;
top
:
105px
;
z-index
:
999
;
color
:
#f59a23
;
}
.submitstyle3
{
width
:
268px
;
height
:
36px
;
border-radius
:
6px
;
margin-top
:
30px
;
color
:
#fff
;
background-color
:
#ff574c
;
border-color
:
#ff574c
;
font-size
:
16px
;
text-align
:
center
;
font-weight
:
400
;
}
</
style
>
src/components/workbench/company-common-functions/auxiliary-tools/financial-trial/UnManufacturingTrial.vue
已删除
100644 → 0
浏览文件 @
7941916e
<
template
>
<div>
<van-form
@
submit=
"onSubmit"
>
<table>
<tr>
<td>
<mobile-input
:formatter=
"formatter"
:rules=
"[
{ validator: testFloat, message: '必须为正整数或者小数' }]" :required="true" type="number" format-trigger="reset" v-model="noManufacturingObject.GPM"
label="销售毛利率(%)" size="small" />
</td>
<td>
<mobile-input
:formatter=
"formatter"
:rules=
"[
{ validator: testFloat, message: '必须为正整数或者小数' }]" :required="true" format-trigger="reset" v-model="noManufacturingObject.ROE" type="number" label="净资产收益率(%)"
size="small" />
</td>
</tr>
<tr>
<td>
<mobile-input
:formatter=
"formatter"
:rules=
"[
{ validator: testFloat, message: '必须为正整数或者小数' }]" :required="true" type="number" format-trigger="reset" v-model="noManufacturingObject.ASSET"
label="资产负债率(%)" size="small" />
</td>
<td>
<mobile-input
:formatter=
"formatter"
:rules=
"[
{ validator: testFloat, message: '必须为正整数或者小数' }]" :required="true" format-trigger="reset"
v-model="noManufacturingObject.EARNED" label="已获利息倍数" type="number" size="small" />
</td>
</tr>
<tr>
<td>
<mobile-input
:formatter=
"formatter"
:rules=
"[
{ validator: testFloat, message: '必须为正整数或者小数' }]" :required="true" format-trigger="reset"
v-model="noManufacturingObject.InterBearing" type="number" label="有息负债率(%)" size="small" />
</td>
<td>
<mobile-input
:formatter=
"formatter"
:rules=
"[
{ validator: testFloat, message: '必须为正整数或者小数' }]" :required="true" format-trigger="reset"
v-model="noManufacturingObject.ACCRECETRUN" type="number" label="应收账款周转率(%)" size="small" />
</td>
</tr>
<tr>
<td>
<mobile-input
:formatter=
"formatter"
:rules=
"[
{ validator: testFloat, message: '必须为正整数或者小数' }]" :required="true" format-trigger="reset" v-model="noManufacturingObject.DEPTURN"
label="存款周转率(%)" type="number" size="small" />
</td>
<td>
<mobile-input
:formatter=
"formatter"
:rules=
"[
{ validator: testFloat, message: '必须为正整数或者小数' }]" :required="true" format-trigger="reset"
v-model="noManufacturingObject.FAT" type="number" label="固定资产周转率(%)" size="small" />
</td>
</tr>
<tr>
<td>
<mobile-input
:formatter=
"formatter"
:rules=
"[
{ validator: testFloat, message: '必须为正整数或者小数' }]" :required="true" format-trigger="reset" v-model="noManufacturingObject.ITR"
label="存货周转率(%)" type="number" size="small" />
</td>
<td>
<mobile-input
:formatter=
"formatter"
:required=
"true"
type=
"number"
format-trigger=
"reset"
v-model=
"noManufacturingObject.SARE"
label=
"销售收入(元)"
size=
"small"
/>
</td>
</tr>
<tr>
<td>
<mobile-input
:formatter=
"formatter"
:rules=
"[
{ pattern, message: '年限为整数' }]" :required="true" format-trigger="reset" v-model="noManufacturingObject.ESYEAR"
label="成立年限" type="digit" size="small" />
</td>
<td>
<mobile-input
:formatter=
"formatter"
:rules=
"[
{ validator: testFloat, message: floatMsg }]" :required="true" format-trigger="reset" v-model="noManufacturingObject.TASS"
label="总资产(元)" type="digit" size="small" />
</td>
</tr>
<tr>
<td
colspan=
"2"
>
<mobile-input
:required=
"true"
:rules=
"[
{ validator: testFloat, message: floatMsg }]" :formatter="formatter" format-trigger="reset" v-model="noManufacturingObject.NASS"
label="净资产(元)" type="number" size="small" />
</td>
</tr>
<tr>
<td
colspan=
"2"
>
<div
style=
"margin: 16px; display: flex; justify-content: space-around"
>
<van-button
@
click=
"reset"
style=
"width: 25%"
round
color=
"#999999"
native-type=
"button"
plain
>
重置
</van-button>
<van-button
style=
"width: 25%"
round
type=
"info"
native-type=
"submit"
>
试算
</van-button>
</div>
</td>
</tr>
</table>
</van-form>
<van-dialog
:show-cancel-button=
"false"
:show-confirm-button=
"false"
:close-on-click-overlay=
"true"
v-model=
"showDialogReject"
>
<div
class=
"dialog-box"
style=
"position: relative"
>
<div
class=
"dialog-title"
>
测算结果
</div>
<div
class=
"score-box"
>
{{
totalScore
}}
</div>
<svg
class=
"icon icon-img"
aria-hidden=
"true"
>
<use
xlink:href=
"#icon-a-cepingjieguo110x110ziyuan40"
></use>
</svg>
<van-button
class=
"submitstyle3"
block
native-type=
"button"
@
click=
"showDialogReject = false"
>
知道了
</van-button>
</div>
</van-dialog>
</div>
</
template
>
<
script
lang=
"ts"
>
import
{
Component
,
Vue
}
from
"
vue-property-decorator
"
;
import
systemApi
from
"
@/constants/api/ms-system/system.api.ts
"
;
import
IF
from
"
@/public/factory/InterFaceFactory
"
;
import
{
NativeUI
}
from
"
@/public/ts/NativeUI
"
;
/**
* @Description 非制造业试算
* @Author 王航
* @Date 2022-2-23 下午 04:32
*/
@
Component
({
name
:
"
NoManufacturingTrial
"
})
export
default
class
NoManufacturingTrial
extends
Vue
{
noManufacturingObject
:
any
=
{
//非制造业对象
GPM
:
''
,
//销售毛利率
ROE
:
''
,
//净资产收益率
ASSET
:
''
,
//资产负债率
EARNED
:
''
,
//已获息倍数
InterBearing
:
''
,
//有息负债率
ACCRECETRUN
:
''
,
//应收账款周转率
DEPTURN
:
''
,
//存款周转率
FAT
:
''
,
//固定资产周转率
ITR
:
''
,
//存货周转率
SARE
:
''
,
//销售收入
ESYEAR
:
''
,
//成立年限
TASS
:
''
,
//总资产
NASS
:
''
//净资产
};
pattern
=
/^
[
1-9
]\d
*$/
;
//整数校验
totalScore
:
any
=
''
;
//总分数
showDialogReject
=
false
;
floatMsg
=
''
;
//浮点数验证信息
formatter
()
{
}
onSubmit
(
values
:
any
)
{
// console.log("submit", values);
this
.
selectCompanyComputeInfo
();
}
selectCompanyComputeInfo
()
{
let
param
=
{
GPM
:
this
.
noManufacturingObject
.
GPM
,
//销售毛利率
ROE
:
this
.
noManufacturingObject
.
ROE
,
//净资产收益率
ASSET
:
this
.
noManufacturingObject
.
ASSET
,
//资产负债率
EARNED
:
this
.
noManufacturingObject
.
EARNED
,
//已获息倍数
InterBearing
:
this
.
noManufacturingObject
.
InterBearing
,
//有息负债率
ACCRECETRUN
:
this
.
noManufacturingObject
.
ACCRECETRUN
,
//应收账款周转率
DEPTURN
:
this
.
noManufacturingObject
.
DEPTURN
,
//存款周转率
FAT
:
this
.
noManufacturingObject
.
FAT
,
//固定资产周转率
ITR
:
this
.
noManufacturingObject
.
ITR
,
//存货周转率
SARE
:
this
.
noManufacturingObject
.
SARE
,
//销售收入
ESYEAR
:
this
.
noManufacturingObject
.
ESYEAR
,
//成立年限
TASS
:
this
.
noManufacturingObject
.
TASS
,
//总资产
NASS
:
this
.
noManufacturingObject
.
NASS
,
//净资产
COMTYPE
:
'
1
'
//0表示制造业企业,1表示非制造业
};
NativeUI
.
showWaiting
(
'
正在查询...
'
);
return
IF
.
transferDataInter
(
systemApi
.
companyMoneyComputed
,
param
).
then
((
res
:
any
)
=>
{
NativeUI
.
closeWaiting
();
if
(
res
.
code
==
1
)
{
this
.
totalScore
=
res
.
data
.
totalAch
;
//总分
console
.
log
(
this
.
totalScore
);
this
.
showDialogReject
=
true
;
}
else
{
NativeUI
.
toast
(
res
.
message
);
}
});
}
formatDate
(
date
:
any
)
{
return
`
${
date
.
getFullYear
()}
-
${
date
.
getMonth
()
+
1
}
-
${
date
.
getDate
()}
`
;
}
reset
()
{
this
.
noManufacturingObject
.
GPM
=
''
;
this
.
noManufacturingObject
.
ROE
=
''
;
this
.
noManufacturingObject
.
ASSET
=
''
;
this
.
noManufacturingObject
.
EARNED
=
''
;
this
.
noManufacturingObject
.
InterBearing
=
''
;
this
.
noManufacturingObject
.
ACCRECETRUN
=
''
;
this
.
noManufacturingObject
.
DEPTURN
=
''
;
this
.
noManufacturingObject
.
FAT
=
''
;
this
.
noManufacturingObject
.
ITR
=
''
;
this
.
noManufacturingObject
.
SARE
=
''
;
this
.
noManufacturingObject
.
ESYEAR
=
''
;
this
.
noManufacturingObject
.
TASS
=
''
;
this
.
noManufacturingObject
.
NASS
=
''
;
}
testFloat
(
val
:
any
)
{
if
(
parseFloat
(
val
)
<
0
)
{
// this.floatMsg = '必须为正数';
return
false
;
}
else
{
// this.floatMsg = '必须为整数或者小数';
return
/^
(
-
?\d
+
)(\.\d
+
)?
$/
.
test
(
val
);
}
}
}
</
script
>
<
style
scoped
>
table
{
width
:
90%
;
margin
:
0
auto
;
}
::v-deep
.van-button--info
{
background-color
:
#fd5065
;
border
:
1px
solid
#fd5065
;
}
::v-deep
.van-button__text
{
font-size
:
16px
;
}
.dialog-box
{
margin
:
0
auto
;
background
:
#fff
;
display
:
flex
;
flex-direction
:
column
;
align-items
:
center
;
width
:
300px
;
height
:
306px
;
}
.icon-img
{
width
:
120px
;
height
:
120px
;
margin-top
:
20px
;
margin-bottom
:
20px
;
color
:
rgb
(
17
,
167
,
30
);
}
.dialog-title
{
font-weight
:
bold
;
margin-top
:
10%
;
font-size
:
16px
;
color
:
#333
;
}
.score-box
{
position
:
absolute
;
font-size
:
36px
;
font-weight
:
400
;
top
:
105px
;
z-index
:
999
;
color
:
#f59a23
;
}
.submitstyle3
{
width
:
268px
;
height
:
36px
;
border-radius
:
6px
;
margin-top
:
30px
;
color
:
#fff
;
background-color
:
#ff574c
;
border-color
:
#ff574c
;
font-size
:
16px
;
text-align
:
center
;
font-weight
:
400
;
}
</
style
>
src/components/workbench/company-common-functions/business-inquiry/ContractSigningAndBilling.vue
已删除
100644 → 0
浏览文件 @
7941916e
<
template
>
<div>
合同签订及出账
</div>
</
template
>
<
script
lang=
"ts"
>
import
{
Component
,
Vue
}
from
"
vue-property-decorator
"
;
/**
* @Description 合同签订及出账
* @Author JiangTao
* @Date 2021-11-10 下午 03:32
*/
@
Component
({
name
:
"
ContractSigningAndBilling
"
,
})
export
default
class
ContractSigningAndBilling
extends
Vue
{}
</
script
>
<
style
scoped
></
style
>
src/components/workbench/company-common-functions/business-inquiry/LoanApplication.vue
已删除
100644 → 0
浏览文件 @
7941916e
<
template
>
<div>
贷款申请
</div>
</
template
>
<
script
lang=
"ts"
>
import
{
Component
,
Vue
}
from
"
vue-property-decorator
"
;
/**
* @Description 贷款申请
* @Author JiangTao
* @Date 2021-11-10 下午 03:32
*/
@
Component
({
name
:
"
LoanApplication
"
,
})
export
default
class
LoanApplication
extends
Vue
{}
</
script
>
<
style
scoped
></
style
>
src/components/workbench/company-common-functions/business-inquiry/MarketingTask.vue
已删除
100644 → 0
浏览文件 @
7941916e
<
template
>
<div
class=
"content"
>
<div
class=
"content-top"
>
<div
class=
"content-top-left"
>
营销业务12笔
</div>
<div
class=
"content-top-right"
>
<div
class=
"content-top-right-left"
>
<van-field
readonly
class=
"choose-content"
clickable
:value=
"choose_content"
@
click=
"choose = true"
/>
<van-popup
v-model=
"choose"
style=
"width: 30%"
round
position=
"center"
>
<van-picker
show-toolbar
:columns=
"type"
@
cancel=
"choose = false"
@
confirm=
"choose_t"
:default-index=
"1"
/>
</van-popup>
</div>
<div
class=
"content-top-right-right"
>
<div
class=
"search-logo"
><img
src=
"../../../../assets/images/search-logo.png"
alt=
""
/></div>
<div
class=
"search-bar"
>
<van-form>
<van-field
class=
"name"
v-model=
"companyname"
name=
"companyname"
placeholder=
"请输入企业名称"
/>
</van-form>
</div>
<div
class=
"search"
>
搜索
</div>
</div>
</div>
</div>
<div
class=
"content-bottm"
>
<div
class=
"task-list"
>
<div
class=
"task-list-left"
>
<div
class=
"task-list-left-logo"
>
<div><img
src=
"../../../../assets/svg/title.svg"
alt=
""
/></div>
</div>
<div
class=
"task-list-left-text"
>
<div
class=
"task-list-name"
>
花儿影业有限公司-客户拜访
</div>
<div
class=
"task-list-address"
>
<div><img
src=
"../../../../assets/svg/position-2.svg"
alt=
""
/></div>
<div>
0.3km
</div>
<div>
成都市武侯区天谷7路腾飞科汇城
</div>
</div>
</div>
</div>
<div
class=
"task-list-right"
>
发送短信
</div>
</div>
<div
class=
"task-list"
>
<div
class=
"task-list-left"
>
<div
class=
"task-list-left-logo"
>
<div><img
src=
"../../../../assets/svg/title.svg"
alt=
""
/></div>
</div>
<div
class=
"task-list-left-text"
>
<div
class=
"task-list-name"
>
花儿影业有限公司-客户拜访
</div>
<div
class=
"task-list-address"
>
<div><img
src=
"../../../../assets/svg/position-2.svg"
alt=
""
/></div>
<div>
0.3km
</div>
<div>
成都市武侯区天谷7路腾飞科汇城
</div>
</div>
</div>
</div>
<div
class=
"task-list-right"
>
发送短信
</div>
</div>
<div
class=
"task-list"
>
<div
class=
"task-list-left"
>
<div
class=
"task-list-left-logo"
>
<div><img
src=
"../../../../assets/svg/title.svg"
alt=
""
/></div>
</div>
<div
class=
"task-list-left-text"
>
<div
class=
"task-list-name"
>
花儿影业有限公司-客户拜访
</div>
<div
class=
"task-list-address"
>
<div><img
src=
"../../../../assets/svg/position-2.svg"
alt=
""
/></div>
<div>
0.3km
</div>
<div>
成都市武侯区天谷7路腾飞科汇城
</div>
</div>
</div>
</div>
<div
class=
"task-list-right"
>
发送短信
</div>
</div>
</div>
</div>
</
template
>
<
script
lang=
"ts"
>
import
{
Component
,
Vue
}
from
"
vue-property-decorator
"
;
import
{
Picker
}
from
"
vant
"
;
Vue
.
use
(
Picker
);
/**
* @Description 营销任务
* @Author JiangTao
* @Date 2021-11-10 下午 03:32
*/
@
Component
({
name
:
"
MarketingTask
"
,
})
export
default
class
MarketingTask
extends
Vue
{
companyname
=
""
;
choose
=
false
;
choose_content
=
""
;
type
=
[
"
全部营销
"
,
"
客户拜访
"
,
"
精准营销专项
"
,
"
公司精准信息摸排
"
,
"
招商引资企业营销
"
];
choose_t
(
value
:
any
)
{
this
.
choose_content
=
value
;
this
.
choose
=
false
;
}
}
</
script
>
<
style
scoped
>
.content
{
width
:
100%
;
height
:
calc
(
100vh
-
117px
);
padding
:
2.5%
3%
;
}
.content-top
{
width
:
100%
;
}
.content-top
{
display
:
flex
;
justify-content
:
space-between
;
align-items
:
center
;
}
.content-top-left
{
font-family
:
"Arial Normal"
,
"Arial"
;
color
:
#999999
;
}
.content-top-right
{
width
:
45%
;
display
:
flex
;
align-items
:
flex-end
;
justify-content
:
space-between
;
}
.content-top-right-right
{
width
:
60%
;
display
:
flex
;
justify-content
:
flex-end
;
align-items
:
center
;
padding-top
:
0.5%
;
}
.search-logo
{
margin-right
:
-7%
;
}
.search-bar
{
width
:
99%
;
height
:
34px
;
}
.choose-content
{
width
:
100%
;
border
:
1px
solid
rgba
(
228
,
228
,
228
,
1
);
border-radius
:
5px
;
padding
:
0
;
padding-left
:
8%
;
}
.name
{
border
:
1px
solid
rgba
(
228
,
228
,
228
,
1
);
width
:
100%
;
line-height
:
200%
;
padding-top
:
1.48%
;
padding-bottom
:
0
;
border-bottom-left-radius
:
6px
;
border-top-left-radius
:
6px
;
padding-left
:
15%
;
display
:
flex
;
background-color
:
rgba
(
255
,
255
,
255
,
0
);
}
.search
{
width
:
21.85%
;
line-height
:
34px
;
background-color
:
#fd5065
;
color
:
white
;
font-size
:
115%
;
text-align
:
center
;
border-top-right-radius
:
6px
;
border-bottom-right-radius
:
6px
;
}
::v-deep
.van-cell
{
width
:
100%
;
}
::v-deep
.van-field__control
:read-only
{
height
:
32px
;
}
.task-list
{
width
:
48%
;
display
:
flex
;
justify-content
:
space-between
;
border-bottom
:
1px
solid
rgba
(
242
,
242
,
242
,
1
);
margin-left
:
0.4%
;
padding-bottom
:
1%
;
padding-top
:
2.2%
;
}
.task-list-left
{
width
:
85%
;
display
:
flex
;
justify-content
:
flex-start
;
padding-left
:
2%
;
}
.task-list-left-logo
{
padding
:
1.775%
;
border-radius
:
7px
;
background-color
:
#d0f1ff
;
}
.task-list-left-logo
div
{
width
:
44px
;
height
:
44px
;
margin
:
0
auto
;
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
background-image
:
url("../../../../assets/svg/blue-circle.svg")
;
background-repeat
:
no-repeat
;
}
.task-list-left-logo
div
img
{
width
:
59.1%
;
}
.task-list-left-text
{
width
:
84%
;
display
:
flex
;
flex-direction
:
column
;
padding-left
:
2.5%
;
}
.task-list-name
{
width
:
100%
;
font-size
:
115%
;
color
:
#333333
;
margin-top
:
0.5%
;
margin-bottom
:
1%
;
}
.task-list-right
{
width
:
14%
;
display
:
flex
;
align-items
:
center
;
}
.task-list-address
{
display
:
flex
;
align-items
:
flex-end
;
}
.task-list-address
>
div
:nth-child
(
1
)
{
background-image
:
url("../../../../assets/svg/position-1.svg")
;
background-repeat
:
no-repeat
;
background-position-x
:
50%
;
background-position-y
:
50%
;
margin-left
:
1.5%
;
margin-right
:
1.5%
;
}
.task-list-address
>
div
:nth-child
(
2
)
{
color
:
#999999
;
}
.task-list-address
>
div
:nth-child
(
3
)
{
margin-left
:
1%
;
color
:
#999999
;
}
.content-bottm
{
display
:
flex
;
flex-wrap
:
wrap
;
justify-content
:
space-between
;
}
</
style
>
src/components/workbench/company-common-functions/business-inquiry/PeriodicInspection.vue
已删除
100644 → 0
浏览文件 @
7941916e
<
template
>
<div>
定期检查
</div>
</
template
>
<
script
lang=
"ts"
>
import
{
Component
,
Vue
}
from
"
vue-property-decorator
"
;
/**
* @Description 定期检查
* @Author JiangTao
* @Date 2021-11-10 下午 03:33
*/
@
Component
({
name
:
"
PeriodicInspection
"
,
})
export
default
class
PeriodicInspection
extends
Vue
{}
</
script
>
<
style
scoped
></
style
>
src/components/workbench/company-common-functions/business-inquiry/ProcessQuery.vue
已删除
100644 → 0
浏览文件 @
7941916e
<
template
>
<!--对公客户列表-->
<div
class=
"content"
>
<!--
<van-form
class=
"search"
>
-->
<!--
<mobile-input
label=
"申请编号"
:reset=
"resetvalue"
border=
"true"
name=
"cus_name"
v-model=
"pk_value"
placeholder=
"请输入"
size=
"small"
></mobile-input>
-->
<!--
<mobile-input
label=
"客户号"
:reset=
"resetvalue"
border=
"true"
name=
"cus_name"
v-model=
"cus_id"
placeholder=
"请输入"
size=
"small"
></mobile-input>
-->
<!--
<div
style=
"display: flex;justify-content: space-evenly;align-items: self-start"
>
-->
<!--
<van-button
color=
"#FF574C"
type=
"primary"
@
click=
"reset"
plain
style=
"width: 70px;height: 34px"
size=
"small"
>
重置
</van-button>
-->
<!--
<van-button
color=
"#FF574C"
type=
"primary"
@
click=
"selectProcess(1)"
style=
"width: 70px;height: 34px"
size=
"small"
>
查询
</van-button>
-->
<!--
</div>
-->
<!--
</van-form>
-->
<div
class=
"search"
>
<d-select
label=
"客户类型:"
:reset=
"resetvalue"
input-align=
"left"
border=
"true"
name=
"custNam"
v-model=
"appl_type"
placeholder=
"请选择客户类型"
sfield=
"PROCESS_TYPE"
size=
"small"
></d-select>
<mobile-input
label=
"搜索:"
:reset=
"resetvalue"
border=
"true"
name=
"custNam"
v-model=
"pk_value"
placeholder=
"请输入申请编号"
size=
"small"
></mobile-input>
<mobile-input
:reset=
"resetvalue"
border=
"true"
name=
"custNam"
v-model=
"cus_id"
placeholder=
"请输入客户号"
size=
"small"
></mobile-input>
<mobile-input
:reset=
"resetvalue"
border=
"true"
name=
"custNam"
v-model=
"cus_name"
placeholder=
"请输入客户名称"
size=
"small"
></mobile-input>
<div
style=
"
display: flex;
justify-content: space-evenly;
align-items: self-start;
margin-left: 10px;
"
>
<van-button
color=
"#FF574C"
type=
"primary"
@
click=
"reset"
plain
style=
"width: 70px; height: 34px"
size=
"small"
>
重置
</van-button
>
<van-button
color=
"#FF574C"
type=
"primary"
@
click=
"selectProcess(1)"
style=
"width: 70px; height: 34px; margin-left: 20px"
size=
"small"
>
搜索
</van-button
>
</div>
</div>
<scroller-view
class=
"d-page"
v-if=
"nodata"
v-calculate-height
:pulldown=
"pulldown"
:pullup=
"pullup"
:refresh-data=
"selectProcess"
:load-data=
"onloaddata"
>
<div
v-for=
"(item, index) in list"
:key=
"index"
class=
"customer-bottom-list"
@
click=
"onClientInfo(item)"
>
<div
class=
"customer-bottom-list-top"
>
<div>
<svg
class=
"icon"
aria-hidden=
"true"
>
<!--暂时方案,右侧图标无法传达到内网-->
<use
xlink:href=
"#icon-gongsimingcheng"
></use>
</svg>
</div>
<div>
{{
item
.
cus_name
}}
</div>
<span
class=
"point-box"
style=
"color: orange"
><div
style=
"background: orange"
class=
"point-rew"
></div>
{{
item
.
appl_type_cnName
}}
</span
>
</div>
<div
class=
"customer-bottom-list-bottom"
>
<div>
<div>
申请编号:
</div>
<div>
{{
item
.
pk_value
}}
</div>
</div>
<div>
<div>
客户号:
</div>
<div>
{{
item
.
cus_id
}}
</div>
</div>
<div>
<div>
申请金额:
</div>
<div>
{{
item
.
amt
}}
</div>
</div>
</div>
</div>
</scroller-view>
</div>
<!--新增客户-->
<!--
<div
class=
"d-add_user"
>
-->
<!--
<a
@
click=
"addUser"
>
-->
<!--
<div
class=
"add_logo"
>
-->
<!--
<div
class=
"add_inside"
>
-->
<!--
<span
class=
"add"
>
新增
</span><br
/>
-->
<!--
<span
class=
"add"
>
客户
</span>
-->
<!--
</div>
-->
<!--
</div>
-->
<!--
</a>
-->
<!--
</div>
-->
</
template
>
<
script
lang=
"ts"
>
import
{
Component
,
Vue
}
from
"
vue-property-decorator
"
;
import
{
NativeUI
}
from
"
@/public/ts/NativeUI
"
;
import
nettyApi
from
"
@/constants/api/ms-netty/netty.api.ts
"
;
import
IF
from
"
@/public/factory/InterFaceFactory
"
;
import
DCalendar
from
"
@/components/general/form/DCalendar.vue
"
;
/**
* @Description 流程列表
* @Author Kangzhirui
* @Date 2022-3-3 下午 21.48
*/
@
Component
({
name
:
"
ProcessQuery
"
,
components
:
{
DCalendar
},
})
export
default
class
ProcessQuery
extends
Vue
{
src
=
require
(
"
../../../../assets/svg/red-subscript.svg
"
);
s
=
{
backgroundColor
:
"
#fff4f6
"
,
border
:
"
1px solid #fd5065
"
,
color
:
"
#fd5065
"
,
backgroundImage
:
`url("
${
this
.
src
}
")`
,
backgroundRepeat
:
"
no-repeat
"
,
backgroundPosition
:
"
right bottom
"
,
};
list
:
any
=
[];
// 筛选条件
cus_name
=
""
;
custType
=
""
;
custState
=
""
;
resetvalue
=
false
;
appl_type_cnName
=
''
;
appl_type
=
''
;
pageNo
=
1
;
pullup
=
true
;
pulldown
=
true
;
nodata
=
true
;
IF
:
any
;
//流程查询
pk_value
=
''
;
cus_id
=
''
;
mounted
()
{
this
.
reset
();
this
.
selectProcess
();
}
/**
* @Description 重置
* @Author Kangzhirui
* @Date 2022-3-3 下午 21.48
*/
reset
()
{
this
.
cus_name
=
""
;
this
.
resetvalue
=
true
;
this
.
custType
=
""
;
this
.
custState
=
""
;
this
.
appl_type
=
""
;
this
.
pk_value
=
""
;
//申请编号清空
this
.
cus_id
=
""
;
//客户号清空
this
.
selectProcess
().
then
(()
=>
{
this
.
resetvalue
=
false
;
});
}
//上拉加载
onloaddata
()
{
this
.
pageNo
=
Math
.
ceil
(
this
.
list
.
length
/
10
)
+
1
;
return
this
.
selectProcess
(
this
.
pageNo
);
}
/**
* @Description 对公流程列表查询
* @Author Kangzhirui
* @Date 2022-3-3 下午 21.48
*/
selectProcess
(
pageNo
=
1
)
{
this
.
pullup
=
true
;
this
.
nodata
=
true
;
this
.
pulldown
=
true
;
const
param
=
{
cus_name
:
this
.
cus_name
,
cus_type
:
this
.
custType
,
cus_status
:
this
.
custState
,
appl_type
:
this
.
appl_type
,
// user_code: sessionStorage.getItem('user_code'),
//流程查询
pk_value
:
this
.
pk_value
,
//业务申请号
cus_id
:
this
.
cus_id
,
//客户号
maxLine
:
"
10
"
,
//每页最大数据
targetPage
:
pageNo
,
//目标页
tc
:
nettyApi
.
TRADE_CODE
.
selectProcess
};
NativeUI
.
showWaiting
(
"
正在查询...
"
);
return
IF
.
transferDataInter
(
nettyApi
.
commonRq
,
param
).
then
((
res
:
any
)
=>
{
NativeUI
.
closeWaiting
();
if
(
res
.
rc
==
"
1
"
)
{
if
(
pageNo
==
1
)
{
this
.
list
=
res
.
iCollWL__resultset
;
}
else
{
this
.
list
=
this
.
list
.
concat
(
res
.
iCollWL__resultset
);
}
}
else
{
NativeUI
.
toast
(
res
.
msg
);
}
if
(
res
.
iCollWL__resultset
&&
res
.
iCollWL__resultset
.
length
<
10
)
{
this
.
pullup
=
false
;
}
if
(
this
.
list
.
length
==
0
)
{
this
.
nodata
=
false
;
this
.
pulldown
=
false
;
}
});
}
addUser
()
{
this
.
$router
.
push
({
path
:
"
/customer-mgt/AddUserView
"
,
});
}
onClientInfo
(
item
:
any
)
{
this
.
$store
.
commit
(
"
setEmpty
"
);
this
.
$store
.
commit
(
"
setCusInfo
"
,
item
);
this
.
$router
.
push
({
path
:
"
/ProcessView
"
,
});
}
}
</
script
>
<
style
scoped
lang=
"scss"
>
.d-page
{
padding
:
10px
20px
;
}
.d-form-container
{
grid-template-columns
:
repeat
(
4
,
1fr
);
width
:
100%
;
height
:
70px
;
border
:
1px
solid
#e1e2e3
;
display
:
flex
;
align-items
:
center
;
justify-content
:
flex-start
;
}
::v-deep
.d-form-field
.van-field__label
{
display
:
flex
;
align-items
:
center
;
color
:
#212529
;
margin-left
:
10px
;
margin-right
:
0px
;
width
:
auto
;
}
.d-form-field
{
display
:
flex
;
align-items
:
center
;
padding
:
0
0
0
0
;
}
::v-deep
.van-field__body
{
display
:
-
webkit-box
;
display
:
-
webkit-flex
;
display
:
flex
;
-webkit-box-align
:
center
;
-webkit-align-items
:
center
;
align-items
:
center
;
width
:
110px
;
margin-right
:
7px
;
}
.customer
{
width
:
100%
;
background-color
:
white
;
padding-top
:
2%
;
padding-left
:
3%
;
}
.customer-top
{
display
:
flex
;
align-items
:
center
;
margin-bottom
:
2%
;
}
.name
{
width
:
90%
;
padding-top
:
1%
;
padding-bottom
:
1%
;
margin-left
:
5%
;
border
:
1px
solid
#cccccc
;
border-radius
:
5px
;
}
.d-add_user
{
position
:
absolute
;
bottom
:
50px
;
right
:
50px
;
}
.add_logo
{
width
:
95px
;
height
:
95px
;
background-image
:
url("../../../../assets/svg/red-subscript.svg")
;
background-repeat
:
no-repeat
;
}
.add_inside
{
width
:
44px
;
margin
:
0
auto
;
padding-top
:
18px
;
}
.add
{
color
:
white
;
font-size
:
16px
;
}
.customer-bottom-list
{
border-radius
:
10px
;
background-color
:
#f8fdff
;
box-shadow
:
0
0
6px
#d7d7d7
;
margin-bottom
:
16px
;
padding-bottom
:
15px
;
padding-top
:
9px
;
position
:
relative
;
}
.customer-bottom-list-top
>
div
:nth-child
(
1
)
svg
{
width
:
40px
;
height
:
40px
;
}
.customer-bottom-list-top
>
div
:nth-child
(
2
)
{
font-size
:
115%
;
font-weight
:
bold
;
font-family
:
"微软雅黑 Bold"
,
"微软雅黑 Regular"
,
"微软雅黑"
;
margin-left
:
0
.8%
;
}
.customer-bottom-list-top
{
width
:
100%
;
display
:
flex
;
justify-content
:
flex-start
;
align-items
:
center
;
margin-left
:
16px
;
}
.customer-bottom-list-top
>
div
:nth-child
(
3
)
{
width
:
28%
;
display
:
grid
;
grid-template-columns
:
repeat
(
4
,
1fr
);
justify-content
:
space-around
;
grid-column-gap
:
4px
;
align-items
:
center
;
margin-left
:
1%
;
}
.customer-bottom-list-top
>
div
:nth-child
(
3
)
div
{
color
:
#ff6e0d
;
background-color
:
rgba
(
255
,
247
,
204
,
1
);
font-size
:
80%
;
padding-top
:
2%
;
padding-bottom
:
1
.5%
;
border-radius
:
2px
;
text-align
:
center
;
width
:
100%
;
}
.customer-bottom-list-bottom
{
display
:
flex
;
padding-left
:
4
.5%
;
justify-content
:
space-between
;
align-items
:
flex-start
;
}
.customer-bottom-list-bottom
>
div
{
width
:
100%
;
display
:
flex
;
justify-content
:
flex-start
;
align-items
:
flex-start
;
}
.contact-person
{
width
:
auto
;
display
:
flex
;
justify-content
:
space-between
;
align-items
:
center
;
}
.contact-person
>
div
:nth-child
(
1
)
{
margin-right
:
10px
;
font-family
:
"Arial Normal"
,
"Arial"
;
}
.label-type
{
width
:
18%
;
border
:
1px
solid
#cccccc
;
border-radius
:
5px
;
padding-top
:
0
.2%
;
padding-bottom
:
0
.2%
;
margin-left
:
1%
;
}
::v-deep
.scroller
{
padding
:
1%
;
}
.label
{
width
:
170%
;
height
:
60%
;
display
:
flex
;
justify-content
:
space-around
;
align-items
:
center
;
}
.label
div
{
width
:
35%
;
font-size
:
13px
;
padding-top
:
1
.1%
;
padding-bottom
:
0
.7%
;
border-radius
:
5px
;
text-align
:
center
;
background-color
:
white
;
border
:
1px
solid
rgba
(
215
,
215
,
215
,
1
);
margin
:
0
.7%
1%
;
}
.backgroundlogo
{
position
:
absolute
;
width
:
60px
;
top
:
25%
;
right
:
20%
;
}
.backgroundlogo
img
{
width
:
100%
;
opacity
:
0
.5
;
}
.search
{
position
:
relative
;
width
:
100%
;
height
:
70px
;
border
:
1px
solid
#e1e2e3
;
display
:
flex
;
align-items
:
center
;
justify-content
:
flex-start
;
}
.content
{
width
:
100%
;
}
.screenbutton
{
width
:
15%
;
height
:
100%
;
display
:
flex
;
flex-direction
:
column
;
align-content
:
center
;
justify-content
:
center
;
}
.point-box
{
width
:
120px
;
display
:
flex
;
align-items
:
center
;
margin-inline-start
:
auto
;
}
.point-rew
{
width
:
12px
;
height
:
12px
;
border-radius
:
50%
;
}
::v-deep
.van-popup--bottom.van-popup--round
{
z-index
:
2102
!
important
;
}
::v-deep
.van-overlay
{
z-index
:
2101
!
important
;
}
</
style
>
src/components/workbench/company-common-functions/business-inquiry/RiskWarning.vue
已删除
100644 → 0
浏览文件 @
7941916e
<
template
>
<div>
风险预警
</div>
</
template
>
<
script
lang=
"ts"
>
import
{
Component
,
Vue
}
from
"
vue-property-decorator
"
;
/**
* @Description 风险预警
* @Author JiangTao
* @Date 2021-11-10 下午 03:33
*/
@
Component
({
name
:
"
RiskWarning
"
,
})
export
default
class
RiskWarning
extends
Vue
{}
</
script
>
<
style
scoped
></
style
>
src/components/workbench/company-common-functions/online-enquiry/AllOutlets.vue
已删除
100644 → 0
浏览文件 @
7941916e
<
template
>
<div>
AllOutlets
</div>
</
template
>
<
script
lang=
"ts"
>
import
{
Component
,
Vue
}
from
"
vue-property-decorator
"
;
/**
* @Description 全部
* @Author JiangTao
* @Date 2021-11-10 下午 03:33
*/
@
Component
({
name
:
"
AllOutlets
"
,
})
export
default
class
AllOutlets
extends
Vue
{}
</
script
>
<
style
scoped
></
style
>
src/components/workbench/company-common-functions/online-enquiry/Area.vue
已删除
100644 → 0
浏览文件 @
7941916e
<
template
>
<div>
Area
</div>
</
template
>
<
script
lang=
"ts"
>
import
{
Component
,
Vue
}
from
"
vue-property-decorator
"
;
/**
* @Description 区域查询
* @Author JiangTao
* @Date 2021-11-10 下午 03:33
*/
@
Component
({
name
:
"
Area
"
,
})
export
default
class
Area
extends
Vue
{}
</
script
>
<
style
scoped
></
style
>
src/components/workbench/company-common-functions/online-enquiry/Nearby.vue
已删除
100644 → 0
浏览文件 @
7941916e
<
template
>
<div>
<div
class=
"list-content"
>
<div>
<div>
壮锦支行
</div>
<div>
10.0Km
</div>
</div>
<div>
电话:
<span>
18688888888
</span></div>
<div>
导航:
<span>
成都市
</span></div>
<div>
<div><img
src=
"../../../../assets/svg/orange-navigation-logo.svg"
alt=
""
/>
导航
</div>
<div><img
src=
"../../../../assets/svg/tel.svg"
alt=
""
/>
电话
</div>
</div>
</div>
<div
class=
"list-content"
>
<div>
<div>
壮锦支行
</div>
<div>
10.0Km
</div>
</div>
<div>
电话:
<span>
18688888888
</span></div>
<div>
导航:
<span>
成都市
</span></div>
<div>
<div><img
src=
"../../../../assets/svg/orange-navigation-logo.svg"
alt=
""
/>
导航
</div>
<div><img
src=
"../../../../assets/svg/tel.svg"
alt=
""
/>
电话
</div>
</div>
</div>
</div>
</
template
>
<
script
lang=
"ts"
>
import
{
Component
,
Vue
}
from
"
vue-property-decorator
"
;
/**
* @Description 我的附近
* @Author JiangTao
* @Date 2021-11-10 下午 03:34
*/
@
Component
({
name
:
"
Nearby
"
,
})
export
default
class
Nearby
extends
Vue
{}
</
script
>
<
style
scoped
>
.list-content
{
width
:
95%
;
margin
:
0
auto
;
margin-bottom
:
4%
;
padding
:
2%
0
0
2%
;
background-color
:
white
;
}
.list-content
>
div
:nth-child
(
1
)
{
width
:
96%
;
display
:
flex
;
justify-content
:
space-between
;
align-items
:
flex-end
;
padding-left
:
2%
;
padding-bottom
:
1.5%
;
border-bottom
:
1px
solid
rgb
(
217
,
207
,
207
);
}
.list-content
>
div
:nth-child
(
1
)
>
div
:nth-child
(
1
)
{
font-size
:
115%
;
color
:
black
;
}
.list-content
>
div
:nth-child
(
1
)
>
div
:nth-child
(
2
)
{
font-size
:
75%
;
color
:
red
;
}
.list-content
>
div
:nth-child
(
2
),
.list-content
>
div
:nth-child
(
3
)
{
color
:
#999999
;
margin
:
3%
1%
;
}
span
{
font-family
:
"Arial Normal"
,
"Arial"
;
color
:
black
;
}
.list-content
>
div
:nth-child
(
4
)
>
*
{
width
:
47%
;
text-align
:
center
;
color
:
black
;
margin
:
3.5%
0
;
}
.list-content
>
div
:nth-child
(
4
)
>
div
:nth-child
(
1
)
{
border-right
:
1px
solid
rgb
(
217
,
207
,
207
);
}
.list-content
>
div
:nth-child
(
4
)
{
border-top
:
1px
solid
rgb
(
217
,
207
,
207
);
display
:
flex
;
justify-content
:
space-around
;
}
img
{
margin-right
:
10%
;
}
</
style
>
src/main.ts
浏览文件 @
fb7656fd
...
...
@@ -2,7 +2,7 @@
* @Author: jiangzaicheng jiangzaicheng_jzc@163.com
* @Date: 2022-07-04 15:41:06
* @LastEditors: jiangzaicheng jiangzaicheng_jzc@163.com
* @LastEditTime: 2022-07-
14 19:54:20
* @LastEditTime: 2022-07-
25 16:33:54
* @FilePath: \mcep-h5\src\main.ts
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
...
...
@@ -26,16 +26,20 @@ import "@dhccmobile/common-style";
import
"
vant/lib/index.css
"
;
import
"
@/assets/css/index.scss
"
;
import
nativeService
from
"
@/services/native.service
"
;
import
{
Step
,
Steps
}
from
'
vant
'
;
import
vueEsign
from
'
vue-esign
'
;
import
Vconsole
from
'
vconsole
'
;
import
Vant
from
'
vant
'
;
import
Element
from
'
element-ui
'
import
ant
from
'
ant-design-vue
'
import
'
ant-design-vue/dist/antd.css
'
import
{
VanComponent
}
from
"
vant/types/component
"
import
'
element-ui/lib/theme-chalk/index.css
'
;
Vue
.
use
(
Element
);
Vue
.
use
(
Vant
);
Vue
.
use
(
ant
);
Vue
.
use
(
vueEsign
);
Vue
.
use
(
Step
);
Vue
.
use
(
Steps
);
...
...
src/router/workbench.routing.ts
浏览文件 @
fb7656fd
...
...
@@ -2,7 +2,7 @@
* @Author: jiangzaicheng jiangzaicheng_jzc@163.com
* @Date: 2022-07-22 15:33:25
* @LastEditors: jiangzaicheng jiangzaicheng_jzc@163.com
* @LastEditTime: 2022-07-2
2 18:17:26
* @LastEditTime: 2022-07-2
5 18:33:12
* @FilePath: \mcep-h5\src\router\workbench.routing.ts
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
...
...
@@ -25,6 +25,27 @@ const workbenchRoutes = [
props
:
propsConvert
,
meta
:
{
keepAlive
:
false
,
requiresAuth
:
true
,
name
:
"
贷款信息
"
},
},
{
path
:
`/AccommodDetails`
,
name
:
'
AccommodDetails
'
,
component
:
()
=>
import
(
/* webpackChunkName: "customer-mgt" */
"
@/views/workbench/AccommodDetails.vue
"
),
props
:
propsConvert
,
meta
:
{
keepAlive
:
false
,
requiresAuth
:
true
,
name
:
"
贷款详情
"
},
},
{
path
:
`/Repaymentlond`
,
name
:
'
Repaymentlond
'
,
component
:
()
=>
import
(
/* webpackChunkName: "customer-mgt" */
"
@/views/workbench/Repayment.vue
"
),
props
:
propsConvert
,
meta
:
{
keepAlive
:
false
,
requiresAuth
:
true
,
name
:
"
还款计划
"
},
},
{
path
:
`/Growth`
,
name
:
'
Growth
'
,
component
:
()
=>
import
(
/* webpackChunkName: "customer-mgt" */
"
@/views/workbench/Growth.vue
"
),
props
:
propsConvert
,
meta
:
{
keepAlive
:
false
,
requiresAuth
:
true
,
name
:
"
成长值
"
},
},
{
path
:
`/CooperationBusiness`
,
name
:
'
CooperationBusiness
'
,
...
...
src/views/MyView/LevelSent.vue
浏览文件 @
fb7656fd
...
...
@@ -2,13 +2,13 @@
* @Author: jiangzaicheng jiangzaicheng_jzc@163.com
* @Date: 2022-07-14 13:57:33
* @LastEditors: jiangzaicheng jiangzaicheng_jzc@163.com
* @LastEditTime: 2022-07-
14 20:16:36
* @LastEditTime: 2022-07-
25 19:35:52
* @FilePath: \mcep-h5\src\views\MyView\LevelSent.vue
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
<
template
>
<div
class=
"rarle"
>
<van-row
class=
"el-icon-arrow-down"
>
<van-row>
<van-col
span=
"9"
>
<van-icon
name=
"arrow-left"
@
click=
"retyen()"
/>
</van-col>
...
...
@@ -80,7 +80,7 @@
</
template
>
</div>
</van-row>
</div>
</div>
</template>
...
...
src/views/login/ForgetPassView.vue
浏览文件 @
fb7656fd
...
...
@@ -2,7 +2,7 @@
* @Author: jiangzaicheng jiangzaicheng_jzc@163.com
* @Date: 2022-07-04 15:41:06
* @LastEditors: jiangzaicheng jiangzaicheng_jzc@163.com
* @LastEditTime: 2022-07-
08 15:28:45
* @LastEditTime: 2022-07-
25 09:51:08
* @FilePath: \mcep-h5\src\views\authentication\LoginView.vue
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
...
...
@@ -13,7 +13,7 @@
</div>
<div
class=
"login"
>
<van-row
class=
"el-icon-arrow-down"
style=
"padding: 10% 0%;"
>
<van-row
style=
"padding: 10% 0%;"
>
<van-col
span=
"24"
>
<p
class=
"polog"
><span
class=
"font-size-18-dhc"
style=
"padding: 2% 0%;font-weight: 600;"
>
密码重置
</span>
</p>
</van-col>
...
...
@@ -40,7 +40,7 @@
<span
class=
"sopan"
>
短信验证码
</span>
<div>
<van-row
class=
"el-icon-arrow-down"
>
<van-row
>
<van-col
span=
"16"
>
<van-field
v-model=
"sms"
center
clearable
placeholder=
"请输入短信验证码"
>
<!--
<van-divider
/>
-->
...
...
src/views/login/Register.vue
浏览文件 @
fb7656fd
...
...
@@ -2,7 +2,7 @@
* @Author: jiangzaicheng jiangzaicheng_jzc@163.com
* @Date: 2022-07-04 15:41:06
* @LastEditors: jiangzaicheng jiangzaicheng_jzc@163.com
* @LastEditTime: 2022-07-
08 15:04:25
* @LastEditTime: 2022-07-
25 09:50:14
* @FilePath: \mcep-h5\src\views\authentication\LoginView.vue
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
...
...
@@ -13,7 +13,7 @@
</div>
<div
class=
"login"
>
<van-row
class=
"el-icon-arrow-down"
style=
"padding: 10% 0%;"
>
<van-row
style=
"padding: 10% 0%;"
>
<van-col
span=
"24"
>
<p
class=
"polog"
><span
class=
"font-size-18-dhc"
style=
"padding: 2% 0%;font-weight: 600;"
>
用户注册
</span>
</p>
</van-col>
...
...
@@ -29,7 +29,7 @@
<span
class=
"sopan"
>
短信验证码
</span>
<div>
<van-row
class=
"el-icon-arrow-down"
>
<van-row
>
<van-col
span=
"16"
>
<van-field
v-model=
"sms"
center
clearable
placeholder=
"请输入短信验证码"
>
<!--
<van-divider
/>
-->
...
...
src/views/workbench/AccommodDetails.vue
0 → 100644
浏览文件 @
fb7656fd
<!--
* @Author: jiangzaicheng jiangzaicheng_jzc@163.com
* @Date: 2022-07-07 16:13:13
* @LastEditors: jiangzaicheng jiangzaicheng_jzc@163.com
* @LastEditTime: 2022-07-25 13:47:03
* @FilePath: \mcep-h5\src\components\common\Bottom.vue
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
<
template
>
<div
class=
"body"
>
<div
class=
"rarle"
>
<tatle-bar
:tatle=
"tatleName"
></tatle-bar>
</div>
<div>
<van-tabs>
<van-tab
title=
"申请详情"
>
<div
class=
"layout"
>
<van-row
type=
"flex"
class=
"CoolName"
>
<van-col
span=
"24"
class=
"coollayout"
>
个人信息
</van-col>
</van-row>
<div
class=
"layoutbody"
>
<van-row
type=
"flex"
class=
"layoutName"
>
<van-col
span=
"24"
>
<van-cell-group>
<van-field
label=
"身份证号"
:value=
"idcard"
readonly
input-align=
"right"
/>
</van-cell-group>
</van-col>
</van-row>
<van-row
type=
"flex"
class=
"layoutName"
>
<van-col
span=
"24"
>
<van-cell-group>
<van-field
label=
"姓名"
:value=
"name"
readonly
input-align=
"right"
/>
</van-cell-group>
</van-col>
</van-row>
<van-row
type=
"flex"
class=
"layoutName"
>
<van-col
span=
"24"
>
<van-cell-group>
<van-field
label=
"电话"
:value=
"phone"
readonly
input-align=
"right"
/>
</van-cell-group>
</van-col>
</van-row>
</div>
<van-row
type=
"flex"
class=
"CoolName"
>
<van-col
span=
"24"
class=
"coollayout"
>
借款信息
</van-col>
</van-row>
<div
class=
"layoutbody"
>
<van-row
type=
"flex"
class=
"layoutName"
>
<van-col
span=
"24"
>
<van-cell-group>
<van-field
label=
"贷款品种"
:value=
"varieties"
readonly
input-align=
"right"
/>
</van-cell-group>
</van-col>
</van-row>
<van-row
type=
"flex"
class=
"layoutName"
>
<van-col
span=
"24"
>
<van-cell-group>
<van-field
label=
"借款金额"
:value=
"amount"
readonly
input-align=
"right"
/>
</van-cell-group>
</van-col>
</van-row>
<van-row
type=
"flex"
class=
"layoutName"
>
<van-col
span=
"24"
>
<van-cell-group>
<van-field
label=
"借款期限"
:value=
"borrow"
readonly
input-align=
"right"
/>
</van-cell-group>
</van-col>
</van-row>
<van-row
type=
"flex"
class=
"layoutName"
>
<van-col
span=
"24"
>
<van-cell-group>
<van-field
label=
"借款用途"
:value=
"purposes"
readonly
input-align=
"right"
/>
</van-cell-group>
</van-col>
</van-row>
<van-row
type=
"flex"
class=
"layoutName"
>
<van-col
span=
"24"
>
<van-cell-group>
<van-field
label=
"业务办理地区"
:value=
"area"
readonly
input-align=
"right"
/>
</van-cell-group>
</van-col>
</van-row>
<van-row
type=
"flex"
class=
"layoutName"
>
<van-col
span=
"24"
>
<van-cell-group>
<van-field
label=
"意向机构"
:value=
"intentions"
readonly
input-align=
"right"
/>
</van-cell-group>
</van-col>
</van-row>
<van-row
type=
"flex"
class=
"layoutName"
>
<van-col
span=
"24"
>
<van-cell-group>
<van-field
label=
"客户经理"
:value=
"customer"
readonly
input-align=
"right"
/>
</van-cell-group>
</van-col>
</van-row>
</div>
</div>
</van-tab>
<van-tab
title=
"业务进度"
>
<van-steps
direction=
"vertical"
:active=
"0"
>
<van-step>
<van-row
type=
"flex"
class=
"layoutStep"
gutter=
"10"
>
<van-col
span=
"4"
class=
"coolllo"
>
童菲可
</van-col>
<van-col
span=
"6"
class=
"coolllo"
>
总行审批岗
</van-col>
<van-col
span=
"12"
class=
"coolllo"
>
2021/02/21 03:14:12
</van-col>
</van-row>
</van-step>
<van-step>
<van-row
type=
"flex"
class=
"layoutStep"
gutter=
"10"
>
<van-col
span=
"4"
class=
"coolllo"
>
孙先辉
</van-col>
<van-col
span=
"6"
class=
"coolllo"
>
支行行长
</van-col>
<van-col
span=
"12"
class=
"coolllo"
>
2021/02/21 03:14:12
</van-col>
</van-row>
<van-row
type=
"flex"
class=
"layoutStep"
gutter=
"10"
>
<van-col
span=
"24"
class=
"coolllo"
>
同意
</van-col>
</van-row>
</van-step>
<van-step>
<van-row
type=
"flex"
class=
"layoutStep"
gutter=
"10"
>
<van-col
span=
"4"
class=
"coolllo"
>
李新林
</van-col>
<van-col
span=
"6"
class=
"coolllo"
>
支行审批岗
</van-col>
<van-col
span=
"12"
class=
"coolllo"
>
2021/02/21 03:14:12
</van-col>
</van-row>
<van-row
type=
"flex"
class=
"layoutStep"
gutter=
"10"
>
<van-col
span=
"24"
class=
"coolllo"
>
同意
</van-col>
</van-row>
</van-step>
<van-step>
<van-row
type=
"flex"
class=
"layoutStep"
gutter=
"10"
>
<van-col
span=
"4"
class=
"coolllo"
>
赵飞
</van-col>
<van-col
span=
"6"
class=
"coolllo"
>
客户经理
</van-col>
<van-col
span=
"12"
class=
"coolllo"
>
2021/02/21 03:14:12
</van-col>
</van-row>
<van-row
type=
"flex"
class=
"layoutStep"
gutter=
"10"
>
<van-col
span=
"24"
class=
"coolllo"
>
同意
</van-col>
</van-row>
</van-step>
</van-steps>
</van-tab>
</van-tabs>
</div>
</div>
</
template
>
<
script
lang=
"ts"
>
import
{
Component
,
Vue
,
Prop
,
Watch
,
Emit
}
from
"
vue-property-decorator
"
;
/*
* title
*/
@
Component
({
name
:
"
AccommodDetails
"
})
export
default
class
AccommodDetails
extends
Vue
{
tatleName
=
"
我的贷款
"
//身份证
idcard
=
"
23232111978211
"
//姓名
name
=
"
刘明明
"
//电话
phone
=
"
15665025053
"
//贷款详情
varieties
=
"
一般经营性贷款
"
//借款金融
amount
=
"
500万
"
//借款期限
borrow
=
"
24月
"
//借款用途
purposes
=
"
经营
"
//业务办理地区
area
=
"
黑龙江省-哈尔滨市-松北区
"
//意向机构
intentions
=
"
哈尔滨农信社松北区枝江大道分社
"
//客户经理
customer
=
"
赵恒请
"
}
</
script
>
<
style
scoped
lang=
"scss"
>
.layout
{
background
:
rgba
(
249
,
249
,
249
,
1
);
}
.coollayout
{
margin
:
3%
;
}
.CoolName
{
font-family
:
'Arial Negreta'
,
'Arial Normal'
,
'Arial'
;
font-weight
:
700
;
font-style
:
normal
;
font-size
:
16px
;
}
.layoutName
{
font-family
:
'Arial Normal'
,
'Arial'
;
font-weight
:
400
;
font-style
:
normal
;
font-size
:
13px
;
color
:
#333333
;
}
</
style
>
src/views/workbench/Accommodation.vue
浏览文件 @
fb7656fd
...
...
@@ -2,7 +2,7 @@
* @Author: jiangzaicheng jiangzaicheng_jzc@163.com
* @Date: 2022-07-07 16:13:13
* @LastEditors: jiangzaicheng jiangzaicheng_jzc@163.com
* @LastEditTime: 2022-07-2
2 19:24:30
* @LastEditTime: 2022-07-2
5 14:38:19
* @FilePath: \mcep-h5\src\components\common\Bottom.vue
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
...
...
@@ -15,7 +15,8 @@
<div>
<van-tabs>
<van-tab
title=
"未结清"
>
<picket-acced
:productParam=
"productParam"
class=
"acced"
></picket-acced>
<picket-acced
:productParam=
"productParam"
class=
"acced"
@
onClickDetails=
"onClickDetails"
@
onClickPicket=
"onClickPicket"
></picket-acced>
</van-tab>
<van-tab
title=
"已结清"
>
<picket-acced
:productParam=
"productParamlist"
class=
"acced"
></picket-acced>
...
...
@@ -23,8 +24,6 @@
</van-tabs>
</div>
</div>
</
template
>
...
...
@@ -44,14 +43,14 @@ export default class Accommodation extends Vue {
money
:
"
30
"
,
guarantee
:
"
担保
"
,
month
:
"
12
"
,
status
:
2
,
status
:
2
,
time
:
"
2022-02-18
"
},
{
productname
:
"
'企业之星'流动之星贷款
"
,
money
:
"
30
"
,
guarantee
:
"
担保
"
,
month
:
"
12
"
,
status
:
2
,
status
:
2
,
time
:
"
2022-02-18
"
}]
//已结清
...
...
@@ -59,11 +58,23 @@ export default class Accommodation extends Vue {
productname
:
"
'llll'流动之星贷款
"
,
money
:
"
30
"
,
guarantee
:
"
担保
"
,
status
:
3
,
status
:
3
,
month
:
"
12
"
,
time
:
"
2022-02-18
"
}]
//点击还款计划事件
onClickDetails
()
{
this
.
$router
.
push
({
name
:
"
AccommodDetails
"
})
}
//点击body事件
onClickPicket
()
{
this
.
$router
.
push
({
name
:
"
Repaymentlond
"
})
}
}
...
...
src/views/workbench/Growth.vue
0 → 100644
浏览文件 @
fb7656fd
<!--
* @Author: jiangzaicheng jiangzaicheng_jzc@163.com
* @Date: 2022-07-07 16:13:13
* @LastEditors: jiangzaicheng jiangzaicheng_jzc@163.com
* @LastEditTime: 2022-07-25 19:37:06
* @FilePath: \mcep-h5\src\components\common\Bottom.vue
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
<
template
>
<div
class=
"rarle"
>
<van-row>
<van-col
span=
"9"
>
<van-icon
name=
"arrow-left"
@
click=
"retyen()"
/>
</van-col>
<van-col
span=
"15"
>
{{
tatleName
}}
</van-col>
</van-row>
<div
class=
"card"
>
<van-row
type=
"flex"
justify=
"center"
class=
"integral"
>
<van-col
span=
"24"
style=
"font-size: 24px;font-weight: 900; margin-top: 10%;"
>
{{
number
}}
</van-col>
</van-row>
<van-row
type=
"flex"
justify=
"center"
class=
"integrall"
>
<van-col
span=
"24"
>
{{
growthName
}}
</van-col>
</van-row>
<van-row
type=
"flex"
class=
"layoutStep"
gutter=
"2"
>
<van-col
span=
"24"
>
<van-steps
:active=
"2"
:active-icon=
"img"
:finish-icon=
"img"
active-color=
" #FFA121"
>
<van-step></van-step>
<van-step></van-step>
<van-step></van-step>
<van-step></van-step>
</van-steps>
</van-col>
</van-row>
<van-row
type=
"flex"
class=
"layoutDiv"
gutter=
"2"
>
<van-col
span=
"24"
class=
"layoutName"
>
距离升级三星用户还差1468成长值
</van-col>
</van-row>
</div>
<div
class=
"frist_type"
>
<div
class=
"layoutSeep"
v-for=
"(item, index) in growthList"
:key=
"index"
>
<van-row
type=
"flex"
class=
"layoutDetils"
>
<van-col
span=
"12"
class=
"repaymentName"
>
<van-row
type=
"flex"
>
<van-col
span=
"24"
class=
"records"
>
{{
item
.
records
}}
</van-col>
</van-row>
<van-row
type=
"flex"
>
<van-col
span=
"24"
class=
"time"
>
{{
item
.
time
}}
</van-col>
</van-row>
</van-col>
<van-col
span=
"12"
class=
"repaymentNumber"
>
<van-col
span=
"24"
class=
"numberlive"
>
{{
item
.
number
}}
</van-col>
</van-col>
</van-row>
</div>
</div>
</div>
</
template
>
<
script
lang=
"ts"
>
import
{
Component
,
Vue
,
Prop
,
Watch
,
Emit
}
from
"
vue-property-decorator
"
;
import
'
ant-design-vue/dist/antd
'
/*
* title
*/
@
Component
({
name
:
"
Growth
"
})
export
default
class
Growth
extends
Vue
{
number
:
string
|
undefined
=
"
532
"
;
//额度
growthName
:
string
|
undefined
=
"
成长值
"
;
//额度大写
tatleName
=
"
成长值明细
"
img
=
require
(
"
@/assets/images/stars.png
"
)
//数据源growthList
growthList
=
[{
records
:
"
转入10000元
"
,
time
:
"
2021/02/21 03:14:12
"
,
number
:
"
+10
"
},
{
records
:
"
转入10000元
"
,
time
:
"
2021/02/21 03:14:12
"
,
number
:
"
+10
"
},
{
records
:
"
转入10000元
"
,
time
:
"
2021/02/21 03:14:12
"
,
number
:
"
+10
"
}]
}
</
script
>
<
style
scoped
lang=
"scss"
>
.card
{
//background-image: url("../../assets/images/mycard.png");
margin
:
0px
auto
;
background-color
:
rgba
(
255
,
255
,
255
,
1
);
position
:
absolute
;
box-shadow
:
0px
0px
10px
rgba
(
0
,
0
,
0
,
0
.12156862745098
);
top
:
13%
;
/* left: calc(100vh - -15px); */
margin
:
0px
auto
;
right
:
4%
;
width
:
90%
;
height
:
30%
;
/* margin: 2% auto; */
border-radius
:
5px
;
/* display: flex; */
font-weight
:
400
;
font-style
:
normal
;
}
.layoutName
{
text-align
:
center
;
font-family
:
'Arial Normal'
,
'Arial'
;
font-weight
:
400
;
font-style
:
normal
;
font-size
:
10px
;
letter-spacing
:
normal
;
color
:
#333333
;
}
.layoutStep
{
text-align
:
center
;
}
.integral
{
//margin-top: 10%;
/* margin-left: 20%; */
text-align
:
center
;
width
:
90%
;
height
:
66px
;
margin
:
0px
auto
;
font-size
:
36px
;
color
:
#FFA121
;
}
.integrall
{
//margin-top: 10%;
/* margin-left: 20%; */
text-align
:
center
;
color
:
#FFA121
;
font-size
:
12px
;
}
.last
{
position
:
absolute
;
height
:
100-20vh
;
background
:
#ffffff
;
overflow
:
visible
;
}
// .frist_type {
// // border: 1px solid;
// width: 100%;
// height: 100%;
// border-radius: 70px 70px 0px 0px;
// position: absolute;
// top: 20%;
// background-color: #fff;
// }
.frist_type
{
margin-top
:
30%
;
background-image
:
url('../../assets/images/backageImg.png')
;
background-size
:
100%
100%
;
height
:
85%
;
}
.frist
{
margin-left
:
6%
;
text-rendering
:
optimizelegibility
;
font-feature-settings
:
"kern"
;
font-kerning
:
normal
;
font-size
:
14px
;
}
.second
{
//margin-left: 6%;
width
:
90%
;
margin
:
0px
auto
;
}
.third
{
width
:
90%
;
margin
:
0px
auto
;
// margin-left: 6%;
font-size
:
10px
;
color
:
rgba
(
0
,
0
,
0
,
0
.8
);
text-rendering
:
optimizelegibility
;
font-feature-settings
:
"kern"
;
font-kerning
:
normal
;
}
.img
{
width
:
85%
;
}
.van-col--9
{
margin-top
:
5%
;
font-size
:
18px
;
color
:
#ffffff
;
}
.van-col--15
{
margin-top
:
5%
;
font-size
:
18px
;
color
:
#ffffff
;
}
.rarle
{
width
:
100%
;
height
:
100%
;
background
:
linear-gradient
(
90deg
,
rgba
(
118
,
190
,
250
,
1
)
0%
,
rgba
(
54
,
114
,
241
,
1
)
99%
);
}
.third-style
{
font-size
:
10px
;
text-align
:
center
;
color
:
rgb
(
255
,
193
,
74
)
}
.vanrowFlex
{
margin-top
:
2%
;
}
.lusspolid
{
color
:
#976401
;
font-size
:
14px
;
}
.vanclo
{
margin
:
20%
0%
4%
6%
;
/* margin-left: 2%; */
/* margin-top: 20%; */
font-weight
:
500
;
font-size
:
14px
;
text-align
:
left
;
}
.d-tattle
{
margin-top
:
28%
;
}
.priductName
{
padding-top
:
2%
;
}
.imglittle
{
padding-top
:
2%
;
}
.litterParam
{
width
:
90%
;
margin
:
0px
auto
;
background-color
:
rgba
(
255
,
255
,
255
,
1
);
border
:
none
;
border-radius
:
4px
;
-moz-box-shadow
:
0px
0px
;
box-shadow
:
0
2px
12px
0
rgba
(
0
,
0
,
0
,
0
.1
);
height
:
40px
;
}
.vanrow
{
margin-top
:
6%
;
margin-left
:
2%
;
}
.tatle
{
width
:
100%
;
height
:
100%
;
}
.icon
{
width
:
40px
;
height
:
40px
;
}
.live
{
font-size
:
12px
;
color
:
#CE8B0B
;
}
</
style
>
src/views/workbench/Repayment.vue
0 → 100644
浏览文件 @
fb7656fd
<!--
* @Author: jiangzaicheng jiangzaicheng_jzc@163.com
* @Date: 2022-07-07 16:13:13
* @LastEditors: jiangzaicheng jiangzaicheng_jzc@163.com
* @LastEditTime: 2022-07-25 18:17:02
* @FilePath: \mcep-h5\src\components\common\Bottom.vue
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
<
template
>
<div
class=
"body"
>
<div
class=
"rarle"
>
<tatle-bar
:tatle=
"tatleName"
class=
"d-table"
></tatle-bar>
</div>
<div
class=
"rool"
>
<van-row
type=
"flex"
>
<van-col
span=
"24"
class=
"title"
>
贷款额度
</van-col>
</van-row>
<van-row
type=
"flex"
justify=
"center"
class=
"integral"
>
<van-col
span=
"24"
style=
"font-size: 24px;font-weight: 900; margin: 14px auto;"
>
{{
money
}}
</van-col>
</van-row>
<van-row
type=
"flex"
justify=
"center"
class=
"integrall"
>
<van-col
span=
"24"
>
{{
moneyName
}}
</van-col>
</van-row>
<van-row
type=
"flex"
class=
"layoutStep"
gutter=
"2"
>
<van-col
span=
"7"
class=
"coolllo"
>
下期还款日期
</van-col>
<van-col
span=
"9"
class=
"coolllo"
>
2021/02/21 03:14:12
</van-col>
<van-col
span=
"4"
class=
"coolllo"
>
还款金额
</van-col>
<van-col
span=
"4"
class=
"coolllo"
>
2000
</van-col>
</van-row>
</div>
<div
class=
"clltion"
>
<van-row
type=
"flex"
class=
"layoutSeep"
>
<van-col
span=
"10"
class=
"repaymentName"
>
还款计划信息
</van-col>
<van-col
span=
"14"
class=
"rain"
>
单位:万元
</van-col>
</van-row>
</div>
<div>
<a-table
:columns=
"columns"
:data-source=
"data"
tableLayout=
"fixed "
size=
"small"
:scroll=
"
{ y: '100%' }"
columnWidth=16 width=16 style="font-text:10px;" align="center" :pagination="false">
</a-table>
</div>
</div>
</
template
>
<
script
lang=
"ts"
>
import
{
Component
,
Vue
,
Prop
,
Watch
,
Emit
}
from
"
vue-property-decorator
"
;
import
'
ant-design-vue/dist/antd
'
/*
* title
*/
@
Component
({
name
:
"
Repayment
"
})
export
default
class
Repayment
extends
Vue
{
money
:
string
|
undefined
=
"
¥500万元
"
;
//额度
moneyName
:
string
|
undefined
=
"
伍佰万元
"
;
//额度大写
tatleName
=
"
还款计划
"
//colum
columns
=
[
{
title
:
'
期次
'
,
dataIndex
:
'
Period
'
,
key
:
'
Period
'
,
},
{
title
:
'
还款日期
'
,
dataIndex
:
'
Repayment
'
,
key
:
'
Repayment
'
,
},
{
title
:
'
偿还利息
'
,
dataIndex
:
'
principal
'
,
key
:
'
principal
'
,
},
{
title
:
'
偿还本金
'
,
dataIndex
:
'
Repay
'
,
key
:
'
Repay
'
},
{
title
:
'
偿还利息
'
,
dataIndex
:
'
interest
'
,
key
:
'
interest
'
,
},
{
title
:
'
剩余利息
'
,
dataIndex
:
'
residual
'
,
key
:
'
residual
'
,
},
];
//data
data
=
[
{
key
:
"
1
"
,
Period
:
"
1
"
,
Repayment
:
"
2020-01-01
"
,
principal
:
"
1100
"
,
Repay
:
"
1000
"
,
interest
:
"
10000
"
,
residual
:
"
1000
"
},
{
key
:
"
1
"
,
Period
:
"
1
"
,
Repayment
:
"
2020-01-01
"
,
principal
:
"
1100
"
,
Repay
:
"
1000
"
,
interest
:
"
10000
"
,
residual
:
"
1000
"
},
{
key
:
"
1
"
,
Period
:
"
1
"
,
Repayment
:
"
2020-01-01
"
,
principal
:
"
1100
"
,
Repay
:
"
1000
"
,
interest
:
"
10000
"
,
residual
:
"
1000
"
},
{
key
:
"
1
"
,
Period
:
"
1
"
,
Repayment
:
"
2020-01-01
"
,
principal
:
"
1100
"
,
Repay
:
"
1000
"
,
interest
:
"
10000
"
,
residual
:
"
1000
"
},
{
key
:
"
1
"
,
Period
:
"
1
"
,
Repayment
:
"
2020-01-01
"
,
principal
:
"
1100
"
,
Repay
:
"
1000
"
,
interest
:
"
10000
"
,
residual
:
"
1000
"
},
];
}
</
script
>
<
style
scoped
lang=
"scss"
>
.d-table
{
width
:
100%
;
height
:
30vh
;
}
.clltion
{}
.repaymentName
{
text-align
:
center
;
font-family
:
'Arial Negreta'
,
'Arial Normal'
,
'Arial'
;
font-weight
:
700
;
font-style
:
normal
;
font-size
:
16px
;
}
.ant-table-column-title
{
font-family
:
'Arial Normal'
,
'Arial'
;
font-weight
:
400
;
font-style
:
normal
;
font-size
:
12px
;
letter-spacing
:
normal
;
color
:
#333333
;
}
.rain
{
padding-right
:
4%
;
text-align
:
right
;
font-family
:
'Arial Normal'
,
'Arial'
;
font-weight
:
400
;
font-style
:
normal
;
font-size
:
13px
;
letter-spacing
:
normal
;
color
:
#333333
;
font-size
:
12px
;
}
.layoutSeep
{
margin-top
:
26%
;
}
.title
{
margin-top
:
10%
;
font-size
:
14px
;
text-align
:
center
;
font-family
:
'Arial Normal'
,
'Arial'
,
sans-serif
;
font-weight
:
400
;
font-style
:
normal
;
letter-spacing
:
normal
;
color
:
#999999
;
vertical-align
:
none
;
text-align
:
center
;
line-height
:
normal
;
text-transform
:
none
;
}
.layoutStep
{
margin
:
5%
auto
;
text-align
:
center
;
}
.integral
{
//margin-top: 10%;
/* margin-left: 20%; */
text-align
:
center
;
width
:
90%
;
height
:
66px
;
margin
:
0px
auto
;
font-size
:
36px
;
color
:
#FFA121
;
background-image
:
url('../../assets/images/tw.png')
;
}
.integrall
{
//margin-top: 10%;
/* margin-left: 20%; */
text-align
:
center
;
color
:
#FFA121
;
font-size
:
14px
;
}
.rool
{
margin
:
0px
auto
;
background-color
:
rgba
(
255
,
255
,
255
,
1
);
position
:
absolute
;
box-shadow
:
0px
0px
10px
rgba
(
0
,
0
,
0
,
0
.12156862745098
);
top
:
13%
;
/* left: calc(100vh - -15px); */
margin
:
0px
auto
;
right
:
4%
;
width
:
90%
;
height
:
30%
;
/* margin: 2% auto; */
border-radius
:
5px
;
/* display: flex; */
font-weight
:
400
;
font-style
:
normal
;
}
.coolllo
{
font-family
:
'Arial Normal'
,
'Arial'
;
font-weight
:
400
;
font-style
:
normal
;
font-size
:
12px
;
letter-spacing
:
normal
;
color
:
#333333
;
}
</
style
>
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录