<template> <div class="content"> <div class="header"> <div class="tip"></div> <div class="title">工资卡信息</div> <van-icon v-if="this.isEdit==0 || this.isEdit==-1" size="14px" color="#E1E4EB" name="arrow" @click="editInfo" /> </div> <div class="box"> <div class="item"> <span>账户姓名</span> <label>{{obj.bankAccount}}</label> </div> <div class="item"> <span>银行名称</span> <label>{{obj.bankName}}</label> </div> <div class="item"> <span>开户行</span> <label>{{obj.bankOpen}}</label> </div> <div class="item"> <span>银行卡号</span> <label>{{obj.bankNo}}</label> </div> </div> <van-popup v-model="show" position="right" :style="{ height: '100%',width: '90%' }"> <van-form> <van-field v-model="obj.bankAccount" label="账户名称" placeholder="请填写账户名称" /> <van-field v-model="obj.bankName" label="银行名称" placeholder="请填写银行名称" /> <van-field v-model="obj.bankOpen" label="开户行" placeholder="请填写开户行" /> <van-field v-model="obj.bankNo" label="银行卡号" placeholder="请填写银行卡号" /> <div class="submit_btn"> <van-button type="primary" block @click="updateCardInfo">保存</van-button> </div> </van-form> </van-popup> </div> </template> <script lang="ts"> import Vue from "vue"; import { Button, Icon, Popup, Form, Picker, Field, Toast } from "vant"; import { Component ,Prop} from "vue-property-decorator"; @Component({ components: { [Button.name]: Button, [Icon.name]: Icon, [Popup.name]: Popup, [Form.name]: Form, [Picker.name]: Picker, [Field.name]: Field } }) export default class wageCardInfo extends Vue { //获取父组件中的isEdit @Prop({ type: String, required: true, default: "" }) isEdit!: string; private show: boolean = false; obj: any = {}; created() { let params = { edId: this.$route.query.ed_id }; this.$server.EmployeeService.getWageCardInfo(params) .then(res => { this.obj = res; }) .catch(error => {}); } editInfo(): void { this.show = true; } updateCardInfo() { let params = { id: this.$route.query.ed_id, bankAccount: this.obj.bankAccount, bankName: this.obj.bankName, bankNo: this.obj.bankOpen, bankOpen: this.obj.bankNo }; this.$server.EmployeeService.saveWageCardInfo(params) .then(res => { if(res==true){ Toast.success("保存成功"); this.show = false; }else{ Toast.success(res.message); } }) .catch(error => { console.log(error); }); } } </script> <style lang="less" scoped> .content { margin-top: 10px; background: white; .header { height: 50px; display: flex; align-items: center; .tip { width: 3px; height: 16px; background: rgba(34, 189, 122, 1); } .title { margin-left: 17px; font-size: 16px; font-weight: 500; color: rgba(61, 64, 71, 1); } i { margin: 0 20px 0 auto; } } .box { margin: 0 20px; padding: 12px 0; border-top: 1px solid #eaeef5; .item { display: flex; align-items: center; span { min-width: 98px; display: block; font-size: 14px; color: rgba(149, 152, 158, 1); line-height: 30px; text-align: right; margin-bottom: auto; } label { font-size: 14px; color: rgba(61, 64, 71, 1); line-height: 30px; margin-left: 20px; } } } } </style>