createIOU.vue 8.54 KB
<template>
  <v-layout id="CreateIOU" column justify-center align-center>
    <v-flex>
      <v-card id="IOUInfoBlock" class="IOUList" flat height="15.5rem">
        <div class="NameBlock FormLine">
          <div class="labelBlock">
            <span>借款金额</span>        
          </div>
          <v-text-field
            v-model="form.amount"
            suffix="元"
            color="light-gold"
            class="BindCardInput "
            name="PhoneInput"
            placeholder="请输入借款金额"
            id='NameInput'
            single-line
          ></v-text-field>
        </div>
        <div class="BankBlock FormLine" @click="startPickerDislpay = true">
          <div class="labelBlock">
            <span>借款日期</span>        
          </div>
          <div class="pickerValueBlock" v-if="!form.start" >{{'请选择'}} 
            <v-icon class="addCardIcon">keyboard_arrow_right</v-icon>
          </div>
          <div class="pickerValueBlockValue" v-if="!!form.start" >
            <span>{{form.start}}</span>
          </div>
          <DatePicker title="请选择借款日期" 
            @pickerClose="startPickerDislpay = false" 
            v-model="form.start"
            :display="startPickerDislpay"/>
        </div>
        <div class="BankBlock FormLine" @click="endPickerDislpay = true">
          <div class="labelBlock">
            <span>还款日期</span>        
          </div>
          <div class="pickerValueBlock" v-if="!form.end" >{{'请选择'}} 
            <v-icon class="addCardIcon">keyboard_arrow_right</v-icon>
          </div>
          <div class="pickerValueBlockValue" v-if="!!form.end" >
            <span>{{form.end}}</span>
          </div>
          <DatePicker title="请选择还款日期" 
            @pickerClose="endPickerDislpay = false" 
            v-model="form.end"
            :display="endPickerDislpay"/>
        </div>
        <div class="BankBlock FormLine" @click="ratePickerDislpay = true">
          <div class="labelBlock">
            <span>年化利率</span>        
          </div>
          <div class="pickerValueBlock" v-if="!form.rate" >{{'请选择'}} 
            <v-icon class="addCardIcon">keyboard_arrow_right</v-icon>
          </div>
          <div class="pickerValueBlockValue" v-if="!!form.rate" >
            <span>{{form.rate}}</span><span class="rateInterest">{{0}}元</span>
          </div>
          <Picker 
            :data="banks" 
            title="请选择年化利率" 
            @pickerClose="ratePickerDislpay = false" 
            @select="rateChange"
            :display="ratePickerDislpay"/>
        </div>
        <div class="HintLine">
          本金1+利息0=到期本息<span>1</span>元
        </div>
      </v-card>
      <v-card id="IOUUsageBlock" class="IOUList" flat height="3.1rem">
        <div class="NameBlock FormLine" @click="usageDislogDisplay = true">
          <div class="labelBlock">
            <span>借款用途</span>        
          </div>
          <div class="pickerValueBlock" v-if="!form.usage.type" >{{'请选择'}} 
            <v-icon class="addCardIcon">keyboard_arrow_right</v-icon>
          </div>
          <div class="pickerValueBlockValue" v-if="!!form.usage.type" >
            {{form.usage.type}}
          </div>
          <BorrowUsage :display="usageDislogDisplay" @change="usageChange" @close="usageDislogDisplay = false"/>
        </div>
      </v-card>
      <v-card id="IOUOwnerBlock" class="IOUList" flat height="3.1rem">
        <div class="NameBlock FormLine" @click="ownerPickerDisplay = true">
          <div class="labelBlock">
            <span>出借人</span>        
          </div>
          <div class="pickerValueBlock" v-if="!form.owner" >{{'请选择'}} 
            <v-icon class="addCardIcon">keyboard_arrow_right</v-icon>
          </div>
          <div class="pickerValueBlockValue" v-if="!!form.owner" >
            {{form.owner}}
          </div>
          <Picker 
            :data="banks" 
            title="请选择出借人" 
            @pickerClose="ownerPickerDisplay = false" 
            @select="ownerChange"
            :display="ownerPickerDisplay"/>
        </div>
      </v-card>
      <div class="Agreement">
        <div 
          @click="agreement = !agreement" 
          class="AgreementCheckBox"
          :class="agreement ?  'AgreementChecked' : ''">
          <v-icon id="CheckBoxCheck" v-if="agreement">check</v-icon>
        </div>
        已阅读并同意<span class="gold--text">《借款协议》</span><span class="gold--text">《居间服务协议》</span>
      </div>
      <div class="ConfirmButtonBlock">
        <v-btn depressed id="ConfirmButton">确  定</v-btn>
      </div>
    </v-flex>
  </v-layout>
</template>

<script>
import Picker from '@/components/Picker'
import DatePicker from '@/components/DatePicker'
import BorrowUsage from '@/components/BorrowUsage'

export default {
  layout: 'lightGold',
  data:() => ({
    agreement: false,
    form: {
      phone: '',
      verificationCode: '',
      owner: '',
      start: '',
      end: '',
      usage: {},
    },
    banks: [[{ text: 'State 1' },
          { text: 'State 2' },
          { text: 'State 3' },
          { text: 'State 4' },
          { text: 'State 5' },
          { text: 'State 6' },
          { text: 'State 7' }]],
    ratePickerDislpay: false,
    ownerPickerDisplay: false,
    startPickerDislpay: false,
    endPickerDislpay: false,
    usageDislogDisplay: false,
  }),
  components: {
    Picker,
    DatePicker,
    BorrowUsage
  },
  methods: {
    ownerChange(val, index, text) {
      this.form.owner = text[0]
    },
    rateChange(val, index, text) {
      this.form.rate = text[0]
    },
    startChange(val, index, text) {
    },
    endChange(val, index, text) {
    },
    usageChange(e) {
      this.form.usage = e
    }
  }
}
</script>

<style lang="scss" scoped>
  #CreateIOU {

    .IOUList {
      width: 90vw;
      margin-top: 1.5rem;
      background: #FFFFFF;
      border-radius: 2px;
      padding: 0 1.3rem;

      .FormLine {
        height: 3.3rem;
        position: relative;

        .labelBlock {
          line-height: 3.3rem;
          height: 3.3rem;
          position: absolute;
          font-size: 1rem;
          font-weight: bold;
        }
        .BindCardInput {
          padding-top: 0.75rem;
        }
        .pickerValueBlock {
          padding-top: 0.75rem;
          text-align: right;
          font-size: 1rem;
          .addCardIcon {
            color: $light-gold;
          }
        }
        .pickerValueBlockValue {
          padding-top: 0.75rem;
          padding-left: 6.7rem;
          font-size: 1rem;
        }
      }

      /deep/ #NameInput {
        margin-left: 6.7rem;
      }
      /deep/ #IdInput {
        margin-left: 6.7rem;
      }
      /deep/ #CardNoInput {
        margin-left: 6.7rem;
      }
      /deep/ #PhoneInput {
        margin-left: 6.7rem;
      }
      /deep/ input#BankInput {
        margin-left: 6.7rem;
      }
      .BankBlock {
        border-bottom: 1px solid rgba(0, 0, 0, .87);
      }
      .HintLine {
        font-size: 0.9rem;
        line-height: 2rem;
        text-align: right;
        color: #9D9D9D;

        span {
          color: $light-gold;
        }
      }


      ::-moz-placeholder { color: #9D9D9D; }
      ::-webkit-input-placeholder { color:#9D9D9D; }
      :-ms-input-placeholder { color:#9D9D9D; }
    }

    #IOUUsageBlock {
      margin-top: 1rem;
    }

    #IOUOwnerBlock {
      margin-top: 1rem;      
    }
    .Agreement {
      text-align: center;
      font-size: 12px;
      color: #9D9D9D;
      font-weight: bold;
      height: 1.5rem;
      line-height: 1.5rem;
      margin-top: 1rem;
      .AgreementCheckBox {
        border: 2px solid #fff;
        color: #fff;
        width: 1.2rem;
        height: 1.2rem;
        border-radius: 1.2rem;
        transition: all 0.3s ease-in-out;
        display: inline-block;
        margin-right: 0.8rem;
        position: relative;
        top: 3px;
        &.AgreementChecked {
          background-image: linear-gradient(-229deg, #DAB269 37%, #E7C78C 87%);
          border-color: #E7C78C;
        }
        #CheckBoxCheck {
          position: absolute;
          left: 0;
          font-size: 15px;
          font-weight: bold;
        }
      }
    }
    
    .ConfirmButtonBlock {
      width: 90vw;
      margin: 2.5rem auto;

      #ConfirmButton {
        color: #484646;
        background-image: linear-gradient(-213deg, #DAB269 0%, #E7C78C 92%);
        border-radius: 2px;
        width: 100%;
        height: 2.8rem;
        font-size: 18px;
        margin: auto;
      }
    }
  }
</style>