Commit df61538a authored by 李晓兵's avatar 李晓兵

'合成用户绑定'

parent a20ca34c
......@@ -7,7 +7,6 @@ module.exports = merge(prodEnv, {
CONFIG_ENV: JSON.stringify(process.env.CONFIG_ENV),
debug: true,
isMobilePlatform: false,
hmapUrl:'"http://hippius.hand-china.com/hmap220"',
loginPath: '"http://hlsapp.hand-china.com/core/oauth/token?client_id=hQGCtxTItRa34PUOgxaD0r7oSPeuEaIB&client_secret=7ee8338c-4a06-44a1-87cc-afa63f8e1bc3&grant_type=password&username=app&password=" ',
basePath: '"http://hlsapp.hand-china.com/core/r/api?sysName=XCMG_DEV&apiName="',
rootPath: '"http://hlsapp.hand-china.com/core/r/api"',
......
var exec = require('cordova/exec');
//人脸检测
exports.faceDetect = function(arg0, success, error) {
exec(success, error, "FacePlugin", "faceDetect", [arg0]);
};
//获取本地图片base64位字符串
exports.getLocalImage = function(arg0, success, error) {
exec(success, error, "FacePlugin", "getLocalImage", [arg0]);
};
//人脸登录
exports.faceLogin = function(arg0, success, error) {
exec(success, error, "FacePlugin", "faceLogin", [arg0]);
};
//人脸比较
exports.faceCompare = function(arg0, success, error) {
exec(success, error, "FacePlugin", "faceCompare", [arg0]);
};
//人脸搜索
exports.faceSelect = function(arg0, success, error) {
exec(success, error, "FacePlugin", "faceSelect", [arg0]);
};
src/assets/userBind/add.png

755 Bytes

src/assets/userBind/addBack.png

4.54 KB

src/assets/userBind/arrow.png

273 Bytes

src/assets/userBind/back.png

1.53 KB

src/assets/userBind/bank.png

280 Bytes

src/assets/userBind/bankIcon.png

436 Bytes

src/assets/userBind/base.png

445 Bytes

src/assets/userBind/camera.png

1.13 KB

src/assets/userBind/check1.png

7.16 KB

src/assets/userBind/check2.png

7.04 KB

src/assets/userBind/check3.png

6.72 KB

src/assets/userBind/close.png

886 Bytes

src/assets/userBind/delete.png

810 Bytes

src/assets/userBind/entr.png

643 Bytes

src/assets/userBind/front.png

1.26 KB

src/assets/userBind/info.png

838 Bytes

src/assets/userBind/nong.png

13.5 KB

src/assets/userBind/np.png

1.11 KB

src/assets/userBind/org/back.png

1.39 KB

src/assets/userBind/org/checklist.png

425 Bytes

src/assets/userBind/org/front.png

1.26 KB

src/assets/userBind/out.png

555 Bytes

src/assets/userBind/right.png

439 Bytes

src/assets/userBind/sao.png

854 Bytes

src/assets/userBind/unNong.png

13.7 KB

src/assets/userBind/uncheck1.png

8.27 KB

src/assets/userBind/uncheck2.png

7.99 KB

src/assets/userBind/uncheck3.png

7.66 KB

<template>
<div class="tab-style">
<span @click="tabNum = 0;sendTabNum()"><img :src="tabNum == 0?check1:uncheck1"></span>
<span @click="tabNum = 1;sendTabNum()"><img :src="tabNum == 1?check2:uncheck2" ></span>
<span @click="tabNum = 2;sendTabNum()"><img :src="tabNum == 2?check3:uncheck3"></span>
</div>
</template>
<script>
import check1 from '@/assets/userBind/check1.png'
import check2 from '@/assets/userBind/check2.png'
import check3 from '@/assets/userBind/check3.png'
import uncheck1 from '@/assets/userBind/uncheck1.png'
import uncheck2 from '@/assets/userBind/uncheck2.png'
import uncheck3 from '@/assets/userBind/uncheck3.png'
export default {
data () {
return {
tabNum: 0,
check1: check1,
check2: check2,
check3: check3,
uncheck1: uncheck1,
uncheck2: uncheck2,
uncheck3: uncheck3,
}
},
methods: {
sendTabNum () {
this.$emit('getTabNum', this.tabNum)
},
},
}
</script>
<style lang="less" scoped>
.tab-style{
display:flex;
justify-content: center;
padding-top:12px;
padding-bottom: 8px;
align-items: center;
box-shadow:0 2px 3px 0 rgba(220,220,221,0.50);
span{
display: block;
width:112px;
height: 32px;
border-radius:16px;
}
img{
width:112px;
height: 32px;
margin-right:5.7px;
}
span:nth-of-type(2){
margin:0 10px;
}
}
</style>
......@@ -16,34 +16,6 @@ export default {
'roleId': 1,
'roleCode': 'ADMIN',
'roleName': '管理员',
'functions': [
{
'functionId': 1,
'functionCode': '110',
'functionName': '客户创建',
'functionIcon': 'http://hlsapp.hand-china.com/file/hel_dev/function/customerCreate@2x.png',
'functionState': 'PartnerCreate',
'prodFlag': 'Y',
'enableFlag': 'Y',
'functionType': 'local',
'target': null,
'applicationFlag': 'N',
'appCode': 'HLS_APP',
},
{
'functionId': 2,
'functionCode': '120',
'functionName': '客户维护',
'functionIcon': 'http://hlsapp.hand-china.com/file/hel_dev/function/customerMaintain@2x.png',
'functionState': 'PartnerList',
'prodFlag': 'Y',
'enableFlag': 'Y',
'functionType': 'local',
'target': null,
'applicationFlag': 'N',
'appCode': 'HLS_APP',
},
],
},
{
'moduleId': 2,
......@@ -53,47 +25,6 @@ export default {
'roleId': 1,
'roleCode': 'ADMIN',
'roleName': '管理员',
'functions': [
{
'functionId': 3,
'functionCode': '210',
'functionName': '融资试算',
'functionIcon': 'http://hlsapp.hand-china.com/file/hel_dev/function/finaning-main@2x.png',
'functionState': 'CalculationEnter',
'prodFlag': 'Y',
'enableFlag': 'Y',
'functionType': 'local',
'target': null,
'applicationFlag': 'N',
'appCode': 'HLS_APP',
},
{
'functionId': 4,
'functionCode': '100',
'functionName': '租赁申请',
'functionIcon': 'http://hlsapp.hand-china.com/file/hel_dev/function/applyCreate@2x.png',
'functionState': 'PrjCreate',
'prodFlag': 'Y',
'enableFlag': 'Y',
'functionType': 'local',
'target': null,
'applicationFlag': 'N',
'appCode': 'HLS_APP',
},
{
'functionId': 5,
'functionCode': '130',
'functionName': '申请维护',
'functionIcon': 'http://hlsapp.hand-china.com/file/hel_dev/function/applyMaintain@2x.png',
'functionState': 'PrjMaintenList',
'prodFlag': 'Y',
'enableFlag': 'Y',
'functionType': 'local',
'target': null,
'applicationFlag': 'N',
'appCode': 'HLS_APP',
},
],
},
{
'moduleId': 3,
......@@ -103,34 +34,6 @@ export default {
'roleId': 1,
'roleCode': 'ADMIN',
'roleName': '管理员',
'functions': [
{
'functionId': 6,
'functionCode': '400',
'functionName': '合同维护',
'functionIcon': 'http://hlsapp.hand-china.com/file/hel_dev/function/contractMaintain@2x.png',
'functionState': 'ContractMaintenList',
'prodFlag': 'Y',
'enableFlag': 'Y',
'functionType': 'local',
'target': null,
'applicationFlag': 'N',
'appCode': 'HLS_APP',
},
{
'functionId': 7,
'functionCode': '410',
'functionName': '合同签约',
'functionIcon': 'http://hlsapp.hand-china.com/file/hel_dev/function/contractSign@2x.png',
'functionState': 'ContractSignList',
'prodFlag': 'Y',
'enableFlag': 'Y',
'functionType': 'local',
'target': null,
'applicationFlag': 'N',
'appCode': 'HLS_APP',
},
],
},
{
'moduleId': 4,
......@@ -140,60 +43,6 @@ export default {
'roleId': 1,
'roleCode': 'ADMIN',
'roleName': '管理员',
'functions': [
{
'functionId': 8,
'functionCode': '160',
'functionName': '工作流',
'functionIcon': 'http://hlsapp.hand-china.com/file/hel_dev/function/workflow@2x.png',
'functionState': 'WorkflowList',
'prodFlag': 'Y',
'enableFlag': 'Y',
'functionType': 'local',
'target': null,
'applicationFlag': 'N',
'appCode': 'HLS_APP',
},
{
'functionId': 9,
'functionCode': '170',
'functionName': 'OCR',
'functionIcon': 'http://hlsapp.hand-china.com/file/hel_dev/function/ocr.png',
'functionState': 'OcrIdentify',
'prodFlag': 'Y',
'enableFlag': 'Y',
'functionType': 'local',
'target': null,
'applicationFlag': 'N',
'appCode': 'HLS_APP',
},
{
'functionId': 45,
'functionCode': '240',
'functionName': '报表',
'functionIcon': 'http://hlsapp.hand-china.com/file/hel_dev/function/chats@2x.png',
'functionState': 'Reports',
'prodFlag': 'Y',
'enableFlag': 'Y',
'functionType': 'local',
'target': null,
'applicationFlag': 'N',
'appCode': 'HLS_APP',
},
{
'functionId': 46,
'functionCode': '250',
'functionName': '启信宝',
'functionIcon': 'http://hlsapp.hand-china.com/file/hel_dev/function/qixinbao.png',
'functionState': 'QiXinBao',
'prodFlag': 'Y',
'enableFlag': 'Y',
'functionType': 'local',
'target': null,
'applicationFlag': 'N',
'appCode': 'HLS_APP',
},
],
},
],
}
......@@ -2,10 +2,6 @@
<h-view id="home" class="public-style" title="车租易">
<h-content :cal-content="false" class="content scroll-content">
<div class="top-box">
<header class="header">
<input v-model="searchInput" placeholder="请输入功能名">
<img src="../assets/image/home/functionList@2x.png" @click="search">
</header>
<swipe :interval="5000" :showIndicators="false" class="swipe">
<swipe-item v-for="img in imgList" :key="img.pictureUrl">
<img :src="img.pictureUrl">
......@@ -15,14 +11,14 @@
<function-item
v-for="item in moduleSeparateList.slice(0,4)" :key="item.moduleId" :functionIcon="item.moduleIcon"
:functionName="item.moduleName"
:data="item" @clickFunction="goModuleFunction"/>
:data="item"/>
</div>
</div>
<div class="middle-box">
<header>常用应用</header>
<div class="function">
<function-item
v-for="item in functionList" :key="item.functionId" :functionIcon="item.functionIcon"
v-for="(item,index) in functionList" :key="index" :functionIcon="item.functionIcon"
:functionName="item.functionName"
:data="item" class="function-item vue-1px" @clickFunction="goFunctionHome"/>
</div>
......@@ -39,7 +35,7 @@
<ul id="p2"/>
</div>
</div>
<div class="bank" style="height: 60px;width: 100%"></div>
<div class="bank" style="height: 60px;width: 100%"/>
</h-content>
</h-view>
</template>
......@@ -52,8 +48,21 @@ export default {
return {
imgList: [],
moduleSeparateList: [],
functionList: [], // 全部应用
messageList: [],
functionList: [
{
functionIcon: require('@/assets/userBind/np.png'),
functionName: '用户绑定',
functionState: 'UserBind',
},
], // 全部应用
messageList: [
{
msg_body: '庆祝建国70周年',
},
{
msg_body: '祖国万岁',
},
],
area: {},
box1: {},
box2: {},
......@@ -65,34 +74,10 @@ export default {
created: function () {
this.imgList = [...functionState.bannerList]
this.moduleSeparateList = [...functionState.moduleSeparateList]
this.moduleSeparateList.forEach(item => {
this.functionList = this.functionList.concat(item.functions)
})
},
updated: function () {
},
methods: {
search () {
let vm = this
let flag = 'N'
if (vm.searchInput) {
for (let i of vm.allFunctionList) {
if (vm.searchInput === i.functionName) {
vm.$router.push({
name: i.functionState,
})
flag = 'Y'
break
}
}
} else {
vm.hlsPopup.showLongCenter('请输入功能名称')
}
if (flag === 'N') {
vm.hlsPopup.showLongCenter('没有此功能')
}
},
goModuleFunction (data) {
this.$router.push({
name: 'ModuleFunction',
......@@ -101,7 +86,6 @@ export default {
},
})
},
goFunctionHome (data) {
this.$router.push({
name: data.functionState,
......
......@@ -35,6 +35,8 @@ export default {
methods: {
login: function () {
let vm = this
vm.$router.push('tab')
/* let vm = this
// debugger;
// vm.password = CryptoJS.MD5(vm.password).toString().toUpperCase();
let md5passwprd = CryptoJS.MD5(vm.password).toString().toUpperCase()
......@@ -50,7 +52,7 @@ export default {
window.localStorage.setItem('username', vm.username.toUpperCase())
window.localStorage.setItem('password', md5passwprd)
window.localStorage.setItem('user_id', res.user_id)
if (res.bp_id && res.bp_id != 'undefined') {
if (res.bp_id && res.bp_id !== 'undefined') {
window.localStorage.setItem('bp_id', res.bp_id)
}
......@@ -66,7 +68,7 @@ export default {
vm.Jpush._jpush_config(tagOption)
}
// 极光推送
})
})*/
},
access: function () {
let vm = this
......@@ -79,6 +81,7 @@ export default {
let param = {}
vm.hlsPopup.showLoading('请稍等')
vm.$post(url, param).then(function (res) {
vm.hlsPopup.hideLoading()
window.localStorage.setItem('access_token', res.access_token)
vm.login()
})
......@@ -117,8 +120,8 @@ export default {
justify-content: center;
-webkit-justify-content: center;
img {
width: 276px;
height: 96px;
width: 138px;
height: 48px;
}
}
.login {
......@@ -126,20 +129,20 @@ export default {
display: flex;
display: -webkit-flex;
margin: 15% auto 0;
width: 500px;
width: 250px;
justify-content: center;
.person-icon {
margin-bottom: 18px;
margin-right: 30px;
margin-left: 6px;
margin-bottom: 9px;
margin-right: 15px;
margin-left: 3px;
img {
width: 36px;
height: 40px;
width: 18px;
height: 20px;
}
}
.admin-input {
//width: 380px;
height: 50px;
height: 25px;
display: flex;
display: -webkit-flex;
align-items: center;
......@@ -147,21 +150,21 @@ export default {
input {
width: 100%;
height: 100%;
font-size: 32px;
font-size: 16px;
color: #9e9e9e;
margin-bottom: 10px;
line-height: 44px;
margin-bottom: 5px;
line-height: 22px;
}
input::-webkit-input-placeholder {
font-size: 32px;
font-size: 16px;
color: #CDD1D3;
}
}
.delete {
img {
margin-top: 10px;
width: 24px;
height: 24px;
margin-top: 5px;
width: 12px;
height: 12px;
}
}
}
......@@ -170,19 +173,19 @@ export default {
display: flex;
display: -webkit-flex;
margin: 15% auto 0;
width: 500px;
width: 250px;
.pwd-icon {
margin-bottom: 18px;
margin-right: 30px;
margin-left: 6px;
margin-bottom: 9px;
margin-right: 15px;
margin-left: 3px;
img {
width: 36px;
height: 40px;
width: 18px;
height: 20px;
}
}
.pwd-input {
//width: 380px;
height: 50px;
height: 25px;
display: flex;
display: -webkit-flex;
align-items: center;
......@@ -190,26 +193,26 @@ export default {
input {
width: 100%;
height: 100%;
font-size: 32px;
font-size: 16px;
color: #9e9e9e;
line-height: 44px;
margin-bottom: 10px;
line-height: 22px;
margin-bottom: 5px;
}
input::-webkit-input-placeholder {
font-size: 32px;
font-size: 16px;
color: #CDD1D3;
}
}
.delete {
img {
margin-top: 10px;
width: 24px;
height: 24px;
margin-top: 5px;
width: 12px;
height: 12px;
}
}
}
.other-function {
width: 500px;
width: 250px;
display: flex;
display: -webkit-flex;
justify-content: space-between;
......@@ -217,21 +220,21 @@ export default {
margin: 8% auto 0;
.register {
color: #5D98F6;
font-size: 30px;
font-size: 15px;
}
.pwd-forgotten {
color: #5D98F6;
font-size: 30px;
font-size: 15px;
}
}
.submit {
width: 500px;
width: 250px;
opacity: 1;
background-color: #5D98F6;
border-radius: 8px;
height: 80px;
border-radius: 4px;
height: 40px;
margin: 22% auto 0;
font-size: 32px;
font-size:16px;
color: #FEFEFE;
display: flex;
display: -webkit-flex;
......
<template>
<h-content>
<div id="bank-card">
<div class="info">
<div class="info-icon">
<img src="@/assets/userBind/info.png" >
<span>温馨提示</span>
</div>
<p>推荐使用农行卡,农行卡支付免收手续费!</p>
</div>
<div class="my-card">
<div class="top">
<div class="left">
<img src="@/assets/userBind/bankIcon.png" class="icon" >
<span class="top-word">
我的卡
<span class="sum">(共4张)</span>
</span>
</div>
<img src="@/assets/userBind/add.png" class="icon-right" @click="sendFlag" >
</div>
<div class="clear" />
<div class="card-content">
<ul>
<li v-for="(item,index) in bankList" :key="index">
<item-option class="slider">
<div
:style="'background-image: url('+ changeBgImg (item) +')'"
class="my-bank-card"
>
<div class="card-info">
<span class="name">{{ item.bank_full_name }}</span>
<span class="card-type">{{ item.bank_card_type }}</span>
<span class="number">卡号</span>
<span class="card-number">**** **** **** {{ selectLast (item) }}</span>
</div>
</div>
<div slot="buttons" class="button">
<option-button text @click.native="deleteFun(item.bank_account_num)" />
</div>
</item-option>
</li>
</ul>
</div>
</div>
</div>
</h-content>
</template>
<script>
import backImg1 from '@/assets/userBind/nong.png'
import backImg2 from '@/assets/userBind/unNong.png'
export default {
data () {
return {
backImg: null,
showModalValue: true,
bankList: [
{
bank_account_num: '1231123112311231',
bank_full_name: '中国农业银行',
bank_card_type: '信用卡',
},
{
bank_account_num: '2345763456980965',
bank_full_name: '中国建设银行',
bank_card_type: '储蓄卡',
},
{
bank_account_num: '2345763456980905',
bank_full_name: '中国建设银行',
bank_card_type: '储蓄卡',
},
],
}
},
methods: {
sendFlag () {
this.showModalValue = true
this.$emit('getInfo', this.showModalValue)
},
changeBgImg (item) {
if (item.bank_full_name === '中国农业银行') {
return backImg1
} else {
return backImg2
}
},
selectLast (item) {
let num = item.bank_account_num
return num.substring(num.length - 4)
},
deleteFun (e) {
let index = this.bankList.findIndex(item => {
if (item.bank_account_num === e) {
return true
}
})
this.bankList.splice(index, 1)
},
},
}
</script>
<style lang="less" scoped>
#bank-card {
.info {
height: 70px;
background-color: rgba(142, 195, 30, 0.1);
.info-icon {
height: 20px;
padding-top: 20px;
display: flex;
align-items: center;
img {
width: 15.8px;
height: 15.8px;
margin-left: 17.1px;
}
span {
font-family: PingFangSC-Semibold;
font-size: 14px;
color: #8ec31e;
margin-left: 9px;
letter-spacing: 0.5px;
line-height: 20px;
}
}
p {
font-family: PingFangSC-Regular;
font-size: 13px;
color: #656464;
width: 310px;
margin-left: 42px;
letter-spacing: 0.4px;
line-height: 18px;
margin-top: 8px;
}
}
.my-card {
.top {
width: 320px;
margin: 0 auto;
margin-top: 13px;
.left {
height: 32px;
display: flex;
align-items: center;
float: left;
.icon {
width: 18px;
height: 20px;
margin-right: 4px;
}
.top-word {
font-family: PingFangSC-Semibold;
font-size: 15px;
color: #00469c;
letter-spacing: 0.46px;
.sum {
font-family: PingFangSC-Semibold;
font-size: 15px;
color: #4d5d6c;
letter-spacing: 0.46px;
}
}
}
.icon-right {
width: 34px;
height: 34px;
float: right;
}
}
.clear {
clear: both;
}
.card-content {
width: 350px;
padding-left: 28px;
overflow: hidden;
margin-top: 16px;
li {
margin-bottom: 10px;
.slider {
height: 100%;
margin-left: -14px;
}
}
.my-bank-card {
width: 320px;
height: 190px;
box-shadow: 0 5px 20px 0 rgba(101, 101, 101, 0.25);
border-radius: 6px;
background-size: 320px 190px;
.card-info {
font-family: PingFangSC-Medium;
color: #ffffff;
margin-left: 18px;
padding-top: 15px;
.name,
.card-type {
font-size: 16px;
letter-spacing: 5.5px;
line-height: 24px;
}
.card-type {
display: block;
margin-top: 9px;
}
.number {
font-size: 12px;
letter-spacing: 0;
line-height: 16px;
margin-top: 33px;
display: block;
margin-top: 33px;
}
.card-number {
display: block;
font-family: Avenir-Heavy;
font-size: 16px;
color: #ffffff;
letter-spacing: 6px;
line-height: 24px;
}
}
}
}
}
.swipeout-list .item .function {
left: 330px;
border-radius: 6px;
width: 54px;
height: 190px;
background: url("../../../assets/userBind/delete.png") 16px 84.9px #fde5e8
no-repeat;
background-size: 20px 20px;
}
}
</style>
<template>
<list-item :item-height="44">
<item :showArrow="true">
<div slot="name">纳税人类型</div>
<input
slot="content"
v-model="taxpayer_type_n"
type="text"
readonly
placeholder="请选择"
onfocus="this.blur()"
@click="selectTaxpayer"
>
</item>
<item :showArrow="true">
<div slot="name">发票类型</div>
<input
slot="content"
v-model="invoice_kind_n"
type="text"
readonly
placeholder="请选择"
onfocus="this.blur()"
@click="selectInvoiceType"
>
</item>
<item>
<div slot="name">发票抬头</div>
<input slot="content" v-model="invoiceInfo.invoice_title" type="text" placeholder="请输入发票抬头" >
</item>
<item>
<div slot="name">发票地址及电话</div>
<input slot="content" v-model="invoiceInfo.invoice_bp_address_phone_num" type="text" placeholder="请输入发票地址及电话" >
</item>
<item>
<div slot="name">发票开户行及账号</div>
<input
slot="content"
v-model="invoiceInfo.invoice_bp_bank_account"
type="text"
placeholder="请输入发票开户行及账号"
>
</item>
<item>
<div slot="name">纳税人识别号</div>
<input
slot="content"
v-model="invoiceInfo.organization_code" type="text" placeholder="请输入纳税人识别号" >
</item>
</list-item>
</template>
<script>
export default {
data () {
return {
taxpayer_type_n: '',
invoice_kind_n: '',
invoicList: [],
taxpayerList: [],
invoiceInfo: {
taxpayer_type: '',
invoice_kind: '',
invoice_title: '',
invoice_bp_address_phone_num: '',
invoice_bp_bank_account: '',
},
}
},
created () {
this.getInvoiceType()
this.getTaxpayer()
},
updated () {
this.sendList()
},
methods: {
getInvoiceType () {
let vm = this
let url = process.env.basePath + 'bp_invoice_kind_query'
let param = {}
vm.hlsPopup.showLoading('请稍候')
vm.hlsHttp.post(url, param).then(function (res) {
vm.hlsPopup.hideLoading()
if (res.result === 'S') {
vm.invoicList = res.lists.map(item => {
return {
code: item.invoice_kind,
code_name: item.invoice_kind_n,
}
})
}
})
},
getTaxpayer () {
let vm = this
let url = process.env.basePath + 'bp_taxpayer_type_query'
let param = {}
vm.hlsPopup.showLoading('请稍候')
vm.hlsHttp.post(url, param).then(function (res) {
vm.hlsPopup.hideLoading()
if (res.result === 'S') {
vm.taxpayerList = res.lists.map(item => {
return {
code: item.taxpayer_type,
code_name: item.taxpayer_type_n,
}
})
}
})
},
selectInvoiceType (e) {
let vm = this
vm.hlsPopup.selectList({
list: vm.invoicList,
code: 'bp_type',
object: {},
returnItem: function (index, obj) {
vm.invoiceInfo.invoice_kind = obj.bp_type
vm.invoice_kind_n = obj.bp_type_n
},
})
},
selectTaxpayer (e) {
let vm = this
vm.hlsPopup.selectList({
list: vm.taxpayerList,
code: 'bp_type',
object: {},
returnItem: function (index, obj) {
vm.invoiceInfo.taxpayer_type = obj.bp_type
vm.taxpayer_type_n = obj.bp_type_n
},
})
},
sendList () {
this.$emit('getinvoiceList', this.invoiceInfo)
},
},
}
</script>
<style scoped>
input::placeholder{
color: #B4B4B5;
}
</style>
This diff is collapsed.
<template>
<h-content>
<div id="bank-card">
<div class="info">
<div class="info-icon">
<img src="@/assets/userBind/info.png" >
<span>温馨提示</span>
</div>
<p>推荐使用农行卡,农行卡支付免收手续费!</p>
</div>
<div class="my-card">
<div class="top">
<div class="left">
<img src="@/assets/userBind/bankIcon.png" class="icon" >
<span class="top-word">
我的卡
<span class="sum">(共4张)</span>
</span>
</div>
<img src="@/assets/userBind/add.png" class="icon-right" @click="sendFlag" >
</div>
<div class="clear" />
<div class="card-content">
<ul>
<li v-for="(item,index) in bankList" :key="index">
<item-option class="slider">
<div
:style="'background-image: url('+ changeBgImg (item) +')'"
class="my-bank-card"
>
<div class="card-info">
<span class="name">{{ item.bank_full_name }}</span>
<span class="card-type">{{ item.bank_card_type }}</span>
<span class="number">卡号</span>
<span class="card-number">**** **** **** {{ selectLast (item) }}</span>
</div>
</div>
<div slot="buttons" class="button">
<option-button text @click.native="deleteFun(item.bank_account_num)" />
</div>
</item-option>
</li>
</ul>
</div>
</div>
</div>
</h-content>
</template>
<script>
import backImg1 from '@/assets/userBind/nong.png'
import backImg2 from '@/assets/userBind/unNong.png'
export default {
data () {
return {
backImg: null,
showModalValue: true,
bankList: [
{
bank_account_num: '1231123112311231',
bank_full_name: '中国农业银行',
bank_card_type: '信用卡',
},
{
bank_account_num: '2345763456980965',
bank_full_name: '中国建设银行',
bank_card_type: '储蓄卡',
},
{
bank_account_num: '2345763456980965',
bank_full_name: '中国建设银行',
bank_card_type: '储蓄卡',
},
],
}
},
methods: {
sendFlag () {
this.showModalValue = true
this.$emit('getInfo', this.showModalValue)
},
changeBgImg (item) {
if (item.bank_full_name === '中国农业银行') {
return backImg1
} else {
return backImg2
}
},
selectLast (item) {
let num = item.bank_account_num
return num.substring(num.length - 4)
},
deleteFun (e) {
let index = this.bankList.findIndex(item => {
if (item.bank_account_num === e) {
return true
}
})
this.bankList.splice(index, 1)
},
},
}
</script>
<style lang="less" scoped>
#bank-card {
.info {
height: 70px;
background-color: rgba(142, 195, 30, 0.1);
.info-icon {
height: 20px;
padding-top: 20px;
display: flex;
align-items: center;
img {
width: 15.8px;
height: 15.8px;
margin-left: 17.1px;
}
span {
font-family: PingFangSC-Semibold;
font-size: 14px;
color: #8ec31e;
margin-left: 9px;
letter-spacing: 0.5px;
line-height: 20px;
}
}
p {
font-family: PingFangSC-Regular;
font-size: 13px;
color: #656464;
width: 310px;
margin-left: 42px;
letter-spacing: 0.4px;
line-height: 18px;
margin-top: 8px;
}
}
.my-card {
.top {
width: 320px;
margin: 0 auto;
margin-top: 13px;
.left {
height: 32px;
display: flex;
align-items: center;
float: left;
.icon {
width: 18px;
height: 20px;
margin-right: 4px;
}
.top-word {
font-family: PingFangSC-Semibold;
font-size: 15px;
color: #00469c;
letter-spacing: 0.46px;
.sum {
font-family: PingFangSC-Semibold;
font-size: 15px;
color: #4d5d6c;
letter-spacing: 0.46px;
}
}
}
.icon-right {
width: 34px;
height: 34px;
float: right;
}
}
.clear {
clear: both;
}
.card-content {
width: 350px;
padding-left: 28px;
overflow: hidden;
margin-top: 16px;
li {
margin-bottom: 10px;
.slider {
height: 100%;
margin-left: -14px;
}
}
.my-bank-card {
width: 320px;
height: 190px;
box-shadow: 0 5px 20px 0 rgba(101, 101, 101, 0.25);
border-radius: 6px;
background-size: 320px 190px;
.card-info {
font-family: PingFangSC-Medium;
color: #ffffff;
margin-left: 18px;
padding-top: 15px;
.name,
.card-type {
font-size: 16px;
letter-spacing: 5.5px;
line-height: 24px;
}
.card-type {
display: block;
margin-top: 9px;
}
.number {
font-size: 12px;
letter-spacing: 0;
line-height: 16px;
margin-top: 33px;
display: block;
margin-top: 33px;
}
.card-number {
display: block;
font-family: Avenir-Heavy;
font-size: 16px;
color: #ffffff;
letter-spacing: 6px;
line-height: 24px;
}
}
}
}
}
.swipeout-list .item .function {
left: 330px;
border-radius: 6px;
width: 54px;
height: 190px;
background: url("../../../assets/userBind/delete.png") 16px 84.9px #fde5e8
no-repeat;
background-size: 20px 20px;
}
}
</style>
This diff is collapsed.
<!--
* @Description: In User Settings Edit
* @Author: your name
* @Date: 2019-09-20 09:35:11
* @LastEditTime: 2019-09-20 10:41:24
* @LastEditors: Please set LastEditors
-->
<template>
<list-item :item-height="44">
<item :showArrow="true">
<div slot="name" class="font-color">纳税人类型</div>
<input
slot="content"
v-model="taxpayer_type_n"
type="text"
readonly
placeholder="请选择"
@click="selectTaxpayer"
>
</item>
<item :showArrow="true">
<div slot="name" class="font-color">发票类型</div>
<input
slot="content"
v-model="invoice_kind_n"
type="text"
readonly
placeholder="请选择"
@click="selectInvoiceType"
>
</item>
<item>
<div slot="name" class="font-color">发票抬头</div>
<input slot="content" v-model="invoiceInfo.invoice_title" type="text" placeholder="请输入发票抬头" >
</item>
<item>
<div slot="name" class="font-color">发票地址及电话</div>
<input slot="content" v-model="invoiceInfo.invoice_bp_address_phone_num" type="text" placeholder="请输入发票地址及电话" >
</item>
<item>
<div slot="name" class="font-color">发票开户行及账号</div>
<input
slot="content"
v-model="invoiceInfo.invoice_bp_bank_account"
type="text"
placeholder="请输入发票开户行及账号"
>
</item>
<item>
<div slot="name" class="font-color">纳税人识别号</div>
<input
slot="content"
v-model="invoiceInfo.organization_code" type="text" placeholder="请输入纳税人识别号"
>
</item>
</list-item>
</template>
<script>
export default {
name: 'InvoiceInfo',
data () {
return {
invoicList: [],
taxpayerList: [],
invoice_kind_n: '',
taxpayer_type_n: '',
invoiceInfo: {
invoice_kind: '',
taxpayer_type: '',
invoice_title: '',
organization_code: '',
invoice_bp_bank_account: '',
invoice_bp_address_phone_num: '',
},
}
},
created () {
this.getInvoiceType()
this.getTaxpayer()
},
updated () {
this.sendList()
},
methods: {
getInvoiceType () {
let vm = this
let url = process.env.basePath + 'bp_invoice_kind_query'
let param = {}
vm.hlsPopup.showLoading('请稍候')
vm.hlsHttp.post(url, param).then(function (res) {
vm.hlsPopup.hideLoading()
if (res.result === 'S') {
vm.invoicList = res.lists.map(item => {
return {
code: item.invoice_kind,
code_name: item.invoice_kind_n,
}
})
}
})
},
getTaxpayer () {
let vm = this
let url = process.env.basePath + 'bp_taxpayer_type_query'
let param = {}
vm.hlsPopup.showLoading('请稍候')
vm.hlsHttp.post(url, param).then(function (res) {
vm.hlsPopup.hideLoading()
if (res.result === 'S') {
vm.taxpayerList = res.lists.map(item => {
return {
code: item.taxpayer_type,
code_name: item.taxpayer_type_n,
}
})
}
})
},
selectInvoiceType (e) {
let vm = this
vm.hlsPopup.selectList({
list: vm.invoicList,
code: 'bp_type',
object: {},
returnItem: function (index, obj) {
vm.invoiceInfo.invoice_kind = obj.bp_type
vm.invoice_kind_n = obj.bp_type_n
},
})
},
selectTaxpayer (e) {
let vm = this
vm.hlsPopup.selectList({
list: vm.taxpayerList,
code: 'bp_type',
object: {},
returnItem: function (index, obj) {
vm.invoiceInfo.taxpayer_type = obj.bp_type
vm.taxpayer_type_n = obj.bp_type_n
},
})
},
sendList () {
this.$emit('getinvoiceList', this.invoiceInfo)
},
},
}
</script>
<style scoped>
input::placeholder{
color: #B4B4B5;
}
.font-color {
color: #656464;
}
</style>
<template>
<h-view id="user-bind" class="public-style" title="用户绑定">
<h-header :proportion="[5,1,1]" class="header">
<div slot="left" class="h-header-btn">
<img src="@/assets/userBind/arrow.png" >
<span>用户绑定</span>
</div>
</h-header>
<h-content class="content">
<div class="info">
<div class="info-icon">
<span>温馨提示</span>
<img src="@/assets/userBind/info.png" >
</div>
<p>绑定成功后,您即可使用APP中合同查询、还款查询等功能。</p>
</div>
<p>选择用户类型</p>
<h-button :class="flag==0?'nature':'org'" @click.native="flag = 0">
<img src="@/assets/userBind/np.png" class="n-img" >自然人
</h-button>
<h-button :class="flag==1?'nature':'org'" @click.native="flag = 1">
<img src="@/assets/userBind/entr.png" class="o-img" >企业
</h-button>
<h-button class="enter" @click.native="changePage">
进入
<img src="@/assets/userBind/right.png" >
</h-button>
</h-content>
</h-view>
</template>
<script>
export default {
data () {
return {
flag: 0,
}
},
created () {
},
methods: {
changePage () {
let name
let bpClass
if (this.flag === 0) {
name = 'NaturePerson'
bpClass = 'NP'
} else if (this.flag === 1) {
name = 'Enterprise'
bpClass = 'ORG'
}
this.$router.push({
name: name,
params: {
'bp_class': bpClass,
},
})
},
},
}
</script>
<style lang="less" scoped type="text/less">
#user-bind {
.header {
background-color: #00469c;
color: #fff;
.h-header-btn {
img {
width: 16px;
height: 16px;
margin-left: 4px;
}
span {
font-family: PingFangSC-Semibold;
margin-left: 16px;
font-size: 17px;
letter-spacing: 0.6px;
line-height: 24px;
}
}
}
.content {
.info {
height: 88px;
background-color: rgba(142, 195, 30, 0.1);
.info-icon {
height: 20px;
padding-top: 20px;
display: flex;
align-items: center;
img {
width: 15.8px;
height: 15.8px;
margin-left: 17.1px;
}
span {
color: rgba(142, 195, 30, 1);
font-family: PingFangSC-Semibold;
font-size: 14px;
margin-left: 9px;
letter-spacing: 0.5px;
line-height: 20px;
}
}
p {
font-size: 13px;
font-family: PingFangSC-Regular;
color: rgba(101, 100, 100, 0.8);
width: 310px;
margin-left: 42px;
letter-spacing: 0.4px;
line-height: 18px;
margin-top: 8px;
}
}
p {
color: rgba(101, 100, 100, 0.4);
font-family: PingFangSC-Regular;
letter-spacing: 0.5px;
line-height: 24px;
margin-left: 16px;
margin-top: 24px;
}
.nature,
.org,
.enter {
display: block;
width: 343px;
height: 56px;
font-size: 15px;
letter-spacing: 0.5px;
line-height: 20px;
margin: 0 auto;
margin-top: 16px;
font-family: PingFangSC-Regular;
border-radius: 4px;
display: flex;
justify-content: center;
align-items: center;
}
.nature {
color: rgba(0, 70, 156, 1);
background-color: rgba(0, 98, 217, 0.1);
border: 1px solid rgba(0, 70, 156, 1);
}
.n-img {
width: 18.3px;
height: 21px;
margin-right: 8px;
}
.o-img {
width: 22.5px;
height: 19.5px;
margin-right: 8px;
}
.org {
background-color: rgba(220, 220, 221, 0.3);
color: rgba(101, 100, 100, 1);
border: none;
}
.enter {
background-color: rgba(0, 70, 156, 1);
color: #fff;
margin-top: 80px;
img {
width: 18px;
margin-left: 6.3px;
}
}
}
}
// iPhoneX适配
// @media (device-width: 375px) and (device-height: 812px) and (-webkit-min-device-pixel-ratio: 3) {
// .platform-ios {
// #home{
// }
// }
// }
// iPhoneX Max适配
// @media (device-width: 414px) and (device-height: 896px) {
// .platform-ios {
// .platform-ios {
// #home{
// }
// }
// }
// }
</style>
......@@ -15,6 +15,11 @@ import MyInfo from '@/pages/myInfo/my-info'
// test工具类
import HlsPopup from '@/pages/hlsPopup'
// 用户绑定
import UserBind from '@/pages/userBind/userBind'
import NaturePerson from '@/pages/userBind/np/naturePerson'
import Enterprise from '@/pages/userBind/org/enterprise'
Vue.use(Router)
export default new Router({
......@@ -74,7 +79,10 @@ export default new Router({
// test工具类
{path: '/hls-popup', component: HlsPopup, name: 'HlsPopup', meta: {keepAlive: false}},
// 用户绑定
{path: '/user-bind', component: UserBind, name: 'UserBind', meta: {keepAlive: false}},
{path: '/nature-person', component: NaturePerson, name: 'NaturePerson', meta: {keepAlive: false}},
{path: '/enterprise', component: Enterprise, name: 'Enterprise', meta: {keepAlive: false}},
],
scrollBehavior (to, from, savedPosition) {
if (to.hash) {
......
.public-style {
.h-header .h-header-left .h-header-btn:first-of-type{
/*.h-header .h-header-left .h-header-btn:first-of-type{
padding-left: 20px;
}
}*/
.bar-custom {
background-color: @theme-color
}
......
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