Commit 43c8f373 by fanx

处理中英文切换

1 parent 13cbaa99
......@@ -14,6 +14,7 @@
"dependencies": {
"autoprefixer": "^9.7.6",
"axios": "^0.21.1",
"better-scroll": "^1.15.2",
"core-js": "^3.6.5",
"cropperjs": "^1.5.11",
"js-cookie": "^2.2.1",
......
.common_search {
/deep/ &&.van-search {
padding: 0;
margin: 10px 0;
background: inherit;
background-color: rgba(255, 255, 255, 0.2);
color: #fff;
border-radius: 16px;
height: 33px;
}
/deep/ .van-search__content {
background-color: rgba(255, 255, 255, 0.2);
border-radius: 16px;
color: #fff;
height: 33px;
}
/deep/ .van-field__left-icon .van-icon,
.van-field__right-icon .van-icon {
color: #fff;
}
/deep/ input::-webkit-input-placeholder {
color: #fff;
opacity: 0.8;
font-size: 12px;
}
/deep/ .van-field__control {
color: #fff;
// opacity: 0.8;
font-size: 12px;
}
}
\ No newline at end of file
......@@ -19,19 +19,20 @@
.icon-email { width: 36px; height: 36px; background-position: -2711px -1598px; }
.icon-empty { width: 36px; height: 36px; background-position: -2767px -1598px; }
.icon-icon-arrow-right { width: 10px; height: 18px; background-position: -2879px -1598px; }
.icon-icon-classify { width: 30px; height: 30px; background-position: -1844px -582px; }
.icon-icon-clock { width: 30px; height: 30px; background-position: -1894px -582px; }
.icon-icon-classify { width: 30px; height: 30px; background-position: -1340px -670px; }
.icon-icon-clock { width: 30px; height: 30px; background-position: -1390px -670px; }
.icon-join-member { width: 90px; height: 90px; background-position: -1624px -526px; }
.icon-logo-2 { width: 118px; height: 112px; background-position: -1376px -526px; }
.icon-logo { width: 224px; height: 224px; background-position: -1175px -737px; }
.icon-password { width: 36px; height: 36px; background-position: -2823px -1598px; }
.icon-pdf { width: 46px; height: 60px; background-position: -1844px -526px; }
.icon-photo-default { width: 124px; height: 124px; background-position: -1232px -526px; }
.icon-question-icon { width: 36px; height: 36px; background-position: -1844px -526px; }
.icon-question-icon { width: 36px; height: 36px; background-position: -1910px -526px; }
.icon-quit-member { width: 90px; height: 90px; background-position: -1734px -526px; }
.icon-shtyxydm { width: 54px; height: 54px; background-position: -2180px -1598px; }
.icon-tel { width: 36px; height: 36px; background-position: -1900px -526px; }
.icon-tel { width: 36px; height: 36px; background-position: -1966px -526px; }
.icon-time-update { width: 45px; height: 45px; background-position: -2254px -1598px; }
.icon-user-question { width: 32px; height: 36px; background-position: -1232px -670px; }
.icon-user { width: 36px; height: 36px; background-position: -1956px -526px; }
.icon-verification { width: 36px; height: 36px; background-position: -2012px -526px; }
.icon-user-question { width: 32px; height: 36px; background-position: -1288px -670px; }
.icon-user { width: 36px; height: 36px; background-position: -2022px -526px; }
.icon-verification { width: 36px; height: 36px; background-position: -1232px -670px; }
.icon-wechat { width: 80px; height: 78px; background-position: -2080px -1598px; }
\ No newline at end of file

1.47 MB | W: | H:

1.47 MB | W: | H:

src/assets/images/sprite.png
src/assets/images/sprite.png
src/assets/images/sprite.png
src/assets/images/sprite.png
  • 2-up
  • Swipe
  • Onion skin
......@@ -9,7 +9,8 @@ export default {
name: 'SearchFirst',
props: {
placeholder: {
type: String
type: String,
required: true
}
},
methods: {
......
......@@ -5,11 +5,13 @@ import { getLocalStorage } from '@/utils/LocalStorage'
Vue.use(VueI18n)
const lang = getLocalStorage('lang') || 'zh'
console.log('lang',lang)
// 通过选项创建 VueI18n 实例
export default new VueI18n({
locale: lang, // 设置地区
locale: 'zh', // 设置地区
messages, // 设置地区信息
silentTranslationWarn: true
})
......
......@@ -12,7 +12,7 @@ const buttonEn = {
save: 'Save'
}
}
const buttonZn = {
const buttonZh = {
button: {
ok: '确定',
cancel: '取消',
......@@ -28,5 +28,5 @@ const buttonZn = {
}
export default {
buttonEn,
buttonZn
buttonZh
};
\ No newline at end of file
......@@ -4,7 +4,9 @@ import toast from './toast/index'
// 单独页面模块
import title from './title/index'
import user from './user/index'
import setting from './user/setting'
import center from './user/center'
import person from './user/person'
import feedback from './feedback/index'
import question from './question/index'
import member from './member/index'
......@@ -15,18 +17,22 @@ const messages = {
...toast.toastEn,
...title.titleEn,
...user.userEn,
...setting.settingEn,
...center.centerEn,
...person.personEn,
...feedback.feedbackEn,
...question.questionEn,
...member.memberEn
},
zh: {
lang: "中文",
...button.buttonZn,
...toast.toastZn,
...button.buttonZh,
...toast.toastZh,
...title.titleZn,
...user.userZh,
...title.titleZh,
...setting.settingZh,
...center.centerZh,
...person.personZh,
...feedback.feedbackZh,
...question.questionZh,
...member.memberZh
......
......@@ -8,33 +8,6 @@ const memberEn = {
FAQ: 'Membership Handling FAQ', // 户籍办理常见问题
memberRules: 'Member Management Rules' // 会员管理规则
},
person: {
photo: 'Photo',
nickName: 'NickName',
nickNamePlaceholder: 'Please input your nickname',
phoneNumber: 'PhoneNumber',
name: 'Name',
namePlaceholder: 'Please input your name',
nationality: 'Nationality',
nationalityPlaceholder: 'Please select your Nationality',
birthday: 'BirthDay',
birthdayPlaceholder: 'Please select your Nationality',
email: 'Email',
emailPlaceholder: 'Please select your Nationality',
company: 'Company',
companyPlaceholder: 'Please select your Nationality',
},
center: {
login: 'Login',
konwMore: 'Know More Information',
message: 'Message',
collect: 'Collection',
study: 'Study',
question: 'Question',
feedBack: 'FeedBack',
about: 'About',
setting: 'Setting',
}
}
const memberZh = {
......@@ -47,33 +20,6 @@ const memberZh = {
FAQ: '会籍办理常见问题', // 户籍办理常见问题
memberRules: '会籍管理规则' // 会员管理规则
},
person: {
photo: '头像',
nickName: '昵称',
nickNamePlaceholder: '请输入您的昵称',
phoneNumber: '手机号',
name: '姓名',
namePlaceholder: '请输入您的姓名',
nationality: '国籍',
namePlaceholder: '请选择您的国籍',
birthday: '出生日',
birthdayPlaceholder: '请选择您的出生日',
email: '邮箱',
emailPlaceholder: '请输入您的邮箱',
company: '单位',
companyPlaceholder: '请选择您的单位',
},
center: {
login: '立即登录',
konwMore: '登录后可了解更多信息',
message: '我的消息',
collect: '我的收藏',
study: '我的学习',
question: '常见问题',
feedBack: '意见反馈',
about: '关于协会',
setting: '设置',
}
}
export default {
memberEn,
......
......@@ -16,11 +16,12 @@ const titleEn = {
photo: 'Edit Photo',
nickName: 'Edit NickName',
name: 'Edit Name',
nationality: 'Edit Nationality',
email: 'Edit Email',
company: 'Edit Compnay',
}
}
const titleZn = {
const titleZh = {
title: {
home: '首页',
membershipServices: '会籍服务',
......@@ -38,11 +39,12 @@ const titleZn = {
photo: '设置昵称',
nickName: '设置昵称',
name: '设置姓名',
nationality: '设置国籍',
email: '设置邮箱',
company: '设置单位'
}
}
export default {
titleEn,
titleZn
titleZh
};
\ No newline at end of file
......@@ -12,7 +12,7 @@ const toastEn = {
}
}
const toastZn = {
const toastZh = {
toast: {
userName: '请输入用户名',
phone: '请输入正确的手机格式',
......@@ -27,5 +27,5 @@ const toastZn = {
}
export default {
toastEn,
toastZn
toastZh
};
\ No newline at end of file
const centerEn = {
center: {
login: 'Login',
konwMore: 'Know More Information',
message: 'Message',
collect: 'Collection',
study: 'Study',
question: 'Question',
feedBack: 'FeedBack',
about: 'About',
setting: 'Setting',
},
}
const centerZh = {
center: {
login: '立即登录',
konwMore: '登录后可了解更多信息',
message: '我的消息',
collect: '我的收藏',
study: '我的学习',
question: '常见问题',
feedBack: '意见反馈',
about: '关于协会',
setting: '设置',
},
}
export default {
centerEn,
centerZh
};
\ No newline at end of file
const userEn = {
setting: {
language: 'Language', // 多语言
bindWechat: 'Binding Wechat', // 绑定微信
resetPassword: 'Reset Password', // 重置密码
privacyPolicy: 'Privacy Policy', //隐私政策
serviceAgreement: 'Service Agreement', // 服务协议
chinese: 'Chinese',
english: 'English',
},
const personEn = {
person: {
photo: 'Photo',
nickName: 'NickName',
......@@ -17,6 +8,7 @@ const userEn = {
namePlaceholder: 'Please input your name',
nationality: 'Nationality',
nationalityPlaceholder: 'Please select your Nationality',
country: 'Please input Nationality',
birthday: 'BirthDay',
birthdayPlaceholder: 'Please select your birthday',
email: 'Email',
......@@ -24,29 +16,9 @@ const userEn = {
company: 'Company',
companyPlaceholder: 'Please input your company',
},
center: {
login: 'Login',
konwMore: 'Know More Information',
message: 'Message',
collect: 'Collection',
study: 'Study',
question: 'Question',
feedBack: 'FeedBack',
about: 'About',
setting: 'Setting',
},
}
const userZh = {
setting: {
language: '多语言',
bindWechat: '绑定微信',
resetPassword: '重置密码',
privacyPolicy: '隐私政策',
serviceAgreement: '服务协议',
chinese: '中文',
english: '英文',
},
const personZh = {
person: {
photo: '头像',
nickName: '昵称',
......@@ -56,6 +28,7 @@ const userZh = {
namePlaceholder: '请输入您的姓名',
nationality: '国籍',
nationalityPlaceholder: '请选择您的国籍',
country: '请输入国籍名称',
birthday: '出生日',
birthdayPlaceholder: '请选择您的出生日',
email: '邮箱',
......@@ -63,19 +36,8 @@ const userZh = {
company: '单位',
companyPlaceholder: '请选择您的单位',
},
center: {
login: '立即登录',
konwMore: '登录后可了解更多信息',
message: '我的消息',
collect: '我的收藏',
study: '我的学习',
question: '常见问题',
feedBack: '意见反馈',
about: '关于协会',
setting: '设置',
},
}
export default {
userEn,
userZh
personEn,
personZh
};
\ No newline at end of file
const settingEn = {
setting: {
language: 'Language', // 多语言
bindWechat: 'Binding Wechat', // 绑定微信
resetPassword: 'Reset Password', // 重置密码
privacyPolicy: 'Privacy Policy', //隐私政策
serviceAgreement: 'Service Agreement', // 服务协议
chinese: 'Chinese',
english: 'English',
},
}
const settingZh = {
setting: {
language: '多语言',
bindWechat: '绑定微信',
resetPassword: '重置密码',
privacyPolicy: '隐私政策',
serviceAgreement: '服务协议',
chinese: '中文',
english: '英文',
},
}
export default {
settingEn,
settingZh
};
\ No newline at end of file
......@@ -180,6 +180,15 @@ const userRouter = [
},
component: () => import(/* webpackChunkName: "commonEdit" */ '@/views/user/person/commonEdit.vue') // 个人信息
},
{
path: '/user/nationality',
name: 'Nationality',
meta: {
title: '',
isLogin: true
},
component: () => import(/* webpackChunkName: "nationality" */ '@/views/user/nationality/index.vue') // 设置国籍
},
]
export default userRouter
\ No newline at end of file
......@@ -26,7 +26,10 @@ import {
List,
PullRefresh,
SwipeCell,
DatetimePicker
DatetimePicker,
Search,
IndexBar,
IndexAnchor
} from 'vant'
import NafmHeader from '@/components/NafmHeader'
......@@ -63,7 +66,10 @@ import FooterBottom from '@/components/FooterBottom'
List,
PullRefresh,
SwipeCell,
DatetimePicker
DatetimePicker,
Search,
IndexBar,
IndexAnchor
].forEach(item => Vue.use(item))
// 先预制,后期做统一调整
......
......@@ -6,6 +6,11 @@
"name": "范鑫",
"myselfList": [
{
"url": "/user/register",
"title": "注册",
"class": "block red"
},
{
"url": "/user/login/phone",
"title": "手机号登录",
"class": "block red"
......
......@@ -7,12 +7,14 @@
</NafmHeader>
<div class="collect_content">
<van-list v-model="loading" :finished="finished" finished-text="没有更多了" @load="onLoad">
<div class="">
<van-swipe-cell>
<div class="list">
</div>
<template #right>
<van-button square text="删除" type="danger" class="delete-button" />
</template>
</van-swipe-cell>
</van-list>
</div>
......
......@@ -7,8 +7,16 @@
<h3>{{$t('feedback.images')}}</h3>
<div class="upload_content">
<van-uploader v-model="fileList" multiple :max-count="4" accept="image/*" :max-size="1024 * 1024" @oversize="onOversize" />
</div>
<div class="tip">{{$t('feedback.tip')}}</div>
</div>
<h3>单位全称</h3>
<van-field v-model="unit" placeholder="请输入单位全称" />
<h3>联系人</h3>
<van-field v-model="unit" placeholder="请输入联系人名称" />
<h3>联系方式</h3>
<van-field v-model="unit" type="tel" placeholder="请输入联系方式" />
<div class="tip">注:请您务必准确填写单位全称、联系人及联系方式,以便协会工作人员与您核实相关信息。</div>
<div class="login_btn" :class="{loginActive:isBothValue}" @click="handleSubmit">提交</div>
</div>
</div>
......@@ -24,6 +32,7 @@ export default {
{ url: 'https://img01.yzcdn.cn/vant/leaf.jpg' },
{ url: 'https://img01.yzcdn.cn/vant/leaf.jpg' },
],
unit: ''
}
},
computed: {
......@@ -72,7 +81,7 @@ export default {
}
.tip {
color: #999;
font-size: 12px;
font-size: 11px;
margin-top: 10px;
}
/deep/ .van-uploader__preview-image {
......
......@@ -60,7 +60,7 @@
.form_second {
margin-top: 10px;
display: flex;
justify-content: space-between;
justify-content: flex-end;
color: #999;
.checkbox {
......
......@@ -11,7 +11,7 @@
<van-field v-model.trim="userName" clearable type="tel" maxlength="11" :left-icon="userNameIcon" placeholder="请输入手机号" />
<van-field v-model.trim="password" clearable type="password" label="" maxlength="16" :left-icon="passwordIcon" placeholder="请输入6-16位密码" />
<div class="form_second">
<van-checkbox v-model="checked" checked-color="#106abc" class="checkbox" shape="square" icon-size="12px">记住密码</van-checkbox>
<!-- <van-checkbox v-model="checked" checked-color="#106abc" class="checkbox" shape="square" icon-size="12px">记住密码</van-checkbox> -->
<span class="forget" @click="controllForgetBox(true)">忘记密码</span>
</div>
<div class="login_btn" :class="{loginActive:isBothValue}" @click="handleLogin">登 录</div>
......@@ -45,7 +45,7 @@ export default {
type: 'phone'
},
type: 'phone',
checked: false,
// checked: false,
userNameIcon: require('@/assets/icon/user.png'),
passwordIcon: require('@/assets/icon/password.png'),
actionsForget: [{ name: '手机号找回', key: 'phone' }, { name: '邮箱找回', key: 'email' }],
......
......@@ -20,6 +20,14 @@
</div>
</div>
</div>
<div class="register_agreement">
<div class="agreement_content">
<van-checkbox v-model="checked" checked-color="#106abc" class="checkbox" shape="square" icon-size="12px">
用户注册即代表同意
</van-checkbox>
<router-link to="">《用户协议及隐私政策》</router-link>
</div>
</div>
</div>
</template>
<script>
......@@ -44,11 +52,12 @@ export default {
VerificationIcon: require('@/assets/icon/verification.png'),
passwordIcon: require('@/assets/icon/password.png'),
emptyIcon: require('@/assets/icon/empty.png'),
checked: false
}
},
computed: {
isBothValue() {
if (this.phone && this.verification && this.password && this.aginPassword) {
if (this.phone && this.verification && this.password && this.aginPassword && this.checked) {
return true
} else {
return false
......@@ -86,8 +95,20 @@ export default {
return
}
// todo 请求接口
if (!this.checked) {
Toast('选勾选用户协议及隐私政策')
return
}
// todo 请求接口 注册成功 查询用户信息 并且完成登录操作
console.log(1)
this.$router.push({
path: '/user/person',
query: {
status: 'first'
}
})
},
// 跳转到登录页面
jumpLoginPage() {
......@@ -115,8 +136,25 @@ export default {
.go_login_btn {
margin-top: 10px;
display: flex;
justify-content:center ;
color: #106ABC;
justify-content: center;
color: #106abc;
font-size: 13px;
}
.register_agreement {
width: 384px;
display: flex;
flex: 1;
flex-direction: row;
align-items: flex-end;
margin-bottom: 30px;
justify-content: center;
a {
color: #106abc;
}
}
.agreement_content {
display: flex;
flex-direction: row;
align-items: center;
}
</style>
\ No newline at end of file
{
"list": [
{
"A": [
{
"id": null,
"cityName": "阿坝藏族羌族自治州",
"cityPinyin": "abazangzuqiangzuzizhizhou"
},
{
"id": null,
"cityName": "阿克苏地区",
"cityPinyin": "akesudiqu"
},
{
"id": null,
"cityName": "阿拉尔市",
"cityPinyin": "alaershi"
},
{
"id": null,
"cityName": "阿拉善盟",
"cityPinyin": "alashanmeng"
},
{
"id": null,
"cityName": "阿勒泰地区",
"cityPinyin": "aletaidiqu"
},
{
"id": null,
"cityName": "阿里地区",
"cityPinyin": "alidiqu"
},
{
"id": null,
"cityName": "安康市",
"cityPinyin": "ankangshi"
},
{
"id": null,
"cityName": "安庆市",
"cityPinyin": "anqingshi"
},
{
"id": null,
"cityName": "鞍山市",
"cityPinyin": "anshanshi"
},
{
"id": null,
"cityName": "安顺市",
"cityPinyin": "anshunshi"
},
{
"id": null,
"cityName": "安阳市",
"cityPinyin": "anyangshi"
}
],
"B": [
{
"id": null,
"cityName": "白城市",
"cityPinyin": "baichengshi"
},
{
"id": null,
"cityName": "百色市",
"cityPinyin": "baiseshi"
},
{
"id": null,
"cityName": "省直辖县级行政区划",
"cityPinyin": "baishalizuzizhixian"
},
{
"id": null,
"cityName": "白山市",
"cityPinyin": "baishanshi"
},
{
"id": null,
"cityName": "白银市",
"cityPinyin": "baiyinshi"
},
{
"id": null,
"cityName": "蚌埠市",
"cityPinyin": "bangbushi"
},
{
"id": null,
"cityName": "保定市",
"cityPinyin": "baodingshi"
},
{
"id": null,
"cityName": "宝鸡市",
"cityPinyin": "baojishi"
},
{
"id": null,
"cityName": "保山市",
"cityPinyin": "baoshanshi"
},
{
"id": null,
"cityName": "省直辖县级行政区划",
"cityPinyin": "baotinglizumiaozuzizhixian"
},
{
"id": null,
"cityName": "包头市",
"cityPinyin": "baotoushi"
},
{
"id": null,
"cityName": "巴彦淖尔市",
"cityPinyin": "bayannaoershi"
},
{
"id": null,
"cityName": "巴音郭楞蒙古自治州",
"cityPinyin": "bayinguolengmengguzizhizhou"
},
{
"id": null,
"cityName": "巴中市",
"cityPinyin": "bazhongshi"
},
{
"id": null,
"cityName": "北海市",
"cityPinyin": "beihaishi"
},
{
"id": null,
"cityName": "北京市",
"cityPinyin": "beijingshi"
},
{
"id": null,
"cityName": "本溪市",
"cityPinyin": "benxishi"
},
{
"id": null,
"cityName": "毕节市",
"cityPinyin": "bijieshi"
},
{
"id": null,
"cityName": "滨州市",
"cityPinyin": "binzhoushi"
},
{
"id": null,
"cityName": "博尔塔拉蒙古自治州",
"cityPinyin": "boertalamengguzizhizhou"
},
{
"id": null,
"cityName": "亳州市",
"cityPinyin": "bozhoushi"
}
],
"C": [
{
"id": null,
"cityName": "沧州市",
"cityPinyin": "cangzhoushi"
},
{
"id": null,
"cityName": "长春市",
"cityPinyin": "changchunshi"
},
{
"id": null,
"cityName": "常德市",
"cityPinyin": "changdeshi"
},
{
"id": null,
"cityName": "昌都市",
"cityPinyin": "changdoushi"
},
{
"id": null,
"cityName": "省直辖县级行政区划",
"cityPinyin": "changjianglizuzizhixian"
},
{
"id": null,
"cityName": "昌吉回族自治州",
"cityPinyin": "changjihuizuzizhizhou"
},
{
"id": null,
"cityName": "长沙市",
"cityPinyin": "changshashi"
},
{
"id": null,
"cityName": "长治市",
"cityPinyin": "changzhishi"
},
{
"id": null,
"cityName": "常州市",
"cityPinyin": "changzhoushi"
},
{
"id": null,
"cityName": "朝阳市",
"cityPinyin": "chaoyangshi"
},
{
"id": null,
"cityName": "潮州市",
"cityPinyin": "chaozhoushi"
},
{
"id": null,
"cityName": "承德市",
"cityPinyin": "chengdeshi"
},
{
"id": null,
"cityName": "成都市",
"cityPinyin": "chengdoushi"
},
{
"id": null,
"cityName": "省直辖县级行政区划",
"cityPinyin": "chengmaixian"
},
{
"id": null,
"cityName": "郴州市",
"cityPinyin": "chenzhoushi"
},
{
"id": null,
"cityName": "赤峰市",
"cityPinyin": "chifengshi"
},
{
"id": null,
"cityName": "池州市",
"cityPinyin": "chizhoushi"
},
{
"id": null,
"cityName": "重庆市",
"cityPinyin": "chongqingshi"
},
{
"id": null,
"cityName": "崇左市",
"cityPinyin": "chongzuoshi"
},
{
"id": null,
"cityName": "楚雄彝族自治州",
"cityPinyin": "chuxiongyizuzizhizhou"
},
{
"id": null,
"cityName": "滁州市",
"cityPinyin": "chuzhoushi"
}
],
"D": [
{
"id": null,
"cityName": "大连市",
"cityPinyin": "dalianshi"
},
{
"id": null,
"cityName": "大理白族自治州",
"cityPinyin": "dalibaizuzizhizhou"
},
{
"id": null,
"cityName": "丹东市",
"cityPinyin": "dandongshi"
},
{
"id": null,
"cityName": "儋州市",
"cityPinyin": "danzhoushi"
},
{
"id": null,
"cityName": "大庆市",
"cityPinyin": "daqingshi"
},
{
"id": null,
"cityName": "大同市",
"cityPinyin": "datongshi"
},
{
"id": null,
"cityName": "大兴安岭地区",
"cityPinyin": "daxinganlingdiqu"
},
{
"id": null,
"cityName": "达州市",
"cityPinyin": "dazhoushi"
},
{
"id": null,
"cityName": "德宏傣族景颇族自治州",
"cityPinyin": "dehongdaizujingpozuzizhizhou"
},
{
"id": null,
"cityName": "德阳市",
"cityPinyin": "deyangshi"
},
{
"id": null,
"cityName": "德州市",
"cityPinyin": "dezhoushi"
},
{
"id": null,
"cityName": "省直辖县级行政区划",
"cityPinyin": "dinganxian"
},
{
"id": null,
"cityName": "定西市",
"cityPinyin": "dingxishi"
},
{
"id": null,
"cityName": "省直辖县级行政区划",
"cityPinyin": "dingzhoushi"
},
{
"id": null,
"cityName": "迪庆藏族自治州",
"cityPinyin": "diqingzangzuzizhizhou"
},
{
"id": null,
"cityName": "省直辖县级行政区划",
"cityPinyin": "dongfangshi"
},
{
"id": null,
"cityName": "东方市",
"cityPinyin": "dongfangshi"
},
{
"id": null,
"cityName": "东莞市",
"cityPinyin": "dongguanshi"
},
{
"id": null,
"cityName": "东营市",
"cityPinyin": "dongyingshi"
}
],
"E": [
{
"id": null,
"cityName": "鄂尔多斯市",
"cityPinyin": "eerduosishi"
},
{
"id": null,
"cityName": "恩施土家族苗族自治州",
"cityPinyin": "enshitujiazumiaozuzizhizhou"
},
{
"id": null,
"cityName": "鄂州市",
"cityPinyin": "ezhoushi"
}
],
"F": [
{
"id": null,
"cityName": "防城港市",
"cityPinyin": "fangchenggangshi"
},
{
"id": null,
"cityName": "佛山市",
"cityPinyin": "foshanshi"
},
{
"id": null,
"cityName": "抚顺市",
"cityPinyin": "fushunshi"
},
{
"id": null,
"cityName": "阜新市",
"cityPinyin": "fuxinshi"
},
{
"id": null,
"cityName": "阜阳市",
"cityPinyin": "fuyangshi"
},
{
"id": null,
"cityName": "抚州市",
"cityPinyin": "fuzhoushi"
},
{
"id": null,
"cityName": "福州市",
"cityPinyin": "fuzhoushi"
}
],
"G": [
{
"id": null,
"cityName": "甘南藏族自治州",
"cityPinyin": "gannanzangzuzizhizhou"
},
{
"id": null,
"cityName": "赣州市",
"cityPinyin": "ganzhoushi"
},
{
"id": null,
"cityName": "甘孜藏族自治州",
"cityPinyin": "ganzizangzuzizhizhou"
},
{
"id": null,
"cityName": "广安市",
"cityPinyin": "guanganshi"
},
{
"id": null,
"cityName": "广元市",
"cityPinyin": "guangyuanshi"
},
{
"id": null,
"cityName": "广州市",
"cityPinyin": "guangzhoushi"
},
{
"id": null,
"cityName": "贵港市",
"cityPinyin": "guigangshi"
},
{
"id": null,
"cityName": "桂林市",
"cityPinyin": "guilinshi"
},
{
"id": null,
"cityName": "贵阳市",
"cityPinyin": "guiyangshi"
},
{
"id": null,
"cityName": "果洛藏族自治州",
"cityPinyin": "guoluozangzuzizhizhou"
},
{
"id": null,
"cityName": "固原市",
"cityPinyin": "guyuanshi"
}
],
"H": [
{
"id": null,
"cityName": "哈尔滨市",
"cityPinyin": "haerbinshi"
},
{
"id": null,
"cityName": "海北藏族自治州",
"cityPinyin": "haibeizangzuzizhizhou"
},
{
"id": null,
"cityName": "海东市",
"cityPinyin": "haidongshi"
},
{
"id": null,
"cityName": "海口市",
"cityPinyin": "haikoushi"
},
{
"id": null,
"cityName": "海南藏族自治州",
"cityPinyin": "hainanzangzuzizhizhou"
},
{
"id": null,
"cityName": "海西蒙古族藏族自治州",
"cityPinyin": "haiximengguzuzangzuzizhizhou"
},
{
"id": null,
"cityName": "哈密市",
"cityPinyin": "hamishi"
},
{
"id": null,
"cityName": "邯郸市",
"cityPinyin": "handanshi"
},
{
"id": null,
"cityName": "杭州市",
"cityPinyin": "hangzhoushi"
},
{
"id": null,
"cityName": "汉中市",
"cityPinyin": "hanzhongshi"
},
{
"id": null,
"cityName": "鹤壁市",
"cityPinyin": "hebishi"
},
{
"id": null,
"cityName": "河池市",
"cityPinyin": "hechishi"
},
{
"id": null,
"cityName": "合肥市",
"cityPinyin": "hefeishi"
},
{
"id": null,
"cityName": "鹤岗市",
"cityPinyin": "hegangshi"
},
{
"id": null,
"cityName": "黑河市",
"cityPinyin": "heiheshi"
},
{
"id": null,
"cityName": "衡水市",
"cityPinyin": "hengshuishi"
},
{
"id": null,
"cityName": "衡阳市",
"cityPinyin": "hengyangshi"
},
{
"id": null,
"cityName": "和田地区",
"cityPinyin": "hetiandiqu"
},
{
"id": null,
"cityName": "河源市",
"cityPinyin": "heyuanshi"
},
{
"id": null,
"cityName": "菏泽市",
"cityPinyin": "hezeshi"
},
{
"id": null,
"cityName": "贺州市",
"cityPinyin": "hezhoushi"
},
{
"id": null,
"cityName": "红河哈尼族彝族自治州",
"cityPinyin": "honghehanizuyizuzizhizhou"
},
{
"id": null,
"cityName": "淮安市",
"cityPinyin": "huaianshi"
},
{
"id": null,
"cityName": "淮北市",
"cityPinyin": "huaibeishi"
},
{
"id": null,
"cityName": "怀化市",
"cityPinyin": "huaihuashi"
},
{
"id": null,
"cityName": "淮南市",
"cityPinyin": "huainanshi"
},
{
"id": null,
"cityName": "黄冈市",
"cityPinyin": "huanggangshi"
},
{
"id": null,
"cityName": "黄南藏族自治州",
"cityPinyin": "huangnanzangzuzizhizhou"
},
{
"id": null,
"cityName": "黄山市",
"cityPinyin": "huangshanshi"
},
{
"id": null,
"cityName": "黄石市",
"cityPinyin": "huangshishi"
},
{
"id": null,
"cityName": "呼和浩特市",
"cityPinyin": "huhehaoteshi"
},
{
"id": null,
"cityName": "惠州市",
"cityPinyin": "huizhoushi"
},
{
"id": null,
"cityName": "葫芦岛市",
"cityPinyin": "huludaoshi"
},
{
"id": null,
"cityName": "呼伦贝尔市",
"cityPinyin": "hulunbeiershi"
},
{
"id": null,
"cityName": "湖州市",
"cityPinyin": "huzhoushi"
}
],
"I": [],
"J": [
{
"id": null,
"cityName": "佳木斯市",
"cityPinyin": "jiamusishi"
},
{
"id": null,
"cityName": "江门市",
"cityPinyin": "jiangmenshi"
},
{
"id": null,
"cityName": "吉安市",
"cityPinyin": "jianshi"
},
{
"id": null,
"cityName": "焦作市",
"cityPinyin": "jiaozuoshi"
},
{
"id": null,
"cityName": "嘉兴市",
"cityPinyin": "jiaxingshi"
},
{
"id": null,
"cityName": "嘉峪关市",
"cityPinyin": "jiayuguanshi"
},
{
"id": null,
"cityName": "揭阳市",
"cityPinyin": "jieyangshi"
},
{
"id": null,
"cityName": "吉林市",
"cityPinyin": "jilinshi"
},
{
"id": null,
"cityName": "济南市",
"cityPinyin": "jinanshi"
},
{
"id": null,
"cityName": "金昌市",
"cityPinyin": "jinchangshi"
},
{
"id": null,
"cityName": "晋城市",
"cityPinyin": "jinchengshi"
},
{
"id": null,
"cityName": "景德镇市",
"cityPinyin": "jingdezhenshi"
},
{
"id": null,
"cityName": "荆门市",
"cityPinyin": "jingmenshi"
},
{
"id": null,
"cityName": "荆州市",
"cityPinyin": "jingzhoushi"
},
{
"id": null,
"cityName": "金华市",
"cityPinyin": "jinhuashi"
},
{
"id": null,
"cityName": "济宁市",
"cityPinyin": "jiningshi"
},
{
"id": null,
"cityName": "晋中市",
"cityPinyin": "jinzhongshi"
},
{
"id": null,
"cityName": "锦州市",
"cityPinyin": "jinzhoushi"
},
{
"id": null,
"cityName": "九江市",
"cityPinyin": "jiujiangshi"
},
{
"id": null,
"cityName": "酒泉市",
"cityPinyin": "jiuquanshi"
},
{
"id": null,
"cityName": "鸡西市",
"cityPinyin": "jixishi"
},
{
"id": null,
"cityName": "省直辖县级行政区划",
"cityPinyin": "jiyuanshi"
}
],
"K": [
{
"id": null,
"cityName": "开封市",
"cityPinyin": "kaifengshi"
},
{
"id": null,
"cityName": "喀什地区",
"cityPinyin": "kashendiqu"
},
{
"id": null,
"cityName": "克拉玛依市",
"cityPinyin": "kelamayishi"
},
{
"id": null,
"cityName": "克孜勒苏柯尔克孜自治州",
"cityPinyin": "kezilesukeerkezizizhizhou"
},
{
"id": null,
"cityName": "昆明市",
"cityPinyin": "kunmingshi"
},
{
"id": null,
"cityName": "昆玉市",
"cityPinyin": "kunyushi"
}
],
"L": [
{
"id": null,
"cityName": "来宾市",
"cityPinyin": "laibinshi"
},
{
"id": null,
"cityName": "莱芜市",
"cityPinyin": "laiwushi"
},
{
"id": null,
"cityName": "廊坊市",
"cityPinyin": "langfangshi"
},
{
"id": null,
"cityName": "兰州市",
"cityPinyin": "lanzhoushi"
},
{
"id": null,
"cityName": "拉萨市",
"cityPinyin": "lasashi"
},
{
"id": null,
"cityName": "乐山市",
"cityPinyin": "leshanshi"
},
{
"id": null,
"cityName": "凉山彝族自治州",
"cityPinyin": "liangshanyizuzizhizhou"
},
{
"id": null,
"cityName": "连云港市",
"cityPinyin": "lianyungangshi"
},
{
"id": null,
"cityName": "聊城市",
"cityPinyin": "liaochengshi"
},
{
"id": null,
"cityName": "辽阳市",
"cityPinyin": "liaoyangshi"
},
{
"id": null,
"cityName": "辽源市",
"cityPinyin": "liaoyuanshi"
},
{
"id": null,
"cityName": "丽江市",
"cityPinyin": "lijiangshi"
},
{
"id": null,
"cityName": "临沧市",
"cityPinyin": "lincangshi"
},
{
"id": null,
"cityName": "临汾市",
"cityPinyin": "linfenshi"
},
{
"id": null,
"cityName": "省直辖县级行政区划",
"cityPinyin": "lingaoxian"
},
{
"id": null,
"cityName": "省直辖县级行政区划",
"cityPinyin": "lingshuilizuzizhixian"
},
{
"id": null,
"cityName": "临夏回族自治州",
"cityPinyin": "linxiahuizuzizhizhou"
},
{
"id": null,
"cityName": "临沂市",
"cityPinyin": "linyishi"
},
{
"id": null,
"cityName": "林芝市",
"cityPinyin": "linzhishi"
},
{
"id": null,
"cityName": "丽水市",
"cityPinyin": "lishuishi"
},
{
"id": null,
"cityName": "六安市",
"cityPinyin": "liuanshi"
},
{
"id": null,
"cityName": "六盘水市",
"cityPinyin": "liupanshuishi"
},
{
"id": null,
"cityName": "柳州市",
"cityPinyin": "liuzhoushi"
},
{
"id": null,
"cityName": "陇南市",
"cityPinyin": "longnanshi"
},
{
"id": null,
"cityName": "龙岩市",
"cityPinyin": "longyanshi"
},
{
"id": null,
"cityName": "娄底市",
"cityPinyin": "loudishi"
},
{
"id": null,
"cityName": "吕梁市",
"cityPinyin": "lu:liangshi"
},
{
"id": null,
"cityName": "漯河市",
"cityPinyin": "luoheshi"
},
{
"id": null,
"cityName": "洛阳市",
"cityPinyin": "luoyangshi"
},
{
"id": null,
"cityName": "泸州市",
"cityPinyin": "luzhoushi"
}
],
"M": [
{
"id": null,
"cityName": "马鞍山市",
"cityPinyin": "maanshanshi"
},
{
"id": null,
"cityName": "茂名市",
"cityPinyin": "maomingshi"
},
{
"id": null,
"cityName": "眉山市",
"cityPinyin": "meishanshi"
},
{
"id": null,
"cityName": "梅州市",
"cityPinyin": "meizhoushi"
},
{
"id": null,
"cityName": "绵阳市",
"cityPinyin": "mianyangshi"
},
{
"id": null,
"cityName": "牡丹江市",
"cityPinyin": "mudanjiangshi"
}
],
"N": [
{
"id": null,
"cityName": "南昌市",
"cityPinyin": "nanchangshi"
},
{
"id": null,
"cityName": "南充市",
"cityPinyin": "nanchongshi"
},
{
"id": null,
"cityName": "南京市",
"cityPinyin": "nanjingshi"
},
{
"id": null,
"cityName": "南宁市",
"cityPinyin": "nanningshi"
},
{
"id": null,
"cityName": "南平市",
"cityPinyin": "nanpingshi"
},
{
"id": null,
"cityName": "南通市",
"cityPinyin": "nantongshi"
},
{
"id": null,
"cityName": "南阳市",
"cityPinyin": "nanyangshi"
},
{
"id": null,
"cityName": "内江市",
"cityPinyin": "neijiangshi"
},
{
"id": null,
"cityName": "那曲地区",
"cityPinyin": "neiqudiqu"
},
{
"id": null,
"cityName": "宁波市",
"cityPinyin": "ningboshi"
},
{
"id": null,
"cityName": "宁德市",
"cityPinyin": "ningdeshi"
},
{
"id": null,
"cityName": "怒江傈僳族自治州",
"cityPinyin": "nujianglisuzuzizhizhou"
}
],
"O": [],
"P": [
{
"id": null,
"cityName": "盘锦市",
"cityPinyin": "panjinshi"
},
{
"id": null,
"cityName": "攀枝花市",
"cityPinyin": "panzhihuashi"
},
{
"id": null,
"cityName": "平顶山市",
"cityPinyin": "pingdingshanshi"
},
{
"id": null,
"cityName": "平凉市",
"cityPinyin": "pingliangshi"
},
{
"id": null,
"cityName": "萍乡市",
"cityPinyin": "pingxiangshi"
},
{
"id": null,
"cityName": "普洱市",
"cityPinyin": "puershi"
},
{
"id": null,
"cityName": "莆田市",
"cityPinyin": "putianshi"
},
{
"id": null,
"cityName": "濮阳市",
"cityPinyin": "puyangshi"
}
],
"Q": [
{
"id": null,
"cityName": "黔东南苗族侗族自治州",
"cityPinyin": "qiandongnanmiaozudongzuzizhizhou"
},
{
"id": null,
"cityName": "省直辖县级行政区划",
"cityPinyin": "qianjiangshi"
},
{
"id": null,
"cityName": "潜江市",
"cityPinyin": "qianjiangshi"
},
{
"id": null,
"cityName": "黔南布依族苗族自治州",
"cityPinyin": "qiannanbuyizumiaozuzizhizhou"
},
{
"id": null,
"cityName": "黔西南布依族苗族自治州",
"cityPinyin": "qianxinanbuyizumiaozuzizhizhou"
},
{
"id": null,
"cityName": "青岛市",
"cityPinyin": "qingdaoshi"
},
{
"id": null,
"cityName": "省直辖县级行政区划",
"cityPinyin": "qinghaishi"
},
{
"id": null,
"cityName": "庆阳市",
"cityPinyin": "qingyangshi"
},
{
"id": null,
"cityName": "清远市",
"cityPinyin": "qingyuanshi"
},
{
"id": null,
"cityName": "秦皇岛市",
"cityPinyin": "qinhuangdaoshi"
},
{
"id": null,
"cityName": "钦州市",
"cityPinyin": "qinzhoushi"
},
{
"id": null,
"cityName": "省直辖县级行政区划",
"cityPinyin": "qiongzhonglizumiaozuzizhixian"
},
{
"id": null,
"cityName": "齐齐哈尔市",
"cityPinyin": "qiqihaershi"
},
{
"id": null,
"cityName": "七台河市",
"cityPinyin": "qitaiheshi"
},
{
"id": null,
"cityName": "泉州市",
"cityPinyin": "quanzhoushi"
},
{
"id": null,
"cityName": "曲靖市",
"cityPinyin": "qujingshi"
},
{
"id": null,
"cityName": "衢州市",
"cityPinyin": "quzhoushi"
}
],
"R": [
{
"id": null,
"cityName": "日喀则市",
"cityPinyin": "rikazeshi"
},
{
"id": null,
"cityName": "日照市",
"cityPinyin": "rizhaoshi"
}
],
"S": [
{
"id": null,
"cityName": "三门峡市",
"cityPinyin": "sanmenxiashi"
},
{
"id": null,
"cityName": "三明市",
"cityPinyin": "sanmingshi"
},
{
"id": null,
"cityName": "三沙市",
"cityPinyin": "sanshashi"
},
{
"id": null,
"cityName": "三亚市",
"cityPinyin": "sanyashi"
},
{
"id": null,
"cityName": "厦门市",
"cityPinyin": "shamenshi"
},
{
"id": null,
"cityName": "上海市",
"cityPinyin": "shanghaishi"
},
{
"id": null,
"cityName": "商洛市",
"cityPinyin": "shangluoshi"
},
{
"id": null,
"cityName": "商丘市",
"cityPinyin": "shangqiushi"
},
{
"id": null,
"cityName": "上饶市",
"cityPinyin": "shangraoshi"
},
{
"id": null,
"cityName": "山南市",
"cityPinyin": "shannanshi"
},
{
"id": null,
"cityName": "汕头市",
"cityPinyin": "shantoushi"
},
{
"id": null,
"cityName": "汕尾市",
"cityPinyin": "shanweishi"
},
{
"id": null,
"cityName": "韶关市",
"cityPinyin": "shaoguanshi"
},
{
"id": null,
"cityName": "绍兴市",
"cityPinyin": "shaoxingshi"
},
{
"id": null,
"cityName": "邵阳市",
"cityPinyin": "shaoyangshi"
},
{
"id": null,
"cityName": "省直辖县级行政区划",
"cityPinyin": "shennongjialinqu"
},
{
"id": null,
"cityName": "神农架林区",
"cityPinyin": "shennongjialinqu"
},
{
"id": null,
"cityName": "沈阳市",
"cityPinyin": "shenyangshi"
},
{
"id": null,
"cityName": "深圳市",
"cityPinyin": "shenzhenshi"
},
{
"id": null,
"cityName": "石河子市",
"cityPinyin": "shihezishi"
},
{
"id": null,
"cityName": "石家庄市",
"cityPinyin": "shijiazhuangshi"
},
{
"id": null,
"cityName": "十堰市",
"cityPinyin": "shiyanshi"
},
{
"id": null,
"cityName": "石嘴山市",
"cityPinyin": "shizuishanshi"
},
{
"id": null,
"cityName": "双鸭山市",
"cityPinyin": "shuangyashanshi"
},
{
"id": null,
"cityName": "朔州市",
"cityPinyin": "shuozhoushi"
},
{
"id": null,
"cityName": "四平市",
"cityPinyin": "sipingshi"
},
{
"id": null,
"cityName": "松原市",
"cityPinyin": "songyuanshi"
},
{
"id": null,
"cityName": "绥化市",
"cityPinyin": "suihuashi"
},
{
"id": null,
"cityName": "遂宁市",
"cityPinyin": "suiningshi"
},
{
"id": null,
"cityName": "随州市",
"cityPinyin": "suizhoushi"
},
{
"id": null,
"cityName": "宿迁市",
"cityPinyin": "suqianshi"
},
{
"id": null,
"cityName": "宿州市",
"cityPinyin": "suzhoushi"
},
{
"id": null,
"cityName": "苏州市",
"cityPinyin": "suzhoushi"
}
],
"T": [
{
"id": null,
"cityName": "塔城地区",
"cityPinyin": "tachengdiqu"
},
{
"id": null,
"cityName": "泰安市",
"cityPinyin": "taianshi"
},
{
"id": null,
"cityName": "太原市",
"cityPinyin": "taiyuanshi"
},
{
"id": null,
"cityName": "台州市",
"cityPinyin": "taizhoushi"
},
{
"id": null,
"cityName": "泰州市",
"cityPinyin": "taizhoushi"
},
{
"id": null,
"cityName": "唐山市",
"cityPinyin": "tangshanshi"
},
{
"id": null,
"cityName": "天津市",
"cityPinyin": "tianjinshi"
},
{
"id": null,
"cityName": "天门市",
"cityPinyin": "tianmenshi"
},
{
"id": null,
"cityName": "省直辖县级行政区划",
"cityPinyin": "tianmenshi"
},
{
"id": null,
"cityName": "天水市",
"cityPinyin": "tianshuishi"
},
{
"id": null,
"cityName": "铁岭市",
"cityPinyin": "tielingshi"
},
{
"id": null,
"cityName": "铁门关市",
"cityPinyin": "tiemenguanshi"
},
{
"id": null,
"cityName": "铜川市",
"cityPinyin": "tongchuanshi"
},
{
"id": null,
"cityName": "通化市",
"cityPinyin": "tonghuashi"
},
{
"id": null,
"cityName": "通辽市",
"cityPinyin": "tongliaoshi"
},
{
"id": null,
"cityName": "铜陵市",
"cityPinyin": "tonglingshi"
},
{
"id": null,
"cityName": "铜仁市",
"cityPinyin": "tongrenshi"
},
{
"id": null,
"cityName": "吐鲁番市",
"cityPinyin": "tulufanshi"
},
{
"id": null,
"cityName": "图木舒克市",
"cityPinyin": "tumushukeshi"
},
{
"id": null,
"cityName": "省直辖县级行政区划",
"cityPinyin": "tunchangxian"
}
],
"U": [],
"V": [],
"W": [
{
"id": null,
"cityName": "省直辖县级行政区划",
"cityPinyin": "wanningshi"
},
{
"id": null,
"cityName": "潍坊市",
"cityPinyin": "weifangshi"
},
{
"id": null,
"cityName": "威海市",
"cityPinyin": "weihaishi"
},
{
"id": null,
"cityName": "渭南市",
"cityPinyin": "weinanshi"
},
{
"id": null,
"cityName": "省直辖县级行政区划",
"cityPinyin": "wenchangshi"
},
{
"id": null,
"cityName": "文山壮族苗族自治州",
"cityPinyin": "wenshanzhuangzumiaozuzizhizhou"
},
{
"id": null,
"cityName": "温州市",
"cityPinyin": "wenzhoushi"
},
{
"id": null,
"cityName": "乌海市",
"cityPinyin": "wuhaishi"
},
{
"id": null,
"cityName": "武汉市",
"cityPinyin": "wuhanshi"
},
{
"id": null,
"cityName": "芜湖市",
"cityPinyin": "wuhushi"
},
{
"id": null,
"cityName": "五家渠市",
"cityPinyin": "wujiaqushi"
},
{
"id": null,
"cityName": "乌兰察布市",
"cityPinyin": "wulanchabushi"
},
{
"id": null,
"cityName": "乌鲁木齐市",
"cityPinyin": "wulumuqishi"
},
{
"id": null,
"cityName": "武威市",
"cityPinyin": "wuweishi"
},
{
"id": null,
"cityName": "无锡市",
"cityPinyin": "wuxishi"
},
{
"id": null,
"cityName": "省直辖县级行政区划",
"cityPinyin": "wuzhishanshi"
},
{
"id": null,
"cityName": "吴忠市",
"cityPinyin": "wuzhongshi"
},
{
"id": null,
"cityName": "梧州市",
"cityPinyin": "wuzhoushi"
}
],
"X": [
{
"id": null,
"cityName": "湘潭市",
"cityPinyin": "xiangtanshi"
},
{
"id": null,
"cityName": "湘西土家族苗族自治州",
"cityPinyin": "xiangxitujiazumiaozuzizhizhou"
},
{
"id": null,
"cityName": "襄阳市",
"cityPinyin": "xiangyangshi"
},
{
"id": null,
"cityName": "咸宁市",
"cityPinyin": "xianningshi"
},
{
"id": null,
"cityName": "西安市",
"cityPinyin": "xianshi"
},
{
"id": null,
"cityName": "省直辖县级行政区划",
"cityPinyin": "xiantaoshi"
},
{
"id": null,
"cityName": "仙桃市",
"cityPinyin": "xiantaoshi"
},
{
"id": null,
"cityName": "咸阳市",
"cityPinyin": "xianyangshi"
},
{
"id": null,
"cityName": "孝感市",
"cityPinyin": "xiaoganshi"
},
{
"id": null,
"cityName": "锡林郭勒盟",
"cityPinyin": "xilinguolemeng"
},
{
"id": null,
"cityName": "兴安盟",
"cityPinyin": "xinganmeng"
},
{
"id": null,
"cityName": "邢台市",
"cityPinyin": "xingtaishi"
},
{
"id": null,
"cityName": "西宁市",
"cityPinyin": "xiningshi"
},
{
"id": null,
"cityName": "省直辖县级行政区划",
"cityPinyin": "xinjishi"
},
{
"id": null,
"cityName": "新乡市",
"cityPinyin": "xinxiangshi"
},
{
"id": null,
"cityName": "信阳市",
"cityPinyin": "xinyangshi"
},
{
"id": null,
"cityName": "新余市",
"cityPinyin": "xinyushi"
},
{
"id": null,
"cityName": "忻州市",
"cityPinyin": "xinzhoushi"
},
{
"id": null,
"cityName": "西双版纳傣族自治州",
"cityPinyin": "xishuangbannadaizuzizhizhou"
},
{
"id": null,
"cityName": "宣城市",
"cityPinyin": "xuanchengshi"
},
{
"id": null,
"cityName": "许昌市",
"cityPinyin": "xuchangshi"
},
{
"id": null,
"cityName": "徐州市",
"cityPinyin": "xuzhoushi"
}
],
"Y": [
{
"id": null,
"cityName": "雅安市",
"cityPinyin": "yaanshi"
},
{
"id": null,
"cityName": "延安市",
"cityPinyin": "yananshi"
},
{
"id": null,
"cityName": "延边朝鲜族自治州",
"cityPinyin": "yanbianchaoxianzuzizhizhou"
},
{
"id": null,
"cityName": "盐城市",
"cityPinyin": "yanchengshi"
},
{
"id": null,
"cityName": "阳江市",
"cityPinyin": "yangjiangshi"
},
{
"id": null,
"cityName": "阳泉市",
"cityPinyin": "yangquanshi"
},
{
"id": null,
"cityName": "扬州市",
"cityPinyin": "yangzhoushi"
},
{
"id": null,
"cityName": "烟台市",
"cityPinyin": "yantaishi"
},
{
"id": null,
"cityName": "宜宾市",
"cityPinyin": "yibinshi"
},
{
"id": null,
"cityName": "宜昌市",
"cityPinyin": "yichangshi"
},
{
"id": null,
"cityName": "伊春市",
"cityPinyin": "yichunshi"
},
{
"id": null,
"cityName": "宜春市",
"cityPinyin": "yichunshi"
},
{
"id": null,
"cityName": "伊犁哈萨克自治州",
"cityPinyin": "yilihasakezizhizhou"
},
{
"id": null,
"cityName": "银川市",
"cityPinyin": "yinchuanshi"
},
{
"id": null,
"cityName": "营口市",
"cityPinyin": "yingkoushi"
},
{
"id": null,
"cityName": "鹰潭市",
"cityPinyin": "yingtanshi"
},
{
"id": null,
"cityName": "益阳市",
"cityPinyin": "yiyangshi"
},
{
"id": null,
"cityName": "永州市",
"cityPinyin": "yongzhoushi"
},
{
"id": null,
"cityName": "省直辖县级行政区划",
"cityPinyin": "yuedonglizuzizhixian"
},
{
"id": null,
"cityName": "岳阳市",
"cityPinyin": "yueyangshi"
},
{
"id": null,
"cityName": "玉林市",
"cityPinyin": "yulinshi"
},
{
"id": null,
"cityName": "榆林市",
"cityPinyin": "yulinshi"
},
{
"id": null,
"cityName": "运城市",
"cityPinyin": "yunchengshi"
},
{
"id": null,
"cityName": "云浮市",
"cityPinyin": "yunfushi"
},
{
"id": null,
"cityName": "玉树藏族自治州",
"cityPinyin": "yushuzangzuzizhizhou"
},
{
"id": null,
"cityName": "玉溪市",
"cityPinyin": "yuxishi"
}
],
"Z": [
{
"id": null,
"cityName": "枣庄市",
"cityPinyin": "zaozhuangshi"
},
{
"id": null,
"cityName": "张家界市",
"cityPinyin": "zhangjiajieshi"
},
{
"id": null,
"cityName": "张家口市",
"cityPinyin": "zhangjiakoushi"
},
{
"id": null,
"cityName": "张掖市",
"cityPinyin": "zhangyeshi"
},
{
"id": null,
"cityName": "漳州市",
"cityPinyin": "zhangzhoushi"
},
{
"id": null,
"cityName": "湛江市",
"cityPinyin": "zhanjiangshi"
},
{
"id": null,
"cityName": "肇庆市",
"cityPinyin": "zhaoqingshi"
},
{
"id": null,
"cityName": "昭通市",
"cityPinyin": "zhaotongshi"
},
{
"id": null,
"cityName": "郑州市",
"cityPinyin": "zhengzhoushi"
},
{
"id": null,
"cityName": "镇江市",
"cityPinyin": "zhenjiangshi"
},
{
"id": null,
"cityName": "中卫市",
"cityPinyin": "zhongweishi"
},
{
"id": null,
"cityName": "周口市",
"cityPinyin": "zhoukoushi"
},
{
"id": null,
"cityName": "舟山市",
"cityPinyin": "zhoushanshi"
},
{
"id": null,
"cityName": "珠海市",
"cityPinyin": "zhuhaishi"
},
{
"id": null,
"cityName": "驻马店市",
"cityPinyin": "zhumadianshi"
},
{
"id": null,
"cityName": "株洲市",
"cityPinyin": "zhuzhoushi"
},
{
"id": null,
"cityName": "淄博市",
"cityPinyin": "ziboshi"
},
{
"id": null,
"cityName": "自贡市",
"cityPinyin": "zigongshi"
},
{
"id": null,
"cityName": "资阳市",
"cityPinyin": "ziyangshi"
},
{
"id": null,
"cityName": "遵义市",
"cityPinyin": "zunyishi"
}
]
}
]
}
\ No newline at end of file
<template>
<div class="nationality_container">
{{$t('person.nickName')}}
<NafmHeader :title="$t('title.nationality')" navClass="nafmii-head-bg3">
<template #bottom>
<van-search v-model="keyword" class="common_search" :placeholder="$t('person.country')" />
</template>
</NafmHeader>
<div class="search_content" ref="searchContent" v-show="keyword">
<ul>
<li class="search_item" v-for="(item,index) of list" :key="index" @click="handleCountryClick(item.cityName)">{{item.cityName}}</li>
<li class="search_item" v-show="hasNoData">没有搜索到匹配内容</li>
</ul>
</div>
<div class="city-area" ref="cityarea">
<van-index-bar :sticky="false" @select="handleSelect">
<div class="city-area-list" v-for="(item,key) in countryList" :key="key">
<van-index-anchor :index="key">{{key}}</van-index-anchor>
<van-cell v-for="(innerItem,Index) in item " :key="Index" :title="innerItem.cityName" @click="handleCountryClick(innerItem.cityName)"></van-cell>
</div>
</van-index-bar>
</div>
</div>
</template>
<script>
import BScroll from 'better-scroll'
import SearchFirst from '@/components/SearchFirst.vue'
import data from './city.json'
export default {
name: 'Nationality',
components: {
SearchFirst
},
data() {
return {
keyword: '',
list: [],
countryList: {},
}
},
computed: {
hasNoData() {
return !this.list.length
}
},
watch: {
keyword() {
// console.log('keyword', this.keyword)
if (!this.keyword) {
this.list = []
return false
}
const result = []
for (const i in this.countryList) {
this.countryList[i].forEach(value => {
if (value.cityName.indexOf(this.keyword) > -1 || value.cityPinyin.indexOf(this.keyword) > -1) {
result.push(value)
}
})
}
this.list = result
},
countryList() {
setTimeout(() => {
this.$refs.cityarea.style.height = document.documentElement.clientHeight - this.$refs.cityarea.getBoundingClientRect().top - 10 + "px";
this.InsertElementBuildIos();
}, 1000)
}
},
mounted() {
this.scroll = new BScroll(this.$refs.searchContent, {
click: true
})
this.countryList = data.list[0]
},
methods: {
//修改a-z列表在ios中fixed未脱离文档流bug
InsertElementBuildIos() {
let li = document.querySelector(".nationality_container");
let el = document.querySelector(".van-index-bar__sidebar");
li.insertBefore(el, li.firstChild);
},
jumpPage() {
},
// 字母选择
handleSelect(value) {
let cityDom = document.querySelector(".city-area");
cityDom.scrollTop += 5;
},
//
handleCountryClick(value) {
console.log('value', value)
// 接口请求 返回上页
this.$router.back()
}
}
}
</script>
<style lang="less" scoped>
@import "~@/assets/css/search.less";
.nationality_container {
height: 100vh;
}
.search_content {
overflow: hidden;
position: absolute;
top: 94px;
left: 0;
right: 0;
bottom: 0;
background: #f7f7f7;
z-index: 9;
.search_item {
line-height: 35px;
padding-left: 35px;
border-bottom: 1px solid #efefef;
background: #fff;
color: #666;
}
}
.city-area {
overflow: hidden;
overflow-y: scroll;
-webkit-overflow-scrolling: touch;
}
/deep/ .van-index-bar__sidebar {
top: 55%;
right: 10px;
}
/deep/ .van-index-bar__index {
font-size: 10px;
width: 15px;
height: 15px;
text-align: center;
margin-bottom: 2px;
padding: 0;
}
/deep/ .van-index-bar__index--active {
color: #fff;
background: #5594e5;
padding: 2px;
border-radius: 50%;
}
</style>
\ No newline at end of file
......@@ -25,7 +25,7 @@
<span v-else>{{$t('person.namePlaceholder')}}</span>
</template>
</van-cell>
<van-cell :title="$t('person.nationality')" center is-link value-class="right_content">
<van-cell :title="$t('person.nationality')" center is-link value-class="right_content" @click="jumpNationality">
<template #default>
<span v-if="nationality">{{nationality}}</span>
<span v-else>{{$t('person.nationalityPlaceholder')}}</span>
......@@ -54,8 +54,9 @@
<van-datetime-picker v-model="currentDate" type="date" :min-date="minDate" :max-date="maxDate" @confirm="selectBirthday" @cancel="showPicker = false" />
</van-popup>
<van-popup v-model="showPhoto" position="bottom" style="height:100%">
<UpdatePhoto v-if="showPhoto" :file="previewImg" @close="showPhoto=false" @upDataPhoto="headerIcon=$event" />
<UpdatePhoto v-if="showPhoto" :file="previewImg" @close="showPhoto = false" @upDataPhoto="headerIcon=$event" />
</van-popup>
<div class="finish" v-if="showFinish" @click="jumpPageIndex">完成</div>
</div>
</template>
<script>
......@@ -76,13 +77,22 @@ export default {
maxDate: new Date(2220, 11, 1),
currentDate: new Date(),
showPhoto: false,
previewImg: null
previewImg: null,
showFinish: false
}
},
components: {
UpdatePhoto
},
mounted() {
// 如果从注册跳转过来到 那么要显示 “完成” 按钮
const { status } = this.$route.query
if (status) {
this.showFinish = true
}
},
methods: {
// 跳转 昵称、姓名、邮箱 设置页面
editCommon(title, value) {
this.$router.push({
path: '/user/commonEdit',
......@@ -92,6 +102,7 @@ export default {
}
})
},
// 控制生日弹出框到展示和隐藏
openBirthday(value) {
this.showPicker = value
},
......@@ -113,6 +124,18 @@ export default {
// 为了解决相同图片 不触发 change事件 所以要清空file的value值
this.$refs.file.value = ''
},
// 点击完成 跳转到 我的
jumpPageIndex() {
this.$router.push({
path: '/user/center'
})
},
// 跳转到 国籍列表页面
jumpNationality() {
this.$router.push({
path: '/user/nationality'
})
}
}
}
......@@ -132,4 +155,15 @@ export default {
align-items: center;
justify-content: flex-end;
}
.finish {
margin-top: 33px;
width: 100%;
height: 45px;
display: flex;
justify-content: center;
align-items: center;
font-size: 18px;
color: #1170bf;
background: #fff;
}
</style>
\ No newline at end of file
......@@ -1928,6 +1928,14 @@ babel-plugin-polyfill-regenerator@^0.2.0:
dependencies:
"@babel/helper-define-polyfill-provider" "^0.2.0"
babel-runtime@^6.0.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe"
integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4=
dependencies:
core-js "^2.4.0"
regenerator-runtime "^0.11.0"
balanced-match@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
......@@ -1963,6 +1971,13 @@ bcrypt-pbkdf@^1.0.0:
dependencies:
tweetnacl "^0.14.3"
better-scroll@^1.15.2:
version "1.15.2"
resolved "https://registry.yarnpkg.com/better-scroll/-/better-scroll-1.15.2.tgz#65ffc6058b8b4ff337b8dfad4bcb334d7699ceb6"
integrity sha512-sSY2N8I9/B+YX/9JpIz6pMQYnmBuvspBqZG4UxYaQEfz/ZWrnxwdyKLL4t6IKpFmxqtZadVypXw7vSSHxBZpBQ==
dependencies:
babel-runtime "^6.0.0"
bfj@^6.1.1:
version "6.1.2"
resolved "https://registry.yarnpkg.com/bfj/-/bfj-6.1.2.tgz#325c861a822bcb358a41c78a33b8e6e2086dde7f"
......@@ -2813,6 +2828,11 @@ core-js-compat@^3.6.5, core-js-compat@^3.9.0, core-js-compat@^3.9.1:
browserslist "^4.16.4"
semver "7.0.0"
core-js@^2.4.0:
version "2.6.12"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec"
integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==
core-js@^3.6.5, core-js@^3.8.3:
version "3.11.0"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.11.0.tgz#05dac6aa70c0a4ad842261f8957b961d36eb8926"
......@@ -7379,6 +7399,11 @@ regenerate@^1.4.0:
resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a"
integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==
regenerator-runtime@^0.11.0:
version "0.11.1"
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9"
integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==
regenerator-runtime@^0.13.4:
version "0.13.7"
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55"
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!