Commit 6a61e51a authored by 786817560's avatar 786817560

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

parents 57c604ee 0cba915b
......@@ -83,6 +83,10 @@
<div slot="name">产品名称</div>
<input slot="content" v-model="info.division_n" readonly placeholder="暂无数据" >
</item>
<item>
<div slot="name">设备识别号</div>
<input slot="content" v-model="info.product_code" readonly placeholder="暂无数据" >
</item>
<item>
<div slot="name">合同金额</div>
<input slot="content" v-model="info.total_price" readonly placeholder="暂无数据" >
......@@ -112,8 +116,8 @@
<span>租赁物信息</span>
<span :class="['status',item.lease_status === 'Y'?'unMantain':'mantain']">{{ item.lease_status === 'Y'?'已维护':'待维护' }}</span>
<p>
参数项
<span>{{ item.product_code }}</span>
设备识别号
<span>{{ item.product_code }}-{{ index+1|lengthCheck }}</span>
</p>
</div>
<div class="right">
......@@ -128,6 +132,15 @@
</template>
<script>
export default {
filters: {
lengthCheck: function (value) {
if ((value.toString()).length === 1) {
return `0${value}`
} else {
return value
}
},
},
data () {
return {
num: null,
......@@ -144,6 +157,7 @@ export default {
project_number: '',
bp_agent_name: ' ',
product_plan_id_n: '',
product_code: '',
},
rentInfo: {
frame_number: '',
......
......@@ -209,7 +209,7 @@
</div>
<div class="another-info">
<img src="@/assets/contractCreate/undertake.png" >担保人信息
<span @click="addPerson">+</span>
<img src="@/assets/contractCreate/add.png" @click="addPerson">
</div>
</div>
<item-option class="mySlider">
......@@ -247,19 +247,21 @@
<div class="search has-header">
<input v-model="keyWord" placeholder="请输入担保人名称/证件号码" >
</div>
<list-item :item-height="68" class="item">
<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 >
</div>
</item>
</list-item>
<scroll ref="scroll" :updateData="[undertakeList]" :pullUp="true" @pullingUp="getUndertake">
<list-item :item-height="68" class="item">
<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 >
</div>
</item>
</list-item>
</scroll>
</h-content>
</h-view>
</h-modal>
......@@ -274,10 +276,12 @@ export default {
bp_class: '',
showModalValue: false,
keyWord: '',
pageNum: 1,
BussinessSituationList: [], // 行业情况
jobSituationList: [], // 职业情况
houseInfonList: [], // 房产信息
equipInfonList: [], // 设备信息
undertakeList: [], // 担保人列表
NPBaseInfo: {}, // 自然人基本信息
ORGBaseInfo: {}, // 企业基本信息
saveInfo: {// 需要保存的信息
......@@ -303,9 +307,32 @@ export default {
},
}
},
watch: {
'checked': {
handler (newVal, oldVal) {
if (newVal === false) {
this.saveInfo.abc_deduction_flag = 'N'
} else if (newVal === true) {
this.saveInfo.abc_deduction_flag = 'Y'
}
},
immediate: true,
},
'checkedApproved': {
handler (newVal, oldVal) {
if (newVal === false) {
this.saveInfo.special_flag = 'N'
} else if (newVal === true) {
this.saveInfo.special_flag = 'Y'
}
},
immediate: true,
},
},
beforeRouteEnter (to, from, next) {
next(vm => {
vm.showModalValue = false
vm.pageNum = 1
vm.bp_class = window.localStorage.bp_class
if (from.name === 'ContractCreateList') {
vm.getBaseInfo()
......@@ -315,6 +342,7 @@ export default {
methods: {
addPerson () {
this.showModalValue = true
this.getUndertake()
},
goRent () {
this.$router.push({
......@@ -332,6 +360,48 @@ export default {
this.getORGInfo()
}
},
getUndertake () { // 担保人查询
let vm = this
let randomString = Math.floor(Math.random() * 21)
let url =
process.env.basePath +
'car_confirm_list_query' +
'&index' +
`'${randomString}'`
let param = {
user_phone: window.localStorage.getItem('user_phone'),
pagesize: 10,
pagenum: vm.status === 'APPROVED' ? vm.pagenumApproved : vm.pagenumNew,
confirm_status: vm.status,
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.lists.push(array[index])
})
vm.status === 'APPROVED' ? vm.pagenumApproved++ : vm.pagenumNew++
vm.$refs.scroll.update(true)
} else if (returnData.length === 10) {
vum.forEach(returnData, function (data, index, array) {
vm.lists.push(array[index])
})
vm.status === 'APPROVED' ? vm.pagenumApproved++ : vm.pagenumNew++
vm.$refs.scroll.update(false)
}
vm.selectShowList()
} else {
hlsPopup.showLongCenter(res.message)
}
})
},
getNPInfo () {
let vm = this
let url = process.env.basePath + 'bp_np_info_query'
......@@ -564,21 +634,14 @@ export default {
color: @headerColor;
display: flex;
align-items: center;
img {
img:nth-of-type(1){
margin-left: 16px;
width: 19px;
margin-right: 10px;
}
span {
display: flex;
margin-left: 58%;
justify-content: center;
align-items: center;
width: 18px;
height: 18px;
border: 1px solid @headerColor;
color: @headerColor;
border-radius: 50%;
img:nth-of-type(2){
margin-left:58%;
width:19px;
}
}
.userInfo:first-of-type {
......
......@@ -65,8 +65,8 @@
<item v-for="(item,index) in lists" :proportion="[2,1]" :key="index">
<div slot="name" class="parameters">
<div class="list">
<p>参数项</p>
<span class="bold">{{ item.product_code }}</span>
<p>设备识别号</p>
<span class="bold">{{ item.product_code }}-{{ index+1|lengthCheck }}</span>
</div>
<div class="list">
<p>发动机号</p>
......@@ -103,6 +103,15 @@ export default {
name: 'RepayDetail',
components: {
},
filters: {
lengthCheck: function (value) {
if ((value.toString()).length === 1) {
return `0${value}`
} else {
return value
}
},
},
data () {
return {
lists: [],
......
......@@ -25,6 +25,10 @@
<div slot="name">产品名称</div>
<div slot="content">{{ detailInfo.division_n?detailInfo.division_n:"暂无数据" }}</div>
</item>
<item>
<div slot="name">设备识别号</div>
<div slot="content" >{{ detailInfo.product_code?detailInfo.product_code:"暂无数据" }}</div>
</item>
<item>
<div slot="name">合同金额</div>
<div slot="content">{{ detailInfo.total_price|currency }}</div>
......@@ -47,8 +51,8 @@
<item v-for="(item,index) in lists" :proportion="[2,1]" :key="index">
<div slot="name" class="parameters">
<div class="list">
<p>参数项</p>
<span class="bold">{{ item.product_code }}</span>
<p>设备识别号</p>
<span class="bold">{{ item.product_code }}-{{ index+1 |lengthCheck }}</span>
</div>
<div class="list">
<p>发动机号</p>
......@@ -77,11 +81,19 @@
</template>
<script>
export default {
name: 'RepayDetails',
components: {
},
filters: {
lengthCheck: function (value) {
if ((value.toString()).length === 1) {
return `0${value}`
} else {
return value
}
},
},
data () {
return {
pagenum: 1,
......@@ -93,6 +105,7 @@ export default {
total_price: '',
product_plan_id_n: '',
product_num: '',
product_code: '',
},
lists: [],
}
......
......@@ -120,6 +120,10 @@
<div slot="name">产品名称</div>
<input slot="content" v-model="detail.division_n" readonly placeholder="暂无数据" >
</item>
<item v-if="read">
<div slot="name">设备识别号</div>
<input slot="content" v-model="detail.product_code" readonly placeholder="暂无数据" >
</item>
<item>
<div slot="name">合同金额</div>
<input
......@@ -163,8 +167,8 @@
<span>租赁物信息</span>
<span :class="['status',item.lease_status === 'Y'?'unMantain':'mantain']">{{ item.lease_status === 'Y'?'已维护':'待维护' }}</span>
<p>
参数项
<span>{{ item.product_code }}</span>
设备识别号
<span>{{ item.product_code }}-{{ index+1|lengthCheck }}</span>
</p>
</div>
<div class="right">
......@@ -223,6 +227,15 @@
</template>
<script>
export default {
filters: {
lengthCheck: function (value) {
if ((value.toString()).length === 1) {
return `0${value}`
} else {
return value
}
},
},
data () {
return {
num: null,
......@@ -311,6 +324,7 @@ export default {
product_plan_id: '',
project_id: '',
bp_id: '',
product_code: '',
},
equip: [],
vehicleImg: '',
......
......@@ -100,11 +100,12 @@
<span>手续费</span>
<span>{{ serviceCharge |currency }}</span>
</div>
<div class="info-item" @click="wayShow=true">
<span>付款方式</span>
<div class="info-item" @click="show=true">
<span>银行卡</span>
<span>
<img :src="checkPayWay.img" >
<span>{{ checkPayWay.pay_type_name }}</span>
<img :src="checkType.img" >
<span>{{ checkType.bank_full_name }}</span>
<span v-if="sectctNong">({{ selectLast(checkType) }})</span>
<img class="arrow" src="@/assets/payment/go.png" >
</span>
</div>
......@@ -115,52 +116,6 @@
</div>
</div>
</transition>
<transition name="trans">
<div v-show="wayShow" class="modal-show-payWay">
<div class="down">
<div class="top">
<img src="@/assets/payment/back.png" @click="wayShow=false" >
<span>选择支付方式</span>
</div>
<scroll>
<list-item :item-height="56" class="pay-way">
<item
v-for="(item,index) in notNongList"
:proportion="[7,1,1]"
:key="index"
@click.native="isSelect(`bind`);ischeckPay(item)"
>
<div slot="name" style="flex=3">
<img src="@/assets/payment/bind.png" alt class="icon" >
{{ item.pay_type_name }}
</div>
<section slot="content">
<img v-show="select === `bind`" src="@/assets/payment/select.png" alt >
<img v-show="select !== `bind`" src="@/assets/payment/unselect.png" alt >
</section>
</item>
</list-item>
<list-item v-if="isNongPay" :item-height="56" class="pay-way">
<item
v-for="(item,index) in nongPayList"
:proportion="[7,1,1]"
:key="index"
@click.native="isSelect(`pay${index}`);ischeckPay(item)"
>
<div slot="name" style="flex=3">
<img src="@/assets/payment/ly.png" alt class="icon" >
{{ item.pay_type_name }}
</div>
<section slot="content">
<img v-show="select === `pay${index}`" src="@/assets/payment/select.png" alt >
<img v-show="select !== `pay${index}`" src="@/assets/payment/unselect.png" alt >
</section>
</item>
</list-item>
</scroll>
</div>
</div>
</transition>
<h-header :proportion="[5,1,1]" class="bar-custom">
<div slot="left" class="h-header-btn">
<img src="@/assets/userBind/arrow.png" @click="$routeGo()" >
......@@ -305,34 +260,6 @@ export default {
this.money = this.$route.params.money
},
methods: {
ischeckPay (way) {
this.checkPayWay.pay_type_name = way.pay_type_name
if (way.pay_type_name === '银联支付') {
this.checkPayWay.img = yinlian
} else {
this.checkPayWay.img = ny
}
this.sectctNong = true
this.wayShow = false
},
getPayType () {
let vm = this
let url = process.env.basePath + 'payment_type_query'
let param = {}
vm.$post(url, param).then(function (res) {
vm.hlsPopup.hideLoading()
if (res.result === 'S') {
vm.notNongList = res.lists.filter(i => {
return i.pay_type === 'ABC_UNION'
})
vm.nongPayList = res.lists.filter(i => {
return i.pay_type === 'ABC_KM' || i.pay_type === 'ABC_KL'
})
} else {
hlsPopup.showLongCenter(res.message)
}
})
},
selectImg (e) {
if (e.bank_full_name.indexOf('建设') !== -1) {
return js
......@@ -453,16 +380,6 @@ export default {
affirm () {
this.confirm = true
this.confirmToPay()
this.getPayType()
if (this.checkType.bank_full_name.indexOf('农业') !== -1) {
this.checkPayWay.img = ny
this.checkPayWay.pay_type_name = 'K码支付'
this.isNongPay = true
} else {
this.checkPayWay.img = yinlian
this.checkPayWay.pay_type_name = '银联支付'
this.isNongPay = false
}
},
changePage () {
this.$router.push({
......
......@@ -3,7 +3,7 @@
<h-header :proportion="[5,1,1]" class="bar-custom">
<div slot="left" class="h-header-btn">
<img src="@/assets/userBind/arrow.png" @click="changePage" >
<span>支付中心</span>
<span>支付详情</span>
</div>
</h-header>
<h-content class="box">
......@@ -61,11 +61,51 @@
</div>
</div>
</div>
<button v-if="showpay" @click="pay">立即支付</button>
<button v-if="showSelect" @click="searchResult">查询支付结果</button>
<button v-if="isGo" @click="goMyInfo">返回个人中心</button>
<div>
<div class="box-top">
<img src="@/assets/payment/bank-title.png" >
</div>
<div class="box-center">
<list-item :item-height="44">
<item>
<div slot="name" class="name">订单编号</div>
<div slot="content">{{ info.order_number }}</div>
</item>
<item>
<div slot="name" class="name">付款人</div>
<div slot="content">{{ info.pay_amount_name }}</div>
</item>
<item>
<div slot="name" class="name">付款账号</div>
<div slot="content">{{ info.pay_amount }}</div>
</item>
<item>
<div slot="name" class="name">交易金额</div>
<div slot="content">{{ info.orderamount|currency }}</div>
</item>
<item>
<div slot="name" class="name">支付方式</div>
<div slot="content">K码/K令支付</div>
</item>
</list-item>
<div class="description">
<p>- 说明 -</p>
<p>上述两种支付方式均支持借记卡和信用卡;</p>
<p>手机K码支付需要您开通我行消息服务。</p>
<p>掌上银行支付需要您首先开通我行掌上银行,</p>
<p>且支付账户已添加到掌上银行;</p>
<p>www.abchina. com</p>
<p>全国24小时服务热线:95599</p>
<p>中国农业银行版权所有</p>
</div>
</div>
</div>
</h-content>
<bottom-tab>
<tab-button v-if="showpay" class="foot" @click.native="pay">立即支付</tab-button>
<tab-button v-if="showSelect" class="foot" @click.native="searchResult">查询支付结果</tab-button>
<tab-button v-if="isGo" class="foot" @click.native="goMyInfo">返回个人中心</tab-button>
</bottom-tab>
</h-view>
</template>
<script>
......@@ -80,6 +120,7 @@ export default {
order_date: '',
orderamount: '',
order_id: '',
pay_amount: '',
},
showSelect: false,
showpay: true,
......@@ -90,7 +131,6 @@ export default {
},
beforeRouteEnter (to, from, next) {
next(vm => {
console.log(1111111)
vm.showSelect = false
vm.showpay = true
vm.isSuccess = false
......@@ -98,6 +138,7 @@ export default {
vm.isGo = false
vm.name = from.name
vm.url = vm.$route.params.url
vm.getInfo()
})
},
methods: {
......@@ -120,6 +161,22 @@ export default {
name: 'MyInfo',
})
},
getInfo () {
let vm = this
let url = process.env.basePath + 'order_info_query'
let param = {
order_id: vm.$route.params.order_id,
}
hlsPopup.showLoading('请稍候')
vm.$post(url, param).then(function (res) {
vm.hlsPopup.hideLoading()
if (res.result === 'S') {
Object.assign(vm.info, res.info)
} else {
hlsPopup.showLongCenter(res.message)
}
})
},
getDetail () {
let vm = this
let url = process.env.basePath + 'order_info_query'
......@@ -168,26 +225,43 @@ export default {
</script>
<style lang="less">
#pay-page {
.payBtn{
.payBtn {
width: 200px;
height: 40px;
text-align: center;
line-height: 40px;
background: @headerColor;
color: #FFF;
color: #fff;
border-radius: 6px;
}
.box {
display: flex;
justify-content: center;
align-items: center;
flex-wrap: wrap;
background-color: #fafafa;
.box-top {
img {
height: 72px;
}
}
.description {
width: 232px;
height: 141px;
margin: 0 auto;
margin-top:145px;
margin-bottom: 30px;
font-family: PingFangSC-Regular;
font-size: 12px;
color: #d5d5d5;
letter-spacing: 0;
text-align: center;
line-height: 18px;
flex-flow: row wrap;
}
}
button {
.foot {
color: #fff;
background-color: @headerColor;
width: 50%;
height: 40px;
background-color: #009983;
border-radius: 5px;
}
.my-content {
......@@ -235,8 +309,5 @@ export default {
}
}
}
.content {
background-color: #fff;
}
}
</style>
......@@ -80,52 +80,6 @@
</scroll>
</div>
</div></transition>
<transition name="trans">
<div v-show="wayShow" class="modal-show-payWay">
<div class="down">
<div class="top">
<img src="@/assets/payment/back.png" @click="wayShow=false" >
<span>选择支付方式</span>
</div>
<scroll>
<list-item :item-height="56" class="pay-way">
<item
v-for="(item,index) in notNongList"
:proportion="[7,1,1]"
:key="index"
@click.native="isSelect(`bind`);ischeckPay(item)"
>
<div slot="name" style="flex=3">
<img src="@/assets/payment/bind.png" alt class="icon" >
{{ item.pay_type_name }}
</div>
<section slot="content">
<img v-show="select === `bind`" src="@/assets/payment/select.png" alt >
<img v-show="select !== `bind`" src="@/assets/payment/unselect.png" alt >
</section>
</item>
</list-item>
<list-item v-if="isNongPay" :item-height="56" class="pay-way">
<item
v-for="(item,index) in nongPayList"
:proportion="[7,1,1]"
:key="index"
@click.native="isSelect(`pay${index}`);ischeckPay(item)"
>
<div slot="name" style="flex=3">
<img src="@/assets/payment/ly.png" alt class="icon" >
{{ item.pay_type_name }}
</div>
<section slot="content">
<img v-show="select === `pay${index}`" src="@/assets/payment/select.png" alt >
<img v-show="select !== `pay${index}`" src="@/assets/payment/unselect.png" alt >
</section>
</item>
</list-item>
</scroll>
</div>
</div>
</transition>
<transition name="trans">
<div v-show="confirm" class="modal-show-confirm">
<div class="down">
......@@ -145,11 +99,12 @@
<span>手续费</span>
<span>{{ serviceCharge |currency }}</span>
</div>
<div class="info-item" @click="wayShow=true">
<span>付款方式</span>
<div class="info-item" @click="show=true">
<span>银行卡</span>
<span>
<img :src="checkPayWay.img" >
<span>{{ checkPayWay.pay_type_name }}</span>
<img :src="checkType.img" >
<span>{{ checkType.bank_full_name }}</span>
<span v-if="sectctNong">({{ selectLast(checkType) }})</span>
<img class="arrow" src="@/assets/payment/go.png" >
</span>
</div>
......@@ -227,7 +182,6 @@ export default {
money: '',
select: 'one',
name: '',
wayShow: false,
pay_type: '',
bank_account_id: '',
sectctNong: false,
......@@ -236,10 +190,6 @@ export default {
bank_full_name: '',
bank_account_num: '',
},
checkPayWay: {
img: '',
pay_type_name: '',
},
confirm: false,
show: false,
downNum: false,
......@@ -287,7 +237,6 @@ export default {
vm.confirm = false
vm.show = false
vm.downNum = false
vm.getPayType()
if (from.name === 'NewList') {
vm.money = vm.$route.params.money
} else if (from.name === 'PaymentContractRecord') {
......@@ -298,46 +247,9 @@ export default {
})
},
methods: {
getPayType () {
let vm = this
let url = process.env.basePath + 'payment_type_query'
let param = {}
vm.$post(url, param).then(function (res) {
vm.hlsPopup.hideLoading()
if (res.result === 'S') {
vm.notNongList = res.lists.filter(i => {
return i.pay_type === 'ABC_UNION'
})
vm.nongPayList = res.lists.filter(i => {
return i.pay_type === 'ABC_KM' || i.pay_type === 'ABC_KL'
})
} else {
hlsPopup.showLongCenter(res.message)
}
})
},
ischeckPay (way) {
this.checkPayWay.pay_type_name = way.pay_type_name
if (way.pay_type_name === '银联支付') {
this.checkPayWay.img = yinlian
} else {
this.checkPayWay.img = ny
}
this.sectctNong = true
this.wayShow = false
},
affirm () {
this.confirm = true
this.confirmToPay()
if (this.checkType.bank_full_name.indexOf('农业') !== -1) {
this.checkPayWay.img = ny
this.checkPayWay.pay_type_name = 'K码支付'
this.isNongPay = true
} else {
this.checkPayWay.img = yinlian
this.checkPayWay.pay_type_name = '银联支付'
this.isNongPay = false
}
},
confirmToPay (e) {
let vm = this
......
......@@ -130,6 +130,8 @@ export default {
showModalValue: false,
bankList: [],
isClear: false,
certification_status: '',
authUrl: '',
bank: {
bank_account_num: '',
bank_account_name: '',
......@@ -149,6 +151,7 @@ export default {
beforeRouteEnter (to, from, next) {
next(vm => {
vm.getBankInfo()
vm.getNpCertificationUrl()
})
},
methods: {
......@@ -172,15 +175,34 @@ export default {
showModal () {
this.showModalValue = true
},
putData () {
async checkElectonic () {
let vm = this
let id = window.localStorage.getItem('bp_id')
let url = process.env.basePath + 'bp_elec_check'
let param = {
bp_id: id,
}
vm.hlsPopup.showLoading('请稍候')
let res = await vm.$post(url, param)
if (res.result === 'S') {
vm.hlsPopup.hideLoading()
vm.certification_status = res.info.certification_status
return true
} else {
vm.hlsPopup.hideLoading()
this.hlsPopup.showLongCenter(res.message)
}
},
async putData () {
let vm = this
let bp_id = window.localStorage.getItem('bp_id')
let isCheck = await vm.checkElectonic()
if (bp_id) {
this.hlsPopup.showConfirm({
title: '提示',
content: '您确认提交吗?',
onConfirm: data => {
if (data) {
let vm = this
let url = process.env.basePath + 'bp_bind_submit'
let param = {
master: {
......@@ -189,17 +211,28 @@ export default {
},
}
vm.hlsPopup.showLoading('请稍候')
vm.hlsHttp.post(url, param).then(function (res) {
vm.hlsPopup.hideLoading()
if (res.result === 'S') {
vm.hlsPopup.showSuccess('提交成功')
vm.$router.push({
name: 'HomePage',
})
} else {
vm.hlsPopup.showLongCenter(res.message)
}
})
if (isCheck) {
vm.hlsHttp.post(url, param).then(function (res) {
vm.hlsPopup.hideLoading()
if (res.result === 'S') {
vm.hlsPopup.showSuccess('提交成功')
if (vm.certification_status === 'Y') {
vm.$router.push({
name: 'HomePage',
})
} else {
vm.$router.push({
name: 'Certification',
params: {
authUrl: vm.authUrl,
},
})
}
} else {
vm.hlsPopup.showLongCenter(res.message)
}
})
}
}
},
})
......@@ -207,6 +240,23 @@ export default {
this.hlsPopup.showLongCenter('请先保存')
}
},
getNpCertificationUrl () {
let vm = this
let url = $config.basePath + 'auth_user_sign'
let param = {
phone: window.localStorage.user_phone,
}
hlsPopup.showLoading('请稍候')
vm.$post(url, param).then(function (res) {
hlsPopup.hideLoading()
console.log('获取个人认证url', res)
if (res.info.code === 0) {
vm.authUrl = res.info.data.authUrl
} else {
vm.errorMsg = res.info.msg
}
})
},
addBankInfo () {
this.hlsPopup.showConfirm({
title: '提示',
......
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