Commit 105d2402 authored by 李晓兵's avatar 李晓兵

Merge branch 'develop' of https://hel.hand-china.com/xugong/hls-xcmg-vue-app into develop

parents 354d6dc3 bc00c0ed
Pipeline #4286 canceled with stages
......@@ -25,11 +25,11 @@
</div>
<div class="userInfo">租赁产品</div>
<list-item :item-height="44">
<item :showArrow="true" @click.native="showModalValue=true">
<item :showArrow="true" @click.native="selectProductLine">
<div slot="name">产品线</div>
<input slot="content" readonly placeholder="暂无信息" >
<input slot="content" v-model="saveInfo.division_n" readonly placeholder="暂无信息" >
</item>
<item :showArrow="true">
<item :showArrow="true" @click.native="getProduct">
<div slot="name">产品型号</div>
<input slot="content" readonly placeholder="暂无信息" >
</item>
......@@ -49,37 +49,44 @@
</item>
<item>
<div slot="name">设备单价</div>
<CurrencyInput slot="content" readonly placeholder="暂无信息" /></item>
<CurrencyInput slot="content" readonly placeholder="暂无信息" />
</item>
<item>
<div slot="name">融资金额</div>
<CurrencyInput slot="content" readonly placeholder="暂无信息" /></item>
<CurrencyInput slot="content" readonly placeholder="暂无信息" />
</item>
<item>
<div slot="name">首付比例</div>
<input slot="content" readonly placeholder="暂无信息" >
</item>
<item>
<div slot="name">首付款</div>
<CurrencyInput slot="content" readonly placeholder="暂无信息" /></item>
<CurrencyInput slot="content" readonly placeholder="暂无信息" />
</item>
<item>
<div slot="name">保证金比例</div>
<input slot="content" readonly placeholder="暂无信息" >
</item>
<item>
<div slot="name">保证金</div>
<CurrencyInput slot="content" readonly placeholder="暂无信息" /></item>
<CurrencyInput slot="content" readonly placeholder="暂无信息" />
</item>
<item>
<div slot="name">手续费比例</div>
<input slot="content" readonly placeholder="暂无信息" >
</item>
<item>
<div slot="name">手续费</div>
<CurrencyInput slot="content" readonly placeholder="暂无信息" /></item>
<CurrencyInput slot="content" readonly placeholder="暂无信息" />
</item>
<item>
<div slot="name">GPS费用</div>
<CurrencyInput slot="content" readonly placeholder="暂无信息" /></item>
<CurrencyInput slot="content" readonly placeholder="暂无信息" />
</item>
<item>
<div slot="name">保险押金</div>
<CurrencyInput slot="content" readonly placeholder="暂无信息" /></item>
<CurrencyInput slot="content" readonly placeholder="暂无信息" />
</item>
<item class="date-check">
<div slot="name">预计付款日</div>
<input slot="content" readonly placeholder="暂无信息" >
......@@ -110,7 +117,7 @@
</item>
<item :showArrow="true" @click.native="goPlan">
<div slot="name">查看还款计划</div>
<input slot="content" readonly>
<input slot="content" readonly >
</item>
</list-item>
</h-content>
......@@ -126,31 +133,35 @@
</h-header>
<h-content>
<div class="search has-header">
<input v-model="keyWord" placeholder="请输入产品名称" >
<input v-model="keyWordProduct" placeholder="请输入产品名称" >
</div>
<div class="division-box">
<list-item v-for="(item,index) in divisionLists" :key="index">
<item :proportion="[1,4]" @click.native="goDetailed(item.product_id,item.collect_status,item.bp_id)">
<div slot="name" class="item-pic">
<img :src="item.url" alt="">
</div>
<div slot="content" class="item-content">
<div class="pro-name">
<p>{{ item.product_name }}</p>
<img class="arrow" src="@/assets/productQuery/getIn.png" alt="" >
</div>
<div class="centers">
<p class="firsts1">{{ item.bp_type_n }}</p>
<p class="seconds1">{{ item.bp_name }}</p>
<scroll ref="scroll" :updateData="[divisionLists]" :pullUp="true" @pullingUp="getProduct">
<list-item v-for="(item,index) in divisionLists" :key="index">
<item
:proportion="[1,4]"
@click.native="goDetailed(item.product_id,item.collect_status,item.bp_id)"
>
<div slot="name" class="item-pic">
<img :src="item.url" alt >
</div>
<div class="centers">
<p class="firsts1">参数项</p>
<p class="seconds1">{{ item.product_code }}</p>
<div slot="content" class="item-content">
<div class="pro-name">
<p>{{ item.product_name }}</p>
<img class="arrow" src="@/assets/productQuery/getIn.png" alt >
</div>
<div class="centers">
<p class="firsts1">{{ item.bp_type_n }}</p>
<p class="seconds1">{{ item.bp_name }}</p>
</div>
<div class="centers">
<p class="firsts1">参数项</p>
<p class="seconds1">{{ item.product_code }}</p>
</div>
</div>
</div>
</item>
</list-item>
</div>
</item>
</list-item>
</scroll></div>
</h-content>
</h-view>
</h-modal>
......@@ -167,7 +178,7 @@
<div class="division-box">
<section v-for="(item,index) in businessLists" :key="index">
<div class="descript" @click="goDetails(item.product_plan_id)">
<img src="@/assets/trial/product.png" alt="">
<img src="@/assets/trial/product.png" alt >
<p class="produc">{{ item.product_plan_id_n }}</p>
</div>
<div class="tario">
......@@ -209,97 +220,164 @@ export default {
return {
showModalValue: false,
showModalBusiness: false,
keyWordProduct: '',
keyWord: '',
pagenum: 1,
businessLists: [
{
'lease_times': '12',
'deposit_ratio_n': ' 16.00%',
'lease_charge_ratio_n': ' 4.00%',
'product_plan_id': '69',
'lease_charge_ratio': '0.04',
'int_rate_n': ' 6.00%',
'int_rate': '0.06',
'deposit_ratio': '0.16',
'product_plan_id_n': '等额本息-按月-12期',
lease_times: '12',
deposit_ratio_n: ' 16.00%',
lease_charge_ratio_n: ' 4.00%',
product_plan_id: '69',
lease_charge_ratio: '0.04',
int_rate_n: ' 6.00%',
int_rate: '0.06',
deposit_ratio: '0.16',
product_plan_id_n: '等额本息-按月-12期',
},
{
'lease_times': '4',
'deposit_ratio_n': ' 10.00%',
'lease_charge_ratio_n': ' 5.00%',
'product_plan_id': '70',
'lease_charge_ratio': '0.05',
'int_rate_n': ' 6.00%',
'int_rate': '0.06',
'deposit_ratio': '0.1',
'product_plan_id_n': '等额本息-按季-4期',
lease_times: '4',
deposit_ratio_n: ' 10.00%',
lease_charge_ratio_n: ' 5.00%',
product_plan_id: '70',
lease_charge_ratio: '0.05',
int_rate_n: ' 6.00%',
int_rate: '0.06',
deposit_ratio: '0.1',
product_plan_id_n: '等额本息-按季-4期',
},
{
'lease_times': '12',
'deposit_ratio_n': ' 25.00%',
'lease_charge_ratio_n': ' 5.00%',
'product_plan_id': '109',
'lease_charge_ratio': '0.05',
'int_rate_n': ' 7.50%',
'int_rate': '0.075',
'deposit_ratio': '0.25',
'product_plan_id_n': '等额本金-双月-12期',
},
{
'lease_times': '24',
'deposit_ratio_n': ' 15.00%',
'lease_charge_ratio_n': ' 15.00%',
'product_plan_id': '132',
'lease_charge_ratio': '0.15',
'int_rate_n': ' 7.00%',
'int_rate': '0.07',
'deposit_ratio': '0.15',
'product_plan_id_n': '等额本息-按月-24期',
}],
divisionLists: [
{
'bp_name': '重型重庆办',
'bp_id': '41',
'product_id': '5',
'product_attachment_id': '88039',
'product_code': 'QAY130',
'product_name': '全地面起重机QAY130',
'bp_type_n': '办事处',
'collect_status': 'Y',
lease_times: '12',
deposit_ratio_n: ' 25.00%',
lease_charge_ratio_n: ' 5.00%',
product_plan_id: '109',
lease_charge_ratio: '0.05',
int_rate_n: ' 7.50%',
int_rate: '0.075',
deposit_ratio: '0.25',
product_plan_id_n: '等额本金-双月-12期',
},
{
'bp_name': '重型银川办',
'bp_id': '61',
'product_id': '5',
'product_attachment_id': '88039',
'product_code': 'QAY130',
'product_name': '全地面起重机QAY130',
'bp_type_n': '办事处',
'collect_status': 'N',
},
{
'bp_name': '上海汉得信息技术股份有限公司',
'bp_id': '7781',
'product_id': '5',
'product_attachment_id': '88039',
'product_code': 'QAY130',
'product_name': '全地面起重机QAY130',
'bp_type_n': '经销商',
'collect_status': 'N',
},
{
'bp_name': '广州市易推信息商务科技有限公司',
'bp_id': '8143',
'product_id': '5',
'product_attachment_id': '88039',
'product_code': 'QAY130',
'product_name': '全地面起重机QAY130',
'bp_type_n': '经销商',
'collect_status': 'N',
lease_times: '24',
deposit_ratio_n: ' 15.00%',
lease_charge_ratio_n: ' 15.00%',
product_plan_id: '132',
lease_charge_ratio: '0.15',
int_rate_n: ' 7.00%',
int_rate: '0.07',
deposit_ratio: '0.15',
product_plan_id_n: '等额本息-按月-24期',
},
],
divisionLists: [],
productLine: [], // 产品线
saveInfo: {
project_id: '',
product_plan_id: '',
product_id: '',
product_num: '',
equip_price: '',
int_rate: '',
annual_pay_times: '',
lease_times: '',
down_payment_ratio: '',
down_payment: '',
deposit_ratio: '',
deposit: '',
lease_charge_ratio: '',
lease_charge: '',
lease_start_date: '',
gps_fee: '',
insurance_fee: '',
pay_type: '',
residual_value: '',
division_n: '',
},
}
},
beforeRouteEnter (to, from, next) {
next(vm => {
vm.showModalBusiness = false
vm.showModalValue = false
if (from.name === 'CreateBaseInfo') {
vm.pagenum = 1
vm.getProductLine() // 产品线查询
}
})
},
methods: {
getProduct () {
let vm = this
vm.showModalValue = true
let randomString = Math.floor(Math.random() * 21)
let url =
process.env.basePath +
'prd_product_list' +
'&index' +
`'${randomString}'`
let param = {
user_phone: window.localStorage.getItem('user_phone'),
pagesize: 10,
pagenum: vm.pagenum,
searchInput: vm.keyWord,
}
hlsPopup.showLoading('请稍候')
vm.$post(url, param).then(function (res) {
vm.hlsPopup.hideLoading()
if (res.result === 'S') {
let returnData = []
returnData = res.lists
if (returnData.length === 0) {
vm.$refs.scroll.update(true)
} else if (returnData.length > 0 && returnData.length < 10) {
vum.forEach(returnData, function (data, index, array) {
vm.divisionLists.push(array[index])
})
vm.pagenum++
vm.$refs.scroll.update(true)
} else if (returnData.length === 10) {
vum.forEach(returnData, function (data, index, array) {
vm.divisionLists.push(array[index])
})
vm.pagenum++
vm.$refs.scroll.update(false)
}
} else {
hlsPopup.showLongCenter(res.message)
}
})
},
selectProductLine (e) {
let vm = this
vm.hlsPopup.selectList({
list: vm.productLine,
code: 'bp_type',
object: {},
returnItem: function (index, obj) {
vm.saveInfo.division = obj.bp_type
vm.saveInfo.division_n = obj.bp_type_n
},
})
},
getProductLine () {
let vm = this
let url = process.env.basePath + 'prj_product_division'
let param = {
bp_agent_id: vm.$route.params.bp_agent_id,
}
vm.hlsPopup.showLoading('请稍候')
vm.hlsHttp.post(url, param).then(function (res) {
vm.hlsPopup.hideLoading()
if (res.result === 'S') {
vm.productLine = res.lists.map(item => {
return {
code: item.division,
code_name: item.division_n,
}
})
}
})
},
goPlan () {
this.$router.push({
name: 'ContractRepayPlan',
......@@ -309,58 +387,65 @@ export default {
},
})
},
goRent () {
this.$router.push({
name: 'CreateEnclosureInfo',
})
},
},
}
</script>
<style lang="less">
#create-rent-info {
.flow{
z-index:999;
.flow {
z-index: 999;
}
.hls-list-item {
.hls-list-item {
margin-bottom: 0px !important;
}
.h-header-right{
.h-header-right {
display: flex;
align-items: center;
}
#businuss-list{
.search {
background-color: #fff;
padding: 8px 12px;
width: 100%;
height: 1.02rem;
z-index: 100;
margin-bottom: 8px;
input {
background: url("../../assets/contractStart/search1.png") 320px no-repeat;
background-size: 16px 16px;
background-color: rgba(239, 239, 239, 0.55);
padding-left: 12px;
height:36px;
line-height: 36px;
border-radius: 4px;
#businuss-list {
.search {
background-color: #fff;
padding: 8px 12px;
width: 100%;
font-family: PingFangSC-Regular;
font-size: 14px;
color: #888c8f;
}
height: 1.02rem;
z-index: 100;
margin-bottom: 8px;
input {
background: url("../../assets/contractStart/search1.png") 320px
no-repeat;
background-size: 16px 16px;
background-color: rgba(239, 239, 239, 0.55);
padding-left: 12px;
height: 36px;
line-height: 36px;
border-radius: 4px;
width: 100%;
font-family: PingFangSC-Regular;
font-size: 14px;
color: #888c8f;
}
input::placeholder {
font-family: PingFangSC-Regular;
font-size: 14px;
color: #888c8f;
letter-spacing: 0;
}
input::placeholder {
font-family: PingFangSC-Regular;
font-size: 14px;
color: #888c8f;
letter-spacing: 0;
}
input:focus {
background: url("../../assets/contractStart/search2.png") 320px no-repeat;
background-size: 16px 16px;
background-color: rgba(239, 239, 239, 0.55);
border: 2px solid #bcc6ff;
input:focus {
background: url("../../assets/contractStart/search2.png") 320px
no-repeat;
background-size: 16px 16px;
background-color: rgba(239, 239, 239, 0.55);
border: 2px solid #bcc6ff;
}
}
}
.descript {
.descript {
width: 100%;
height: 44px;
display: flex;
......@@ -388,16 +473,16 @@ export default {
display: flex;
flex: 1;
font-size: 15px;
color: #4B4A4B;
color: #4b4a4b;
line-height: 44px;
font-weight: 500;
letter-spacing: 0;
margin-left: 10px;
font-family: PingFangSC-Semibold;
border-bottom: 1px solid #F3F3F7;
border-bottom: 1px solid #f3f3f7;
}
}
.tario {
.tario {
width: 100%;
height: 60px;
position: relative;
......@@ -420,7 +505,7 @@ export default {
line-height: 30px;
font-family: PingFangSC-Regular;
font-size: 13px;
color: rgba(56, 63, 69, 0.60);
color: rgba(56, 63, 69, 0.6);
span:nth-of-type(2) {
margin-left: 16px;
......@@ -429,114 +514,115 @@ export default {
}
}
}
#product-list{
#product-list {
.hls-list-item {
border-radius: 4px;
}
.item-pic {
width: 100px;
//height: 110px;
img {
width: 100%;
height: 100%;
}
width: 100px;
//height: 110px;
img {
width: 100%;
height: 100%;
}
}
.item-content {
width: 100%;
margin-left: 20px;
.pro-name {
height: 42px;
width: 100%;
position: relative;
border-bottom: 1px solid #F3F3F7;
.arrow {
position: absolute;
width: 16px;
height: 16px;
right: 0;
top: 13px;
}
p {
height: 42px;
line-height: 42px;
font-family: PingFangSC-Semibold;
font-size: 15px;
color: #4B4A4B;
letter-spacing: 0;
font-weight: 600;
}
}
.centers {
font-family: PingFangSC-Semibold;
font-size: 13px;
color: rgba(56,63,69,0.60);
letter-spacing: 0.5px;
display: flex;
flex-direction: row;
margin-top: 8px;
.firsts1 {
width: 60px;
height: 17px;
font-family: PingFangSC-Regular;
font-size: 13px;
color: rgba(56,63,69,0.60);
}
.seconds1 {
width: 70%;
margin-left: 16px;
height: auto;
font-family: PingFangSC-Regular;
font-size: 13px;
color: #4B4A4B;
}
}
width: 100%;
margin-left: 20px;
.pro-name {
height: 42px;
width: 100%;
position: relative;
border-bottom: 1px solid #f3f3f7;
.arrow {
position: absolute;
width: 16px;
height: 16px;
right: 0;
top: 13px;
}
p {
height: 42px;
line-height: 42px;
font-family: PingFangSC-Semibold;
font-size: 15px;
color: #4b4a4b;
letter-spacing: 0;
font-weight: 600;
}
}
.centers {
font-family: PingFangSC-Semibold;
font-size: 13px;
color: rgba(56, 63, 69, 0.6);
letter-spacing: 0.5px;
display: flex;
flex-direction: row;
margin-top: 8px;
.firsts1 {
width: 60px;
height: 17px;
font-family: PingFangSC-Regular;
font-size: 13px;
color: rgba(56, 63, 69, 0.6);
}
.seconds1 {
width: 70%;
margin-left: 16px;
height: auto;
font-family: PingFangSC-Regular;
font-size: 13px;
color: #4b4a4b;
}
}
}
.item{
width:359px;
margin:0 auto;
.item {
width: 359px;
margin: 0 auto;
}
.search {
background-color: #fff;
padding: 8px 12px;
width: 100%;
height: 1.02rem;
z-index: 100;
margin-bottom: 8px;
input {
background: url("../../assets/contractStart/search1.png") 320px no-repeat;
background-size: 16px 16px;
background-color: rgba(239, 239, 239, 0.55);
padding-left: 12px;
height:36px;
line-height: 36px;
border-radius: 4px;
.search {
background-color: #fff;
padding: 8px 12px;
width: 100%;
font-family: PingFangSC-Regular;
font-size: 14px;
color: #888c8f;
}
height: 1.02rem;
z-index: 100;
margin-bottom: 8px;
input {
background: url("../../assets/contractStart/search1.png") 320px
no-repeat;
background-size: 16px 16px;
background-color: rgba(239, 239, 239, 0.55);
padding-left: 12px;
height: 36px;
line-height: 36px;
border-radius: 4px;
width: 100%;
font-family: PingFangSC-Regular;
font-size: 14px;
color: #888c8f;
}
input::placeholder {
font-family: PingFangSC-Regular;
font-size: 14px;
color: #888c8f;
letter-spacing: 0;
}
input::placeholder {
font-family: PingFangSC-Regular;
font-size: 14px;
color: #888c8f;
letter-spacing: 0;
}
input:focus {
background: url("../../assets/contractStart/search2.png") 320px no-repeat;
background-size: 16px 16px;
background-color: rgba(239, 239, 239, 0.55);
border: 2px solid #bcc6ff;
input:focus {
background: url("../../assets/contractStart/search2.png") 320px
no-repeat;
background-size: 16px 16px;
background-color: rgba(239, 239, 239, 0.55);
border: 2px solid #bcc6ff;
}
}
}
}
.date-check{
background:url('../../assets/trial/date.png') 350px no-repeat;
.date-check {
background: url("../../assets/trial/date.png") 350px no-repeat;
background-size: 16px 16px;
padding-right:15px;
padding-right: 15px;
}
.hint-info {
width: 100%;
......@@ -546,12 +632,12 @@ export default {
color: #fcc800;
letter-spacing: 0.5px;
background-color: #faf5e0;
display:flex;
display: flex;
align-items: center;
img{
width:16px;
height:16px;
margin-left:17px;
img {
width: 16px;
height: 16px;
margin-left: 17px;
margin-right: 17px;
}
}
......
......@@ -114,9 +114,9 @@
<img v-if="checkedApproved" slot="content" src="@/assets/contractCreate/selected.png" >
<span v-if="!checkedApproved" slot="content" />
</item>
<item>
<item v-if="checkedApproved">
<div slot="name">特批事项</div>
<input slot="content" v-model="saveInfo.special_matter" placeholder="暂无信息" readonly >
<input slot="content" v-model="saveInfo.special_matter" placeholder="暂无信息">
</item>
</list-item>
</div>
......@@ -125,71 +125,73 @@
<list-item :item-height="44">
<item>
<div slot="name">公司名称</div>
<input slot="content" readonly placeholder="暂无信息" >
<input slot="content" v-model="ORGBaseInfo.bp_name" readonly placeholder="暂无信息" >
</item>
<item>
<div slot="name">企业类型</div>
<input slot="content" readonly placeholder="暂无信息" >
<input slot="content" v-model="ORGBaseInfo.enterprise_type" readonly placeholder="暂无信息" >
</item>
<item>
<div slot="name">营业执照号</div>
<input slot="content" readonly placeholder="暂无信息" >
<input slot="content" v-model="ORGBaseInfo.organization_code" readonly placeholder="暂无信息" >
</item>
<item>
<div slot="name">注册资本</div>
<input slot="content" placeholder="暂无信息" readonly >
<input slot="content" v-model="ORGBaseInfo.registered_capital" placeholder="暂无信息" readonly >
</item>
<item>
<div slot="name">注册地址</div>
<input slot="content" readonly placeholder="暂无信息" >
<span slot="content">{{ ORGBaseInfo.registered_place }}</span>
</item>
<item>
<div slot="name">联系地址</div>
<input slot="content" readonly placeholder="暂无信息" >
<span slot="content">{{ ORGBaseInfo.business_address }}</span>
</item>
<item>
<div slot="name">固定电话</div>
<input slot="content" readonly placeholder="暂无信息" >
<input slot="content" v-model="ORGBaseInfo.phone" readonly placeholder="暂无信息" >
</item>
</list-item>
<div class="userInfo">法人代表信息</div>
<list-item :item-height="44">
<item>
<div slot="name">姓名</div>
<input slot="content" readonly placeholder="暂无信息" >
<input slot="content" v-model="ORGBaseInfo.legal_person" readonly placeholder="暂无信息" >
</item>
<item>
<div slot="name">身份证号</div>
<input slot="content" readonly placeholder="暂无信息" >
<input slot="content" v-model="ORGBaseInfo.id_card_no" readonly placeholder="暂无信息" >
</item>
<item>
<div slot="name">手机号</div>
<input slot="content" readonly placeholder="暂无信息" >
<input slot="content" v-model="ORGBaseInfo.cell_phone" readonly placeholder="暂无信息" >
</item>
<item>
<div slot="name">联系地址</div>
<input slot="content" placeholder="暂无信息" readonly >
<input slot="content" v-model="ORGBaseInfo.living_address" placeholder="暂无信息" readonly >
</item>
</list-item>
<div class="another-info">
<img src="@/assets/contractCreate/otherInfo.png" >补充信息
</div>
<list-item :item-height="44">
<item :showArrow="true">
<item :showArrow="true" @click.native="selectORGEquipInfo">
<div slot="name">设备保有量</div>
<input slot="content" readonly placeholder="请选择" >
<input slot="content" v-model="saveInfo.equip_num_n" readonly placeholder="请选择" >
</item>
<item :showArrow="true">
<item :showArrow="true" @click.native="selectORGEnge">
<div slot="name">工程合同</div>
<input slot="content" readonly placeholder="请选择" >
<input slot="content" v-model="saveInfo.engineer_con_n" readonly placeholder="请选择" >
</item>
<item :showArrow="true">
<item :showArrow="true" @click.native="selectORGnative">
<div slot="name">企业性质</div>
<input slot="content" readonly placeholder="请选择" >
<input slot="content" v-model="saveInfo.enterpriese_nature_n" readonly placeholder="请选择" >
</item>
<item :showArrow="true">
<item :showArrow="true" @click.native="selectEquipInfo">
<div slot="name">设备价值</div>
<input slot="content" placeholder="请选择" readonly >
<input
slot="content" v-model="saveInfo.equip_value" placeholder="请选择" readonly
>
</item>
<item class="check" @click.native="checked=!checked">
<div slot="name">农行代扣</div>
......@@ -201,9 +203,9 @@
<img v-if="checkedApproved" slot="content" src="@/assets/contractCreate/selected.png" >
<span v-if="!checkedApproved" slot="content" />
</item>
<item>
<item v-if="checkedApproved">
<div slot="name">特批事项</div>
<input slot="content" placeholder="暂无信息" readonly >
<input slot="content" placeholder="暂无信息">
</item>
</list-item>
</div>
......@@ -212,28 +214,28 @@
<img src="@/assets/contractCreate/add.png" @click="addPerson">
</div>
</div>
<item-option class="mySlider">
<item-option v-for="(item,index) in selectUdertake" :key="index" class="mySlider">
<list-item :item-height="68">
<item>
<span slot="left-icon" class="left-icon">1</span>
<span slot="left-icon" class="left-icon">{{ index+1 }}</span>
<div slot="name">
担保人1姓名
担保人{{ index+1 }}姓名
<br >证件号
</div>
<div slot="content">
<input placeholder="暂无信息" readonly >
<input placeholder="暂无信息" readonly >
<input v-model="item.bp_name" placeholder="暂无信息" readonly >
<input v-model="item.id_card_no" placeholder="暂无信息" readonly >
</div>
</item>
</list-item>
<div slot="buttons">
<option-button type="warn" text @click.native="deleteFun" />
<option-button type="warn" text @click.native="deleteFun(item)" />
</div>
</item-option>
</h-content>
<bottom-tab class="add-box">
<tab-button class="before" @click.native="$routeGo()">上一步</tab-button>
<tab-button class="next" @click.native="goRent">下一步</tab-button>
<tab-button class="next" @click.native="save">下一步</tab-button>
</bottom-tab>
<h-modal ref="modal" v-model="showModalValue" class="flow" position="bottom">
<h-view id="add-person">
......@@ -249,15 +251,15 @@
</div>
<scroll ref="scroll" :updateData="[undertakeList]" :pullUp="true" @pullingUp="getUndertake">
<list-item :item-height="68" class="item">
<item>
<item v-for="(item,index) in undertakeList" :key="index" @click.native="addUndertake(item)">
<img slot="left-icon" src="@/assets/contractCreate/name.png" class="left-icon" >
<div slot="name">
担保人名称
<br >证件号
</div>
<div slot="content">
<input placeholder="暂无信息" readonly >
<input placeholder="暂无信息" readonly >
<input v-model="item.bp_name" placeholder="暂无信息" readonly >
<input v-model="item.id_card_no" placeholder="暂无信息" readonly >
</div>
</item>
</list-item>
......@@ -276,12 +278,25 @@ export default {
bp_class: '',
showModalValue: false,
keyWord: '',
bp_agent_id: '',
pageNum: 1,
BussinessSituationList: [], // 行业情况
jobSituationList: [], // 职业情况
houseInfonList: [], // 房产信息
equipInfonList: [], // 设备信息
undertakeList: [], // 担保人列表
engeList: [], // 工程合同查询
nativeList: [], // 企业性质查询
undertakeList: [ {
'id_card_no': '152104199103074114',
'bp_name': '程磊',
'bp_id': '8464',
},
{
'id_card_no': '91320000665795725L',
'bp_name': '江苏徐工工程机械租赁有限公司',
'bp_id': '8465',
}], // 担保人列表
selectUdertake: [], // 已选择的担保人列表
NPBaseInfo: {}, // 自然人基本信息
ORGBaseInfo: {}, // 企业基本信息
saveInfo: {// 需要保存的信息
......@@ -289,9 +304,12 @@ export default {
bp_id: window.localStorage.bp_id,
bp_class: window.localStorage.bp_class,
equip_num: '',
equip_num_n: '',
equip_value: '',
engineer_con: '',
engineer_con_n: '',
enterpriese_nature: '',
enterpriese_nature_n: '',
abc_deduction_flag: '',
special_flag: '',
special_matter: '',
......@@ -301,9 +319,6 @@ export default {
house_type_n: '',
np_industry_exp_n: '',
np_occupation_n: '',
bp_id_guta_1: '',
bp_id_guta_2: '',
bp_id_guta_3: '',
},
}
},
......@@ -344,20 +359,84 @@ export default {
this.showModalValue = true
this.getUndertake()
},
goRent () {
this.$router.push({
addUndertake (e) {
if (this.selectUdertake.length === 0) {
this.selectUdertake.push(e)
} else {
let index = this.selectUdertake.findIndex(item => {
if (item.bp_name === e.bp_name) {
return true
}
})
if (index !== -1) {
hlsPopup.showLongCenter('您已添加了该担保人')
} else {
this.selectUdertake.push(e)
}
}
setTimeout(() => {
this.showModalValue = false
}, 100)
},
makeData () {
let obj = {}
this.selectUdertake.forEach((i, index, arr) => {
obj[`bp_id_guta_${index + 1}`] = i.bp_id
})
return obj
},
getAgentInfo () {
let vm = this
let url = process.env.basePath + 'prj_bp_agent_query'
let param = {
user_phone: window.localStorage.getItem('user_phone'),
}
hlsPopup.showLoading('请稍候')
vm.$post(url, param).then(function (res) {
vm.hlsPopup.hideLoading()
if (res.result === 'S') {
vm.bp_agent_id = res.info.bp_agent_id
} else {
hlsPopup.showLongCenter(res.message)
}
})
},
save () {
let vm = this
// let url = process.env.basePath + 'prj_base_info_save'
// let param = {
// master: {...vm.saveInfo, ...vm.makeData()},
// }
// hlsPopup.showLoading('请稍候')
// vm.$post(url, param).then(function (res) {
// vm.hlsPopup.hideLoading()
// if (res.result === 'S') {
vm.$router.push({
name: 'CreateRentInfo',
params: {
bp_agent_id: vm.bp_agent_id,
},
})
// } else {
// hlsPopup.showLongCenter(res.message)
// }
// })
},
getBaseInfo () {
this.getEquipInfo()
if (this.bp_class === 'NP') {
this.getNPInfo()
this.getBussinessSituation()
this.getJobSituation()
this.getHouseInfo()
this.getEquipInfo()
this.getAgentInfo()
} else if (this.bp_class === 'ORG') {
debugger
this.getORGInfo()
this.getORGEquipInfo()
this.getORGEnge()
this.getAgentInfo()
this.getORGnative()
}
},
getUndertake () { // 担保人查询
......@@ -369,10 +448,9 @@ export default {
'&index' +
`'${randomString}'`
let param = {
user_phone: window.localStorage.getItem('user_phone'),
bp_agent_id: vm.bp_agent_id,
pagesize: 10,
pagenum: vm.status === 'APPROVED' ? vm.pagenumApproved : vm.pagenumNew,
confirm_status: vm.status,
pagenum: vm.pageNum,
searchInput: vm.keyWord,
}
hlsPopup.showLoading('请稍候')
......@@ -385,18 +463,17 @@ export default {
vm.$refs.scroll.update(true)
} else if (returnData.length > 0 && returnData.length < 10) {
vum.forEach(returnData, function (data, index, array) {
vm.lists.push(array[index])
vm.undertakeList.push(array[index])
})
vm.status === 'APPROVED' ? vm.pagenumApproved++ : vm.pagenumNew++
vm.pagenum++
vm.$refs.scroll.update(true)
} else if (returnData.length === 10) {
vum.forEach(returnData, function (data, index, array) {
vm.lists.push(array[index])
vm.undertakeList.push(array[index])
})
vm.status === 'APPROVED' ? vm.pagenumApproved++ : vm.pagenumNew++
vm.pagenum++
vm.$refs.scroll.update(false)
}
vm.selectShowList()
} else {
hlsPopup.showLongCenter(res.message)
}
......@@ -418,6 +495,109 @@ export default {
}
})
},
getORGInfo () {
let vm = this
let url = process.env.basePath + 'bp_org_info_query'
let param = {
bp_id: window.localStorage.bp_id,
}
hlsPopup.showLoading('请稍候')
vm.$post(url, param).then(function (res) {
vm.hlsPopup.hideLoading()
if (res.result === 'S') {
vm.ORGBaseInfo = res.info
} else {
hlsPopup.showLongCenter(res.message)
}
})
},
getORGEnge () {
let vm = this
let url = process.env.basePath + 'prj_contract_query'
let param = {}
vm.hlsPopup.showLoading('请稍候')
vm.hlsHttp.post(url, param).then(function (res) {
vm.hlsPopup.hideLoading()
if (res.result === 'S') {
vm.engeList = res.lists.map(item => {
return {
code: item.engineer_con,
code_name: item.engineer_con_n,
}
})
}
})
},
selectORGnative (e) {
let vm = this
vm.hlsPopup.selectList({
list: vm.nativeList,
code: 'bp_type',
object: {},
returnItem: function (index, obj) {
vm.saveInfo.enterpriese_nature = obj.bp_type
vm.saveInfo.enterpriese_nature_n = obj.bp_type_n
},
})
},
getORGnative () {
let vm = this
let url = process.env.basePath + 'prj_ent_property_query'
let param = {}
vm.hlsPopup.showLoading('请稍候')
vm.hlsHttp.post(url, param).then(function (res) {
vm.hlsPopup.hideLoading()
if (res.result === 'S') {
vm.nativeList = res.lists.map(item => {
return {
code: item.enterpriese_nature,
code_name: item.enterpriese_nature_n,
}
})
}
})
},
selectORGEnge (e) {
let vm = this
vm.hlsPopup.selectList({
list: vm.engeList,
code: 'bp_type',
object: {},
returnItem: function (index, obj) {
vm.saveInfo.engineer_con = obj.bp_type
vm.saveInfo.engineer_con_n = obj.bp_type_n
},
})
},
getORGEquipInfo () {
let vm = this
let url = process.env.basePath + 'prj_equip_num_query'
let param = {}
vm.hlsPopup.showLoading('请稍候')
vm.hlsHttp.post(url, param).then(function (res) {
vm.hlsPopup.hideLoading()
if (res.result === 'S') {
vm.equipNumORG = res.lists.map(item => {
return {
code: item.equip_num,
code_name: item.equip_num_n,
}
})
}
})
},
selectORGEquipInfo (e) {
let vm = this
vm.hlsPopup.selectList({
list: vm.equipNumORG,
code: 'bp_type',
object: {},
returnItem: function (index, obj) {
vm.saveInfo.equip_num = obj.bp_type
vm.saveInfo.equip_num_n = obj.bp_type_n
},
})
},
getEquipInfo () {
let vm = this
let url = process.env.basePath + 'prj_equip_values_query'
......@@ -533,8 +713,15 @@ export default {
},
})
},
getORGInfo () {},
deleteFun () {},
deleteFun (e) {
let deleteIndex
this.selectUdertake.forEach((i, index, arr) => {
if (arr[index].bp_name.indexOf(e.bp_name) !== -1) {
deleteIndex = index
}
})
this.selectUdertake.splice(deleteIndex, 1)
},
},
}
</script>
......@@ -546,6 +733,9 @@ export default {
no-repeat;
background-size: 20px 20px;
}
.mySlider{
height:68px;
}
.hls-list-item {
margin-bottom: 0px !important;
}
......
<template>
<h-view id="create-base-info">
<h-header :proportion="[5,1,1]" class="bar-custom">
<div slot="left" class="h-header-btn">
<img src="@/assets/userBind/arrow.png" @click="$routeGo()" >
<span>基本信息</span>
</div>
</h-header>
<h-content>
<div class="top">
<div class="item">
<img src="@/assets/contractCreate/finished.png" >
<p>基本信息</p>
</div>
<span class="line" />
<div class="item">
<img src="@/assets/contractCreate/finished.png" >
<p>租赁信息</p>
</div>
<span class="line" />
<div class="item">
<span>3</span>
<p style="color: #383F45;">附件信息</p>
</div>
</div>
</h-content>
<bottom-tab class="add-box">
<tab-button class="before" @click.native="$routeGo()">上一步</tab-button>
<tab-button class="next" @click.native="goRent">下一步</tab-button>
</bottom-tab>
</h-view>
</template>
<script>
export default {
data () {
return {
}
},
watch: {
},
beforeRouteEnter (to, from, next) {
next(vm => {
vm.loadItemList()
})
},
methods: {
loadItemList () {
let vm = this
vm.dowload_list = []
let bpId = window.localStorage.getItem('bp_id')
let url = process.env.basePath + 'prj_cdd_check_list'
let param = {
master: {
document_id: bpId,
document_table: 'HLS_BP_MASTER',
tab_group: 'HLS_NP',
},
}
// vm.hlsPopup.showLoading('请稍候')
vm.hlsHttp.post(url, param).then(function (res) {
// vm.hlsPopup.hideLoading()
console.log(res)
// if (res.result === 'S') {
// var listTemp = [...res.lists]
// listTemp.forEach(item => {
// switch (item.cdd_item) {
// case 'HOUSE_CARD': // 房产证
// vm.house_id = item.check_id
// break
// case 'CAR_CARD': // 承租人身份证背面
// vm.car_id = item.check_id
// break
// case 'REAL_EST_CERTIFICATE': // 承租人身份证背面
// vm.estate_id = item.check_id
// break
// default:
// break
// }
// })
// vm.cddItemList = res.lists.filter(i => {
// return i.description.indexOf('身份证') === -1
// })
// // 查询图片
// vm.cddItemList.forEach((item, index) => {
// vm.load_picture(item.check_id, index, item.cdd_item)
// })
// }
})
},
// load_picture (check_id, index, cdd_item) {
// let vm = this
// let url =
// process.env.basePath + 'attachment_list_query' + '&index' + index // 附件查询
// let param = {
// check_id: check_id,
// }
// hlsPopup.showLoading('请稍候')
// vm.$post(url, param).then(function (res) {
// vm.hlsPopup.hideLoading()
// if (res.result === 'S') {
// res.lists.forEach(item => {
// item['url'] =
// process.env.filePath +
// 'attachment_id=' +
// item.attachment_id +
// '&access_token=' +
// window.localStorage.access_token
// })
// switch (cdd_item) {
// case 'HOUSE_CARD': // 房产证
// if (!vm.houseFlag) {
// vm.houseImg = res.lists[0].url
// }
// vm.houseAttachmentId = res.lists[0].attachment_id
// console.log(vm.houseAttachmentId)
// break
// case 'CAR_CARD': // 行驶证
// if (!vm.carFlag) {
// vm.carImg = res.lists[0].url
// }
// vm.carAttachmentId = res.lists[0].attachment_id
// break
// case 'REAL_EST_CERTIFICATE': // 行驶证
// if (!vm.estateFlag) {
// vm.estateImg = res.lists[0].url
// }
// vm.estateAttachmentId = res.lists[0].attachment_id
// break
// default:
// vm.dowload_list.push(res.lists)
// }
// } else {
// hlsPopup.showLongCenter(res.message)
// }
// })
// },
},
}
</script>
<style lang="less" >
#create-base-info {
.swipeout-list .item .function {
height: 68px;
background: url("../../assets/contractCreate/delete.png") 45% 45% #fde5e8
no-repeat;
background-size: 20px 20px;
}
.hls-list-item {
margin-bottom: 0px !important;
}
.swipeout-list {
padding: 0px;
}
.h-header-right {
display: flex;
align-items: center;
}
.flow {
z-index: 999;
}
.left-icon {
width: 18px;
height: 18px;
text-align: center;
line-height: 18px;
background-color: rgba(29, 63, 255, 0.2);
color: @headerColor;
border-radius: 4px;
}
input::placeholder {
color: #b4b4b5;
}
.top {
width: 100%;
height: 81px;
background-color: #faf5e0;
display: flex;
justify-content: center;
align-items: center;
.line {
display: inline-block;
width: 78px;
border-top: 1px solid #a4a4a4;
margin-bottom: 18px;
}
.line {
border-top: 1px solid #ffa000;
}
.item {
display: flex;
justify-content: center;
align-items: center;
flex-flow: column wrap;
font-family: PingFangSC-Semibold;
font-size: 12px;
color: rgba(56, 63, 69, 0.5);
letter-spacing: 0.43px;
img {
width: 18px;
}
span {
display: block;
text-align: center;
line-height: 18px;
border-radius: 50%;
width: 18px;
height: 18px;
color: #fff;
background: #a4a4a4;
}
p {
margin-top: 10px;
}
}
.item:nth-of-type(3) {
font-family: PingFangSC-Semibold;
font-size: 12px;
color: rgba(56, 63, 69, 0.5);
letter-spacing: 0.43px;
span {
background-color: #ffa000;
}
}
}
}
</style>
<!--
* @Author: your name
* @Date: 2019-09-29 10:02:11
* @LastEditTime : 2019-12-23 15:10:23
* @LastEditTime : 2019-12-23 16:14:57
* @LastEditors : Please set LastEditors
* @Description: In User Settings Edit
-->
......@@ -32,7 +32,7 @@
</item>
<item>
<div slot="name" class="font-color">经销商</div>
<input v-if="user_bp_type !== 'OFFICE'" slot="content" v-model="bp_agent_name" readonly>
<input v-if="user_bp_type === 'AGENT'" slot="content" v-model="bp_agent_name" readonly>
<input v-if="user_bp_type === 'OFFICE'" slot="content" placeholder="直销" readonly>
</item>
<item :showArrow="true">
......@@ -136,6 +136,9 @@
export default {
data () {
return {
inflow_line: '', // 授信总额度
inflow_used: '', // 已使用授信额度
inflow_reset: '', // 剩余授信额度
lessee: '', // 承租人
sales: '', // 销售人员
office_name: '', // 办事处
......@@ -180,6 +183,9 @@ export default {
vm.factory_name = ''
vm.bp_agent_id = ''
vm.bp_agent_name = ''
vm.inflow_line = '' // 授信总额度
vm.inflow_used = '' // 已使用授信额度
vm.inflow_reset = '' // 剩余授信额度
vm.user_bp_type = vm.$route.params.user_bp_type
vm.sales = window.localStorage.bp_name
vm.salesInfo = {
......@@ -273,6 +279,7 @@ export default {
vm.bp_agent_name = res.info.bp_agent_name
vm.bp_agent_id = res.info.bp_agent_id
vm.salesInfo.bp_id_agent = res.info.bp_agent_id
vm.salesInfo.bp_user_id = res.info.bp_user_id
vm.lesseeQuery()
vm.salesQuery()
vm.officeQuery()
......@@ -342,6 +349,7 @@ export default {
object: {},
returnItem: function (index, obj) {
console.log(obj)
vm.salesInfo.bp_user_id = obj.agent_type
vm.sales = obj.agent_type_n
},
})
......@@ -392,7 +400,9 @@ export default {
vm.hlsPopup.hideLoading()
console.log('授信额度查询', res)
if (res.result === 'S') {
// vm.certification_status = res.info.certification_status
// vm.inflow_line = '' // 授信总额度
// vm.inflow_used = '' // 已使用授信额度
// vm.inflow_reset = '' // 剩余授信额度
}
})
},
......
<!--
* @Author: your name
* @Date: 2019-11-07 17:48:53
* @LastEditTime : 2019-12-23 10:01:15
* @LastEditTime : 2019-12-23 15:30:46
* @LastEditors : Please set LastEditors
* @Description: In User Settings Edit
-->
......@@ -49,7 +49,7 @@
<div class="content-top">
<div class="userInfo">我的合同</div>
<div class="my-contract">
<div class="content-wrap" @click="goCreate">
<div v-if="user_bp_type === 'AGENT' || user_bp_type === 'OFFICE'" class="content-wrap" @click="goCreate">
<!-- <span
v-if="signCount > 0"
:class="{'content-wrap-class-width':signCount>99, 'content-wrap-class':signCount<99}"
......
......@@ -2,8 +2,8 @@
* @Description: 附件信息
* @Author: your name
* @Date: 2019-09-20 09:35:11
* @LastEditTime: 2019-12-19 12:29:08
* @LastEditors: Please set LastEditors
* @LastEditTime : 2019-12-23 19:17:03
* @LastEditors : Please set LastEditors
-->
<template>
<h-view id="enclosure" class="public-style">
......@@ -481,6 +481,23 @@ export default {
})
},
methods: {
// 附件信息保存前校验
addCheck () {
let vm = this
let url = process.env.basePath + 'bp_attachment_check'
let param = {
bp_id: vm.bp_id,
}
hlsPopup.showLoading('请稍候')
vm.$post(url, param).then(function (res) {
vm.hlsPopup.hideLoading()
if (res.result === 'S') {
} else {
hlsPopup.showLongCenter(res.message)
}
})
},
addRow (el) {
let num = Math.round((el.target.scrollHeight - 42) / 20)
if (num > 0) {
......
......@@ -2,8 +2,8 @@
* @Description: In User Settings Edit
* @Author: your name
* @Date: 2019-09-24 12:34:06
* @LastEditTime: 2019-12-18 20:19:11
* @LastEditors: Please set LastEditors
* @LastEditTime : 2019-12-23 18:52:56
* @LastEditors : Please set LastEditors
*/
import Vue from 'vue'
import Router from 'vue-router'
......@@ -125,6 +125,7 @@ import PickLessee from '@/pages/contractCreate/pick-lessee'
import CreateBaseInfo from '@/pages/contractCreate/create-base-info'
import AddPerson from '@/pages/contractCreate/add-person'
import CreateRentInfo from '@/pages/contractCreate/creat-rent-info'
import CreateEnclosureInfo from '@/pages/contractCreate/create-enclosure-info'
Vue.use(Router)
export default new Router({
......@@ -297,6 +298,7 @@ export default new Router({
{path: '/create-base-info', component: CreateBaseInfo, name: 'CreateBaseInfo', meta: {keepAlive: true}},
{path: '/add-person', component: AddPerson, name: 'AddPerson', meta: {keepAlive: true}},
{path: '/create-rent-info', component: CreateRentInfo, name: 'CreateRentInfo', meta: {keepAlive: true}},
{path: '/create-enclosure-info', component: CreateEnclosureInfo, name: 'CreateEnclosureInfo', meta: {keepAlive: true}},
],
scrollBehavior (to, from, savedPosition) {
if (to.hash) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment