<template>
<div id="parti-info">
<div>
<span>您的姓名:</span>
<input v-model="username" type="text" placeholder="请输入您的姓名" >
</div>
<div>
<span >手机号码:</span>
<input v-model="phone" type="number" maxlength="11" placeholder="请输入您的手机号码">
</div>
<div>
<span>所在保险公司:</span>
<select v-model="selectedCompany" v-show="this.selectedCompany !== ''" >
<option value="-1">请选择</option>
<option value="">自定义输入</option>
<option v-for="option in companyOptions" v-bind:value="option.id">
{{ option.value }}
</option>
</select>
<input v-model="selectedCustomCompany" v-show="this.selectedCompany === ''" type="text" maxlength="12" placeholder="请输入公司名称">
</div>
</div>
</template>
<script>
import Vue from 'vue'
import vcookie from 'vue-cookie'
import axios from 'axios'
import { companies } from '../data/companies'
Vue.use(vcookie)
export default {
name: 'PartiInfo',
data: function () {
return {
companyOptions: companies
}
},
computed: {
username: {
get: function () {
return this.$store.state.username
},
set: function (newValue) {
this.$store.commit('updateUsername', newValue)
}
},
phone: {
get: function () {
return this.$store.state.phone
},
set: function (newValue) {
this.$store.commit('updatePhone', newValue)
}
},
selectedCompany: {
get: function () {
return this.$store.state.company
},
set: function (newValue) {
this.$store.commit('updateCompanyName', '')
for (var i = 0; i < this.companyOptions.length; i++) {
if (this.companyOptions[i].id === newValue) {
this.$store.commit('updateCompanyName', this.companyOptions[i].value)
}
}
this.$store.commit('updateCompany', newValue)
}
},
selectedCustomCompany: {
get: function () {
return this.$store.state.companyName
},
set: function (newValue) {
this.$store.commit('updateCompanyName', newValue)
}
}
},
mounted: function () {
var vm = this
var uuid = this.$cookie.get('api_uuid')
var token = this.$cookie.get('api_token')
axios.defaults.headers.common['api_token'] = token
// 'eff7756789804c179e9efb0cbb48ecca'
axios.get(vm.apiUrl + '/api/v1/activity/user/uuid/' + uuid)
.then(function (response) {
// 初始化自定义保险公司
var notExist = true
for (var i = 0; i < vm.companyOptions.length; i++) {
if (vm.companyOptions[i].id === response.data.response.companyCode || vm.companyOptions[i].value === response.data.response.companyName) {
notExist = false
}
}
if (notExist) {
vm.companyOptions.push({id: response.data.response.companyCode, value: response.data.response.companyName})
}
// 初始化数据
vm.$store.commit('updateUsername', response.data.response.realName)
vm.$store.commit('updatePhone', response.data.response.mobile)
if (response.data.response.companyCode && response.data.response.companyCode !== '') {
vm.$store.commit('updateCompany', response.data.response.companyCode)
}
if (response.data.response.companyName && response.data.response.companyName !== '') {
vm.$store.commit('updateCompanyName', response.data.response.companyName)
}
}).catch(function (error) {
console.log('Error! Could not reach the API. ' + error)
})
}
}
</script>

【前端vue开发】vue开发输入姓名,电话,公司表单提交组件的更多相关文章

  1. Java Web开发总结(三) —— request接收表单提交中文参数乱码问题

    1.以POST方式提交表单中文参数的乱码问题 <%@ page language="java" import="java.util.*" pageEnco ...

  2. 利用jquery.validate以及bootstrap的tooltip开发气泡式的表单校验组件

    表单校验是页面开发中非常常见的一类需求,相信每个前端开发人员都有这方面的经验.网上有很多成熟的表单校验框架,虽然按照它们默认的设计,用起来没有多大的问题,但是在实际工作中,表单校验有可能有比较复杂的个 ...

  3. input file 在开发中遇到的问题 类似ajax form表单提交 input file中的文件

    最近在做项目的过程中遇到个问题,在这里做个记录防止日后忘记 现今的主流浏览器由于ajax提交form表单无法把文件类型数据提交到后台,供后台处理,可是开发中由于某些原因又不得不用ajax提交文件, 为 ...

  4. Swift3.0服务端开发(二) 静态文件添加、路由配置以及表单提交

    今天博客中就来聊一下Perfect框架的静态文件的添加与访问,路由的配置以及表单的提交.虽然官网上有聊静态文件的访问的部分,但是在使用Perfect框架来访问静态文件时还是有些点需要注意的,这些关键点 ...

  5. Atitit vue.js 把ajax数据 绑定到form表单

    Atitit vue.js 把ajax数据 绑定到form表单 1.1. 使用场景:主要应用在编辑与提交场合..1 1.2. 绑定数据到form控件,可以使用jquery,不过vue.js更加简单1 ...

  6. vue之回车触发表单提交

    vue之回车触发表单提交 操作: 在From标签中添加: @keyup.enter.native="handleSubmit" 注意: 1.若添加在Input标签上,只有聚焦在该i ...

  7. 前端基础:form表单提交

    今天介绍下form表单提交经常用到的表单元素. 1:datalist元素,一般与input组建配合使用,以定义可能输入的值,例如: <!DOCTYPE html> <html lan ...

  8. 前端表单提交数据~php获取表单内容

    上图代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www ...

  9. 表单提交---前端页面模拟表单提交(form)

    有些时候我们的前端页面总没有<form></form>表单,但是具体的业务时,我们又必须用表单提交才能达到我们想要的结果,LZ最近做了一些关于导出的一些功能,需要调用浏览器默认 ...

随机推荐

  1. Activiti随着Spring启动自动部署开关

    Activiti的act_re_deployment表NAME_列:全部显示SpringAutoDeployment. 查阅Activiti,https://github.com/Activiti/A ...

  2. iptables之四表五链

    iptables可谓是SA的看家本领,需要着重掌握.随着云计算的发展和普及,很多云厂商都提供类似安全组产品来修改机器防火墙. iptables概念 iptables只是Linux防火墙的管理工具而已. ...

  3. python的logging日志模块

    1. 简单的将日志打印到屏幕 import logging logging.debug('This is debug message') logging.info('This is info mess ...

  4. 【bzoj4596】[Shoi2016]黑暗前的幻想乡 容斥原理+矩阵树定理

    题目描述 给出 $n$ 个点和 $n-1$ 种颜色,每种颜色有若干条边.求这张图多少棵每种颜色的边都出现过的生成树,答案对 $10^9+7$ 取模. 输入 第一行包含一个正整数 N(N<=17) ...

  5. 99种用Racket说I love you的方式

    99种用Racket说I love you的方式 来源 https://www.tuicool.com/articles/qiyeAz 原文  http://www.soimort.org/posts ...

  6. 【BZOJ1560】[JSOI2009]火星藏宝图(贪心,动态规划)

    [BZOJ1560][JSOI2009]火星藏宝图(贪心,动态规划) 题面 BZOJ 洛谷 题解 既然所有的位置的权值都大于\(0\),那么就可以直接贪心,按照行为第一关键字,列为第二关键字,来转移. ...

  7. 学习5_STM32--外设通信方式

    就拿stm32的外设spi来说,通信方式主要有3种 > spi常规收发方式        (在轮询机制下通过判断缓冲区空与非空作为收发依据) > spi中断收发方式 (在中断机制下收发数据 ...

  8. [学习笔记]nim游戏

    普通nim游戏: n堆石子,每个人每次对着一堆拿若干个.不能拿者判输. 只有两种情况,先手必胜,先手必败. 先手必胜当且仅当:a1^a2^...^an!=0 证明: 设=x(x不为0),选择最高位和x ...

  9. 7:servlet request getHeader("x-forwarded-for") 获取真实IP

    在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的.但是在通过了 Apache,Nagix等反向代理软件就不能获取到客户端的真实 ...

  10. TensorFlow最佳实践样例

    以下代码摘自<Tensor Flow:实战Google深度学习框架> 本套代码是在 http://www.cnblogs.com/shanlizi/p/9033330.html 基础上进行 ...