Przeglądaj źródła

拓展随机数据

vue_2
雷云 5 lat temu
rodzic
commit
a2246dd0f7
1 zmienionych plików z 197 dodań i 147 usunięć
  1. +197
    -147
      src/views/UserAuto.vue

+ 197
- 147
src/views/UserAuto.vue Wyświetl plik

@@ -1,157 +1,207 @@
<!-- -->
<template>
<div class="user-auto">
<!--{{list}}-->
<el-input-number v-model="count" :min="1" :max="1000" label="描述文字" :step="100"></el-input-number>
<el-button type="primary" @click="getUserList">生成数据</el-button>
<el-button type="primary" @click="exportExcel">导出数据</el-button>
<el-table :data="list"
style="width: 100%">
<el-table-column prop="name"
label="姓名"
width="180">
</el-table-column>
<el-table-column prop="phone"
label="手机号"
width="180">
</el-table-column>
<el-table-column prop="sex"
label="性别"
width="180">
</el-table-column>
<el-table-column prop="cardNo"
label="身份证">
</el-table-column>
</el-table>
</div>
<div class="user-auto">
<!--{{list}}-->
<el-input-number v-model="count" :min="1" :max="1000" label="描述文字" :step="100"></el-input-number>
<el-button type="primary" @click="getUserList">生成数据</el-button>
<el-button type="primary" @click="exportExcel">导出数据</el-button>
<el-table :data="list"
style="width: 100%">
<el-table-column prop="name"
label="姓名"
width="180">
</el-table-column>
<el-table-column prop="phone"
label="手机号"
width="180">
</el-table-column>
<el-table-column prop="sex"
label="性别"
width="180">
</el-table-column>
<el-table-column prop="cardNo"
label="身份证">
</el-table-column>
</el-table>
</div>
</template>

<script>
//这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等)
//例如:import 《组件名称》 from '《组件路径》';
import moment from "moment";
import excelExport from "@/utils/excelExport";
//这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等)
//例如:import 《组件名称》 from '《组件路径》';
import moment from "moment";
import excelExport from "@/utils/excelExport";

export default {
name: "UserAuto",
props: {},
//import引入的组件需要注入到对象中才能使用
components: {
//defaultPage ,
},
data() {
return {
list: [],
header:[
{ prop: "name", label: "姓名" },
{ prop: "phone", label: "手机号" },
{ prop: "sex", label: "性别" },
{ prop: "cardNo", label: "身份证号" },
],
count:100,
}
},
//监听属性 类似于data概念
computed: {},
//监控data中的数据变化
watch: {},
//生命周期 - 创建完成(可以访问当前this实例)
async created() { },
//生命周期 - 挂载完成(可以访问DOM元素)
async mounted() {
//this.getUserList();
},
//方法集合
methods: {
exportExcel() {
excelExport(this.header, this.list, `随机身份证-${this.list.length}条`);
},
getUserList() {
this.list = [];
for (let i = 0; i < this.count; i++) {
let item = {
name: this.getName(),
phone: this.getMoble(),
cardNo: this.getCardNo(),
}
item.sex = this.getSex(item.cardNo);
this.list.push(item);
}
},
getSex(cardNo) {
let sexNo = parseInt(cardNo[16]) % 2;
return sexNo == 1 ? '男' : '女';
},
getName() {
let familyNames = new Array(
"赵", "钱", "孙", "李", "周", "吴", "郑", "王", "冯", "陈",
"褚", "卫", "蒋", "沈", "韩", "杨", "朱", "秦", "尤", "许",
"何", "吕", "施", "张", "孔", "曹", "严", "华", "金", "魏",
"陶", "姜", "戚", "谢", "邹", "喻", "柏", "水", "窦", "章",
"云", "苏", "潘", "葛", "奚", "范", "彭", "郎", "鲁", "韦",
"昌", "马", "苗", "凤", "花", "方", "俞", "任", "袁", "柳",
"酆", "鲍", "史", "唐", "费", "廉", "岑", "薛", "雷", "贺",
"倪", "汤", "滕", "殷", "罗", "毕", "郝", "邬", "安", "常",
"乐", "于", "时", "傅", "皮", "卞", "齐", "康", "伍", "余",
"元", "卜", "顾", "孟", "平", "黄", "和", "穆", "萧", "尹",
"司马", "东方", "欧阳", "诸葛", "尉迟", "端木", "姚", "颜", "成",
);
let givenNames = new Array(
"子璇", "淼", "国栋", "夫子", "瑞堂", "甜", "敏", "尚", "国贤", "贺祥", "晨涛",
"昊轩", "易轩", "益辰", "益帆", "益冉", "瑾春", "瑾昆", "春齐", "杨", "文昊",
"东东", "雄霖", "浩晨", "熙涵", "溶溶", "冰枫", "欣欣", "宜豪", "欣慧", "建政",
"美欣", "淑慧", "文轩", "文杰", "欣源", "忠林", "榕润", "欣汝", "慧嘉", "新建",
"建林", "亦菲", "林", "冰洁", "佳欣", "涵涵", "禹辰", "淳美", "泽惠", "伟洋",
"涵越", "润丽", "翔", "淑华", "晶莹", "凌晶", "苒溪", "雨涵", "嘉怡", "佳毅",
"子辰", "佳琪", "紫轩", "瑞辰", "昕蕊", "萌", "明远", "欣宜", "泽远", "欣怡",
"佳怡", "佳惠", "晨茜", "晨璐", "运昊", "汝鑫", "淑君", "晶滢", "润莎", "榕汕",
"佳钰", "佳玉", "晓庆", "一鸣", "语晨", "添池", "添昊", "雨泽", "雅晗", "雅涵",
"清妍", "诗悦", "嘉乐", "晨涵", "天赫", "玥傲", "佳昊", "天昊", "萌萌", "若萌", "小华", "子君", "莉莉","云"
);
let i = parseInt(familyNames.length * Math.random());
let familyName = familyNames[i];
let j = parseInt(givenNames.length * Math.random());
let givenName = givenNames[j];
let name = familyName + givenName;
return name;
},
getMoble() {
let prefixArray = new Array("130", "131", "132", "133", "135", "137", "138", "170", "187", "189");
let i = parseInt(10 * Math.random());
let prefix = prefixArray[i];
for (let j = 0; j < 8; j++) {
prefix = prefix + Math.floor(Math.random() * 10);
}
return prefix;
},
getCardNo() {
let coefficientArray = ["7", "9", "10", "5", "8", "4", "2", "1", "6", "3", "7", "9", "10", "5", "8", "4", "2"];// 加权因子
let lastNumberArray = ["1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2"];// 校验码
let address = "510113"; // 住址
let randomDay = parseInt(10 * 365 * Math.random());
let birthday = moment("2000-01-01").add(randomDay,"day").format("YYYYMMDD"); // 生日
let s = Math.floor(Math.random() * 10).toString() + Math.floor(Math.random() * 10).toString() + Math.floor(Math.random() * 10).toString();
let array = (address + birthday + s).split("");
let total = 0;
for (let i in array) {
total = total + parseInt(array[i]) * parseInt(coefficientArray[i]);
}
let lastNumber = lastNumberArray[parseInt(total % 11)];
let id_no_String = address + birthday + s + lastNumber;
return id_no_String;
}
},
//当前页面的filter
filters: {}
}
export default {
name: "UserAuto",
props: {},
//import引入的组件需要注入到对象中才能使用
components: {
//defaultPage ,
},
data() {
return {
list: [],
header: [
{ prop: "name", label: "姓名" },
{ prop: "phone", label: "手机号" },
{ prop: "sex", label: "性别" },
{ prop: "cardNo", label: "身份证号" },
],
count: 100,
}
},
//监听属性 类似于data概念
computed: {},
//监控data中的数据变化
watch: {},
//生命周期 - 创建完成(可以访问当前this实例)
async created() { },
//生命周期 - 挂载完成(可以访问DOM元素)
async mounted() {
//this.getUserList();
},
//方法集合
methods: {
exportExcel() {
excelExport(this.header, this.list, `随机身份证-${this.list.length}条`);
},
getUserList() {
this.list = [];
for (let i = 0; i < this.count; i++) {
let item = {
name: this.getName(),
phone: this.getMoble(),
cardNo: this.getCardNo(),
}
item.sex = this.getSex(item.cardNo);
this.list.push(item);
}
},
getSex(cardNo) {
let sexNo = parseInt(cardNo[16]) % 2;
return sexNo == 1 ? '男' : '女';
},
getName() {
let familyNames = new Array(
"赵", "钱", "孙", "李", "周", "吴", "郑", "王", "冯", "陈",
"褚", "卫", "蒋", "沈", "韩", "杨", "朱", "秦", "尤", "许",
"何", "吕", "施", "张", "孔", "曹", "严", "华", "金", "魏",
"陶", "姜", "戚", "谢", "邹", "喻", "柏", "水", "窦", "章",
"云", "苏", "潘", "葛", "奚", "范", "彭", "郎", "鲁", "韦",
"昌", "马", "苗", "凤", "花", "方", "俞", "任", "袁", "柳",
"酆", "鲍", "史", "唐", "费", "廉", "岑", "薛", "雷", "贺",
"倪", "汤", "滕", "殷", "罗", "毕", "郝", "邬", "安", "常",
"乐", "于", "时", "傅", "皮", "卞", "齐", "康", "伍", "余",
"元", "卜", "顾", "孟", "平", "黄", "和", "穆", "萧", "尹",
"司马", "东方", "欧阳", "诸葛", "尉迟", "端木", "姚", "颜", "成",
"邵", "湛", "汪", "祁", "毛", "禹", "狄", "米", "贝", "明", "臧",
"计", "伏", "成", "戴", "谈", "宋", "茅", "庞", "熊", "纪", "舒",
"屈", "项", "祝", "董", "梁", "杜", "阮", "蓝", "闽", "席", "季",
"麻", "强", "贾", "路", "娄", "危", "江", "童", "颜", "郭", "梅",
"盛", "林", "刁", "锺", "徐", "丘", "骆", "高", "夏", "蔡", "田",
"樊", "胡", "凌", "霍", "虞", "万", "支", "柯", "昝", "管", "卢",
"莫", "经", "房", "裘", "缪", "干", "解", "应", "宗", "丁", "宣",
"贲", "邓", "郁", "单", "杭", "洪", "包", "诸", "左", "石", "崔",
"吉", "钮", "龚", "程", "嵇", "邢", "滑", "裴", "陆", "荣", "翁",
"荀", "羊", "於", "惠", "甄", "麹", "家", "封", "芮", "羿", "储",
"靳", "汲", "邴", "糜", "松", "井", "段", "富", "巫", "乌", "焦",
"巴", "弓", "牧", "隗", "山", "谷", "车", "侯", "宓", "蓬", "全",
"郗", "班", "仰", "秋", "仲", "伊", "宫", "宁", "仇", "栾", "暴",
"甘", "斜", "厉", "戎", "祖", "武", "符", "刘", "景", "詹", "束",
"龙", "叶", "幸", "司", "韶", "郜", "黎", "蓟", "薄", "印", "宿",
"白", "怀", "蒲", "邰", "从", "鄂", "索", "咸", "籍", "赖", "卓",
"蔺", "屠", "蒙", "池", "乔", "阴", "郁", "胥", "能", "苍", "双",
"闻", "莘", "党", "翟", "谭", "贡", "劳", "逄", "姬", "申", "扶",
"堵", "冉", "宰", "郦", "雍", "郤", "璩", "桑", "桂", "濮", "牛",
"寿", "通", "边", "扈", "燕", "冀", "郏", "浦", "尚", "农", "温",
"别", "庄", "晏", "柴", "瞿", "阎", "充", "慕", "连", "茹", "习",
"宦", "艾", "鱼", "容", "向", "古", "易", "慎", "戈", "廖", "庾",
"终", "暨", "居", "衡", "步", "都", "耿", "满", "弘", "匡", "国",
"文", "寇", "广", "禄", "阙", "东", "欧", "殳", "沃", "利", "蔚",
"越", "夔", "隆", "师", "巩", "厍", "聂", "晁", "勾", "敖", "融",
"冷", "訾", "辛", "阚", "那", "简", "饶", "空", "曾", "毋", "沙",
"乜", "养", "鞠", "须", "丰", "巢", "关", "蒯", "相", "查", "后",
"荆", "红", "游", "竺", "权", "逑", "盖", "益", "桓", "公", "万俟",
"司马", "上官", "欧阳", "夏侯", "诸葛", "闻人", "东方", "赫连", "皇甫",
"尉迟", "公羊", "澹台", "公冶", "宗政", "濮阳", "淳于", "单于", "太叔",
"申屠", "公孙", "仲孙", "轩辕", "令狐", "锺离", "宇文", "长孙", "慕容",
"鲜于", "闾丘", "司徒", "司空", "丌官", "司寇", "仉", "督", "子车", "颛孙",
"端木", "巫马", "公西", "漆雕", "乐正", "壤驷", "公良", "拓拔", "夹谷",
"宰父", "谷梁", "晋", "楚", "阎", "法", "汝", "鄢", "涂", "钦", "段干",
"百里", "东郭", "南门", "呼延", "归", "海", "羊舌", "微生", "岳", "帅",
"缑", "亢", "况", "后", "有", "琴", "梁丘", "左丘", "东门", "西门",
"商", "牟", "佘", "佴", "伯", "赏", "南宫", "墨", "哈", "谯", "笪",
"年", "爱", "阳", "佟", "第五", "言", "福"
);
let givenNames = new Array(
"子璇", "淼", "国栋", "夫子", "瑞堂", "甜", "敏", "尚", "国贤", "贺祥", "晨涛",
"昊轩", "易轩", "益辰", "益帆", "益冉", "瑾春", "瑾昆", "春齐", "杨", "文昊",
"东东", "雄霖", "浩晨", "熙涵", "溶溶", "冰枫", "欣欣", "宜豪", "欣慧", "建政",
"美欣", "淑慧", "文轩", "文杰", "欣源", "忠林", "榕润", "欣汝", "慧嘉", "新建",
"建林", "亦菲", "林", "冰洁", "佳欣", "涵涵", "禹辰", "淳美", "泽惠", "伟洋",
"涵越", "润丽", "翔", "淑华", "晶莹", "凌晶", "苒溪", "雨涵", "嘉怡", "佳毅",
"子辰", "佳琪", "紫轩", "瑞辰", "昕蕊", "萌", "明远", "欣宜", "泽远", "欣怡",
"佳怡", "佳惠", "晨茜", "晨璐", "运昊", "汝鑫", "淑君", "晶滢", "润莎", "榕汕",
"佳钰", "佳玉", "晓庆", "一鸣", "语晨", "添池", "添昊", "雨泽", "雅晗", "雅涵",
"清妍", "诗悦", "嘉乐", "晨涵", "天赫", "玥傲", "佳昊", "天昊", "萌萌", "若萌",
"小华", "子君", "莉莉", "云", "荳荳", "港女", "颜夕", "丐帮", "时韵", "琏译",
"西夏", "羡鱼", "诺ル", "夜殇", "馨瑜", "霸姐", "霸娘", "嬲噻", "孤幽", "倦爱",
"霸心", "赤血", "云狂", "兮羽", "顾依", "伽罗", "颜淡", "陈醉", "裴若", "池渊",
"林莞", "踏雪", "伤晴", "若栖", "蜀黍", "琴月", "湘琴", "琴栀", "琴笙", "长琴",
"琴箫", "莫愁", "旧念", "他言", "性福", "贼心", "欲醉", "撩衣", "敬畏", "网酷",
"淡漠", "独然", "团宠", "拂扇", "学妹", "污痞", "清烟", "滞留", "诗意", "勼欢",
"橙海", "浪独", "真怂", "狂徒"
);
let i = parseInt(familyNames.length * Math.random());
let familyName = familyNames[i];
let j = parseInt(givenNames.length * Math.random());
let givenName = givenNames[j];
let name = familyName + givenName;
return name;
},
getMoble() {
let prefixArray = new Array("133", "149", "153", "173", "177", "180", "181",
"189", "199", "130", "131", "132", "145", "155", "156", "166", "171",
"175", "176", "185", "186", "134", "135", "136", "137", "138", "139",
"147", "150", "151", "152", "157", "158", "159", "178", "182", "183",
"184", "187", "188", "198");
let i = parseInt(prefixArray.length * Math.random());
let prefix = prefixArray[i];
for (let j = 0; j < 8; j++) {
prefix = prefix + Math.floor(Math.random() * 10);
}
return prefix;
},
getCardNo() {
let coefficientArray = ["7", "9", "10", "5", "8", "4", "2", "1", "6", "3", "7", "9", "10", "5", "8", "4", "2"];// 加权因子
let lastNumberArray = ["1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2"];// 校验码
let addressList = ["500100", "510101", "510104", "510105", "510106", "510107", "510108", "510112", "510113"];
let address = addressList[parseInt(addressList.length * Math.random())]; // 住址
let randomDay = parseInt(15 * 365 * Math.random());
let birthday = moment("2000-01-01").add(randomDay, "day").format("YYYYMMDD"); // 生日
let s = Math.floor(Math.random() * 10).toString() + Math.floor(Math.random() * 10).toString() + Math.floor(Math.random() * 10).toString();
let array = (address + birthday + s).split("");
let total = 0;
for (let i in array) {
total = total + parseInt(array[i]) * parseInt(coefficientArray[i]);
}
let lastNumber = lastNumberArray[parseInt(total % 11)];
let id_no_String = address + birthday + s + lastNumber;
return id_no_String;
}
},
//当前页面的filter
filters: {}
}
</script>
<!-- 单页私有css -->
<style scoped>
.user-auto{
padding:30px;
background-color:#fff;
border-radius:4px;
min-height:600px;
}
.user-auto {
padding: 30px;
background-color: #fff;
border-radius: 4px;
min-height: 600px;
}
</style>

Ładowanie…
Anuluj
Zapisz