This commit is contained in:
tsf 2024-07-26 18:34:47 +08:00
parent 6714ccf4dc
commit fee65c0630
33 changed files with 3070 additions and 1008 deletions

View File

@ -21,13 +21,15 @@ class Estimate extends Base{
public function index($page = 1){
$data = input();
$pd = true;
$parameter = [];
// $parameter = [];
$parameter['type'] = 1;
// $parameter['is_del'] = 0;
if(array_key_exists('tt', $data)){
$page = $data['page_num'];
unset($data['page_num']);
unset($data['tt']);
$pd = false;
// $parameter['type'] = 1;
// if($data['status_num'] === "0" || $data['status_num'] === "1"){
// $parameter['is_del'] = $data['status_num'];
// }
@ -47,6 +49,9 @@ class Estimate extends Base{
}
$num = Db::table('admin_estimate')->where($parameter)->count();
$result = Db::table('admin_estimate')->where($parameter)->order('is_del,id desc')->page($page,$this->page_num)->select();
// dump($num);
// dump($result);
// die;
if(!$pd){
$result['num'] = $num;
$result['data'] = $result;
@ -80,49 +85,88 @@ class Estimate extends Base{
'list'=>[],
];
$temporary_array = json_decode($result['content'],true);
return $this->msg($temporary_array);
// return $this->msg($temporary_array);
$temporary_array2 = [];
foreach ($temporary_array as $key => $value) {
$num = array_push($temporary_array2,[
'title'=>$key.'评定标准',
'list'=>[],
]);
foreach ($value as $k1 => $v1) {
$num2 = array_push($temporary_array2[$num-1]['list'],[
'title'=>$k1,
'score'=>'',
'choose_num'=>'',
'choose_all'=>count($v1),
// 男女
foreach ($value as $dlk1 => $dlv1) {
// 大类
$num = array_push($temporary_array2,[
'title'=> $key==1?'男生'.$dlk1.'评定标准':'女生'.$dlk1.'评定标准',
'list'=>[],
]);
foreach ($v1 as $k2 => $v2) {
$temporary_array2[$num-1]['list'][$num2-1]['score'] = $v2['score'];
$temporary_array2[$num-1]['list'][$num2-1]['choose_num'] = $v2['choose_num'];
$num3 = array_push($temporary_array2[$num-1]['list'][$num2-1]['list'],[
'title'=>$k2,
'gender'=>'',
'unit_data'=>$v2['unit_data'],
'proportion'=>$v2['proportion'],
'list'=>count($v2['content'])==0?[['成绩','无'],['数据','无']]:[['成绩'],['数据']],
foreach ($dlv1 as $dlk2 => $dlv2) {
// 第二类
$num2 = array_push($temporary_array2[$num-1]['list'],[
'title'=>$dlk2,
'choose_num'=>$dlv2['choose_num'],
'choose_all'=>count($dlv2['list']),
'list'=>[],
]);
if($v2['gender'] == '1'){
$temporary_array2[$num-1]['list'][$num2-1]['list'][$num3-1]['gender'] = '男生';
}else if($v2['gender'] == '2'){
$temporary_array2[$num-1]['list'][$num2-1]['list'][$num3-1]['gender'] = '女生';
}else{
$temporary_array2[$num-1]['list'][$num2-1]['list'][$num3-1]['gender'] = '男生&女生';
foreach ($dlv2['list'] as $xmk1 => $xmv1) {
$num3 = array_push($temporary_array2[$num-1]['list'][$num2-1]['list'],[
'title'=>$xmk1,
'unit_data'=>$xmv1['unit_data'],
'proportion'=>$xmv1['proportion'],
'score'=>$xmv1['score'],
// 'list'=>count($v2['content'])==0?[['成绩','无'],['数据','无']]:[['成绩'],['数据']],
'list'=>[['成绩'],['数据']],
]);
foreach ($xmv1['content'] as $gzk1 => $gzv1) {
array_push($temporary_array2[$num-1]['list'][$num2-1]['list'][$num3-1]['list'][0],$gzv1[2]);
array_push($temporary_array2[$num-1]['list'][$num2-1]['list'][$num3-1]['list'][1],$gzv1[1].$gzv1[0]);
}
}
foreach ($v2['content'] as $k3 => $v3) {
array_push($temporary_array2[$num-1]['list'][$num2-1]['list'][$num3-1]['list'][0],$v3[2]);
array_push($temporary_array2[$num-1]['list'][$num2-1]['list'][$num3-1]['list'][1],$v3[1].$v3[0]);
}
}
}
}
// return $this->msg($temporary_array2);
// foreach ($temporary_array as $key => $value) {
// $num = array_push($temporary_array2,[
// 'title'=>$key.'评定标准',
// 'list'=>[],
// ]);
// foreach ($value as $k1 => $v1) {
// $num2 = array_push($temporary_array2[$num-1]['list'],[
// 'title'=>$k1,
// 'score'=>'',
// 'choose_num'=>'',
// 'choose_all'=>count($v1),
// 'list'=>[],
// ]);
// foreach ($v1 as $k2 => $v2) {
// $temporary_array2[$num-1]['list'][$num2-1]['score'] = $v2['score'];
// $temporary_array2[$num-1]['list'][$num2-1]['choose_num'] = $v2['choose_num'];
// $num3 = array_push($temporary_array2[$num-1]['list'][$num2-1]['list'],[
// 'title'=>$k2,
// 'gender'=>'',
// 'unit_data'=>$v2['unit_data'],
// 'proportion'=>$v2['proportion'],
// 'list'=>count($v2['content'])==0?[['成绩','无'],['数据','无']]:[['成绩'],['数据']],
// ]);
// if($v2['gender'] == '1'){
// $temporary_array2[$num-1]['list'][$num2-1]['list'][$num3-1]['gender'] = '男生';
// }else if($v2['gender'] == '2'){
// $temporary_array2[$num-1]['list'][$num2-1]['list'][$num3-1]['gender'] = '女生';
// }else{
// $temporary_array2[$num-1]['list'][$num2-1]['list'][$num3-1]['gender'] = '男生&女生';
// }
// foreach ($v2['content'] as $k3 => $v3) {
// array_push($temporary_array2[$num-1]['list'][$num2-1]['list'][$num3-1]['list'][0],$v3[2]);
// array_push($temporary_array2[$num-1]['list'][$num2-1]['list'][$num3-1]['list'][1],$v3[1].$v3[0]);
// }
// }
// }
// }
$data['list'] = $temporary_array2;
// return $this->msg($data);
$this->assign([
'result' => $data,
'num' => 1,

View File

@ -0,0 +1,130 @@
<?php
namespace app\admin\controller;
use think\Controller;
use think\Db;
use app\bj\controller\Common;
use think\Log;
use \think\Validate;
class Technology extends Base{
protected $page_num = 10;
################################################################管理后台################################################################
################################################################管理后台################################################################
################################################################管理后台################################################################
public function index($page = 1){
$data = input();
$pd = true;
$parameter = [];
// $parameter['is_del'] = 0;
if(array_key_exists('tt', $data)){
$page = $data['page_num'];
unset($data['page_num']);
unset($data['tt']);
$pd = false;
//
// if($data['status_num'] === "0" || $data['status_num'] === "1"){
// $parameter['is_del'] = $data['status_num'];
// }
// if($data['tel']){
// $parameter['tel'] = $data['tel'];
// }
// if($data['email']){
// $parameter['email'] = $data['email'];
// }
// if($data['s_time']){
// $parameter['create_time'] = ['>=',$data['s_time']];
// }
// if($data['e_time']){
// $parameter['create_time'] = ['<=',$data['e_time']];
// }
}
$num = Db::table('admin_technology')->where($parameter)->count();
$result = Db::table('admin_technology')->where($parameter)->order('is_del,id desc')->page($page,$this->page_num)->select();
if(!$pd){
$result['num'] = $num;
$result['data'] = $result;
return $this->msg(0,'success',$result);
}
$this->assign([
'result' => $result,
'num' => $num,
]);
return $this->fetch();
}
// public function ceshiyong(){
// $data = input();
// $data = json_decode($data['data'],true);
// // dump($data);
// // die;
// $result_return = [['name'=>'请选择','list'=>['请选择']]];
// foreach ($data as $key => $value) {
// array_push($result_return,[
// 'name'=>$value['name'],
// 'list'=>[]
// ]);
// foreach ($value['cityList'] as $key_list => $value_list) {
// array_push($result_return[count($result_return)-1]['list'],$value_list['name']);
// }
// }
// $aaa = Db::table('admin_estimate')->insert([
// 'content'=>json_encode($result_return),
// 'type'=>2,
// ]);
// // dump($data);
// }
################################################################页面################################################################
################################################################页面################################################################
################################################################页面################################################################
// 技术支持手机网页端
public function web_index(){
// dump(123);
// die;
return $this->fetch();
}
// 隐私协议手机网页端
public function privacy_index(){
// dump(123);
// die;
return $this->fetch();
}
################################################################调用################################################################
################################################################调用################################################################
################################################################调用################################################################
public function set_user_opinion(){
$data = input();
if(!array_key_exists('content', $data) || !array_key_exists('tel', $data)){
return $this->msg(10001);
}
$contact_information = $this->is_tel_email($data['tel']);
if($contact_information == false){
return $this->msg(10005,'手机或邮箱格式错误');
}
$result = Db::table('admin_technology')->insert([
'contact_information'=>$data['tel'],
'content_problem'=>$data['content'],
'account_information'=>'',
'create_time'=>date('Y-m-d H:i:s'),
]);
if($result){
return $this->msg([]);
}else{
return $this->msg(10002);
}
}
################################################################other################################################################
################################################################other################################################################
################################################################other################################################################
}

View File

@ -47,7 +47,7 @@
</div>
<div class="layui-form-item">
<label for="L_email" class="layui-form-label">
<!-- <span class="x-red">*</span>已选择区域</label> -->
<span class="x-red">*</span>已选择区域</label>
</label>
<div class="layui-input-inline" id="city_choose">
@ -63,83 +63,7 @@
<input type="file" id="upload_file_app" lay-verify="upload_file_app" name="file_data">
</div>
</div>
<!-- <div class="layui-form-item">
<label for="device_name" class="layui-form-label">
<span class="x-red">*</span>地区</label>
<div class="layui-input-inline">
<select name="" id="">
<option value="">请选择</option>
<option v-for="item in type_arr" :value="item.asd">{{item.content}}</option>
</select>
</div>
</div> -->
<div class="layui-form-item" style="display: none;">
<label for="username" class="layui-form-label">
<span class="x-red">*</span>选择大类
</label>
<div class="layui-input-inline">
<select name="type_big" lay-filter="type_big" id="type_big">
<option value="">请选择</option>
<option value="1">现场考核(统一考试)</option>
<option value="2">日常考核(过程性考核)</option>
<option value="3">机试</option>
</select>
</div>
</div>
<div id="type_big_content" style="display: none;">
<div class="layui-form-item">
<label for="estimate_s_type" class="layui-form-label">
<span class="x-red">*</span>子类型</label>
<div class="layui-input-inline">
<input type="text" id="estimate_s_type" name="estimate_s_type" required="" lay-verify="estimate_s_type" autocomplete="off" class="layui-input">
</div>
<div class="layui-form-mid layui-word-aux">
<span class="x-red">*</span>例如 “第一类:素质项目Ⅰ”,请根据当地实际叫法填写
</div>
</div>
<div class="layui-form-item">
<label for="estimate_score" class="layui-form-label">
<span class="x-red">*</span>分值</label>
<div class="layui-input-inline">
<input type="text" id="estimate_score" name="estimate_score" required="" lay-verify="estimate_score" autocomplete="off" class="layui-input">
</div>
<div class="layui-form-mid layui-word-aux">
<span class="x-red">*</span>该大类总分值
</div>
</div>
<div class="layui-form-item">
<label for="estimate_name" class="layui-form-label">
<span class="x-red">*</span>项目名称</label>
<div class="layui-input-inline">
<input type="text" id="estimate_name" name="estimate_name" required="" lay-verify="estimate_name" autocomplete="off" class="layui-input">
</div>
<div class="layui-form-mid layui-word-aux">
<span class="x-red">*</span>例如 “男子1000米”请根据当地实际叫法填写
</div>
</div>
<div class="layui-form-item">
<label for="estimate_unit" class="layui-form-label">
<span class="x-red">*</span>单位</label>
<div class="layui-input-inline">
<input type="text" id="estimate_unit" name="estimate_unit" required="" lay-verify="estimate_unit" autocomplete="off" class="layui-input">
</div>
<div class="layui-form-mid layui-word-aux">
<span class="x-red">*</span>例如 “KG、ML、分/秒、秒...”,请根据项目的单位填写
</div>
</div>
</div>
<!-- <div>
<div class="layui-form-item">
<label for="device_model" class="layui-form-label">
<span class="x-red">*</span>子类型</label>
<div class="layui-input-inline">
<input type="text" id="device_model" name="device_model" required="" lay-verify="device_model" autocomplete="off" class="layui-input">
</div>
<div class="layui-form-mid layui-word-aux">
<span class="x-red">*</span>例如 “第一类:素质项目Ⅰ”,请根据当地实际叫法填写
</div>
</div>
</div> -->
<div class="layui-form-item">
<label for="L_repass" class="layui-form-label"></label>
<button class="layui-btn" lay-filter="add" lay-submit="">增加</button>
@ -148,118 +72,39 @@
</form>
</div>
</div>
<script type="text/javascript" src="/x_admin/js/xcity.js"></script>
<script type="text/javascript" src="/x_admin/js/xcity2.js"></script>
<script>
var form
var file_name_all = ''
var file_name = ''
var file_extension = ''
var pd = true
var address_arr = [];
var address_arr = ['',''];
var verify_arr = {};
layui.use(['form', 'code'], function () {
form = layui.form;
layui.code();
$('#city_list').xcity();
// $('#city_list').xcity('广东','广州市','东山区');//传默认值
form.on('select(type_big)', function(data){
console.log(data.value); //得到被选中的值
if(data.value == 1){
verify_arr = {
province: function(value) {
if (value == '') {
return '请选择区域';
}
},
estimate_s_type: function(value) {
if (value == '') {
return '请填写子类型';
}
},
estimate_score: function(value) {
if (value == '') {
return '请填写分值';
}
},
// version_num: [/[\d.]{0,9}$/, '版本号必须以大写V开头最多10个字符由数字跟英文"."组成)'],
estimate_name: function(value) {
if (value == '') {
return '请填写项目名称';
}
},
estimate_unit: function(value) {
if (value == '') {
return '请填写单位';
}
},
form.verify({
upload_file_app: function(value) {
if (value == '') {
return '请先选择文件';
}
form.verify(verify_arr);
$('#type_big_content').show();
}else if(data.value == 2){
verify_arr = {}
$('#type_big_content').hide();
}else if(data.value == 3){
verify_arr = {}
$('#type_big_content').hide();
}else{
verify_arr = {}
$('#type_big_content').hide();
}
form.render();
// console.log(verify_arr)
},
});
//监听提交
form.on('submit(add)',function(data) {
if(address_arr[0] == '' || address_arr[1] == ''){
layer.msg('省或者市未选择', {icon: 5});
}
//发异步把数据提交给php
add_data()
console.log(456);
// add_data()
return false;
});
});
// layui.use(['form', 'layer','jquery','code'],function() {
// $ = layui.jquery;
// form = layui.form,
// layer = layui.layer;
// //自定义验证规则
// form.verify({
// upload_file_app: function(value) {
// if (value == '') {
// return '请先选择文件';
// }
// },
// device_name: function(value) {
// if (value == '') {
// return '必须填写设备名称';
// }
// },
// // version_num: [/[\d.]{0,9}$/, '版本号必须以大写V开头最多10个字符由数字跟英文"."组成)'],
// device_model: function(value) {
// if (value == '') {
// return '必须填写设备类型';
// }
// },
// bluetooth_type: function(value) {
// if (value == '') {
// return '必须填写蓝牙类型';
// }
// },
// });
// });
// 功能性~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
function add_address(str,type){
@ -321,14 +166,8 @@
formdata.append('execl',$('#upload_file_app')[0].files[0])
formdata.append('address',address_arr)
formdata.append('type','create')
// formdata.append('bluetooth_type',$('#bluetooth_type').val())
// formdata.append('page_measure',$('#page_measure').val())
// formdata.append('content',$('#content').val())
// formdata.append('file_extension',file_extension)
// load()
// pd = false
// console.log('进来了')
load()
pd = false
$.ajax({
url:"/estimate/submit_rule", //请求的url地址
contentType:false,
@ -337,24 +176,24 @@
data:formdata, //参数值
type:"POST", //请求方式
success:function(req){
// c_load()
// pd = true
// console.log()
// if(req.code == 0){
// layer.alert("增加成功", {icon: 6},function() {
// //关闭当前frame
// xadmin.close();
// // 可以对父窗口进行刷新
// xadmin.father_reload();
// });
// }else{
// layer.alert("增加失败"+req.msg, {icon: 6},function() {
// //关闭当前frame
// xadmin.close();
// // 可以对父窗口进行刷新
// xadmin.father_reload();
// });
// }
c_load()
pd = true
console.log()
if(req.code == 0){
layer.alert("增加成功", {icon: 6},function() {
//关闭当前frame
xadmin.close();
// 可以对父窗口进行刷新
xadmin.father_reload();
});
}else{
layer.alert("增加失败"+req.msg, {icon: 6},function() {
//关闭当前frame
xadmin.close();
// 可以对父窗口进行刷新
xadmin.father_reload();
});
}
//请求成功时处理
console.log(req)

View File

@ -15,6 +15,12 @@
font-size: 30px;
text-align: center;
font-weight: bold;
height: 75px;
}
.title_b2{
font-size: 15px;
text-align: center;
/* font-weight: bold; */
}
.title_m{
font-size: 20px;
@ -44,16 +50,17 @@
<div class="layui-card">
{volist name="result.list" id="vo" key="k" }
<div class="layui-card-header title_b">
{$result.province}{$result.city == ''?'':'-'.$result.city}{$vo.title}
{$result.province}{$result.city == ''?'':'-'.$result.city}{$vo.title}<br>
<div class="layui-card-header title_b2">该项总分值除以100再乘以成绩等于该项评估得分</div>
</div>
{volist name="vo.list" id="vo1" key="k1" }
<div class="layui-card-header title_m">
{$vo1.title}{$vo1.choose_all}选{$vo1.choose_num})(分值{$vo1.score}
{$vo1.title}{$vo1.choose_num == 0?$vo1.choose_all.'项必选':$vo1.choose_all.'选'.$vo1.choose_num}
</div>
{volist name="vo1.list" id="vo2" key="k2" }
<div class="layui-card-header title_s">
{$vo2.title}(适用:<span class="man">{$vo2.gender}</span>)(单位:{$vo2.unit_data})(分值占比{$vo2.proportion * 100}%)
{$vo2.title}-该项{$vo2.score}分(单位:{$vo2.unit_data})(分值占比{$vo2.proportion * 100}%)
</div>
<div class="layui-card-body layui-table-body layui-table-main">
<table class="layui-table layui-form">
@ -66,12 +73,6 @@
</tr>
{/volist}
</thead>
<!-- <tbody id='content'>
<tr>
<td></td>
<td></td>
</tr>
</tbody> -->
</table>
</div>
{/volist}

View File

@ -120,19 +120,19 @@
</li>
</ul>
</li>
<!-- <li>
<li>
<a href="javascript:;">
<i class="iconfont left-nav-li" lay-tips="城市联动">&#xe723;</i>
<cite>城市联动</cite>
<cite>技术支持管理</cite>
<i class="iconfont nav_right">&#xe697;</i></a>
<ul class="sub-menu">
<li>
<a onclick="xadmin.add_tab('三级地区联动','city.html')">
<a onclick="xadmin.add_tab('技术支持列表','/technology/index')">
<i class="iconfont">&#xe6a7;</i>
<cite>三级地区联动</cite></a>
<cite>技术支持列表</cite></a>
</li>
</ul>
</li> -->
</li>
<!-- <li>
<a href="javascript:;">
<i class="iconfont left-nav-li" lay-tips="管理员管理">&#xe726;</i>

View File

@ -0,0 +1,340 @@
<!DOCTYPE html>
<html class="x-admin-sm">
<head>
<meta charset="UTF-8">
<title>技术支持</title>
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi" />
<link rel="stylesheet" href="/x_admin/css/font.css">
<link rel="stylesheet" href="/x_admin/css/xadmin.css">
<script src="/x_admin/lib/layui/layui.js" charset="utf-8"></script>
<script type="text/javascript" src="/x_admin/js/xadmin.js"></script>
<style>
/* th{
min-width:30px;
} */
</style>
</head>
<body>
<div class="x-nav">
<span class="layui-breadcrumb">
<a href="">首页</a>
<a href="">演示</a>
<a>
<cite>导航元素</cite></a>
</span>
<a class="layui-btn layui-btn-small" style="line-height:1.6em;margin-top:3px;float:right" onclick="location.reload()" title="刷新">
<i class="layui-icon layui-icon-refresh" style="line-height:30px"></i></a>
</div>
<div class="layui-fluid">
<div class="layui-row layui-col-space15">
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-body layui-table-body layui-table-main">
<table class="layui-table layui-form">
<thead>
<tr>
<th>ID</th>
<th>问题描述</th>
<th>联系方式</th>
<th>账号信息</th>
<th>创建时间</th>
<th>状态</th>
<!-- <th>操作</th></tr> -->
</thead>
<tbody id='content'>
{volist name="result" id="vo"}
<tr>
<td>{$vo.id}</td>
<td>{$vo.content_problem}</td>
<td>{$vo.contact_information}</td>
<td>{$vo.account_information}</td>
<td>{$vo.create_time}</td>
<td class="td-status">
{if condition="$vo.is_del == 0"}
<span onclick="app_stop(this,'{$vo.id}')" class="layui-btn layui-btn-normal layui-btn-mini layui-btn-disabled" title="停用">未处理</span>
{else /}
<span onclick="app_stop(this,'{$vo.id}')" class="layui-btn layui-btn-normal layui-btn-mini" title="启用">已处理</span>
{/if}
</td>
</tr>
{/volist}
</tbody>
</table>
<!-- <div onclick="ceshi()">按钮</div> -->
</div>
<div class="layui-card-body ">
<div id="page" style="text-align: center;">
</div>
</div>
</div>
</div>
</div>
</div>
</body>
<!-- <script src="/x_admin/js/CityList.js"></script> -->
<script>
// // 测试用s
// console.log(all_province_city_list)
// function ceshi(){
// $.ajax({
// url:"/technology/ceshiyong", //请求的url地址
// dataType:"json", //返回格式为json
// async:true,//请求是否异步默认为异步这也是ajax重要特性
// data:{"data":JSON.stringify(all_province_city_list)}, //参数值
// type:"POST", //请求方式
// success:function(req){
// },
// error:function(){
// //请求出错处理
// }});
// }
// // 测试用e
var form
layui.use(['laydate','form'], function(){
var laydate = layui.laydate;
form = layui.form;
// 监听全选
form.on('checkbox(checkall)', function(data){
if(data.elem.checked){
$('tbody input').prop('checked',true);
}else{
$('tbody input').prop('checked',false);
}
form.render('checkbox');
});
//执行一个laydate实例
laydate.render({
elem: '#s_time' //指定元素
});
//执行一个laydate实例
laydate.render({
elem: '#e_time' //指定元素
});
});
var page_num;
var laypage;
var all_page = "{$num}";
layui.use('laypage', function () {
laypage = layui.laypage;
//执行一个laypage实例
laypage.render({
elem: 'page',
count: all_page, //数据总数,从服务端得到
limit: 10,
groups:10,
jump: function (obj, first) {
//首次不执行
if (!first) {
//obj包含了当前分页的所有参数比如
console.log(obj.curr); //得到当前页,以便向服务端请求对应页的数据。
console.log(obj.limit); //得到每页显示的条数
page_num = obj.curr;
find("n")
}
}
});
});
/*用户-停用*/
function app_stop(obj,id){
// return
var title = '',is_del,num
if($(obj).attr('title')=='启用'){
title = '停用'
is_del = 1
num = 5
}else{
title = '启用'
is_del = 0
num = 6
}
// console.log('点击时'+$(obj).attr('title')+'====='+id+'===传到后台是否删除:'+is_del)
layer.confirm('确认要'+ title +'吗?',function(index){
load()
$.ajax({
url:"/appversion/app_del", //请求的url地址
dataType:"json", //返回格式为json
async:true,//请求是否异步默认为异步这也是ajax重要特性
data:{"id":id,'is_del':is_del}, //参数值
type:"POST", //请求方式
success:function(req){
c_load()
//请求成功时处理
if(req['code'] == 0){
//发异步把用户状态进行更改
$(obj).attr('title',title)
if(is_del == 1){
$(obj).parents("tr").find(".td-status").find('span').addClass('layui-btn-disabled').html('已'+ title);
}else{
$(obj).parents("tr").find(".td-status").find('span').removeClass('layui-btn-disabled').html('已'+ title);
}
layer.msg('已停用!',{icon: num});
}else{
layer.msg('操作失败!',{icon: 5});
}
},
error:function(){
//请求出错处理
}});
});
}
function delAll (argument) {
// layer.msg('停用成功', {icon: 2});
// return
var ids = [];
// 获取选中的id
$('tbody input').each(function(index, el) {
if($(this).prop('checked')){
ids.push($(this).val())
}
});
if(ids.length <= 0){
return
}
console.log(ids);
layer.confirm('确认要停用吗ID为'+ids.toString(),function(index){
//捉到所有被选中的,发异步进行删除
$.ajax({
url:"/appversion/app_del", //请求的url地址
dataType:"json", //返回格式为json
async:true,//请求是否异步默认为异步这也是ajax重要特性
data:{"id":ids,'is_del':1}, //参数值
type:"POST", //请求方式
success:function(req){
c_load()
//请求成功时处理
if(req['code'] == 0){
//发异步把用户状态进行更改
layer.msg('停用成功', {icon: 1});
$(".layui-form-checked").not('.header').parents('tr').find(".td-status").find('span').addClass('layui-btn-disabled').html('已停用');
}else{
layer.msg('操作失败!',{icon: 2});
}
},
error:function(){
//请求出错处理
}});
});
}
function find(pd) {
if(!page_num || pd == 'y'){
page_num = 1;
}
page({
"status_num":$('#status_num').val(),
"tel":$('#tel').val(),
"email":$('#email').val(),
"s_time":$('#s_time').val(),
"e_time":$('#e_time').val(),
"page_num":page_num,
"tt":1},pd);
}
function page(data,pd) {
console.log(data)
load()
$.ajax({
url: "member_list", //请求的url地址s
dataType: "json", //返回格式为json
async: true,//请求是否异步默认为异步这也是ajax重要特性
data: data, //参数值
type: "POST", //请求方式
success: function (req) {
console.log(req)
c_load();
if (req['code'] == 0) {
var str,str_s,str_c,str_all="";
for (let i = 0; i < req['data']['data'].length; i++) {
if(req['data']['data'][i]['is_del'] == 1){
str = '<span onclick="member_stop(this,\''+req['data']['data'][i]['id']+'\')" class="layui-btn layui-btn-normal layui-btn-mini layui-btn-disabled" title="停用">已停用</span>'
}else{
str = '<span onclick="member_stop(this,\''+ req['data']['data'][i]['id'] +'\')" class="layui-btn layui-btn-normal layui-btn-mini" title="启用">已启用</span>'
}
str_c = "<tr>"+
'<td><input type="checkbox" name="id" value="'+req['data']['data'][i]['id']+'" lay-skin="primary"></td>'+
'<td>'+req['data']['data'][i]['id']+'</td>'+
'<td>'+req['data']['data'][i]['token']+'</td>'+
'<td>'+req['data']['data'][i]['tel']+'</td>'+
'<td>'+req['data']['data'][i]['email']+'</td>'+
'<td>'+req['data']['data'][i]['create_time']+'</td>'+
'<td class="td-status">'+
str+
'</td>'
'</tr>'
str_all = str_all+str_c;
}
$('#content').html(str_all);
form.render();
if(pd == 'y'){
$("#page").html("")
laypage.render({
elem: 'page',
count: req['data']['num'], //数据总数,从服务端得到
limit: 10,
groups:10,
jump: function (obj, first) {
//首次不执行
if (!first) {
//obj包含了当前分页的所有参数比如
console.log(obj.curr); //得到当前页,以便向服务端请求对应页的数据。
console.log(obj.limit); //得到每页显示的条数
page_num = obj.curr;
// page({"page":page_num,"tt":1});
find("n")
}
}
});
}
} else {
layer.msg(req['msg'])
}
},
error: function () {
//请求出错处理
}
});
}
//加载提示开启
function load() {
var index = layer.load(1, {
shade: [0.1, '#fff'] //0.1透明度的白色背景
});
}
// 关闭加载提示
function c_load() {
layer.close(layer.index)
}
</script>
</html>

View File

@ -0,0 +1,103 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, initial-scale=1,minimum-scale=1, maximum-scale=1,user-scalable=no">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<meta http-equiv="Access-Control-Allow-Origin" content="*">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="format-detection" content="telephone=no, email=no">
<meta name="full-screen" content="true">
<meta name="screen-orientation" content="portrait">
<meta name="x5-fullscreen" content="true">
<meta name="360-fullscreen" content="true">
<title>隐私协议</title>
<script src="/x_admin/js/jq.js"></script>
<script src="/x_admin/js/jq.js"></script>
<style>
*{
padding: 0 0;
margin: 0 0;
}
.big_box{
width: 100vw;
height: 100vh;
position: absolute;
top: 0;
left: 0;
display: flex;
flex-direction: column;
flex-wrap: nowrap;
justify-content: flex-start;
align-items: center;
overflow: auto;
padding: 10vw;
box-sizing: border-box;
}
.title{
width: 100%;
height: 10vw;
text-align: center;
font-size: 7vw;
font-weight: bold;
margin-bottom: 6vw;
}
.content{
width: 100%;
}
.font_1{
font-size: 4.5vw;
font-weight: bold;
}
.font_2{
font-size: 3.5vw;
margin: 3vw 0;
}
.fint_w{
font-weight: bold;
margin-left: 5vw;
}
</style>
</head>
<body id="box_k">
<div class="big_box">
<div class="title">青测隐私协议</div>
<div class="content">
<div class="font_1">一、前言</div>
<div class="font_2">感谢您选择使用我们的中学生身体数据健康评估APP以下简称“本应用”。我们深知您的个人信息安全至关重要在您使用本应用后我们郑重承诺将严格遵守相关法律法规采取合理有效的措施保护您的个人隐私。本隐私协议旨在明确我们在采集、使用、存储、共享及保护您的个人信息的责任、义务。请您在使用本应用前仔细阅读并理解本协议内容一旦您开始使用本应用即视为您同意我们使用您的个人信息接受本协议的全部条款。</div>
<div class="font_1">二、信息收集</div>
<div class="font_2"><span class="fint_w">1.必要信息:</span>为了提供基本服务,我们可能会采集您的基本信息,包括但不限于手机号码、学号(如适用)、姓名(可选择匿名使用)等。这些信息将用于验证您的身份、保障账号安全及提供个性化服务。</div>
<div class="font_2"><span class="fint_w">2.健康数据:</span>在使用本应用进行身体数据健康评估时,我们会采集您的身高、体重、体脂率、心率等健康数据。这些数据将用于生成健康评估报告,并提供相应的健康建议。</div>
<div class="font_2"><span class="fint_w">3.设备信息:</span>为了优化服务体验我们可能会采集您的设备型号、操作系统版本、IP地址等必要的技术信息。这些信息将帮助我们了解用户的使用环境以便进行技术调试和服务改进。</div>
<div class="font_1">三、信息使用</div>
<div class="font_2"><span class="fint_w">1.服务提供:</span>我们将根据您提供的信息,为您提供身体数据健康评估服务,并生成相应的健康评估报告。</div>
<div class="font_2"><span class="fint_w">2.个性化推荐:</span>基于您的健康数据和使用习惯,我们可能会向您推荐适合的健康管理方案、运动计划或饮食建议。</div>
<div class="font_2"><span class="fint_w">3.数据分析:</span>我们会对收集到的数据进行匿名化处理,用于统计分析,以改进我们的产品和服务。这些统计数据将不包含任何可以识别您个人身份的信息。</div>
<div class="font_1">四、信息共享与披露</div>
<div class="font_2"><span class="fint_w">1.内部共享:</span>我们可能会将您的信息共享给公司内部负责处理您个人信息的部门或人员,以确保为您提供更好的服务。</div>
<div class="font_2"><span class="fint_w">2.第三方合作:</span>在必要且合法的情况下,我们可能会与第三方服务提供商(如云服务提供商、数据分析公司等)共享您的个人信息,以便他们为我们提供技术支持或数据分析服务。我们将与这些第三方签订严格的保密协议,并要求他们遵守相关法律法规和本协议的规定。</div>
<div class="font_2"><span class="fint_w">3.法律要求:</span>在法律法规要求或政府部门、司法机关要求的情况下,我们可能会依法披露您的个人信息。</div>
<div class="font_2"><span class="fint_w">4.其他</span>4.其他对您的服务性应用。</div>
<div class="font_1">五、信息安全</div>
<div class="font_2"><span class="fint_w">1.技术保障:</span>我们将采取合理的技术手段和管理措施,确保您的个人信息在采集、存储、使用、共享等过程中的安全。</div>
<div class="font_2"><span class="fint_w">2.数据加密:</span>对于敏感信息,我们将采用加密技术进行处理,防止数据在传输和存储过程中被非法访问或泄露。</div>
<div class="font_2"><span class="fint_w">3.访问控制:</span>我们将对访问个人信息的员工进行严格的权限管理,确保只有授权人员才能访问相关信息。</div>
<div class="font_1">六、用户权利</div>
<div class="font_2"><span class="fint_w">1.知情权:</span>您有权了解我们采集、使用、共享及保护您个人信息的详细情况。</div>
<div class="font_2"><span class="fint_w">2.选择权:</span>您有权选择是否向我们提供个人信息的具体内容,以及选择是否接受我们的个性化推荐服务。</div>
<div class="font_2"><span class="fint_w">3.更正权:</span>如果您发现我们采集的个人信息有误,您有权要求我们及时更正。</div>
<div class="font_2"><span class="fint_w">4.屏蔽权:</span>在符合法律法规要求的情况下,您有权要求我们屏蔽您的个人信息全部内容。</div>
<div class="font_1">七、协议变更</div>
<div class="font_2">我们有权根据法律法规的变化或业务发展的需要,对本隐私协议进行修订。修订后的协议将通过本应用内通知或其他适当方式告知您。请您定期查阅本隐私协议,以便及时了解我们的最新政策。</div>
<div class="font_1">八、争议解决</div>
<div class="font_2">如因本协议产生任何争议,双方应首先通过友好协商解决;协商不成的,任何一方均有权向本应用运营方所在地的人民法院提起诉讼。</div>
<div class="font_1">九、生效与终止</div>
<div class="font_2">本协议自您同意并接受之日起生效,并持续有效至您注销账号或本应用终止服务时止。</div>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,136 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, initial-scale=1,minimum-scale=1, maximum-scale=1,user-scalable=no">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<meta http-equiv="Access-Control-Allow-Origin" content="*">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="format-detection" content="telephone=no, email=no">
<meta name="full-screen" content="true">
<meta name="screen-orientation" content="portrait">
<meta name="x5-fullscreen" content="true">
<meta name="360-fullscreen" content="true">
<title>联系我们</title>
<script src="/x_admin/js/jq.js"></script>
<script src="/x_admin/js/jq.js"></script>
<style>
*{
padding: 0 0;
margin: 0 0;
}
.big_box{
width: 100vw;
height: 100vh;
position: absolute;
top: 0;
left: 0;
display: flex;
flex-direction: column;
flex-wrap: nowrap;
justify-content: space-evenly;
align-items: center;
}
.title{
width: 80vw;
height: 12vw;
font-size: 4vw;
font-weight: bold;
text-align: center;
/* border: 1px solid red; */
}
.content{
width: 70vw;
height: 30vw;
/* border: 1px solid red; */
}
.content textarea{
width: 100%;
height: 100%;
resize: none;
font-size: 4vw;
}
.tel{
width: 70vw;
height: 7vw;
}
.tel input{
width: 100%;
height: 100%;
resize: none;
font-size: 4vw;
}
.confirm_b{
width: 34vw;
height: 10vw;
border-radius: 10vw;
font-size: 5vw;
font-weight: bold;
line-height: 10vw;
text-align: center;
color: #fff;
background-color: gray;
/* border: 1px solid red; */
}
.zg{
width: 100vw;
height: 100vh;
position: absolute;
top: 0;
left: 0;
color: #fff;
font-size: 8vw;
line-height: 100vh;
text-align: center;
background-color: rgba(0,0,0,0.8);
z-index: 999;
display: none;
}
</style>
</head>
<body id="box_k">
<div class="zg">提交中...</div>
<div class="big_box">
<div class="title">请简单描述您遇到的问题,并留下您的联系方式,我们的工作人员会尽快与您取得联系。</div>
<div class="content">
<textarea id="content" placeholder="请输入您的问题"></textarea>
</div>
<div class="tel"><input id="tel" type="text" placeholder="请留下您的联系电话/邮箱"></div>
<div class="confirm_b" onclick="confirm_b()">提交</div>
</div>
</body>
</html>
<script>
var pd = true
function confirm_b(){
console.log(123)
if(pd == false){
return
}
pd = false
$('.zg').show()
$.ajax({
url:"/technology/set_user_opinion", //请求的url地址
dataType:"json", //返回格式为json
async:true,//请求是否异步默认为异步这也是ajax重要特性
data:{"content":$('#content').val(),'tel':$('#tel').val()}, //参数值
type:"POST", //请求方式
success:function(req){
//请求成功时处理
$('.zg').hide()
pd = true
if(req.code == 0){
alert('提交成功')
}else{
alert(req.msg)
}
},
error:function(){
//请求出错处理
}});
}
</script>

View File

@ -9,7 +9,7 @@ use think\Log;
class Base extends Controller{
protected $ceshiyong_token = 'caadd1be045a65f30b92aa805f1de54a';
protected $ceshiyong_token = ['caadd1be045a65f30b92aa805f1de54a','e0966788d02cc93290d9d674921d9715'];
protected $base_call_method = ['内部'];
protected $token_time = 86400*30;
protected $return_data_all = [
@ -117,7 +117,7 @@ class Base extends Controller{
// 判断token是否过期
public function token_time_validate($token){
if($token == $this->ceshiyong_token){
if(in_array($token,$this->ceshiyong_token)){
return true;
}
$time = cache($token);
@ -151,7 +151,7 @@ class Base extends Controller{
return $interval->format('%a');
}
// 计算月
// 计算月
public function calculateAgeInMonthsWithPrecision($birthDateStr) {
// 获取当前日期
$now = new \DateTime();
@ -192,6 +192,151 @@ class Base extends Controller{
function isPositiveNumber($value) {
return is_numeric($value) && $value >= 0;
}
// 判断是否为整型,或者字符串类型的整型数字
function isValidInteger($var) {
// 直接检查是否为整型
if (is_int($var)) {
return true;
}
// 检查是否为字符串且是有效的整数表示
if (is_string($var) && filter_var($var, FILTER_VALIDATE_INT) !== false) {
return true;
}
// 其他情况
return false;
}
// 获取用户肺活量的标准值
public function get_vitalcapacity_data($id){
$standard_data = [
['min_val'=>'90','max_val'=>'100','text'=>'优秀','color'=>'#6492F6'],
['min_val'=>'80','max_val'=>'89','text'=>'良好','color'=>'#5AD06D'],
['min_val'=>'60','max_val'=>'79','text'=>'及格','color'=>'#FFAB00'],
['min_val'=>'10','max_val'=>'59','text'=>'不及格','color'=>'#FF5656'],
['min_val'=>'0','max_val'=>'9','text'=>'无效','color'=>'#FF5656'],
];
$grade = Db::table('app_user_data')->where(['id'=>$id])->field('id,grade,gender')->find();
if(!$grade){
return [];
}
$sql_min = "WITH RankedGrades AS (
SELECT
id,
level,
".$grade['grade'].",
ROW_NUMBER() OVER(PARTITION BY level ORDER BY ".$grade['grade']." ASC, id ASC) AS rn
FROM
pc_vitalcapacity_standard
WHERE
sex = ".$grade['gender']."
)
SELECT
id,
level,
".$grade['grade']."
FROM
RankedGrades
WHERE
rn = 1";
// dump($sql_min);
$result_min = Db::query($sql_min);
// dump($result_min);
// die;
foreach ($result_min as $key => $value) {
foreach ($standard_data as $sdk => $sdv) {
if($value['level'] == $sdv['text']){
$standard_data[$sdk]['min_val'] = $value[$grade['grade']];
}
}
}
for ($i=count($standard_data)-1; $i >= 1; $i--) {
$standard_data[$i]['max_val'] = $standard_data[$i-1]['min_val'];
}
$standard_data[0]['max_val'] = '5140';
return $standard_data;
}
// 时间日期转换
function addCurrentTimeToDateString($dateStr) {
// 将日期字符串转换为DateTime对象
$dateTime = new \DateTime($dateStr);
// 获取当前的时分秒
$currentTime = new \DateTime('now');
$hours = $currentTime->format('H');
$minutes = $currentTime->format('i');
$seconds = $currentTime->format('s');
// 设置DateTime对象的时间部分为当前时间
$dateTime->setTime($hours, $minutes, $seconds);
// 返回格式化为"Y-m-d H:i:s"的字符串
return $dateTime->format('Y-m-d H:i:s');
}
// 时间加一或者减一
function adjustDateTime($datetimeStr, $type) {
// 将时间字符串转换为时间戳
$timestamp = strtotime($datetimeStr);
// 检查时间戳是否有效
if ($timestamp === false) {
return "无效的日期时间格式";
}
// 根据$type参数调整时间戳
switch ($type) {
case 'add':
$newTimestamp = strtotime('+1 day', $timestamp);
break;
case 'subtract':
$newTimestamp = strtotime('-1 day', $timestamp);
break;
default:
return false;
}
// 将新的时间戳转换回日期时间字符串
$newDateTimeStr = date('Y-m-d', $newTimestamp);
return $newDateTimeStr;
}
// 对于任意浮点字符串的指定位四舍五入
function bcRoundCustom($number, $scale) {
// 确保scale是整数
$scale = intval($scale);
// 构建10的$scale次方字符串
$factor = '1' . str_repeat('0', $scale);
// 乘以10的$scale次方
$product = bcmul($number, $factor, $scale + 1);
// 构建0.5乘以10的$scale次方字符串用于四舍五入
$halfStep = '0.' . str_repeat('0', $scale - 1) . '5';
// 检查是否需要进位
if (bccomp($product, $halfStep, $scale + 1) >= 0) {
// 需要进位添加1
$roundedProduct = bcadd($product, '1', 0); // 这里我们只需要整数结果来确定是否进位
} else {
// 不需要进位,直接使用原乘积
$roundedProduct = $product;
}
// 截断或四舍五入到指定的小数位数
// 注意:由于我们之前已经多算了一位精度,现在需要除以$factor并保留$scale位小数
$result = bcdiv($roundedProduct, $factor, $scale);
return $result;
}

View File

@ -4,7 +4,7 @@ namespace app\app\controller;
use think\Controller;
class Calculatebody extends Controller{
class Calculatebody extends Base{
// 默认阻抗值
protected $default_adc = 550;
@ -18,6 +18,7 @@ class Calculatebody extends Controller{
// 乘 bcmul(,,20)
// 除 bcdiv(,,20)
$result = $this->calculate_body_data($data['height'],$data['weight'],$data['age'],$data['gender'],$data['adc']);
// dump(25/(1.393*1.393));
// dump($result);
// dump('=========================================');
// dump(1);
@ -254,12 +255,14 @@ class Calculatebody extends Controller{
$result_data['age'] = $age;
$result_data['adc'] = $impedance;
$result_data['gender'] = $gender;
$result_data['standard_level'] = 0.0;
return $result_data;
}
}
// $num = bcmul(bcdiv($weight, bcmul($mheight, $mheight,20), 20), '10.0', 20);
// $num = bcdiv($num, '10.0', 2); // 确保最后结果也保留20位小数
$num = intval(bcmul(bcdiv($weight,bcmul($mheight,$mheight,20),20),'10',20))/10;
$num2 = 0.0;
$num3 = 0.0;
@ -440,6 +443,8 @@ class Calculatebody extends Controller{
$result_data['adc'] = $impedance;
$result_data['gender'] = $gender;
$result_data['standard_level'] = $standard_level;
// dump($result_data);
// die;
return $result_data;
}
// 计算脂肪率

View File

@ -61,10 +61,15 @@ class Card extends Base{
'color'=>'',
'list'=>[]
];
protected $card_body_curve_arr = ['weight','bmi','muscle','fat_r'];
protected $card_body_curve_arr2 = ['体重','BMI','肌肉率','脂肪率'];
protected $card_body_curve_arr3 = ['#fb7b92','#6bb0fe','#ff9f40','#3fcba7'];
protected $card_body_curve_arr = ['height','weight','bmi','fat_r'];
protected $card_body_curve_arr2 = ['身高','体重','BMI','脂肪率',];
protected $card_body_curve_arr3 = ['#f7b03e','#fb7b92','#ff9f40','#3fcba7',];
protected $card_body_level = [
'height'=>['value'=>1,'list'=>['矮'=>2,'偏矮'=>3,'标准'=>4,'偏高'=>5,'高'=>5]],
'weight'=>['value'=>3,'list'=>['低'=>1,'偏低'=>1,'标准'=>2,'偏高'=>3,'高'=>3]],
'bmi'=>['value'=>2,'list'=>['消瘦'=>1,'正常'=>2,'偏重'=>3,'肥胖'=>4]],
];
@ -75,7 +80,7 @@ class Card extends Base{
// 详细卡片信息
// $data = ['id'=>'2']
public function card_data_detailed($data=['aud_id'=>'58','token'=>'0dafb98a10995c98b5a33b7d59d986ca']){
public function card_data_detailed($data=['aud_id'=>'83','token'=>'0dafb98a10995c98b5a33b7d59d986ca']){
if(count(input('post.')) > 0){
$data = input('post.');
}
@ -95,7 +100,7 @@ class Card extends Base{
}
// 曲线页面-曲线接口
public function card_curve_chart($data = ['aud_id'=>'25','s_time'=>'2024-04-01','e_time'=>'2024-07-30','token'=>'0dafb98a10995c98b5a33b7d59d986ca']){
public function card_curve_chart($data = ['aud_id'=>'83','s_time'=>'2024-04-01','e_time'=>'2024-07-25','token'=>'caadd1be045a65f30b92aa805f1de54a']){
if(count(input('post.')) > 0){
$data = input('post.');
}
@ -113,7 +118,7 @@ class Card extends Base{
// 手动记录
// $data = ['id'=>'2','time'=>'1991-04-20 10:10:10','height'=>'15.1','weight'=>'75.1']
public function card_manual_recording($data = ['aud_id'=>'58','time'=>'2024-06-06 10:10:15','height'=>'175','weight'=>'68','token'=>'0dafb98a10995c98b5a33b7d59d986ca']){
public function card_manual_recording($data = ['aud_id'=>'83','time'=>'2024-07-24','height'=>'155.4','weight'=>'40.4','token'=>'caadd1be045a65f30b92aa805f1de54a']){
if(count(input('post.')) > 0){
$data = input('post.');
}else{
@ -133,7 +138,7 @@ class Card extends Base{
}
// 设备记录
// $data = ['id'=>'2','time'=>'1991-04-20 10:10:10','height'=>'15.1','weight'=>'75.1']
public function card_manual_recording_device($data = ['aud_id'=>'58','time'=>'2024-06-06 10:10:15','height'=>'175','weight'=>'68','adc'=>'550','token'=>'0dafb98a10995c98b5a33b7d59d986ca']){
public function card_manual_recording_device($data = ['aud_id'=>'58','height'=>'175','weight'=>'68','adc'=>'550','token'=>'0dafb98a10995c98b5a33b7d59d986ca']){
if(count(input('post.')) > 0){
$data = input('post.');
}else{
@ -147,6 +152,7 @@ class Card extends Base{
if($data['adc'] == 0){
$data['adc'] = 550;
}
$data['time'] = date('Y-m-d H:i:s');
// if($this->token_time_validate($data['token']) === false){
// return $this->msg(20001);
// }
@ -275,8 +281,20 @@ class Card extends Base{
$result_end['score'] = $result_end['score'];
$result_end['body_type'] = $result_end['body_type'];
$result_end = $cardparts->conversion_interval($result_end);
// dump($result_end);
// die;
$result_end['cplist'] = $this->grow_up_recommendation([
'birthday'=>$result[0]['birthday'],
'body'=>[
'height'=>$result[0]['height'],
'weight'=>$result[0]['weight'],
'bmi'=>$result[0]['bmi']
],
]);
$result_end['literature'] = [
'《中华人民共和国卫生行业标准WS 423-2013》',
'《中华人民共和国卫生行业标准WS/T 612-2018》',
'《中华人民共和国卫生行业标准WS/T1586-2018》',
'《WHO 5~19岁身高/体重判定标准》',
];
return $this->msg($result_end);
}
}
@ -360,6 +378,66 @@ class Card extends Base{
return $result_end_data;
}
public function grow_up_recommendation($data){
// card_body_level
// die;
// $result = [
// ['name'=>'营养','key'=>'nutrition','content'=>''],
// ['name'=>'睡眠','key'=>'sleep','content'=>''],
// ['name'=>'运动','key'=>'motion','content'=>''],
// ['name'=>'情绪','key'=>'emotion','content'=>'']
// ];
$result = [
'nutritionlist'=>[],//营养
'sportlist'=>[],//运动
'sleeplist'=>[],//睡眠
'moodlist'=>[],//情绪
];
$temporary_arr = [];
foreach ($data['body'] as $key => $value) {
$temporary_arr[$key] = $this->card_body_level[$key]['list'][explode(',',$value)[1]];
}
$min_value = min($temporary_arr);
$min_key = array_search($min_value,$temporary_arr);
$type_num = $this->card_body_level[$min_key]['value'];
$temporary_arr2 = Db::table('pc_childrenprescription')->where(['Type'=>$type_num,'Level'=>$min_value,'IsDeleted'=>0])->field('Nutrition,Sport')->find();
// dump($temporary_arr2);
array_push($result['nutritionlist'],$temporary_arr2['Nutrition']);
array_push($result['sportlist'],$temporary_arr2['Sport']);
// $result['nutritionlist'] = $temporary_arr2['Nutrition'];
// $result['sportlist'] = $temporary_arr2['Sport'];
$month_num = $this->calculateAgeInMonthsWithPrecision($data['birthday']);
$temporary_arr2 = Db::table('pc_childprescriptionbyage')->where(['IsDeleted'=>0])->field('MinAge,MaxAge,Type,Content')->select();
$default_sleep = '';
$default_emotion = '';
foreach ($temporary_arr2 as $key => $value) {
if($value['MinAge'] == -1 && $value['Type'] == 2){
$default_sleep = $value['Content'];
}
if($value['MinAge'] == -1 && $value['Type'] == 3){
$default_emotion = $value['Content'];
}
if($month_num>=$value['MinAge'] && $month_num<=$value['MaxAge']){
if($value['Type'] == 1){
array_push($result['sportlist'],$value['Content']);
// $result['sportlist'] = $result['sportlist'].$value['Content'];
}else if($value['Type'] == 2){
array_push($result['sleeplist'],$value['Content']);
// $result['sleeplist'] = $result['sleeplist'].$value['Content'];
}else if($value['Type'] == 3){
array_push($result['moodlist'],$value['Content']);
// $result['moodlist'] = $result['moodlist'].$value['Content'];
}
}
}
$result['sleeplist'] = count($result['sleeplist']) <= 0?array_push($result['sportlist'],$default_sleep):$result['sleeplist'];
$result['moodlist'] = count($result['moodlist']) <= 0?array_push($result['moodlist'],$default_sleep):$result['moodlist'];
return $result;
}
########################################################card_curve_chart
// 曲线图动作函数
@ -377,13 +455,25 @@ class Card extends Base{
// ");
// dump($card_body_curve_arr);
// dump($this->card_body_curve_arr);
// dump($data);
// $data['s_time'] = $this->adjustDateTime($data['s_time'],'subtract');
// $data['e_time'] = $this->adjustDateTime($data['e_time'],'add');
// dump($data);
// die;
$data['s_time'] = $data['s_time'].' 00:00:00';
$data['e_time'] = $data['e_time'].' 23:59:59';
$user_data_list = Db::table('app_card_body_data')
->where('aud_id', $data['aud_id'])
->whereTime('record_time', 'between', [$data['s_time'], $data['e_time']])
->field("record_time,REPLACE(CONVERT(varchar(10), record_time, 23), '-', '/') AS b_time,$card_body_curve_arr")
->field("record_time,REPLACE(CONVERT(varchar(10), record_time, 23), '-', '-') AS b_time,$card_body_curve_arr")
// ->field("record_time,REPLACE(CONVERT(varchar(10), record_time, 23), '-', '/') AS b_time,$card_body_curve_arr")
->order('record_time desc')
->select();
// dump($user_data_list);
// 下面业务逻辑是取每天的,最近后一次记录成绩
$data_arr = [];
$record_arr1 = [];
$record_arr2 = [];
@ -400,6 +490,7 @@ class Card extends Base{
array_push($record_arr2,$user_data_list[$key]);
}
}
// dump($record_arr1);
// dump($record_arr2);
// die;
foreach ($this->card_body_curve_arr as $key => $value) {
@ -416,6 +507,7 @@ class Card extends Base{
array_push($data_arr,$temporary_arr);
}
}
// dump($data_arr);
return $this->msg($data_arr);
}
@ -453,16 +545,21 @@ class Card extends Base{
}
// $result_data['adc'] = array_key_exists('adc', $data)?$data['adc']:550;
$calculate_body_formula = new Calculatebody();
// dump($user_data['birthday']);
// dump($result_data);
$get_body_value = $calculate_body_formula->calculate_body_data_result($result_data);
// dump($get_body_value);
// die;
// dump($get_body_value);
$get_body_value['gender'] = $user_data['gender'];
$get_body_value['birthday'] = $user_data['birthday'];
$get_body_value = $this->hwb_standard($get_body_value);
// dump($get_body_value['身高2']);
// dump($get_body_value['脂肪率']);
// dump(implode(',',$get_body_value['脂肪率']));
// die;
$set_user_data = Db::table('app_card_body_data')->insert([
$set_data = [
'acd_id'=>$data['acd_id'],
'aud_id'=>$data['aud_id'],
'record_time'=>array_key_exists('time', $data)?$data['time']:date('Y-m-d H:i:s'),
@ -490,7 +587,13 @@ class Card extends Base{
'body_level'=>$get_body_value['肥胖等级'],
'body_type'=>$get_body_value['身体类型'],
'body_age'=>$get_body_value['身体年龄']
]);
];
if(strlen($set_data['record_time']) <= 12){
$set_data['record_time'] = $this->addCurrentTimeToDateString($set_data['record_time']);
}
// dump($get_body_value['身高2']);
// die;
$set_user_data = Db::table('app_card_body_data')->insert($set_data);
if($set_user_data){
// 返回简要数据
if($data['type'] == 1){
@ -580,8 +683,8 @@ class Card extends Base{
// die;
}else{
$data['身高2'] = $data['身高'].',无,无';
$data['体重2'] = $data['身高'].',无,无';
$data['BMI2'] = $data['身高'].',无,无';
$data['体重2'] = $data['体重'].',无,无';
$data['BMI2'] = $data['BMI'].',无,无';
}
// dump($data);
// die;

View File

@ -194,7 +194,8 @@ class Cardparts extends Base{
'body_type_name' =>$data['body_type']['name'],
'body_type_value' =>$data['body_type']['value'],
'body_type_unit' =>$data['body_type']['unit'],
'record_time' =>str_replace('-', '/', $data['record_time']),
// 'record_time' =>str_replace('-', '/', $data['record_time']),
'record_time' =>$data['record_time'],
'top_list'=>[],
'bottom_list'=>[],
];

View File

@ -62,7 +62,7 @@ class Device extends Base{
return $this->device_user_data_list_action($data);
}
// 解绑系统设备
public function device_unbinding($data = ['token'=>'caadd1be045a65f30b92aa805f1de54a','id'=>'3']){
public function device_unbinding($data = ['token'=>'e0966788d02cc93290d9d674921d9715','id'=>'8']){
if(count(input('post.')) > 0){
$data = input('post.');
}
@ -78,7 +78,7 @@ class Device extends Base{
}
// 获取设备详情
public function device_mac_get_content($data = ['mac'=>'26:FF:B3:2F:E7:D8','acd_id'=>'2','token'=>'caadd1be045a65f30b92aa805f1de54a']){
public function device_mac_get_content($data = ['mac'=>'76:FE:B3:2F:E7:D8','acd_id'=>'2','token'=>'caadd1be045a65f30b92aa805f1de54a']){
if(count(input('post.')) > 0){
$data = input('post.');
}
@ -115,12 +115,15 @@ class Device extends Base{
return $this->msg(10003);
}
$device_code_data = Db::table('app_device_code_data')->where(['machine_code'=>$data['device_mac']])->find();
$device_code_data_user = explode(',',$device_code_data['bind_account_id']);
if($device_code_data){
if($device_code_data['bind_account_id']){
return $this->msg(10003,'设备已被绑定');
// 多用户可以绑定
if(in_array($result_user['id'], $device_code_data_user)){
return $this->msg(10003,'设备已绑定');
}else{
array_push($device_code_data_user,$result_user['id']);
$device_binding = Db::table('app_device_code_data')->where(['machine_code'=>$data['device_mac']])->update([
'bind_account_id'=>$result_user['id'],
'bind_account_id'=>implode(',',$device_code_data_user),
]);
if($device_binding){
return $this->msg([]);
@ -128,6 +131,19 @@ class Device extends Base{
return $this->msg(10002,'更新失败');
}
}
// 仅单用户可以绑定
// if($device_code_data['bind_account_id']){
// return $this->msg(10003,'设备已被绑定');
// }else{
// $device_binding = Db::table('app_device_code_data')->where(['machine_code'=>$data['device_mac']])->update([
// 'bind_account_id'=>$result_user['id'],
// ]);
// if($device_binding){
// return $this->msg([]);
// }else{
// return $this->msg(10002,'更新失败');
// }
// }
}
$device_binding = Db::table('app_device_code_data')->insert([
'add_id'=>$data['device_id'],
@ -148,10 +164,13 @@ class Device extends Base{
if(!$result_user){
return $this->msg(10003);
}
$likePattern = '%' . $result_user['id'] . '%';
$device_code_data = Db::table('app_device_code_data')
->alias('adcd')
->join('app_device_data add','adcd.add_id = add.id','LEFT')
->where(['adcd.bind_account_id'=>$result_user['id']])
// ->where(['adcd.bind_account_id'=>$result_user['id']])
// ->where('adcd.bind_account_id LIKE "%'.$result_user['id'].'%"')
->where("adcd.bind_account_id LIKE ?", [$likePattern])
->field('adcd.id,adcd.add_id,adcd.machine_code,adcd.create_time,add.name,add.pic,add.content,add.page_measure,add.bluetooth_type,add.device_model')
->select();
if(count($device_code_data) <= 0){
@ -176,42 +195,38 @@ class Device extends Base{
'mac'=>$value['machine_code']
]);
}
// dump($device_code_data);
// die;
// 旧版格式
// foreach ($device_code_data as $key => $value) {
// if(!array_key_exists($value['add_id'], $device_code_data1)){
// $device_code_data1[$value['add_id']] = [
// 'add_id'=>$value['add_id'],
// 'name'=>$value['name'],
// 'pic'=>$value['pic'],
// 'content'=>$value['content'],
// 'page_measure'=>$value['page_measure'],
// 'bluetooth_type'=>$value['bluetooth_type'],
// 'device_model'=>$value['device_model'],
// 'list'=>[[
// 'id'=>$value['id'],
// 'mac'=>$value['machine_code']
// ]]
// ];
// }else{
// array_push($device_code_data1[$value['add_id']]['list'],['id'=>$value['id'],'mac'=>$value['machine_code']]);
// }
// }
// foreach ($device_code_data1 as $key => $value) {
// array_push($result,$value);
// }
return $this->msg(['list'=>$result]);
}
################################################device_binding
################################################device_unbinding
public function device_unbinding_action($data){
$result_user = Db::table('app_account_number')->where(['token'=>$data['token']])->field('id,token')->find();
if(!$result_user){
return $this->msg(10003);
}
$device_binding = Db::table('app_device_code_data')->where(['id'=>$data['id'],'bind_account_id'=>$result_user['id']])->update([
'bind_account_id'=>'',
$device_binding_user = Db::table('app_device_code_data')
->alias('adcd')
->join('app_device_data add2','add2.id = adcd.add_id','LEFT')
->where(['adcd.id'=>$data['id']])
->field('adcd.id,adcd.bind_account_id,add2.acd_id')
->find();
// dump(time());
// die;
$device_binding_user = explode(',',$device_binding_user['bind_account_id']);
// dump($device_binding_user);
$key = array_search($result_user['id'], $device_binding_user);
if($key !== false){
unset($device_binding_user[$key]);
}else{
return $this->msg([]);
}
// dump($device_binding_user);
// dump(implode(',',$device_binding_user));
// die;
$device_binding = Db::table('app_device_code_data')->where(['id'=>$data['id']])->update([
'bind_account_id'=>implode(',',$device_binding_user),
]);
if($device_binding){
return $this->msg([]);
@ -226,16 +241,18 @@ class Device extends Base{
$user_id = Db::table('app_account_number')->where(['token'=>$data['token']])->field('id,token')->find();
// dump($user_id);
// die;
$likePattern = '%' . $user_id['id'] . '%';
$result_device = Db::table('app_device_code_data')
->alias('adcd')
->join('app_device_data add','adcd.add_id = add.id','LEFT')
->where([
'adcd.machine_code'=>$data['mac'],
'add.acd_id'=>$data['acd_id'],
'adcd.bind_account_id'=>$user_id['id'],
'adcd.bind_account_id'=>['LIKE',$likePattern],
'add.is_del'=>0,
'adcd.is_del'=>0,
])
// ->where("adcd.bind_account_id LIKE ?", [$likePattern])
->field('adcd.id,add.acd_id,add.name,add.pic,add.content,add.page_measure,add.bluetooth_type,add.device_model')
->find();
if($result_device){

View File

@ -3,10 +3,13 @@
namespace app\app\controller;
use think\Controller;
use think\Db;
class Download extends Controller{
class Download extends Base{
public function demo(){
$num = Db::table('app_version_log')->order('id desc')->find();
echo '你好,这里就是下载页面';
echo '<br><a href="'.$num['download_url'].'">点击下载</a>';
}
}

View File

@ -9,7 +9,7 @@ use think\Log;
use \think\Validate;
class Index extends Base{
protected $moren_gufen_diqu = '上海,上海';
protected $db_name = ['2'=>'app_card_body_data','6'=>'app_card_skip_data','8'=>'app_card_vitalcapacity_data'];
// protected $card_key = ['2'=>'body','6'=>'skip','8'=>'vitalcapacity'];
protected $default_card = ['2','6','8'];
@ -176,7 +176,7 @@ class Index extends Base{
}
// 获取指定用户详细信息
public function get_user_data_information($data = ['aud_id'=>58,'token'=>'caadd1be045a65f30b92aa805f1de54a']){
public function get_user_data_information($data = ['aud_id'=>37,'token'=>'caadd1be045a65f30b92aa805f1de54a']){
if(count(input('post.')) > 0){
$data = input('post.');
}
@ -187,13 +187,14 @@ class Index extends Base{
if(!array_key_exists('token', $data) || !array_key_exists('aud_id', $data)){
return $this->msg(10001);
}
cache($data['token'],time());
// cache($data['token'],time());
if($this->token_time_validate($data['token']) === false){
return $this->msg(20001);
}
unset($data['token']);
$result = Db::table('app_user_data')->where(['id'=>$data['aud_id']])->field('id,aan_id,nickname,head_pic,birthday,gender,card_order,target_weight,initial_weight,initial_date')->find();
// dump($result);
$result = Db::table('app_user_data')->where(['id'=>$data['aud_id']])->field('id,aan_id,nickname,head_pic,birthday,gender,card_order,target_weight,initial_weight,initial_date,weight')->find();
$weight_data_pd = Db::table('app_card_body_data')->where(['aud_id'=>$data['aud_id']])->order('record_time desc')->field('id,weight_val,record_time')->find();
// dump($weight_data_pd);
// die;
if(!$result){
return $this->msg(10003);
@ -208,41 +209,45 @@ class Index extends Base{
}else{
$result['card_order'] = explode(',',$result['card_order']);
$calculation_results = $this->get_user_card_data_list($result,$result['id']);
// dump($calculation_results);
// die;
$result['card_data_list'] = $calculation_results[0];
$result['target_current'] = $calculation_results[1];
}
// base_target_initial_cumulative_weight
// dump($result);
// die;
$result['birthday'] = str_replace('-', '/', $result['birthday']);
foreach ($result['card_data_list'] as $key => $value) {
// dump($key);
if($key == 'record_time' && $value != ''){
// dump(111);
$result['card_data_list'][$key] = str_replace('-', '/', $result['card_data_list'][$key]);
}
if($weight_data_pd){
$result['weight'] = $weight_data_pd['weight_val'];
}
// $result['birthday'] = str_replace('-', '/', $result['birthday']);
// foreach ($result['card_data_list'] as $key => $value) {
// // dump($key);
// if($key == 'record_time' && $value != ''){
// // dump(111);
// $result['card_data_list'][$key] = str_replace('-', '/', $result['card_data_list'][$key]);
// }
// }
unset($result['target_weight']);
unset($result['initial_weight']);
unset($result['initial_date']);
// 获取设备信息进入卡片 start
$likePattern = '%' . $result['aan_id'] . '%';
$result_device = Db::table('app_device_code_data')
->alias('adcd')
->join('app_device_data add','adcd.add_id = add.id','LEFT')
->where(['adcd.bind_account_id'=>$result['aan_id']])
// ->where(['adcd.bind_account_id'=>$result['aan_id']])
->where("adcd.bind_account_id LIKE ?", [$likePattern])
->field('adcd.id,add.acd_id')
->select();
// dump($result_device);
// die;
$device_arr = [];
foreach ($result_device as $key => $value) {
if(!in_array($value['acd_id'],$device_arr)){
array_push($device_arr,$value['acd_id']);
}
}
// dump($device_arr);
// die;
foreach ($result['card_data_list'] as $key => $value) {
if(in_array($value['acd_id'],$device_arr)){
$result['card_data_list'][$key]['device_determine'] = true;
@ -250,6 +255,9 @@ class Index extends Base{
$result['card_data_list'][$key]['device_determine'] = false;
}
}
$result['address'] = $this->moren_gufen_diqu;
// 插入肺活量的卡片标准
$result['vitalcapacity_data'] = $this->get_vitalcapacity_data($result['id']);
// 获取设备信息进入卡片 end
return $this->msg($result);
}
@ -320,7 +328,16 @@ class Index extends Base{
if($this->token_time_validate($data['token']) === false){
return $this->msg(20001);
}
return $this->msg($this->grade_list);
// $temporary_arr = Db::table('app_identity_data')->cache(true,60)->select();
// $result = [['id'=>'nothing','name'=>'无']];
// // dump();
// // die;
// foreach ($temporary_arr as $key => $value) {
// array_push($result,['id'=>$value['id'],'name'=>$value['content']]);
// }
// return $this->msg(['grade_list'=>$this->grade_list,'identity_list'=>$result]);
}
################################获取账号下信息操作################################
@ -330,7 +347,7 @@ class Index extends Base{
$result = [];
$db_arr = [];
foreach ($data['card_order'] as $key => $value) {
$db_arr[$value] = Db::table($this->db_name[$value])->where(['aud_id'=>$aud_id,'is_del'=>'0'])->order('id desc')->limit(1)->select();
$db_arr[$value] = Db::table($this->db_name[$value])->where(['aud_id'=>$aud_id,'is_del'=>'0'])->order('record_time desc')->limit(1)->select();
// dump($db_arr[$value]);
if(count($db_arr[$value]) > 0){
@ -401,6 +418,7 @@ class Index extends Base{
foreach ($data['card_order'] as $key => $value) {
$temporary_arr = [];
$temporary_arr['acd_id'] = $value;
$temporary_arr['card_name'] = $this->card_data[$value][0];
$temporary_arr['card_key'] = $this->card_data[$value][1];
$temporary_arr['page_url_record'] = $card_all_data_result[$value]['page_url_record'];
@ -468,6 +486,7 @@ class Index extends Base{
'grade' => 'require',
'height' => 'require|number',
'weight' => 'require|number',
// 'identity' => 'require|number',
];
$msg = [
'aan_id.require' => '账号信息缺失',
@ -477,6 +496,7 @@ class Index extends Base{
'grade.require' => '年级缺失',
'height.require' => '身高缺失',
'weight.require' => '体重缺失',
// 'identity.require' => '身份缺失',
'aan_id.number' => '账号信息格式错误',
'nickname.chsAlpha' => '昵称只能是只能是汉字、字母',
@ -485,6 +505,7 @@ class Index extends Base{
'gender.in' => '性别信息错误',
'height.number' => '身高必须为数字',
'weight.number' => '体重必须为数字',
// 'identity.number' => '身份信息格式错误',
];
$validate = new Validate($rule,$msg);
$result = $validate->check($data);
@ -500,6 +521,8 @@ class Index extends Base{
$parameter['card_order'] = '2,6,8';
$parameter['height'] = $data['height'];
$parameter['weight'] = $data['weight'];
$parameter['head_pic'] = $data['gender'] == 2?'http://tc.pcxbc.com/tsf/2.png':'http://tc.pcxbc.com/tsf/1.png';
// $parameter['identity_data'] = $data['identity'];
$parameter['create_time'] = date('Y-m-d H:i:s');
$parameter['last_update_time'] = date('Y-m-d H:i:s');
$parameter_pd = Db::table('app_account_number')->where(['id'=>$parameter['aan_id']])->count();
@ -523,6 +546,7 @@ class Index extends Base{
'grade' => 'require',
'height' => 'require|number',
'weight' => 'require|number',
// 'identity' => 'require|number',
];
$msg = [
'id.require' => '用户信息缺失',
@ -532,6 +556,7 @@ class Index extends Base{
'grade.require' => '年级缺失',
'height.require' => '身高缺失',
'weight.require' => '体重缺失',
// 'identity.require' => '身份缺失',
'id.number' => '用户信息格式错误',
'nickname.chsAlphaNum' => '昵称只能是只能是汉字、字母、数字',
@ -540,6 +565,7 @@ class Index extends Base{
'gender.in' => '性别信息错误',
'height.number' => '身高必须为数字',
'weight.number' => '体重必须为数字',
// 'identity.number' => '身份信息格式错误',
];
$validate = new Validate($rule,$msg);
$result = $validate->check($data);
@ -554,6 +580,8 @@ class Index extends Base{
$parameter['weight'] = $data['weight'];
$parameter['gender'] = $data['gender'];
$parameter['grade'] = $data['grade'];
$parameter['head_pic'] = $data['gender'] == 2?'http://tc.pcxbc.com/tsf/2.png':'http://tc.pcxbc.com/tsf/1.png';
// $parameter['identity_data'] = $data['identity'];
$parameter['last_update_time'] = date('Y-m-d H:i:s');
return $parameter;
}

View File

@ -11,7 +11,7 @@ use PHPMailer\PHPMailer\PHPMailer;
class Login extends Base{
protected $code_time = 60;
protected $default_head_pic = 'http://tc.pcxbc.com/tsf/head_pic.jpg';
protected $default_head_pic = 'http://tc.pcxbc.com/tsf/head_pic.png';
################################################################接口################################################################
@ -51,7 +51,7 @@ class Login extends Base{
}
$set_data['password'] = $data['password'];
$set_data['head_pic'] = $this->default_head_pic;
$set_data['nickname'] = '用户'.$data['data'];
$set_data['nickname'] = '用户'.time();
$set_data['create_time'] = date('Y-m-d H:i:s');
$set_data['token'] = md5($data['data'].$this->create_random_string(12).time());
$result = Db::table('app_account_number')->insertGetId($set_data);
@ -186,12 +186,12 @@ class Login extends Base{
* $type验证类型是注册用还是其他用途 字符串 默认register注册register、login、reset_password
* $road是手机还是邮箱还是其他 字符串 默认tel或email
*/
public function send_phone_email_code($data = ['data'=>'18530934717','type'=>'login']){
public function send_phone_email_code($data = ['data'=>'tsf3920322@126.com','type'=>'login']){
// $data = input('post.');
if(count(input('post.')) > 0){
$data = input('post.');
}
if(!array_key_exists('data', $data) || !array_key_exists('type', $data)){
if(!array_key_exists('data', $data)){
return $this->msg(10001);
}
$num = mt_rand(100000,999999);
@ -199,13 +199,17 @@ class Login extends Base{
$result = $this->send_tel_code($data['data'],$num);
$road = 'tel';
}else{
$result = $this->send_email_code($data['data'],['title'=>'体测APP验证码','from_user_name'=>'体测APP','content'=>$num]);
$result = $this->send_email_code([$data['data']],['title'=>'体测APP验证码','from_user_name'=>'体测APP','content'=>$num]);
// dump($result);
$road = 'email';
}
// dump($result);
// die;
if(is_array($result) && $result['code'] == 0){
cache($data['data'], $num, $this->code_time);
// dump($data['data']."_".$data['road']."_".$data['type']);
return $this->msg(['code'=>$num]);
// return $this->msg(['code'=>$num]);
return $this->msg([]);
// return true;
}else{
return $this->msg(10002);
@ -240,24 +244,124 @@ class Login extends Base{
// $mail->FromName = "微盟体测中心"; //发件人姓名
$mail->FromName = $content['from_user_name']; //发件人姓名
for ($i=0; $i < count($address); $i++) {
$mail->AddAddress($address[$i], ""); //添加收件人(地址,昵称)
}
if($annex != ''){
// $url = ROOT_PATH. 'public' . DS . 'tsf' . DS .'demoooo.jpg';
$mail->AddAttachment($annex,''); // 添加附件,并指定名称
}
$mail->IsHTML(true); //支持html格式内容
$neirong = '<div style="margin: 0; padding: 0;">
<table cellpadding="0" cellspacing="0" border="0" width="100%" style="background: #f3f3f3; min-width: 350px; font-size: 1px; line-height: normal;">
<tbody><tr>
<td align="center" valign="top">
<table cellpadding="0" cellspacing="0" border="0" width="750" class="table750" style="width: 100%; max-width: 750px; min-width: 350px; background: #f3f3f3;">
<tbody><tr>
<td class="mob_pad" width="25" style="width: 25px; max-width: 25px; min-width: 25px;">&nbsp;</td>
<td align="center" valign="top" style="background: #ffffff;">
<table cellpadding="0" cellspacing="0" border="0" width="100%" style="width: 100% !important; min-width: 100%; max-width: 100%; background: #f3f3f3;">
<tbody><tr>
<td align="right" valign="top">
<div class="top_pad" style="height: 25px; line-height: 25px; font-size: 23px;">&nbsp;</div>
</td>
</tr>
</tbody></table>
<table cellpadding="0" cellspacing="0" border="0" width="88%" style="width: 88% !important; min-width: 88%; max-width: 88%;">
<tbody><tr>
<td align="left" valign="top">
<div style="height: 39px; line-height: 39px; font-size: 37px;">&nbsp;</div>
<font class="mob_title1" face="\'Source Sans Pro\', sans-serif" color="#1a1a1a" style="font-size: 52px; line-height: 55px; font-weight: 300; letter-spacing: -1.5px;">
<span class="mob_title1" style="font-family: \'Nunito\', Arial, Tahoma, Geneva, sans-serif; color: #fb966e; font-size: 48px; line-height: 55px; font-weight: 700; letter-spacing: -1.5px;">QingCe!</span>
</font>
<div style="height: 73px; line-height: 73px; font-size: 71px;">&nbsp;</div>
</td>
</tr>
</tbody></table>
<table cellpadding="0" cellspacing="0" border="0" width="88%" style="width: 88% !important; min-width: 88%; max-width: 88%;">
<tbody><tr>
<td align="left" valign="top">
<div style="height: 33px; line-height: 33px; font-size: 31px;">&nbsp;</div>
<font face="\'Nunito\', sans-serif" color="#585858" style="font-size: 24px; line-height: 32px;">
<span style="font-family: \'Nunito\', Arial, Tahoma, Geneva, sans-serif; color: #585858; font-size: 24px; line-height: 32px;">感谢您选择青测产品!</span>
</font>
<div style="height: 33px; line-height: 33px; font-size: 31px;">&nbsp;</div>
<font face="\'Nunito\', sans-serif" color="#585858" style="font-size: 24px; line-height: 32px;">
<span style="font-family: \'Nunito\', Arial, Tahoma, Geneva, sans-serif; color: #585858; font-size: 24px; line-height: 32px;">以下6位数字是邮箱验证码请在需要的位置填写以通过验证</span>
</font>
<div style="height: 18px; line-height: 33px; font-size: 31px;">&nbsp;</div>
<font face="\'Nunito\', sans-serif" color="#585858" style="font-size: 24px; line-height: 32px;">
<span style="font-family: \'Nunito\', Arial, Tahoma, Geneva, sans-serif; color: #aaaaaa; font-size: 16px; line-height: 32px;">(如果您从未请求发送邮箱验证码,请忽略此邮件)</span>
</font>
<div style="height: 33px; line-height: 33px; font-size: 31px;">&nbsp;</div>
<table class="mob_btn" cellpadding="0" cellspacing="0" border="0" style="background: #fb966e; border-radius: 4px;">
<tbody><tr>
<td align="center" valign="top">
<span style="display: block; border: 1px solid #fb966e; border-radius: 0px; padding: 6px 12px; font-family: \'Nunito\', Arial, Verdana, Tahoma, Geneva, sans-serif; color: #ffffff; font-size: 20px; line-height: 30px; text-decoration: none; white-space: nowrap; font-weight: 600;">
<font face="\'Nunito\', sans-serif" color="#ffffff" style="font-size: 20px; line-height: 30px; text-decoration: none; white-space: nowrap; font-weight: 600;">
<span style="font-family: \'Nunito\', Arial, Verdana, Tahoma, Geneva, sans-serif; color: #ffffff; font-size: 20px; line-height: 30px; text-decoration: none; white-space: nowrap; font-weight: 600;">'.$content['content'].'</span>
</font>
</span>
</td>
</tr>
</tbody></table>
<div style="height: 75px; line-height: 75px; font-size: 73px;">&nbsp;</div>
</td>
</tr>
</tbody></table>
<table cellpadding="0" cellspacing="0" border="0" width="100%" style="width: 100% !important; min-width: 100%; max-width: 100%; background: #f3f3f3;">
<tbody><tr>
<td align="center" valign="top">
<div style="height: 34px; line-height: 34px; font-size: 32px;">&nbsp;</div>
<table cellpadding="0" cellspacing="0" border="0" width="88%" style="width: 88% !important; min-width: 88%; max-width: 88%;">
<tbody><tr>
<td align="center" valign="top">
<div style="height:12px; line-height: 34px; font-size: 32px;">&nbsp;</div>
<font face="\'Nunito\', sans-serif" color="#868686" style="font-size: 17px; line-height: 20px;">
<span style="font-family: \'Nunito\', Arial, Tahoma, Geneva, sans-serif; color: #868686; font-size: 17px; line-height: 20px;">© Zhengzhou Pinchuan Technology Co., Ltd. </span>
</font>
<div style="height: 3px; line-height: 3px; font-size: 1px;">&nbsp;</div>
<font face="\'Nunito\', sans-serif" color="#1a1a1a" style="font-size: 17px; line-height: 20px;">
<span style="font-family: \'Nunito\', Arial, Tahoma, Geneva, sans-serif; color: #1a1a1a; font-size: 17px; line-height: 20px;"><a target="_blank" style="font-family: \'Nunito\', Arial, Tahoma, Geneva, sans-serif; color: #1a1a1a; font-size: 17px; line-height: 20px; text-decoration: none;" href="https://paoluz.link/"></a></span>
</font>
<div style="height: 35px; line-height: 35px; font-size: 33px;">&nbsp;</div>
</td>
</tr>
</tbody></table>
</td>
</tr>
</tbody></table>
</td>
<td class="mob_pad" width="25" style="width: 25px; max-width: 25px; min-width: 25px;">&nbsp;</td>
</tr>
</tbody></table>
</td>
</tr>
</tbody></table>
</div>';
$mail->Body = $content['content']; //邮件主体内容
$mail->Body = $neirong; //邮件主体内容
// dump($address);
// die;
//发送
if (!$mail->Send()) {
return $this->msg(10003,$mail->ErrorInfo);
return ['code' => 10003,'msg'=>$mail->ErrorInfo];
// return $mail->ErrorInfo;
} else {
return $this->msg([]);
return ['code' => 0];
// return 'success';
}
}

View File

@ -86,7 +86,7 @@ class Myinformation extends Base{
return $this->msg([
'my_tel'=>$result['tel'],
'my_email'=>$result['email'],
'create_time'=>$result['tel'],
'create_time'=>$result['create_time'],
'token'=>$result['token'],
'nickname'=>$result['nickname'],
'head_pic'=>$result['head_pic'],

View File

@ -24,7 +24,7 @@ class Pagingcontrast extends Base{
################################################请求接口################################################
################################################请求接口################################################
// 获取记录信息(分组)(包含身体、跳绳、肺活量)
public function get_all_record_data_group($data = ['aud_id'=>'26','s_time'=>'2024-04-01 10:10:10','e_time'=>'2024-06-12 10:10:10','token'=>'0dafb98a10995c98b5a33b7d59d986ca','type'=>'6']){
public function get_all_record_data_group($data = ['aud_id'=>'26','s_time'=>'2024-04-01','e_time'=>'2024-06-12','token'=>'0dafb98a10995c98b5a33b7d59d986ca','type'=>'6']){
if(count(input('post.')) > 0){
$data = input('post.');
}
@ -152,7 +152,10 @@ class Pagingcontrast extends Base{
// 获取记录信息列表(分页)-身体
public function get_body_record_data($data,$type){
$return_result = [];
if($type == 'group'){
$data['s_time'] = $data['s_time'].' 00:00:00';
$data['e_time'] = $data['e_time'].' 23:59:59';
$result = Db::query("
select
id,
@ -175,11 +178,12 @@ class Pagingcontrast extends Base{
'v1_name'=>'身高',
'v2_name'=>'体重',
'v3_name'=>'BMI',
'r_t'=>str_replace('-', '/', $value['r_t'])
// 'r_t'=>str_replace('-', '/', $value['r_t'])
'r_t'=>$value['r_t']
]);
}
}else{
$result = Db::table('app_card_body_data')->where(['aud_id'=>$data['aud_id'],'is_del'=>0])->field("id,record_time,REPLACE(record_time, '-', '/') AS b_time,height_val,weight_val,bmi_val")->order('record_time desc')->page($data['page'],$this->pagesize)->select();
$result = Db::table('app_card_body_data')->where(['aud_id'=>$data['aud_id'],'is_del'=>0])->field("id,record_time,REPLACE(record_time, '-', '-') AS b_time,height_val,weight_val,bmi_val")->order('record_time desc')->page($data['page'],$this->pagesize)->select();
$return_result['totalrows'] = Db::table('app_card_body_data')->where(['aud_id'=>$data['aud_id']])->count();
$return_result['rows'] = [];
$return_result['pageno'] = $data['page'];
@ -204,7 +208,10 @@ class Pagingcontrast extends Base{
// 获取记录信息列表(分页)-跳绳
public function get_skip_record_data($data,$type){
$return_result = [];
if($type == 'group'){
$data['s_time'] = $data['s_time'].' 00:00:00';
$data['e_time'] = $data['e_time'].' 23:59:59';
$result = Db::query("
select
id,
@ -228,11 +235,12 @@ class Pagingcontrast extends Base{
'v1_name'=>'个数',
'v2_name'=>'时长',
'v3_name'=>'卡路里',
'r_t'=>str_replace('-', '/', $value['r_t'])
// 'r_t'=>str_replace('-', '/', $value['r_t'])
'r_t'=>$value['r_t']
]);
}
}else{
$result = Db::table('app_card_skip_data')->where(['aud_id'=>$data['aud_id'],'is_del'=>0])->field("id,record_time,REPLACE(record_time, '-', '/') AS b_time,jump_num,jump_time,jump_kcal")->order('record_time desc')->page($data['page'],$this->pagesize)->select();
$result = Db::table('app_card_skip_data')->where(['aud_id'=>$data['aud_id'],'is_del'=>0])->field("id,record_time,REPLACE(record_time, '-', '-') AS b_time,jump_num,jump_time,jump_kcal")->order('record_time desc')->page($data['page'],$this->pagesize)->select();
$return_result['totalrows'] = Db::table('app_card_skip_data')->where(['aud_id'=>$data['aud_id']])->count();
$return_result['rows'] = [];
$return_result['pageno'] = $data['page'];
@ -258,7 +266,10 @@ class Pagingcontrast extends Base{
// 获取记录信息列表(分页)-肺活量
public function get_vitalcapacity_record_data($data,$type){
$return_result = [];
if($type == 'group'){
$data['s_time'] = $data['s_time'].' 00:00:00';
$data['e_time'] = $data['e_time'].' 23:59:59';
$result = Db::query("
select
id,
@ -288,11 +299,12 @@ class Pagingcontrast extends Base{
'v3_name'=>'第三次',
'v4_name'=>'平均',
'v5_name'=>'成绩',
'r_t'=>str_replace('-', '/', $value['r_t'])
// 'r_t'=>str_replace('-', '/', $value['r_t'])
'r_t'=>$value['r_t']
]);
}
}else{
$result = Db::table('app_card_vitalcapacity_data')->where(['aud_id'=>$data['aud_id'],'is_del'=>0])->field("id,record_time,REPLACE(record_time, '-', '/') AS b_time,one_val,two_val,three_val,average_val,score")->order('record_time desc')->page($data['page'],$this->pagesize)->select();
$result = Db::table('app_card_vitalcapacity_data')->where(['aud_id'=>$data['aud_id'],'is_del'=>0])->field("id,record_time,REPLACE(record_time, '-', '-') AS b_time,one_val,two_val,three_val,average_val,score")->order('record_time desc')->page($data['page'],$this->pagesize)->select();
$return_result['totalrows'] = Db::table('app_card_vitalcapacity_data')->where(['aud_id'=>$data['aud_id']])->count();
$return_result['rows'] = [];
$return_result['pageno'] = $data['page'];
@ -372,7 +384,7 @@ class Pagingcontrast extends Base{
acbd.visceral,
acbd.sfr,
acbd.record_time,
REPLACE(CONVERT(varchar(10), acbd.record_time, 23), '-', '/') AS b_time,
REPLACE(CONVERT(varchar(10), acbd.record_time, 23), '-', '-') AS b_time,
aud.nickname,
aud.gender,
aud.birthday,
@ -446,7 +458,7 @@ class Pagingcontrast extends Base{
acsd.jump_time,
acsd.jump_kcal,
acsd.record_time,
REPLACE(CONVERT(varchar(10), acsd.record_time, 23), '-', '/') AS b_time,
REPLACE(CONVERT(varchar(10), acsd.record_time, 23), '-', '-') AS b_time,
aud.nickname,
aud.gender,
aud.birthday,
@ -526,7 +538,7 @@ class Pagingcontrast extends Base{
acsd.average_val,
acsd.score_val as score,
acsd.record_time,
REPLACE(CONVERT(varchar(10), acsd.record_time, 23), '-', '/') AS b_time,
REPLACE(CONVERT(varchar(10), acsd.record_time, 23), '-', '-') AS b_time,
aud.nickname,
aud.gender,
aud.birthday,

View File

@ -26,18 +26,28 @@ class Skip extends Base{
################################################################接口################################################################
################################################################接口################################################################
// 手动记录
public function skip_manual_recording($data = ['aud_id'=>'58','r_time'=>'2024-05-25 10:10:15','num'=>'582','time_m'=>'10','time_s'=>'00','type'=>'free','token'=>'caadd1be045a65f30b92aa805f1de54a']){
public function skip_manual_recording($data = ['aud_id'=>'61','r_time'=>'2024-07-24','num'=>'369','time_m'=>'02','time_s'=>'42','type'=>'free','token'=>'caadd1be045a65f30b92aa805f1de54a']){
if(count(input('post.')) > 0){
$data = input('post.');
}
// dump(bcmul('1.23', '4.56', 2));
// dump(bcround('18.777', 2));
// // phpinfo();
// // opcache_reset();
// die;
if(!array_key_exists('aud_id', $data) || !array_key_exists('r_time', $data) || !array_key_exists('num', $data) || !array_key_exists('time_m', $data) || !array_key_exists('time_s', $data) || !array_key_exists('type', $data) || !array_key_exists('token', $data)){
return $this->msg(10001);
}
if(intval($data['num'] != $data['num']) || intval($data['time_m'] != $data['time_m']) || intval($data['time_s'] != $data['time_s'])){
return $this->msg(10005);
if(!$this->isValidInteger($data['num']+0) || !$this->isValidInteger($data['time_m']+0) || !$this->isValidInteger($data['time_s']+0)){
return $this->msg(10005,'跳绳数量或者分钟、秒钟值必须为整数');
}
if($data['num'] <= 0){
return $this->msg(10005,'跳绳数不能小于等于0');
}
if(abs($data['time_s']) >= 60){
return $this->msg(10005,'秒钟值不能大于60');
}
// cache($data['token'],time());
if($this->token_time_validate($data['token']) === false){
return $this->msg(20001);
}
@ -45,14 +55,35 @@ class Skip extends Base{
if($this->validate_user_identity($data['aud_id']) === false){
return $this->msg(10003);
}
if(abs($data['time_s']) >= 60){
return $this->msg(10005);
}
// cache($data['token']);
// dump($data);
// die;
return $this->skip_manual_recording_action($data);
}
// 设备记录记录
public function skip_manual_recording_device($data = ['aud_id'=>'58','num'=>'582','time_m'=>'10','time_s'=>'00','type'=>'free','kcal'=>'200','token'=>'caadd1be045a65f30b92aa805f1de54a']){
if(count(input('post.')) > 0){
$data = input('post.');
}
if(!array_key_exists('aud_id', $data) || !array_key_exists('kcal', $data) || !array_key_exists('num', $data) || !array_key_exists('time_m', $data) || !array_key_exists('time_s', $data) || !array_key_exists('type', $data) || !array_key_exists('token', $data)){
return $this->msg(10001);
}
if(!$this->isValidInteger($data['num']+0) || !$this->isValidInteger($data['time_m']+0) || !$this->isValidInteger($data['time_s']+0)){
return $this->msg(10005,'跳绳数量或者分钟、秒钟值必须为整数');
}
if($data['num'] <= 0){
return $this->msg(10005,'跳绳数不能小于等于0');
}
if(abs($data['time_s']) >= 60){
return $this->msg(10005,'秒钟值不能大于60');
}
if($this->token_time_validate($data['token']) === false){
return $this->msg(20001);
}
unset($data['token']);
if($this->validate_user_identity($data['aud_id']) === false){
return $this->msg(10003);
}
return $this->skip_manual_recording_action($data);
}
// 今日数据
public function skip_today_data($data = ['aud_id'=>'26','token'=>'0dafb98a10995c98b5a33b7d59d986ca']){
if(count(input('post.')) > 0){
@ -70,7 +101,7 @@ class Skip extends Base{
return $this->skip_today_data_action($data);
}
// 曲线
public function skip_curve_chart($data = ['aud_id'=>'26','time'=>'2024/05/25','token'=>'0dafb98a10995c98b5a33b7d59d986ca']){
public function skip_curve_chart($data = ['aud_id'=>'83','time'=>'2024-07-24','token'=>'0dafb98a10995c98b5a33b7d59d986ca']){
if(count(input('post.')) > 0){
$data = input('post.');
}
@ -109,29 +140,45 @@ class Skip extends Base{
public function skip_manual_recording_action($data){
// 分秒转换为秒
$data['time'] = abs($data['time_m'])*60+abs($data['time_s']);
$last_data_body = Db::table('app_card_body_data')->where(['aud_id'=>$data['aud_id']])->order('record_time desc,id desc')->field('id,weight_val,record_time')->find();
if(!$last_data_body){
$last_data_body = Db::table('app_user_data')->where(['id'=>$data['aud_id']])->field('id,weight as weight_val')->find();
if(!$last_data_body){
return $this->msg(10004);
}
$user_msg_content = Db::table('app_user_data')->where(['id'=>$data['aud_id']])->count();
if($user_msg_content<=0){
return $this->msg(10004);
}
if(!array_key_exists('kcal', $data)){
$last_data_body = Db::table('app_card_body_data')->where(['aud_id'=>$data['aud_id'],'is_del'=>0])->order('record_time desc,id desc')->field('id,weight_val,record_time')->find();
if(!$last_data_body){
$last_data_body = Db::table('app_user_data')->where(['id'=>$data['aud_id']])->field('id,weight as weight_val')->find();
if(!$last_data_body){
return $this->msg(10004);
}
}
$kcal_data = $this->skip_kcal_calculate($data['num'],$data['time'],$last_data_body['weight_val']);
}else{
// 将时间从秒转换为分钟
$minutes = bcdiv($data['time'],60,20);
// 计算每分钟的跳绳次数
$jumpsPerMinute = bcdiv($data['num'],$minutes,2);
$kcal_data['totalCalories'] = $data['kcal'];
$kcal_data['averageAchievement'] = $jumpsPerMinute;
$kcal_data['caloriesPerMinute'] = bcdiv($kcal_data['totalCalories'],$minutes,2);
}
$data_set = [
'create_time'=>date('Y-m-d H:i:s'),
'last_update_time'=>date('Y-m-d H:i:s'),
'jump_num'=>$data['num'],
'jump_time'=>$data['time'],
'jump_kcal'=>$this->skip_kcal_calculate($data['num'],$data['time'],$last_data_body['weight_val'])['totalCalories'],
'average_num'=>$this->skip_kcal_calculate($data['num'],$data['time'],$last_data_body['weight_val'])['averageAchievement'],
'average_kcal'=>$this->skip_kcal_calculate($data['num'],$data['time'],$last_data_body['weight_val'])['caloriesPerMinute'],
'jump_kcal'=>$kcal_data['totalCalories'],
'average_num'=>$kcal_data['averageAchievement'],
'average_kcal'=>$kcal_data['caloriesPerMinute'],
'aud_id'=>$data['aud_id'],
'record_time'=>$data['r_time'],
'record_time'=>array_key_exists('r_time', $data)?$data['r_time']:date('Y-m-d H:i:s'),
'jump_type'=>$data['type']
];
// dump($data);
// dump($last_data_body['weight_val']);
// dump($data_set);
// die;
if(strlen($data_set['record_time']) <= 12){
$data_set['record_time'] = $this->addCurrentTimeToDateString($data_set['record_time']);
}
$last_data_body = Db::table('app_card_skip_data')->insert($data_set);
$result = [
'today_jump_num'=>0,
@ -147,7 +194,8 @@ class Skip extends Base{
$result['last_jump_num'] = $data['num'];
$result['last_jump_time'] = $data['time'];
$result['last_jump_kcal'] = $data_set['jump_kcal'];
$result['last_record_time'] = str_replace('-', '/', $data['r_time']);
// $result['last_record_time'] = str_replace('-', '/', $data_set['record_time']);
$result['last_record_time'] = $data_set['record_time'];
$time_conversion = $this->handle_hour_branch_second($result['today_jump_time']);
$result['today_jump_time'] = $time_conversion['h'].':'.$time_conversion['m'].':'.$time_conversion['s'];
$time_conversion = $this->handle_hour_branch_second($result['last_jump_time']);
@ -172,7 +220,8 @@ class Skip extends Base{
$result['last_jump_num'] = $last_data['jump_num'];
$result['last_jump_time'] = $last_data['jump_time'];
$result['last_jump_kcal'] = $last_data['jump_kcal'];
$result['last_record_time'] = str_replace('-', '/', $last_data['record_time']);
// $result['last_record_time'] = str_replace('-', '/', $last_data['record_time']);
$result['last_record_time'] = $last_data['record_time'];
}else{
$result['last_jump_num'] = 0;
$result['last_jump_time'] = 0;
@ -187,13 +236,13 @@ class Skip extends Base{
}
################################################################skip_curve_chart
// 运动曲线
public function skip_curve_chart_action($data = ['aud_id'=>'11','time'=>'2024']){
public function skip_curve_chart_action($data){
// public function skip_motion_curve($data = ['aud_id'=>'11','time_data'=>['2024','04']]){
// public function skip_motion_curve($data = ['aud_id'=>'11','time_data'=>['2024','12','31']]){
$audid = $data['aud_id'];
$timeData = explode('/', $data['time']);
$timeData = explode('-', $data['time']);
// 根据$timeData的长度构建不同的查询条件
$map = ['aud_id' => $audid];
@ -212,8 +261,9 @@ class Skip extends Base{
}
// 使用查询构造器进行查询
$result = Db::name('app_card_skip_data')->where($map)->field('jump_num,jump_time,jump_kcal,aud_id,record_time,jump_type,DATEPART(hour, record_time) AS hour,DATEPART(day, record_time) AS day,DATEPART(month, record_time) AS month')->order('record_time')->select();
$result = Db::name('app_card_skip_data')->where($map)->field('jump_num,jump_time,jump_kcal,aud_id,record_time,jump_type,DATEPART(hour, record_time) AS hour,DATEPART(minute, record_time) AS minute,DATEPART(day, record_time) AS day,DATEPART(month, record_time) AS month')->order('record_time')->select();
// dump($result);
// die;
$return_data = [];
if(count($timeData) == 3){
$key_condition = 'hour';
@ -222,24 +272,31 @@ class Skip extends Base{
}else if(count($timeData) == 1){
$key_condition = 'month';
}
// dump($key_condition);
foreach ($this->curve_data_format as $key => $value) {
$temporary_arr['title'] = $value[0];
$temporary_arr['title'] = $value[0].'('.$value[1].')';
$temporary_arr['key'] = $key;
$temporary_arr['line']['categories'] = [];
$temporary_arr['line']['series'][0]['color'] = $value[2];
$temporary_arr['line']['series'][0]['name'] = $value[0];
$temporary_arr['line']['series'][0]['name'] = $value[0].'('.$value[1].')';
$temporary_arr['line']['series'][0]['data'] = [];
foreach ($result as $k => $v) {
if($key_condition == 'hour'){
if(in_array($result[$k][$key_condition].'时',$temporary_arr['line']['categories'])){
$num = array_search($result[$k][$key_condition].'时', $temporary_arr['line']['categories']);
$temporary_arr['line']['series'][0]['data'][$num] = bcadd($temporary_arr['line']['series'][0]['data'][$num],$result[$k][$key],2);
}else{
array_push($temporary_arr['line']['categories'],$result[$k][$key_condition].'时');
array_push($temporary_arr['line']['series'][0]['data'],$result[$k][$key]);
}
}else if($key_condition = 'day'){
// 每一次的记录都添加进去
array_push($temporary_arr['line']['categories'],$result[$k]['hour'].':'.$result[$k]['minute']);
array_push($temporary_arr['line']['series'][0]['data'],$result[$k][$key]);
// // 根据小时分组
// if(in_array($result[$k][$key_condition].'时',$temporary_arr['line']['categories'])){
// $num = array_search($result[$k][$key_condition].'时', $temporary_arr['line']['categories']);
// $temporary_arr['line']['series'][0]['data'][$num] = bcadd($temporary_arr['line']['series'][0]['data'][$num],$result[$k][$key],2);
// }else{
// array_push($temporary_arr['line']['categories'],$result[$k][$key_condition].'时');
// array_push($temporary_arr['line']['series'][0]['data'],$result[$k][$key]);
// }
}else if($key_condition == 'day'){
// 根据天分组
if(in_array($result[$k]['month'].'/'.$result[$k][$key_condition],$temporary_arr['line']['categories'])){
$num = array_search($result[$k]['month'].'/'.$result[$k][$key_condition], $temporary_arr['line']['categories']);
$temporary_arr['line']['series'][0]['data'][$num] = bcadd($temporary_arr['line']['series'][0]['data'][$num],$result[$k][$key],2);
@ -249,6 +306,7 @@ class Skip extends Base{
}
}else{
// 根据年分组
if(in_array($result[$k]['month'].'月',$temporary_arr['line']['categories'])){
$num = array_search($result[$k]['month'].'月', $temporary_arr['line']['categories']);
$temporary_arr['line']['series'][0]['data'][$num] = bcadd($temporary_arr['line']['series'][0]['data'][$num],$result[$k][$key],2);

View File

@ -14,7 +14,7 @@ class Sportstesting extends Base{
protected $color = ['#FF5656','#FF5656','#5AD06D','#6492F6','#3967D6'];
protected $page_num = 10;
protected $default_address = '上海';
protected $city_data_rule_name = [
'xc'=>'现场类项目',
'xc_1'=>'第一类素质项目8分',
@ -598,11 +598,11 @@ class Sportstesting extends Base{
################################################################接口################################################################
################################################################接口################################################################
// 获取单个类型列表
public function sportstesting_get_type_list($data = ['address'=>'河南,郑州市','parameter_data'=>'第一类项目','gender'=>'1','token'=>'caadd1be045a65f30b92aa805f1de54a']){
public function sportstesting_get_type_list($data = ['address'=>'上海','gender'=>'1','token'=>'caadd1be045a65f30b92aa805f1de54a']){
if(count(input('post.')) > 0){
$data = input('post.');
}
if(!array_key_exists('address', $data) || !array_key_exists('parameter_data', $data) || !array_key_exists('gender', $data) || !array_key_exists('token', $data)){
if(!array_key_exists('address', $data) || !array_key_exists('gender', $data) || !array_key_exists('token', $data)){
return $this->msg(10001);
}
// cache($data['token'], time());
@ -610,11 +610,10 @@ class Sportstesting extends Base{
return $this->msg(20001);
}
unset($data['token']);
// cache('sportstesting_get_type_list',json_encode($data));
return $this->sportstesting_get_type_list_action($data);
}
// 获取地区类型列表
public function sportstesting_get_region_list($data = ['parameter_data'=>'河南,郑州市','gender'=>'1','token'=>'caadd1be045a65f30b92aa805f1de54a']){
public function sportstesting_get_region_list($data = ['parameter_data'=>'上海','gender'=>'1','token'=>'caadd1be045a65f30b92aa805f1de54a']){
if(count(input('post.')) > 0){
$data = input('post.');
}
@ -629,7 +628,7 @@ class Sportstesting extends Base{
return $this->sportstesting_get_region_list_action($data);
}
// 获取估分最后一次数据
public function sportstesting_get_last_data($data = ['aud_id'=>'25','token'=>'0dafb98a10995c98b5a33b7d59d986ca']){
public function sportstesting_get_last_data($data = ['aud_id'=>'61','token'=>'0dafb98a10995c98b5a33b7d59d986ca']){
if(count(input('post.')) > 0){
$data = input('post.');
}
@ -643,9 +642,8 @@ class Sportstesting extends Base{
// cache('sportstesting_get_last_data',json_encode($data));
return $this->sportstesting_get_last_data_action($data);
}
// 计算并存储数据
public function sportstesting_set_once_data($data = ['aud_id'=>'25','parameter_data'=>'河南,郑州市','result_data'=>'','gender'=>'1','token'=>'caadd1be045a65f30b92aa805f1de54a']){
public function sportstesting_set_once_data($data = ['aud_id'=>'25','parameter_data'=>'上海','result_data'=>'','gender'=>'1','token'=>'caadd1be045a65f30b92aa805f1de54a']){
if(count(input('post.')) > 0){
$data = input('post.');
}
@ -662,7 +660,6 @@ class Sportstesting extends Base{
return $this->sportstesting_set_once_data_action2($data);
// return $this->sportstesting_set_once_data_action($data);
}
// 获取估分历史列表
public function sportstesting_get_all_list($data = ['aud_id'=>'25','page'=>'1','token'=>'0dafb98a10995c98b5a33b7d59d986ca']){
if(count(input('post.')) > 0){
@ -680,7 +677,7 @@ class Sportstesting extends Base{
return $this->sportstesting_get_all_list_action($data);
}
// 获取估分历史详情
public function sportstesting_get_one_details($data = ['id'=>'2','token'=>'0dafb98a10995c98b5a33b7d59d986ca']){
public function sportstesting_get_one_details($data = ['id'=>'2','token'=>'caadd1be045a65f30b92aa805f1de54a']){
if(count(input('post.')) > 0){
$data = input('post.');
}
@ -692,16 +689,15 @@ class Sportstesting extends Base{
return $this->msg(20001);
}
unset($data['token']);
// cache('sportstesting_get_one_details',json_encode($data));
return $this->sportstesting_get_one_details_action($data);
}
// 获取估分已有的地区列表
public function sportstesting_get_city_list($data = ['token'=>'caadd1be045a65f30b92aa805f1de54a']){
public function sportstesting_get_city_list($data = ['token'=>'caadd1be045a65f30b92aa805f1de54a','type'=>'1']){
if(count(input('post.')) > 0){
$data = input('post.');
}
if(!array_key_exists('token', $data)){
if(!array_key_exists('token', $data) || !array_key_exists('type', $data)){
return $this->msg(10001);
}
// cache($data['token'], time());
@ -709,8 +705,7 @@ class Sportstesting extends Base{
return $this->msg(20001);
}
unset($data['token']);
// cache('sportstesting_get_one_details',json_encode($data));
return $this->sportstesting_get_city_list_action();
return $this->sportstesting_get_city_list_action($data);
}
################################################################业务################################################################
@ -720,7 +715,7 @@ class Sportstesting extends Base{
$parameter_data = explode(',',$data['address']);
$gender = $data['gender'];
if(count($parameter_data) == 1){
$db_condition = "province = ".$parameter_data[0];
$db_condition = "province = '".$parameter_data[0]."'";
}else if(count($parameter_data) == 2){
$db_condition = "province = '".$parameter_data[0]."' and city = '".$parameter_data[1]."'";
}else if(count($parameter_data) == 3){
@ -733,62 +728,11 @@ class Sportstesting extends Base{
$data = Db::table('admin_estimate')->where($db_condition)->find();
$data = json_decode($data['content'],true);
// dump($data);
// die;
$result = $this->handle_default_rule_list_content($data,$gender);
// die;
return $this->msg($result);
// $parameter_data = explode('-',$data['parameter_data']);
// if(count($parameter_data) < 3){
// return $this->msg(10005);
// }
if(!array_key_exists($data['parameter_data'], $this->city_data_rule2)){
return $this->msg(10005);
}
// if(!array_key_exists($parameter_data[1], $this->city_data_rule2[$parameter_data[0]])){
// return $this->msg(10005);
// }
// if(!array_key_exists($parameter_data[1].'_'.$parameter_data[2], $this->city_data_rule2[$parameter_data[0]][$parameter_data[1]])){
// return $this->msg(10005);
// }
$data['gender'] = $data['gender'] == 2?$data['gender']:1;
$result['list'] = [];
// city_data_rule_is_choice
foreach ($this->city_data_rule2[$data['parameter_data']] as $key => $value) {
foreach ($value as $k1 => $v1) {
if(in_array($k1,$this->city_data_rule_is_choice)){
$temporary_arr_1 = ['key'=>$k1,'list'=>[]];
foreach ($v1[$data['gender']] as $k2 => $v2) {
array_push($temporary_arr_1['list'],[
'name'=>$k2,
'proportion'=>$v2['proportion'],
'value'=>$v2['value'],
'proportion_value'=>null,
'unit'=>$v2['unit'],
'type'=>$v2['type'],
]);
}
array_push($result['list'],$temporary_arr_1);
}
}
}
// foreach ($this->city_data_rule2[$parameter_data[0]][$parameter_data[1]][$parameter_data[1].'_'.$parameter_data[2]][$data['gender']] as $key => $value) {
// dump($key);
// dump($value);
// // $temporary_arr_1 = ['name'=>$key,'proportion'=>$value['proportion'],'value'=>$value['value'],'proportion_value'=>null,'unit'=>$value['unit']];
// // array_push($result['list'],$temporary_arr_1);
// }
// die;
// dump($result);
return $this->msg($result);
}
################################################sportstesting_get_region_list
public function sportstesting_get_region_list_action($data){
@ -796,7 +740,7 @@ class Sportstesting extends Base{
$parameter_data = explode(',',$data['parameter_data']);
$gender = $data['gender'];
if(count($parameter_data) == 1){
$db_condition = "province = ".$parameter_data[0];
$db_condition = "province = '".$parameter_data[0]."'";
}else if(count($parameter_data) == 2){
$db_condition = "province = '".$parameter_data[0]."' and city = '".$parameter_data[1]."'";
}else if(count($parameter_data) == 3){
@ -805,107 +749,70 @@ class Sportstesting extends Base{
return $this->msg(10005);
}
// dump($db_condition);
// die;
$result['list'] = [];
$result['total_score'] = 0;
$data = Db::table('admin_estimate')->where($db_condition)->find();
$data = json_decode($data['content'],true);
$result = $this->handle_default_rule_list($data,$gender);
return $this->msg($result);
// if(!array_key_exists($data['parameter_data'], $this->city_data_rule2)){
// return $this->msg(10005);
// }
// $result['list'] = [];
// $result['total_score'] = 0;
// foreach ($this->city_data_rule2[$data['parameter_data']] as $key => $value) {
// $temporary_arr_1 = ['name'=>$this->city_data_rule_name[$key],'key'=>$key,'list'=>[]];
// foreach ($value as $k1 => $v1) {
// $temporary_pd = in_array($k1,$this->city_data_rule_is_choice);
// $temporary_arr_2 = ['name'=>$this->city_data_rule_name[$k1],'key'=>$k1,'is_choice'=>$temporary_pd?1:0,'list'=>[]];
// if(!$temporary_pd){
// foreach ($v1[$data['gender']] as $k2 => $v2) {
// // dump($k2);
// // dump($v2);
// $temporary_arr_3 = ['name'=>$k2,'proportion'=>$v2['proportion'],'value'=>$v2['value'],'proportion_value'=>null,'unit'=>$v2['unit'],'type'=>$v2['type']];
// array_push($temporary_arr_2['list'],$temporary_arr_3);
// }
// }
// array_push($temporary_arr_1['list'],$temporary_arr_2);
// }
// array_push($result['list'],$temporary_arr_1);
// }
// // die;
// return $this->msg($result);
// dump($data);
// die;
if($data){
// dump(568);
// die;
$data = json_decode($data['content'],true);
$result = $this->handle_default_rule_list($data,$gender);
return $this->msg($result);
}else{
return $this->msg(10004,'暂无该地区的估分规则,请选择其它地区');
}
}
################################################sportstesting_get_last_data
public function sportstesting_get_last_data_action($data){
$user_data = Db::table('app_region_scores_data')->where(['aud_id'=>$data['aud_id']])->order('id desc')->find();
$user_data = Db::table('app_sportstesting_data')->where(['aud_id'=>$data['aud_id']])->order('id desc')->find();
if($user_data){
$address = explode(',',$user_data['address']);
$temporary_data = json_decode($user_data['content'],true);
// dump($temporary_data);
$result['list'] = [];
$result['total_score'] = $temporary_data['total_score'];
unset($temporary_data['total_score']);
foreach ($temporary_data as $key => $value) {
$temporary_arr_1 = ['name'=>$this->city_data_rule_name[$key],'key'=>$key,'list'=>[]];
foreach ($value as $k => $v) {
$temporary_arr_2 = ['name'=>$this->city_data_rule_name[$k],'key'=>$k,'list'=>[]];
foreach ($v as $k1 => $v1) {
array_push($temporary_arr_2['list'],$v1);
}
array_push($temporary_arr_1['list'],$temporary_arr_2);
}
array_push($result['list'],$temporary_arr_1);
}
$result['list'] = $temporary_data;
$result['total_score'] = $user_data['score'];
$result['province'] = count($address)>=1?$address[0]:'';
$result['city'] = count($address)>=2?$address[1]:'';
$result['area'] = count($address)>=3?$address[2]:'';
return $this->msg($result);
}else{
$user_data = Db::table('app_user_data')->where(['id'=>$data['aud_id']])->field('id,grade')->find();
$result['list'] = [
[
'name'=>'现场类项目',
'key'=>'xc',
'list'=>[
['name'=>'第一类素质项目8分','key'=>'xc_1','list'=>[
$user_data==2?['name'=>'800米','proportion'=>'1','value'=>'0','proportion_value'=>'0']:['name'=>'1000米','proportion'=>'1','value'=>'0','proportion_value'=>'0'],
],],
['name'=>'第二类素质项目Ⅱ8分','key'=>'xc_2','list'=>[],],
['name'=>'第三类运动能力8分','key'=>'xc_3','list'=>[],],
['name'=>'第四类运动能力Ⅱ6分','key'=>'xc_4','list'=>[],],
],
],
[
'name'=>'过程类项目',
'key'=>'gc',
'list'=>[
['name'=>'8年级体质健康统测10分','key'=>'gc_8_m','list'=>[
['name'=>'BMI','proportion'=>'1','value'=>'0','proportion_value'=>'0'],
['name'=>'肺活量','proportion'=>'1','value'=>'0','proportion_value'=>'0'],
['name'=>'50米跑','proportion'=>'1','value'=>'0','proportion_value'=>'0'],
['name'=>'坐位体前屈','proportion'=>'1','value'=>'0','proportion_value'=>'0'],
['name'=>'立定跳远','proportion'=>'1','value'=>'0','proportion_value'=>'0'],
$user_data==2?['name'=>'一分钟仰卧起坐','proportion'=>'1','value'=>'0','proportion_value'=>'0']:['name'=>'引体向上','proportion'=>'1','value'=>'0','proportion_value'=>'0'],
$user_data==2?['name'=>'女生800米','proportion'=>'1','value'=>'0','proportion_value'=>'0']:['name'=>'男生1000米','proportion'=>'1','value'=>'0','proportion_value'=>'0'],
],],
['name'=>'8年级体育与健康知识机考10分','key'=>'gc_8_r','list'=>[
['name'=>'机考','proportion'=>'1','value'=>'0','proportion_value'=>'0'],
],],
],
],
];
$user_msg_data = Db::table('app_user_data')->where(['id'=>$data['aud_id']])->field('id,gender')->find();
if(!$user_msg_data){
return $this->msg(10004);
}
$address = $this->default_address;
// dump($address);
// die;
$address_data = $this->sportstesting_get_region_list_action(['parameter_data'=>$address,'gender'=>$user_msg_data['gender']]);
// dump(json_decode($address_data->getContent(),true));
// dump(get_object_vars($address_data));
// die;
$address_data = json_decode($address_data->getContent(),true);
// return $this->msg($address_data);
if($address_data['code'] == 10004){
return $this->msg(10004);
}
$address = explode(',',$address);
$result['list'] = $address_data['data'];
$result['total_score'] = 0;
$result['province'] = count($address)>=1?$address[0]:'';
$result['city'] = count($address)>=2?$address[1]:'';
$result['area'] = count($address)>=3?$address[2]:'';
return $this->msg($result);
}
}
################################################sportstesting_get_all_list
public function sportstesting_get_all_list_action($data){
$user_data_num = Db::table('app_region_scores_data')->where(['aud_id'=>$data['aud_id']])->count();
$user_data = Db::table('app_region_scores_data')->where(['aud_id'=>$data['aud_id']])->page($data['page'],$this->page_num)->order('id desc')->select();
$user_data_num = Db::table('app_sportstesting_data')->where(['aud_id'=>$data['aud_id']])->count();
$user_data = Db::table('app_sportstesting_data')->where(['aud_id'=>$data['aud_id']])->page($data['page'],$this->page_num)->order('id desc')->select();
// dump($user_data);
// die;
if($user_data){
$result = [];
$result['totalrows'] = $user_data_num;
@ -918,6 +825,7 @@ class Sportstesting extends Base{
'id'=>$value['id'],
'create_time'=>$value['create_time'],
'score'=>$value['score'],
'address'=>$value['address'],
]);
}
return $this->msg($result);
@ -927,401 +835,41 @@ class Sportstesting extends Base{
}
################################################sportstesting_get_one_details
public function sportstesting_get_one_details_action($data){
$user_data = Db::table('app_region_scores_data')->where(['id'=>$data['id']])->find();
$user_data = Db::table('app_sportstesting_data')->where(['id'=>$data['id']])->find();
if($user_data){
$temporary_data = json_decode($user_data['content'],true);
$temporary_data['list'] = json_decode($user_data['content'],true);
// 压入表头
foreach ($temporary_data['list'] as $key => $value) {
foreach ($value['list'] as $v1k => $v1v) {
array_unshift($temporary_data['list'][$key]['list'][$v1k]['list'],[
'name'=>'项目名',
'value'=>'成绩',
'score'=>'分值',
'proportion_value'=>'得分',
]);
}
}
$temporary_data['score'] = $user_data['score'];
$temporary_data['address'] = $user_data['address'];
$temporary_data['create_time'] = $user_data['create_time'];
$temporary_data['region'] = explode(',',$user_data['region'])[0];
// $temporary_data['']
// $result['list'] = [];
// $result['total_score'] = $temporary_data['total_score'];
// unset($temporary_data['total_score']);
// dump($temporary_data);
return $this->msg($temporary_data);
// foreach ($temporary_data['list'] as $key => $value) {
// // dump($this->city_data_rule_name[$key]);
// $temporary_arr_1 = ['name'=>$this->city_data_rule_name[$key],'key'=>$key,'list'=>[]];
// // dump($temporary_arr_1);
// foreach ($value as $k => $v) {
// // dump($k);
// // dump($v);
// $temporary_arr_2 = ['name'=>$this->city_data_rule_name[$k],'key'=>$k,'list'=>[]];
// foreach ($v as $k1 => $v1) {
// array_push($temporary_arr_2['list'],$v1);
// }
// array_push($temporary_arr_1['list'],$temporary_arr_2);
// }
// array_push($result['list'],$temporary_arr_1);
// }
// return $this->msg($result);
}else{
return $this->msg(10004);
}
}
################################################sportstesting_set_once_data
public function sportstesting_set_once_data_action($data){
$region = explode(',',$data['parameter_data']);
$region_rule = Db::table('app_region_scores_rule')->where($region[1]."='".$region[0]."'")->find();
$rule = json_decode($region_rule['content'],true);
$result = [];
if($region[0] == '北京市'){
$data_data = [
[
"name"=>"现场",
"key"=>"xc",
"list"=>[
[
"name"=>"第一类素质项目8分",
"key"=>"xc_1",
"is_choice"=>0,
"list"=>[
[
"name"=>"1000米",
"proportion"=>"1",
"value"=>"4:19",
"proportion_value"=>null,
"unit"=>"分/秒"
]
]
],
[
"name"=>"第二类素质项目Ⅱ8分",
"key"=>"xc_2",
"is_choice"=>1,
"list"=>[
[
"name"=>"引体向上",
"proportion"=>"1",
"value"=>"5",
"proportion_value"=>null,
"unit"=>""
]
]
],
[
"name"=>"第三类运动能力8分",
"key"=>"xc_3",
"is_choice"=>1,
"list"=>[
[
"name"=>"足球运球/射门",
"proportion"=>"1",
"value"=>"20.4",
"proportion_value"=>null,
"unit"=>""
]
]
],
[
"name"=>"第四类运动能力Ⅱ6分",
"key"=>"xc_4",
"is_choice"=>1,
"list"=>[
[
"name"=>"100米游泳",
"proportion"=>"1",
"value"=>"2:34",
"proportion_value"=>null,
"unit"=>"分/秒"
]
]
]
]
],
[
"name"=>"过程",
"key"=>"gc",
"list"=>[
[
"name"=>"8年级体质健康统测10分",
"key"=>"gc_8_m",
"is_choice"=>0,
"list"=>[
[
"name"=>"BMI",
"proportion"=>"0.15",
"value"=>"17.5",
"proportion_value"=>null,
"unit"=>""
],
[
"name"=>"肺活量",
"proportion"=>"0.15",
"value"=>"3450",
"proportion_value"=>null,
"unit"=>"ml"
],
[
"name"=>"50米跑",
"proportion"=>"0.2",
"value"=>"8.5",
"proportion_value"=>null,
"unit"=>""
],
[
"name"=>"坐位体前屈",
"proportion"=>"0.1",
"value"=>"10.3",
"proportion_value"=>null,
"unit"=>"cm"
],
[
"name"=>"立定跳远",
"proportion"=>"0.1",
"value"=>"170",
"proportion_value"=>null,
"unit"=>"cm"
],
[
"name"=>"引体向上",
"proportion"=>"0.1",
"value"=>"12",
"proportion_value"=>null,
"unit"=>""
],
[
"name"=>"男生1000米",
"proportion"=>"0.2",
"value"=>"4:00",
"proportion_value"=>null,
"unit"=>"分/秒"
]
]
],
[
"name"=>"8年级体育与健康知识机考10分",
"key"=>"gc_8_r",
"is_choice"=>0,
"list"=>[
[
"name"=>"机测",
"proportion"=>"1",
"value"=>"5",
"proportion_value"=>null,
"unit"=>""
]
]
]
]
]
];
// $data['result_data'] = '[{"name":"现场","key":"xc","list":[{"name":"第一类素质项目8分","key":"xc_1","is_choice":0,"list":[{"name":"1000米","proportion":"1","value":"10:00","proportion_value":null,"unit":"分\/秒","type":"4"}]},{"name":"第二类素质项目Ⅱ8分","key":"xc_2","is_choice":1,"list":[]},{"name":"第三类运动能力8分","key":"xc_3","is_choice":1,"list":[]},{"name":"第四类运动能力Ⅱ6分","key":"xc_4","is_choice":1,"list":[]}]},{"name":"过程","key":"gc","list":[{"name":"8年级体质健康统测10分","key":"gc_8_m","is_choice":0,"list":[{"name":"BMI","proportion":"0.15","value":"0","proportion_value":null,"unit":"","type":"4"},{"name":"肺活量","proportion":"0.15","value":"0","proportion_value":null,"unit":"ml","type":"4"},{"name":"50米跑","proportion":"0.2","value":"00.0","proportion_value":null,"unit":"秒","type":"4"},{"name":"坐位体前屈","proportion":"0.1","value":"-1","proportion_value":null,"unit":"cm","type":"4"},{"name":"立定跳远","proportion":"0.1","value":"0","proportion_value":null,"unit":"cm","type":"4"},{"name":"引体向上","proportion":"0.1","value":"0","proportion_value":null,"unit":"个","type":"4"},{"name":"男生1000米","proportion":"0.2","value":"00:00","proportion_value":null,"unit":"分\/秒","type":"4"}]},{"name":"8年级体育与健康知识机考10分","key":"gc_8_r","is_choice":0,"list":[{"name":"机测","proportion":"1","value":"10","proportion_value":null,"unit":"分","type":"4"}]}]}]';
// dump($data['result_data']);
// dump(json_encode($data['result_data']));
// die;
// return $this->msg(json_decode($data['result_data'],true));
// xc_1
$data['result_data'] = json_decode($data['result_data'],true);
foreach ($data['result_data'] as $key => $value) {
// dump($key);
if($value['key'] == 'xc'){
foreach ($value['list'] as $k1 => $v1) {
if(count($v1['list']) <= 0){
break;
}
// dump($v1);
foreach ($v1['list'] as $k2 => $v2) {
// dump($rule[$value['key']][$v1['key']][$data['gender']][$v2['name']]['list']);
foreach ($rule[$value['key']][$v1['key']][$data['gender']][$v2['name']]['list'] as $r_k => $r_v) {
// dump($r_k);
// dump($r_k);
if($v2['value'] == '00:00' || $v2['value'] == '00.0' || $v2['value'] == '0'){
$data['result_data'][$key]['list'][$k1]['list'][$k2]['proportion_value'] = '0';
break;
}
// 设默认分值为0
$data['result_data'][$key]['list'][$k1]['list'][$k2]['proportion_value'] = '0';
if($v1['key'] == 'xc_1'){
if($this->calculate_minutes_seconds($r_k,$v2['value'])[0]){
// dump($data['result_data'][$key]);
$data['result_data'][$key]['list'][$k1]['list'][$k2]['proportion_value'] = $r_v;
break;
}
}else if($v1['key'] == 'xc_2'){
if(in_array($v2['name'],['引体向上','双杠臂屈伸','斜身引体','仰卧起坐'])){
if($v2['value'] >= $r_k){
$data['result_data'][$key]['list'][$k1]['list'][$k2]['proportion_value'] = $r_v;
break;
}
}
}else if($v1['key'] == 'xc_3'){
if(in_array($v2['name'],['足球运球/射门'])){
if($v2['value'] <= $r_k){
$data['result_data'][$key]['list'][$k1]['list'][$k2]['proportion_value'] = $r_v;
break;
}
}
}else if($v1['key'] == 'xc_4'){
if(in_array($v2['name'],['100米游泳'])){
if($this->calculate_minutes_seconds($r_k,$v2['value'])[0]){
$data['result_data'][$key]['list'][$k1]['list'][$k2]['proportion_value'] = $r_v;
break;
}
}
}
}
}
}
}else{
foreach ($value['list'] as $k1 => $v1) {
if($v1['key'] == 'gc_8_m'){
foreach ($v1['list'] as $k2 => $v2) {
foreach ($rule[$value['key']][$v1['key']][$data['gender']][$v2['name']]['list'] as $r_k => $r_v) {
if($v2['value'] == '00:00' || $v2['value'] == '00.0' || $v2['value'] == '0'){
$data['result_data'][$key]['list'][$k1]['list'][$k2]['score'] = '0';
break;
}
$data['result_data'][$key]['list'][$k1]['list'][$k2]['score'] = '0';
// dump($r_k);
if($v2['name'] == 'BMI'){
if($v2['value'] <= $r_k){
// $result['gc']['gc_8'][$key]['value'] = $v1;
// $data['result_data'][$key]['list'][$k1]['list'][$k2]['value'] = $r_v;
$data['result_data'][$key]['list'][$k1]['list'][$k2]['score'] = $r_v;
break;
}
}else if($v2['name'] == '肺活量'){
if($v2['value'] >= $r_k){
// $data['result_data'][$key]['list'][$k1]['list'][$k2]['value'] = $r_v;
$data['result_data'][$key]['list'][$k1]['list'][$k2]['score'] = $r_v;
// $result['gc']['gc_8'][$key]['value'] = $v1;
break;
}
}else if($v2['name'] == '50米跑'){
if($v2['value'] <= $r_k){
// $data['result_data'][$key]['list'][$k1]['list'][$k2]['value'] = $r_v;
$data['result_data'][$key]['list'][$k1]['list'][$k2]['score'] = $r_v;
// $result['gc']['gc_8'][$key]['value'] = $v1;
break;
}
}else if($v2['name'] == '坐位体前屈'){
if($v2['value'] >= $r_k){
// $data['result_data'][$key]['list'][$k1]['list'][$k2]['value'] = $r_v;
$data['result_data'][$key]['list'][$k1]['list'][$k2]['score'] = $r_v;
// $result['gc']['gc_8'][$key]['value'] = $v1;
break;
}
}else if($v2['name'] == '立定跳远'){
if($v2['value'] >= $r_k){
// $data['result_data'][$key]['list'][$k1]['list'][$k2]['value'] = $r_v;
$data['result_data'][$key]['list'][$k1]['list'][$k2]['score'] = $r_v;
// $result['gc']['gc_8'][$key]['value'] = $v1;
break;
}
}else if($v2['name'] == '引体向上'){
if($v2['value'] >= $r_k){
// $data['result_data'][$key]['list'][$k1]['list'][$k2]['value'] = $r_v;
$data['result_data'][$key]['list'][$k1]['list'][$k2]['score'] = $r_v;
// $result['gc']['gc_8'][$key]['value'] = $v1;
$add_point = $v2['value'] - 14;
if(($add_point>=1) && ($add_point<=10)){
// $data['result_data'][$key]['list'][$k1]['list'][$k2]['value'] = $add_point + $data['result_data'][$key]['list'][$k1]['list'][$k2]['value'];
$data['result_data'][$key]['list'][$k1]['list'][$k2]['score'] = $add_point + $data['result_data'][$key]['list'][$k1]['list'][$k2]['score'];
}
break;
}
}else if($v2['name'] == '一分钟仰卧起坐'){
if($v2['value'] >= $r_k){
// $data['result_data'][$key]['list'][$k1]['list'][$k2]['value'] = $r_v;
$data['result_data'][$key]['list'][$k1]['list'][$k2]['score'] = $r_v;
$add_point = $v2['value'] - 51;
if(($add_point>=2) && ($add_point<=13)){
foreach ($rule[$value['key']][$v1['key']][$data['gender']][$v2['name']]['add_point'] as $kk1 => $vv1) {
if($add_point >= $kk1){
// $data['result_data'][$key]['list'][$k1]['list'][$k2]['value'] = $vv1 + $data['result_data'][$key]['list'][$k1]['list'][$k2]['value'];
$data['result_data'][$key]['list'][$k1]['list'][$k2]['score'] = $vv1 + $data['result_data'][$key]['list'][$k1]['list'][$k2]['score'];
break;
}
}
}else{
break;
}
}
}else if($v2['name'] == '男生1000米' || $v2['name'] == '女生800米'){
$temporary_js = $this->calculate_minutes_seconds($r_k,$v2['value']);
if($temporary_js[0]){
// $data['result_data'][$key]['list'][$k1]['list'][$k2]['value'] = $r_v;
$data['result_data'][$key]['list'][$k1]['list'][$k2]['score'] = $r_v;
if($data['result_data'][$key]['list'][$k1]['list'][$k2]['score'] >= 100 && $temporary_js[1] < -4){
foreach ($rule[$value['key']][$v1['key']][$data['gender']][$v2['name']]['add_point'] as $kk1 => $vv1) {
if($temporary_js[1] <= $kk1){
$data['result_data'][$key]['list'][$k1]['list'][$k2]['score'] = $vv1 + $data['result_data'][$key]['list'][$k1]['list'][$k2]['score'];
break;
}
}
}else{
break;
}
}
}
}
}
}else{
// dump($v1['name']);
// dump($v1['list'][0]);
if($v1['list'][0]['value'] >= '10'){
$data['result_data'][$key]['list'][$k1]['list'][0]['proportion_value'] = '10';
}else{
$data['result_data'][$key]['list'][$k1]['list'][0]['proportion_value'] = $v1['list'][0]['value'];
}
}
}
}
}
// die;
// 乘 bcmul(,,20)
// 除 bcdiv(,,20)
// dump($data['result_data'][1]['list'][0]['list']);
foreach ($data['result_data'][1]['list'][0]['list'] as $key => $value) {
$data['result_data'][1]['list'][0]['list'][$key]['proportion_value'] = bcmul(bcdiv($data['result_data'][1]['list'][0]['list'][$key]['score'],10,20),$data['result_data'][1]['list'][0]['list'][$key]['proportion'],1);
}
$num = 0;
$result['list'] = $data['result_data'];
foreach ($result['list'] as $key => $value) {
foreach ($value['list'] as $k1 => $v1) {
foreach ($v1['list'] as $k2 => $v2) {
$num = bcadd($num,$v2['proportion_value'],1);
}
}
}
$result['total_score'] = $num;
}
// die;
// return $this->msg($result);
$user_card_list = Db::table('app_region_scores_data')->insert([
'region'=>$data['parameter_data'],
'aud_id'=>$data['aud_id'],
'content'=>json_encode($result),
'score'=>$result['total_score'],
'create_time'=>date('Y-m-d H:i:s'),
]);
if($user_card_list){
return $this->msg($result);
}else{
return $this->msg(10002);
}
}
public function sportstesting_set_once_data_action2($data){
$return_result['total_score'] = 0;
$parameter_data = explode(',',$data['parameter_data']);
$gender = $data['gender'];
if(count($parameter_data) == 1){
$db_condition = "province = ".$parameter_data[0];
$db_condition = "province = '".$parameter_data[0]."'";
}else if(count($parameter_data) == 2){
$db_condition = "province = '".$parameter_data[0]."' and city = '".$parameter_data[1]."'";
}else if(count($parameter_data) == 3){
$db_condition = "province = ".$parameter_data[0]."' and city = '".$parameter_data[1]."' and area = '".$parameter_data[2]."'";
$db_condition = "province = '".$parameter_data[0]."' and city = '".$parameter_data[1]."' and area = '".$parameter_data[2]."'";
}else{
return $this->msg(10005);
}
@ -1330,9 +878,10 @@ class Sportstesting extends Base{
$recognition_rule = $find_data[$gender];
// dump($recognition_rule);
// 测试用删掉s
$data['result_data'] = $this->handle_default_rule_list2($find_data,$gender);
// $data['result_data'] = $this->handle_default_rule_list2($find_data,$gender);
// 测试用删掉e
// dump();
// dump($data);
// die;
foreach ($data['result_data'] as $key => $value) {
// 遍历一级($value['key'] = 现场考试)
// dump($value);
@ -1343,62 +892,92 @@ class Sportstesting extends Base{
// 遍历二级级($v3['name'] = 1000米跑
$temporary_result = $this->obtaining_grades($recognition_rule[$value['key']][$v2['key']]['list'][$v3['name']]['content'],$v3);
$data['result_data'][$key]['list'][$k2]['list'][$k3] = $temporary_result;
$return_result['total_score'] = $return_result['total_score']+$temporary_result['proportion_value'];
$return_result['total_score'] = bcadd($return_result['total_score'],$temporary_result['proportion_value'],2);
}
}
}
$return_result['list'] = $data['result_data'];
return $this->msg($return_result);
$user_sportstesting_set = Db::table('app_sportstesting_data')->insert([
'aud_id'=>$data['aud_id'],
'content'=>json_encode($return_result['list']),
'score'=>$return_result['total_score'],
'create_time'=>date('Y-m-d H:i:s'),
'address'=>$data['parameter_data'],
]);
if($user_sportstesting_set){
foreach ($return_result['list'] as $key => $value) {
foreach ($value['list'] as $v1k => $v1v) {
array_unshift($return_result['list'][$key]['list'][$v1k]['list'],[
'name'=>'项目名',
'value'=>'成绩',
'score'=>'分值',
'proportion_value'=>'得分',
]);
}
}
return $this->msg($return_result);
}else{
return $this->msg(10002);
}
}
################################################sportstesting_get_city_list
public function sportstesting_get_city_list_action(){
$data = Db::table('admin_estimate')->field('id,province,city,area')->select();
$result = [];
// 添加省份
foreach ($data as $key => $value) {
if(!array_key_exists($value['province'],$result)){
$result[$value['province']] = [];
}
}
// 添加市
foreach ($data as $key => $value) {
if($value['city'] == '无'){
continue;
}else{
if(array_key_exists($value['province'],$result)){
if(!array_key_exists($value['city'],$result[$value['province']])){
$result[$value['province']][$value['city']] = [];
}
public function sportstesting_get_city_list_action($type){
if($type['type'] == '1'){
// 已有地区列表
$data = Db::table('admin_estimate')->field('id,province,city,area')->select();
$result = [];
// 添加省份
foreach ($data as $key => $value) {
if(!array_key_exists($value['province'],$result)){
$result[$value['province']] = [];
}
}
}
// 添加区县
foreach ($data as $key => $value) {
if($value['area'] == '无'){
continue;
}else{
if(array_key_exists($value['province'],$result)){
if(array_key_exists($value['city'],$result[$value['province']])){
if(!array_key_exists($value['area'],$result[$value['province']][$value['city']])){
array_push($result[$value['province']][$value['city']],$value['area']);
// 添加市
foreach ($data as $key => $value) {
if($value['city'] == '无'){
continue;
}else{
if(array_key_exists($value['province'],$result)){
if(!array_key_exists($value['city'],$result[$value['province']])){
$result[$value['province']][$value['city']] = [];
}
}
}
}
}
$return_result = [];
foreach ($result as $key => $value) {
$num = array_push($return_result,['name'=>$key,'list'=>[]]);
if(count($value)>0){
foreach ($value as $city_k => $city_v) {
$num2 = array_push($return_result[$num-1]['list'],['name'=>$city_k,'list'=>$city_v]);
// 添加区县
foreach ($data as $key => $value) {
if($value['area'] == '无'){
continue;
}else{
if(array_key_exists($value['province'],$result)){
if(array_key_exists($value['city'],$result[$value['province']])){
if(!array_key_exists($value['area'],$result[$value['province']][$value['city']])){
array_push($result[$value['province']][$value['city']],$value['area']);
}
}
}
}
}
$return_result = [];
foreach ($result as $key => $value) {
$num = array_push($return_result,['name'=>$key,'list'=>[]]);
if(count($value)>0){
foreach ($value as $city_k => $city_v) {
$num2 = array_push($return_result[$num-1]['list'],['name'=>$city_k,'list'=>$city_v]);
}
}
}
return $this->msg($result);
}else if($type['type'] == '2'){
$data = Db::table('admin_estimate')->where(['type' => '2'])->field('id,content,city,area')->find();
$result = json_decode($data['content'],true);
return $this->msg($result);
}else{
return $this->msg(10005);
}
return $this->msg($result);
}
@ -1463,7 +1042,6 @@ class Sportstesting extends Base{
'unit'=>$x_m_v['unit_data'],
'type'=>$x_m_v['type'],
'total_score'=>$x_m_v['score'],
]);
}
}else{
@ -1471,12 +1049,14 @@ class Sportstesting extends Base{
}
}
}
// dump($result);
// die;
return $result;
}
// 获取所有选择项内容
public function handle_default_rule_list_content($data,$gender){
$temporary_arr = $data[$gender];
$result = [];
$result['list'] = [];
foreach ($temporary_arr as $key => $value) {
foreach ($value as $k2 => $v2) {
@ -1497,10 +1077,11 @@ class Sportstesting extends Base{
'total_score'=>$v3['score'],
]);
}
// dump($temporary_arr);
array_push($result['list'],$temporary_arr);
}
}
}
dump();
return $result;
}

View File

@ -35,8 +35,8 @@ class Vitalcapacity extends Base{
################################################################接口################################################################
################################################################接口################################################################
// 数据记录
public function vitalcapacity_save_record_data($data = ['aud_id'=>'61','one'=>'1500','two'=>'3600','three'=>'2123','time'=>'2024-05-25 10:10:15','token'=>'0dafb98a10995c98b5a33b7d59d986ca']){
// 手动数据记录
public function vitalcapacity_save_record_data($data = ['aud_id'=>'83','one'=>'1560','two'=>'1560','three'=>'1560','time'=>'2024-07-23','token'=>'0dafb98a10995c98b5a33b7d59d986ca']){
if(count(input('post.')) > 0){
$data = input('post.');
}
@ -52,8 +52,25 @@ class Vitalcapacity extends Base{
$data['three'] = $this->isPositiveNumber($data['one']) === false?0:$data['three'];
return $this->vitalcapacity_save_record_data_action($data);
}
// 设备数据记录
public function vitalcapacity_save_record_data_device($data = ['aud_id'=>'58','one'=>'1500','two'=>'1500','three'=>'1200','flow'=>'88.88','token'=>'0dafb98a10995c98b5a33b7d59d986ca']){
if(count(input('post.')) > 0){
$data = input('post.');
}
if(!array_key_exists('aud_id', $data) || !array_key_exists('flow', $data) || !array_key_exists('token', $data)){
return $this->msg(10001);
}
if($this->token_time_validate($data['token']) === false){
return $this->msg(20001);
}
unset($data['token']);
$data['one'] = $this->isPositiveNumber($data['one']) === false?0:$data['one'];
$data['two'] = $this->isPositiveNumber($data['one']) === false?0:$data['two'];
$data['three'] = $this->isPositiveNumber($data['one']) === false?0:$data['three'];
return $this->vitalcapacity_save_record_data_action($data);
}
// 数据报告
public function vitalcapacity_data_report($data = ['aud_id'=>'58','token'=>'0dafb98a10995c98b5a33b7d59d986ca']){
public function vitalcapacity_data_report($data = ['aud_id'=>'83','token'=>'caadd1be045a65f30b92aa805f1de54a']){
if(count(input('post.')) > 0){
$data = input('post.');
}
@ -67,7 +84,7 @@ class Vitalcapacity extends Base{
return $this->vitalcapacity_data_report_action($data);
}
// 曲线
public function vitalcapacity_curve_chart($data = ['aud_id'=>'60','time'=>'2024','token'=>'0dafb98a10995c98b5a33b7d59d986ca']){
public function vitalcapacity_curve_chart($data = ['aud_id'=>'83','time'=>'2024-07-24','token'=>'caadd1be045a65f30b92aa805f1de54a']){
if(count(input('post.')) > 0){
$data = input('post.');
}
@ -86,7 +103,7 @@ class Vitalcapacity extends Base{
################################################################vitalcapacity_save_record_data
public function vitalcapacity_save_record_data_action($data){
$temporary_arr['aud_id'] = $data['aud_id'];
$temporary_arr['record_time'] = $data['time'];
$temporary_arr['record_time'] = array_key_exists('time', $data)?$data['time']:date('Y-m-d H:i:s');
$temporary_arr['one'] = $data['one'];
$temporary_arr['two'] = $data['two'];
$temporary_arr['three'] = $data['three'];
@ -96,6 +113,10 @@ class Vitalcapacity extends Base{
$temporary_arr['two_val'] = $data['two'];
$temporary_arr['three_val'] = $data['three'];
$temporary_arr['average_val'] = $temporary_arr['average'];
$temporary_arr['flow_val'] = array_key_exists('flow', $data)?$data['flow']:'0.00';
if(strlen($temporary_arr['record_time']) <= 12){
$temporary_arr['record_time'] = $this->addCurrentTimeToDateString($temporary_arr['record_time']);
}
$user_msg = Db::name('app_user_data')->where(['id'=>$data['aud_id']])->field('grade,gender')->find();
if($user_msg){
$achievement_judge_data = $this->vitalcapacity_achievement_judge(['average'=>$temporary_arr['average'],'grade'=>$user_msg['grade'],'gender'=>$user_msg['gender']]);
@ -105,37 +126,62 @@ class Vitalcapacity extends Base{
return $this->msg(10004);
}
$standard_data = $this->get_vitalcapacity_data($data['aud_id']);
$result = Db::table('app_card_vitalcapacity_data')->insert($temporary_arr);
if($result){
$time = $result[0]['record_time'];
$time = strtotime($time);
$time = date('Y年m月d日 H:i:s', $time);
return $this->msg(['average'=>$temporary_arr['average'].'ml','level'=>$achievement_judge_data['level'],'time'=>$time,'list'=>$this->standard0,'offset'=>$this->vitalcapacity_standard_interval($temporary_arr['score_val'])]);
return $this->msg([
'average'=>$temporary_arr['average'].'ml',
'level'=>$achievement_judge_data['level'],
'time'=>$time,
'flow_val'=>$temporary_arr['flow_val'],
'list'=>$standard_data,
'offset'=>$this->vitalcapacity_standard_interval($temporary_arr['average'],$standard_data)
]);
}else{
return $this->msg(10002);
}
}
################################################################vitalcapacity_data_report
public function vitalcapacity_data_report_action($data){
$result = Db::table('app_card_vitalcapacity_data')->where(['aud_id'=>$data['aud_id']])->order('record_time desc')->field('record_time,score,average')->limit(1)->select();
$result = Db::table('app_card_vitalcapacity_data')->where(['aud_id'=>$data['aud_id']])->order('record_time desc')->field('record_time,score,average,flow_val')->limit(1)->select();
if(count($result) <= 0){
return $this->msg(10004);
// return $this->msg(10004);
return $this->msg([
'average'=>'',
'level'=>'',
'time'=>'',
'flow_val'=>'',
'list'=>'',
'offset'=>''
]);
}else{
$standard_data = $this->get_vitalcapacity_data($data['aud_id']);
$time = $result[0]['record_time'];
$time = strtotime($time);
$time = date('Y年m月d日 H:i:s', $time);
$o_l = explode(',',$result[0]['score']);
// dump($o_l);
// $this->vitalcapacity_standard_interval($o_l[0]);
return $this->msg(['average'=>$result[0]['average'].'ml','level'=>$o_l[1],'time'=>$time,'list'=>$this->standard0,'offset'=>$this->vitalcapacity_standard_interval($o_l[0])]);
return $this->msg([
'average'=>$result[0]['average'].'ml',
'level'=>$o_l[1],
'time'=>$time,
'flow_val'=>$result[0]['flow_val'] == '.00'?'0.00':$result[0]['flow_val'],
'list'=>$standard_data,
'offset'=>$this->vitalcapacity_standard_interval($result[0]['average'],$standard_data)
]);
}
}
################################################################vitalcapacity_save_record_data
################################################################vitalcapacity_curve_chart
public function vitalcapacity_curve_chart_action($data){
$audid = $data['aud_id'];
$timeData = explode('/', $data['time']);
$timeData = explode('-', $data['time']);
// 根据$timeData的长度构建不同的查询条件
$map = ['aud_id' => $audid];
@ -157,8 +203,10 @@ class Vitalcapacity extends Base{
// die;
// 使用查询构造器进行查询
$result = Db::name('app_card_vitalcapacity_data')->where($map)->field('one_val,two_val,three_val,average_val,score_val,aud_id,record_time,DATEPART(hour, record_time) AS hour,DATEPART(day, record_time) AS day,DATEPART(month, record_time) AS month')->order('record_time')->select();
$result = Db::name('app_card_vitalcapacity_data')->where($map)->field('id,one_val,two_val,three_val,average_val,score_val,aud_id,record_time,DATEPART(hour, record_time) AS hour,DATEPART(day, record_time) AS day,DATEPART(month, record_time) AS month')->order('record_time')->select();
// dump($map);
// dump($result);
// die;
$return_data = [];
if(count($timeData) == 3){
$key_condition = 'hour';
@ -171,34 +219,46 @@ class Vitalcapacity extends Base{
// dump($key_condition);
// die;
foreach ($this->curve_data_format as $key => $value) {
$temporary_arr['title'] = $value[0];
$temporary_arr['title'] = $value[0].'('.$value[1].')';
$temporary_arr['key'] = $key;
$temporary_arr['line']['categories'] = [];
$temporary_arr['line']['series'][0]['color'] = $value[2];
$temporary_arr['line']['series'][0]['name'] = $value[0];
$temporary_arr['line']['series'][0]['name'] = $value[0].'('.$value[1].')';
$temporary_arr['line']['series'][0]['data'] = [];
// dump($temporary_arr['title']);
foreach ($result as $k => $v) {
// dump($key_condition);
// if($result[$k][$key] == 26.43){
// dump(123);
// }
if($key_condition == 'hour'){
// dump($result[$k][$key]);
// die;
if(in_array($result[$k][$key_condition].'时',$temporary_arr['line']['categories'])){
$num = array_search($result[$k][$key_condition].'时', $temporary_arr['line']['categories']);
$temporary_arr['line']['series'][0]['data'][$num] = bcadd($temporary_arr['line']['series'][0]['data'][$num],$result[$k][$key],2);
// $temporary_arr['line']['series'][0]['data'][$num] = bcadd($temporary_arr['line']['series'][0]['data'][$num],$result[$k][$key],2);
$temporary_arr['line']['series'][0]['data'][$num] = $temporary_arr['line']['series'][0]['data'][$num] >= $result[$k][$key]?$temporary_arr['line']['series'][0]['data'][$num]:$result[$k][$key];
}else{
array_push($temporary_arr['line']['categories'],$result[$k][$key_condition].'时');
array_push($temporary_arr['line']['series'][0]['data'],$result[$k][$key]);
}
// dump($temporary_arr['line']['series'][0]['data']);
}else if($key_condition == 'day'){
if(in_array($result[$k]['month'].'/'.$result[$k][$key_condition],$temporary_arr['line']['categories'])){
$num = array_search($result[$k]['month'].'/'.$result[$k][$key_condition], $temporary_arr['line']['categories']);
$temporary_arr['line']['series'][0]['data'][$num] = bcadd($temporary_arr['line']['series'][0]['data'][$num],$result[$k][$key],2);
if(in_array($result[$k]['month'].'-'.$result[$k][$key_condition],$temporary_arr['line']['categories'])){
$num = array_search($result[$k]['month'].'-'.$result[$k][$key_condition], $temporary_arr['line']['categories']);
// $temporary_arr['line']['series'][0]['data'][$num] = bcadd($temporary_arr['line']['series'][0]['data'][$num],$result[$k][$key],2);
$temporary_arr['line']['series'][0]['data'][$num] = $temporary_arr['line']['series'][0]['data'][$num] >= $result[$k][$key]?$temporary_arr['line']['series'][0]['data'][$num]:$result[$k][$key];
}else{
array_push($temporary_arr['line']['categories'],$result[$k]['month'].'/'.$result[$k][$key_condition]);
array_push($temporary_arr['line']['categories'],$result[$k]['month'].'-'.$result[$k][$key_condition]);
array_push($temporary_arr['line']['series'][0]['data'],$result[$k][$key]);
}
}else{
if(in_array($result[$k]['month'].'月',$temporary_arr['line']['categories'])){
$num = array_search($result[$k]['month'].'月', $temporary_arr['line']['categories']);
$temporary_arr['line']['series'][0]['data'][$num] = bcadd($temporary_arr['line']['series'][0]['data'][$num],$result[$k][$key],2);
// $temporary_arr['line']['series'][0]['data'][$num] = bcadd($temporary_arr['line']['series'][0]['data'][$num],$result[$k][$key],2);
$temporary_arr['line']['series'][0]['data'][$num] = $temporary_arr['line']['series'][0]['data'][$num] >= $result[$k][$key]?$temporary_arr['line']['series'][0]['data'][$num]:$result[$k][$key];
}else{
array_push($temporary_arr['line']['categories'],$result[$k]['month'].'月');
array_push($temporary_arr['line']['series'][0]['data'],$result[$k][$key]);
@ -208,9 +268,13 @@ class Vitalcapacity extends Base{
// dump($temporary_arr);
array_push($return_data,$temporary_arr);
}
foreach ($return_data[1]['line']['series'][0]['data'] as $key => $value) {
$return_data[1]['line']['series'][0]['data'][$key] = bcdiv($return_data[1]['line']['series'][0]['data'][$key],60,2);
}
// dump($return_data);
// foreach ($return_data[1]['line']['series'][0]['data'] as $key => $value) {
// $return_data[1]['line']['series'][0]['data'][$key] = bcdiv($return_data[1]['line']['series'][0]['data'][$key],60,2);
// }
// // dump($temporary_arr);
// dump($return_data);
// die;
return $this->msg($return_data);
}
@ -227,29 +291,34 @@ class Vitalcapacity extends Base{
public function vitalcapacity_achievement_judge($data){
$str = "sex = ".$data['gender']." and ".$data['grade']." <= ".$data['average'];
$user_achievement = Db::name('pc_vitalcapacity_standard')->where($str)->order($data['grade'] .' desc')->field('level,score,'.$data['grade'])->limit(1)->select();
// dump($data);
// dump($user_achievement);
if(count($user_achievement)<=0){
$user_achievement = ['level'=>'无效','score'=>'0'];
$user_achievement[0] = ['level'=>'无效','score'=>'0'];
}
// dump($user_achievement);
return $user_achievement[0];
}
// 肺活量判断区间
public function vitalcapacity_standard_interval($data){
public function vitalcapacity_standard_interval($val,$data){
// 缓存一周
$temporary_qj = $this->standard;
$temporary_qj = $data;
$max = 0;
$min = 0;
$num = 0;
foreach ($temporary_qj as $key => $value) {
if($data >= $value['min_val'] && $data <= $value['max_val']){
if($val >= $value['min_val'] && $val <= $value['max_val']){
$max = $value['max_val'];
$min = $value['min_val'];
$num = $key;
break;
}
}
// dump($temporary_qj);
// dump($data);
// die;
$num = count($temporary_qj)-1-$num;
$temporary_num = bcmul(bcdiv(bcsub($data,$min,20),bcsub($max,$min,20),2),bcdiv(100,count($temporary_qj),2),2);
$temporary_num = bcmul(bcdiv(bcsub($val,$min,20),bcsub($max,$min,20),2),bcdiv(100,count($temporary_qj),2),2);
$result = bcadd(bcmul(bcdiv(100,count($temporary_qj),2),$num,2),$temporary_num,2);
// dump($data);
// dump($num);

View File

@ -16,6 +16,8 @@ use think\Route;
//下载页
Route::any('/download', 'app/download/demo');
// Route::any('/CityList.js', 'tsf/CityList.js');
// // ################################################################管理后台################################################################
// // ################################################################管理后台################################################################
@ -27,14 +29,12 @@ Route::post('/admin/login_action', 'admin/login/login_action');
// 管理后台首页
Route::any('/admin/index', 'admin/index/index');
Route::any('/admin/welcome', 'admin/index/welcome');
// APP账号角色管理
Route::any('/member/member_list', 'admin/member/member_list');
Route::any('/member/member_is_del', 'admin/member/member_is_del');
Route::any('/member/user_list', 'admin/member/user_list');
Route::any('/member/user_record_briefing', 'admin/member/user_record_briefing');
Route::any('/member/user_is_del', 'admin/member/user_is_del');
// 卡片管理
Route::any('/card/index', 'admin/card/index');
Route::any('/card/card_add', 'admin/card/card_add');
@ -47,17 +47,8 @@ Route::any('/card/card_del', 'admin/card/card_del');
Route::any('/estimate/index', 'admin/estimate/index');
Route::any('/estimate/estimate_add', 'admin/estimate/estimate_add');
Route::any('/estimate/estimate_edit', 'admin/estimate/estimate_edit');
Route::any('/estimate/submit_rule', 'admin/estimate/submit_rule');
Route::any('/estimate/estimate_content_observe', 'admin/estimate/estimate_content_observe');
// Route::any('/estimate/index', 'admin/estimate/index');
// Route::any('/estimate/index', 'admin/estimate/index');
// Route::any('/estimate/index', 'admin/estimate/index');
// Route::any('/estimate/index', 'admin/estimate/index');
// Route::any('/estimate/index', 'admin/estimate/index');
// Route::any('/estimate/index', 'admin/estimate/index');
// Route::any('/estimate/index', 'admin/estimate/index');
// 设备管理
Route::any('/device/index', 'admin/device/index');
Route::any('/device/device_add', 'admin/device/device_add');
@ -71,6 +62,12 @@ Route::any('/appversion/app_add', 'admin/appversion/app_add');
Route::any('/appversion/app_del', 'admin/appversion/app_del');
Route::any('/appversion/app_add_action', 'admin/appversion/app_add_action');
// 联系我们H5
Route::any('/technology/index', 'admin/technology/index');
Route::any('/technology/web_index', 'admin/technology/web_index');
Route::any('/technology/privacy_index', 'admin/technology/privacy_index');
Route::any('/technology/set_user_opinion', 'admin/technology/set_user_opinion');
Route::any('/technology/ceshiyong', 'admin/technology/ceshiyong');
// // Route::get('/admin/welcome', 'admin/index/welcome');
// // // APP账号角色管理
@ -125,7 +122,10 @@ Route::any('/get_card_all_list', 'app/index/get_card_all_list');
// 保存用户的卡片排序
Route::any('/save_user_card_order', 'app/index/save_user_card_order');
// 获取年级列表
// Route::any('/get_grade_identity_list', 'app/index/get_grade_identity_list');
Route::any('/get_grade_list', 'app/index/get_grade_list');
// ################################身体数据卡片接口################################
// 报告页详情
Route::any('/card_data_detailed', 'app/card/card_data_detailed');
@ -143,6 +143,8 @@ Route::any('/card_curve_target', 'app/card/card_curve_target');
// ################################跳绳接口################################
// 手动记录
Route::any('/skip_manual_recording', 'app/skip/skip_manual_recording');
// 设备记录
Route::any('/skip_manual_recording_device', 'app/skip/skip_manual_recording_device');
// 今日数据
Route::any('/skip_today_data', 'app/skip/skip_today_data');
// 运动曲线
@ -152,6 +154,7 @@ Route::any('/skip_del_record_data', 'app/skip/skip_del_record_data');
// ################################肺活量接口################################
// 记录数据
Route::any('/vitalcapacity_save_record_data', 'app/vitalcapacity/vitalcapacity_save_record_data');
Route::any('/vitalcapacity_save_record_data_device', 'app/vitalcapacity/vitalcapacity_save_record_data_device');
// 报告数据(上次数据)
Route::any('/vitalcapacity_data_report', 'app/vitalcapacity/vitalcapacity_data_report');
// 曲线

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

BIN
public/tsf/1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

BIN
public/tsf/2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

422
public/tsf/CityList.js Normal file
View File

@ -0,0 +1,422 @@
var all_province_city_list = [
{name:'请选择', cityList:[
{name:'请选择', areaList:[]},
{name:'请选择', areaList:[]}
]},
{name:'北京', cityList:[
{name:'市辖区', areaList:['东城区','西城区','崇文区','宣武区','朝阳区','丰台区','石景山区','海淀区','门头沟区','房山区','通州区','顺义区','昌平区','大兴区','怀柔区','平谷区']},
{name:'县', areaList:['密云县','延庆县']}
]},
{name:'上海', cityList:[
{name:'市辖区', areaList:['黄浦区','卢湾区','徐汇区','长宁区','静安区','普陀区','闸北区','虹口区','杨浦区','闵行区','宝山区','嘉定区','浦东新区','金山区','松江区','青浦区','南汇区','奉贤区']},
{name:'县', areaList:['崇明县']}
]},
{name:'天津', cityList:[
{name:'市辖区', areaList:['和平区','河东区','河西区','南开区','河北区','红桥区','塘沽区','汉沽区','大港区','东丽区','西青区','津南区','北辰区','武清区','宝坻区']},
{name:'县', areaList:['宁河县','静海县','蓟 县']}
]},
{name:'重庆', cityList:[
{name:'市辖区', areaList:['万州区','涪陵区','渝中区','大渡口区','江北区','沙坪坝区','九龙坡区','南岸区','北碚区','万盛区','双桥区','渝北区','巴南区','黔江区','长寿区']},
{name:'县', areaList:['綦江县','潼南县','铜梁县','大足县','荣昌县','璧山县','梁平县','城口县','丰都县','垫江县','武隆县','忠 县','开 县','云阳县','奉节县','巫山县','巫溪县','石柱土家族自治县','秀山土家族苗族自治县','酉阳土家族苗族自治县','彭水苗族土家族自治县']},
{name:'市', areaList:['江津市','合川市','永川市','南川市']}
]},
{name:'四川', cityList:[
{name:'成都市', areaList:['市辖区','锦江区','青羊区','金牛区','武侯区','成华区','龙泉驿区','青白江区','新都区','温江县','金堂县','双流县','郫 县','大邑县','蒲江县','新津县','都江堰市','彭州市','邛崃市','崇州市']},
{name:'自贡市', areaList:['市辖区','自流井区','贡井区','大安区','沿滩区','荣 县','富顺县']},
{name:'攀枝花市', areaList:['市辖区','东 区','西 区','仁和区','米易县','盐边县']},
{name:'泸州市', areaList:['市辖区','江阳区','纳溪区','龙马潭区','泸 县','合江县','叙永县','古蔺县']},
{name:'德阳市', areaList:['市辖区','旌阳区','中江县','罗江县','广汉市','什邡市','绵竹市']},
{name:'绵阳市', areaList:['市辖区','涪城区','游仙区','三台县','盐亭县','安 县','梓潼县','北川羌族自治县','平武县','江油市']},
{name:'广元市', areaList:['市辖区','市中区','元坝区','朝天区','旺苍县','青川县','剑阁县','苍溪县']},
{name:'遂宁市', areaList:['市辖区','船山区','安居区','蓬溪县','射洪县','大英县']},
{name:'内江市', areaList:['市辖区','市中区','东兴区','威远县','资中县','隆昌县']},
{name:'乐山市', areaList:['市辖区','市中区','沙湾区','五通桥区','金口河区','犍为县','井研县','夹江县','沐川县','峨边彝族自治县','马边彝族自治县','峨眉山市']},
{name:'南充市', areaList:['市辖区','顺庆区','高坪区','嘉陵区','南部县','营山县','蓬安县','仪陇县','西充县','阆中市']},
{name:'眉山市', areaList:['市辖区','东坡区','仁寿县','彭山县','洪雅县','丹棱县','青神县']},
{name:'宜宾市', areaList:['市辖区','翠屏区','宜宾县','南溪县','江安县','长宁县','高 县','珙 县','筠连县','兴文县','屏山县']},
{name:'广安市', areaList:['市辖区','广安区','岳池县','武胜县','邻水县','华莹市']},
{name:'达州市', areaList:['市辖区','通川区','达 县','宣汉县','开江县','大竹县','渠 县','万源市']},
{name:'雅安市', areaList:['市辖区','雨城区','名山县','荥经县','汉源县','石棉县','天全县','芦山县','宝兴县']},
{name:'巴中市', areaList:['市辖区','巴州区','通江县','南江县','平昌县']},
{name:'资阳市', areaList:['市辖区','雁江区','安岳县','乐至县','简阳市']},
{name:'阿坝藏族羌族自治州', areaList:['汶川县','理 县','茂 县','松潘县','九寨沟县','金川县','小金县','黑水县','马尔康县','壤塘县','阿坝县','若尔盖县','红原县']},
{name:'甘孜藏族自治州', areaList:['康定县','泸定县','丹巴县','九龙县','雅江县','道孚县','炉霍县','甘孜县','新龙县','德格县','白玉县','石渠县','色达县','理塘县','巴塘县','乡城县','稻城县','得荣县']},
{name:'凉山彝族自治州', areaList:['西昌市','木里藏族自治县','盐源县','德昌县','会理县','会东县','宁南县','普格县','布拖县','金阳县','昭觉县','喜德县','冕宁县','越西县','甘洛县','美姑县','雷波县']}
]},
{name:'贵州', cityList:[
{name:'贵阳市', areaList:['市辖区','南明区','云岩区','花溪区','乌当区','白云区','小河区','开阳县','息烽县','修文县','清镇市']},
{name:'六盘水市', areaList:['钟山区','六枝特区','水城县','盘 县']},
{name:'遵义市', areaList:['市辖区','红花岗区','汇川区','遵义县','桐梓县','绥阳县','正安县','道真仡佬族苗族自治县','务川仡佬族苗族自治县','凤冈县','湄潭县','余庆县','习水县','赤水市','仁怀市']},
{name:'安顺市', areaList:['市辖区','西秀区','平坝县','普定县','镇宁布依族苗族自治县','关岭布依族苗族自治县','紫云苗族布依族自治县']},
{name:'铜仁地区', areaList:['铜仁市','江口县','玉屏侗族自治县','石阡县','思南县','印江土家族苗族自治县','德江县','沿河土家族自治县','松桃苗族自治县','万山特区']},
{name:'黔西南布依族苗族自治州', areaList:['兴义市','兴仁县','普安县','晴隆县','贞丰县','望谟县','册亨县','安龙县']},
{name:'毕节地区', areaList:['毕节市','大方县','黔西县','金沙县','织金县','纳雍县','威宁彝族回族苗族自治县','赫章县']},
{name:'黔东南苗族侗族自治州', areaList:['凯里市','黄平县','施秉县','三穗县','镇远县','岑巩县','天柱县','锦屏县','剑河县','台江县','黎平县','榕江县','从江县','雷山县','麻江县','丹寨县']},
{name:'黔南布依族苗族自治州', areaList:['都匀市','福泉市','荔波县','贵定县','瓮安县','独山县','平塘县','罗甸县','长顺县','龙里县','惠水县','三都水族自治县']}
]},
{name:'云南', cityList:[
{name:'昆明市', areaList:['市辖区','五华区','盘龙区','官渡区','西山区','东川区','呈贡县','晋宁县','富民县','宜良县','石林彝族自治县','嵩明县','禄劝彝族苗族自治县','寻甸回族彝族自治县','安宁市']},
{name:'曲靖市', areaList:['市辖区','麒麟区','马龙县','陆良县','师宗县','罗平县','富源县','会泽县','沾益县','宣威市']},
{name:'玉溪市', areaList:['市辖区','红塔区','江川县','澄江县','通海县','华宁县','易门县','峨山彝族自治县','新平彝族傣族自治县','元江哈尼族彝族傣族自治县']},
{name:'保山市', areaList:['市辖区','隆阳区','施甸县','腾冲县','龙陵县','昌宁县']},
{name:'昭通市', areaList:['市辖区','昭阳区','鲁甸县','巧家县','盐津县','大关县','永善县','绥江县','镇雄县','彝良县','威信县','水富县']},
{name:'丽江市', areaList:['市辖区','古城区','玉龙纳西族自治县','永胜县','华坪县','宁蒗彝族自治县']},
{name:'思茅市', areaList:['市辖区','翠云区','普洱哈尼族彝族自治县','墨江哈尼族自治县','景东彝族自治县','景谷傣族彝族自治县','镇沅彝族哈尼族拉祜族自治县','江城哈尼族彝族自治县','孟连傣族拉祜族佤族自治县','澜沧拉祜族自治县','西盟佤族自治县']},
{name:'临沧市', areaList:['市辖区','临翔区','凤庆县','云 县','永德县','镇康县','双江拉祜族佤族布朗族傣族自治县','耿马傣族佤族自治县','沧源佤族自治县']},
{name:'楚雄彝族自治州', areaList:['楚雄市','双柏县','牟定县','南华县','姚安县','大姚县','永仁县','元谋县','武定县','禄丰县']},
{name:'红河哈尼族彝族自治州', areaList:['个旧市','开远市','蒙自县','屏边苗族自治县','建水县','石屏县','弥勒县','泸西县','元阳县','红河县','金平苗族瑶族傣族自治县','绿春县','河口瑶族自治县']},
{name:'文山壮族苗族自治州', areaList:['文山县','砚山县','西畴县','麻栗坡县','马关县','丘北县','广南县','富宁县']},
{name:'西双版纳傣族自治州', areaList:['景洪市','勐海县','勐腊县']},
{name:'大理白族自治州', areaList:['大理市','漾濞彝族自治县','祥云县','宾川县','弥渡县','南涧彝族自治县','巍山彝族回族自治县','永平县','云龙县','洱源县','剑川县','鹤庆县']},
{name:'德宏傣族景颇族自治州', areaList:['瑞丽市','潞西市','梁河县','盈江县','陇川县']},
{name:'怒江傈僳族自治州', areaList:['泸水县','福贡县','贡山独龙族怒族自治县','兰坪白族普米族自治县']},
{name:'迪庆藏族自治州', areaList:['香格里拉县','德钦县','维西傈僳族自治县']}
]},
{name:'西藏', cityList:[
{name:'拉萨市', areaList:['市辖区','城关区','林周县','当雄县','尼木县','曲水县','堆龙德庆县','达孜县','墨竹工卡县']},
{name:'昌都地区', areaList:['昌都县','江达县','贡觉县','类乌齐县','丁青县','察雅县','八宿县','左贡县','芒康县','洛隆县','边坝县']},
{name:'山南地区', areaList:['乃东县','扎囊县','贡嘎县','桑日县','琼结县','曲松县','措美县','洛扎县','加查县','隆子县','错那县','浪卡子县']},
{name:'日喀则地区', areaList:['日喀则市','南木林县','江孜县','定日县','萨迦县','拉孜县','昂仁县','谢通门县','白朗县','仁布县','康马县','定结县','仲巴县','亚东县','吉隆县','聂拉木县','萨嘎县','岗巴县']},
{name:'那曲地区', areaList:['那曲县','嘉黎县','比如县','聂荣县','安多县','申扎县','索 县','班戈县','巴青县','尼玛县']},
{name:'阿里地区', areaList:['普兰县','札达县','噶尔县','日土县','革吉县','改则县','措勤县']},
{name:'林芝地区', areaList:['林芝县','工布江达县','米林县','墨脱县','波密县','察隅县','朗 县']}
]},
{name:'河南', cityList:[
{name:'郑州市', areaList:['市辖区','中原区','二七区','管城回族区','金水区','上街区','邙山区','中牟县','巩义市','荥阳市','新密市','新郑市','登封市']},
{name:'开封市', areaList:['市辖区','龙亭区','顺河回族区','鼓楼区','南关区','郊 区','杞 县','通许县','尉氏县','开封县','兰考县']},
{name:'洛阳市', areaList:['市辖区','老城区','西工区','廛河回族区','涧西区','吉利区','洛龙区','孟津县','新安县','栾川县','嵩 县','汝阳县','宜阳县','洛宁县','伊川县','偃师市']},
{name:'平顶山市', areaList:['市辖区','新华区','卫东区','石龙区','湛河区','宝丰县','叶 县','鲁山县','郏 县','舞钢市','汝州市']},
{name:'安阳市', areaList:['市辖区','文峰区','北关区','殷都区','龙安区','安阳县','汤阴县','滑 县','内黄县','林州市']},
{name:'鹤壁市', areaList:['市辖区','鹤山区','山城区','淇滨区','浚 县','淇 县']},
{name:'新乡市', areaList:['市辖区','红旗区','卫滨区','凤泉区','牧野区','新乡县','获嘉县','原阳县','延津县','封丘县','长垣县','卫辉市','辉县市']},
{name:'焦作市', areaList:['市辖区','解放区','中站区','马村区','山阳区','修武县','博爱县','武陟县','温 县','济源市','沁阳市','孟州市']},
{name:'濮阳市', areaList:['市辖区','华龙区','清丰县','南乐县','范 县','台前县','濮阳县']},
{name:'许昌市', areaList:['市辖区','魏都区','许昌县','鄢陵县','襄城县','禹州市','长葛市']},
{name:'漯河市', areaList:['市辖区','源汇区','郾城区','召陵区','舞阳县','临颍县']},
{name:'三门峡市', areaList:['市辖区','湖滨区','渑池县','陕 县','卢氏县','义马市','灵宝市']},
{name:'南阳市', areaList:['市辖区','宛城区','卧龙区','南召县','方城县','西峡县','镇平县','内乡县','淅川县','社旗县','唐河县','新野县','桐柏县','邓州市']},
{name:'商丘市', areaList:['市辖区','梁园区','睢阳区','民权县','睢 县','宁陵县','柘城县','虞城县','夏邑县','永城市']},
{name:'信阳市', areaList:['市辖区','师河区','平桥区','罗山县','光山县','新 县','商城县','固始县','潢川县','淮滨县','息 县']},
{name:'周口市', areaList:['市辖区','川汇区','扶沟县','西华县','商水县','沈丘县','郸城县','淮阳县','太康县','鹿邑县','项城市']},
{name:'驻马店市', areaList:['市辖区','驿城区','西平县','上蔡县','平舆县','正阳县','确山县','泌阳县','汝南县','遂平县','新蔡县']}
]},
{name:'湖北', cityList:[
{name:'武汉市', areaList:['市辖区','江岸区','江汉区','乔口区','汉阳区','武昌区','青山区','洪山区','东西湖区','汉南区','蔡甸区','江夏区','黄陂区','新洲区']},
{name:'黄石市', areaList:['市辖区','黄石港区','西塞山区','下陆区','铁山区','阳新县','大冶市']},
{name:'十堰市', areaList:['市辖区','茅箭区','张湾区','郧 县','郧西县','竹山县','竹溪县','房 县','丹江口市']},
{name:'宜昌市', areaList:['市辖区','西陵区','伍家岗区','点军区','猇亭区','夷陵区','远安县','兴山县','秭归县','长阳土家族自治县','五峰土家族自治县','宜都市','当阳市','枝江市']},
{name:'襄樊市', areaList:['市辖区','襄城区','樊城区','襄阳区','南漳县','谷城县','保康县','老河口市','枣阳市','宜城市']},
{name:'鄂州市', areaList:['市辖区','梁子湖区','华容区','鄂城区']},
{name:'荆门市', areaList:['市辖区','东宝区','掇刀区','京山县','沙洋县','钟祥市']},
{name:'孝感市', areaList:['市辖区','孝南区','孝昌县','大悟县','云梦县','应城市','安陆市','汉川市']},
{name:'荆州市', areaList:['市辖区','沙市区','荆州区','公安县','监利县','江陵县','石首市','洪湖市','松滋市']},
{name:'黄冈市', areaList:['市辖区','黄州区','团风县','红安县','罗田县','英山县','浠水县','蕲春县','黄梅县','麻城市','武穴市']},
{name:'咸宁市', areaList:['市辖区','咸安区','嘉鱼县','通城县','崇阳县','通山县','赤壁市']},
{name:'随州市', areaList:['市辖区','曾都区','广水市']},
{name:'恩施土家族苗族自治州', areaList:['恩施市','利川市','建始县','巴东县','宣恩县','咸丰县','来凤县','鹤峰县']},
{name:'省直辖行政单位', areaList:['仙桃市','潜江市','天门市','神农架林区']}
]},
{name:'湖南', cityList:[
{name:'长沙市', areaList:['市辖区','芙蓉区','天心区','岳麓区','开福区','雨花区','长沙县','望城县','宁乡县','浏阳市']},
{name:'株洲市', areaList:['市辖区','荷塘区','芦淞区','石峰区','天元区','株洲县','攸 县','茶陵县','炎陵县','醴陵市']},
{name:'湘潭市', areaList:['市辖区','雨湖区','岳塘区','湘潭县','湘乡市','韶山市']},
{name:'衡阳市', areaList:['市辖区','珠晖区','雁峰区','石鼓区','蒸湘区','南岳区','衡阳县','衡南县','衡山县','衡东县','祁东县','耒阳市','常宁市']},
{name:'邵阳市', areaList:['市辖区','双清区','大祥区','北塔区','邵东县','新邵县','邵阳县','隆回县','洞口县','绥宁县','新宁县','城步苗族自治县','武冈市']},
{name:'岳阳市', areaList:['市辖区','岳阳楼区','云溪区','君山区','岳阳县','华容县','湘阴县','平江县','汨罗市','临湘市']},
{name:'常德市', areaList:['市辖区','武陵区','鼎城区','安乡县','汉寿县','澧 县','临澧县','桃源县','石门县','津市市']},
{name:'张家界市', areaList:['市辖区','永定区','武陵源区','慈利县','桑植县']},
{name:'益阳市', areaList:['市辖区','资阳区','赫山区','南 县','桃江县','安化县','沅江市']},
{name:'郴州市', areaList:['市辖区','北湖区','苏仙区','桂阳县','宜章县','永兴县','嘉禾县','临武县','汝城县','桂东县','安仁县','资兴市']},
{name:'永州市', areaList:['市辖区','芝山区','冷水滩区','祁阳县','东安县','双牌县','道 县','江永县','宁远县','蓝山县','新田县','江华瑶族自治县']},
{name:'怀化市', areaList:['市辖区','鹤城区','中方县','沅陵县','辰溪县','溆浦县','会同县','麻阳苗族自治县','新晃侗族自治县','芷江侗族自治县','靖州苗族侗族自治县','通道侗族自治县','洪江市']},
{name:'娄底市', areaList:['市辖区','娄星区','双峰县','新化县','冷水江市','涟源市']},
{name:'湘西土家族苗族自治州', areaList:['吉首市','泸溪县','凤凰县','花垣县','保靖县','古丈县','永顺县','龙山县']}
]},
{name:'广东', cityList:[
{name:'广州市', areaList:['市辖区','东山区','荔湾区','越秀区','海珠区','天河区','芳村区','白云区','黄埔区','番禺区','花都区','增城市','从化市']},
{name:'韶关市', areaList:['市辖区','武江区','浈江区','曲江区','始兴县','仁化县','翁源县','乳源瑶族自治县','新丰县','乐昌市','南雄市']},
{name:'深圳市', areaList:['市辖区','罗湖区','福田区','南山区','宝安区','龙岗区','盐田区']},
{name:'珠海市', areaList:['市辖区','香洲区','斗门区','金湾区']},
{name:'汕头市', areaList:['市辖区','龙湖区','金平区','濠江区','潮阳区','潮南区','澄海区','南澳县']},
{name:'佛山市', areaList:['市辖区','禅城区','南海区','顺德区','三水区','高明区']},
{name:'江门市', areaList:['市辖区','蓬江区','江海区','新会区','台山市','开平市','鹤山市','恩平市']},
{name:'湛江市', areaList:['市辖区','赤坎区','霞山区','坡头区','麻章区','遂溪县','徐闻县','廉江市','雷州市','吴川市']},
{name:'茂名市', areaList:['市辖区','茂南区','茂港区','电白县','高州市','化州市','信宜市']},
{name:'肇庆市', areaList:['市辖区','端州区','鼎湖区','广宁县','怀集县','封开县','德庆县','高要市','四会市']},
{name:'惠州市', areaList:['市辖区','惠城区','惠阳区','博罗县','惠东县','龙门县']},
{name:'梅州市', areaList:['市辖区','梅江区','梅 县','大埔县','丰顺县','五华县','平远县','蕉岭县','兴宁市']},
{name:'汕尾市', areaList:['市辖区','城 区','海丰县','陆河县','陆丰市']},
{name:'河源市', areaList:['市辖区','源城区','紫金县','龙川县','连平县','和平县','东源县']},
{name:'阳江市', areaList:['市辖区','江城区','阳西县','阳东县','阳春市']},
{name:'清远市', areaList:['市辖区','清城区','佛冈县','阳山县','连山壮族瑶族自治县','连南瑶族自治县','清新县','英德市','连州市']},
{name:'东莞市', areaList:['东莞市']},
{name:'中山市', areaList:['中山市']},
{name:'潮州市', areaList:['市辖区','湘桥区','潮安县','饶平县']},
{name:'揭阳市', areaList:['市辖区','榕城区','揭东县','揭西县','惠来县','普宁市']},
{name:'云浮市', areaList:['市辖区','云城区','新兴县','郁南县','云安县','罗定市']}
]},
{name:'广西', cityList:[
{name:'南宁市', areaList:['市辖区','兴宁区','青秀区','江南区','西乡塘区','良庆区','邕宁区','武鸣县','隆安县','马山县','上林县','宾阳县','横 县']},
{name:'柳州市', areaList:['市辖区','城中区','鱼峰区','柳南区','柳北区','柳江县','柳城县','鹿寨县','融安县','融水苗族自治县','三江侗族自治县']},
{name:'桂林市', areaList:['市辖区','秀峰区','叠彩区','象山区','七星区','雁山区','阳朔县','临桂县','灵川县','全州县','兴安县','永福县','灌阳县','龙胜各族自治县','资源县','平乐县','荔蒲县','恭城瑶族自治县']},
{name:'梧州市', areaList:['市辖区','万秀区','蝶山区','长洲区','苍梧县','藤 县','蒙山县','岑溪市']},
{name:'北海市', areaList:['市辖区','海城区','银海区','铁山港区','合浦县']},
{name:'防城港市', areaList:['市辖区','港口区','防城区','上思县','东兴市']},
{name:'钦州市', areaList:['市辖区','钦南区','钦北区','灵山县','浦北县']},
{name:'贵港市', areaList:['市辖区','港北区','港南区','覃塘区','平南县','桂平市']},
{name:'玉林市', areaList:['市辖区','玉州区','容 县','陆川县','博白县','兴业县','北流市']},
{name:'百色市', areaList:['市辖区','右江区','田阳县','田东县','平果县','德保县','靖西县','那坡县','凌云县','乐业县','田林县','西林县','隆林各族自治县']},
{name:'贺州市', areaList:['市辖区','八步区','昭平县','钟山县','富川瑶族自治县']},
{name:'河池市', areaList:['市辖区','金城江区','南丹县','天峨县','凤山县','东兰县','罗城仫佬族自治县','环江毛南族自治县','巴马瑶族自治县','都安瑶族自治县','大化瑶族自治县','宜州市']},
{name:'来宾市', areaList:['市辖区','兴宾区','忻城县','象州县','武宣县','金秀瑶族自治县','合山市']},
{name:'崇左市', areaList:['市辖区','江洲区','扶绥县','宁明县','龙州县','大新县','天等县','凭祥市']}
]},
{name:'陕西', cityList:[
{name:'西安市', areaList:['市辖区','新城区','碑林区','莲湖区','灞桥区','未央区','雁塔区','阎良区','临潼区','长安区','蓝田县','周至县','户 县','高陵县']},
{name:'铜川市', areaList:['市辖区','王益区','印台区','耀州区','宜君县']},
{name:'宝鸡市', areaList:['市辖区','渭滨区','金台区','陈仓区','凤翔县','岐山县','扶风县','眉 县','陇 县','千阳县','麟游县','凤 县','太白县']},
{name:'咸阳市', areaList:['市辖区','秦都区','杨凌区','渭城区','三原县','泾阳县','乾 县','礼泉县','永寿县','彬 县','长武县','旬邑县','淳化县','武功县','兴平市']},
{name:'渭南市', areaList:['市辖区','临渭区','华 县','潼关县','大荔县','合阳县','澄城县','蒲城县','白水县','富平县','韩城市','华阴市']},
{name:'延安市', areaList:['市辖区','宝塔区','延长县','延川县','子长县','安塞县','志丹县','吴旗县','甘泉县','富 县','洛川县','宜川县','黄龙县','黄陵县']},
{name:'汉中市', areaList:['市辖区','汉台区','南郑县','城固县','洋 县','西乡县','勉 县','宁强县','略阳县','镇巴县','留坝县','佛坪县']},
{name:'榆林市', areaList:['市辖区','榆阳区','神木县','府谷县','横山县','靖边县','定边县','绥德县','米脂县','佳 县','吴堡县','清涧县','子洲县']},
{name:'安康市', areaList:['市辖区','汉滨区','汉阴县','石泉县','宁陕县','紫阳县','岚皋县','平利县','镇坪县','旬阳县','白河县']},
{name:'商洛市', areaList:['市辖区','商州区','洛南县','丹凤县','商南县','山阳县','镇安县','柞水县']}
]},
{name:'甘肃', cityList:[
{name:'兰州市', areaList:['市辖区','城关区','七里河区','西固区','安宁区','红古区','永登县','皋兰县','榆中县']},
{name:'嘉峪关市', areaList:['市辖区']},
{name:'金昌市', areaList:['市辖区','金川区','永昌县']},
{name:'白银市', areaList:['市辖区','白银区','平川区','靖远县','会宁县','景泰县']},
{name:'天水市', areaList:['市辖区','秦城区','北道区','清水县','秦安县','甘谷县','武山县','张家川回族自治县']},
{name:'武威市', areaList:['市辖区','凉州区','民勤县','古浪县','天祝藏族自治县']},
{name:'张掖市', areaList:['市辖区','甘州区','肃南裕固族自治县','民乐县','临泽县','高台县','山丹县']},
{name:'平凉市', areaList:['市辖区','崆峒区','泾川县','灵台县','崇信县','华亭县','庄浪县','静宁县']},
{name:'酒泉市', areaList:['市辖区','肃州区','金塔县','安西县','肃北蒙古族自治县','阿克塞哈萨克族自治县','玉门市','敦煌市']},
{name:'庆阳市', areaList:['市辖区','西峰区','庆城县','环 县','华池县','合水县','正宁县','宁 县','镇原县']},
{name:'定西市', areaList:['市辖区','安定区','通渭县','陇西县','渭源县','临洮县','漳 县','岷 县']},
{name:'陇南市', areaList:['市辖区','武都区','成 县','文 县','宕昌县','康 县','西和县','礼 县','徽 县','两当县']},
{name:'临夏回族自治州', areaList:['临夏市','临夏县','康乐县','永靖县','广河县','和政县','东乡族自治县','积石山保安族东乡族撒拉族自治县']},
{name:'甘南藏族自治州', areaList:['合作市','临潭县','卓尼县','舟曲县','迭部县','玛曲县','碌曲县','夏河县']}
]},
{name:'青海', cityList:[
{name:'西宁市', areaList:['市辖区','城东区','城中区','城西区','城北区','大通回族土族自治县','湟中县','湟源县']},
{name:'海东地区', areaList:['平安县','民和回族土族自治县','乐都县','互助土族自治县','化隆回族自治县','循化撒拉族自治县']},
{name:'海北藏族自治州', areaList:['门源回族自治县','祁连县','海晏县','刚察县']},
{name:'黄南藏族自治州', areaList:['同仁县','尖扎县','泽库县','河南蒙古族自治县']},
{name:'海南藏族自治州', areaList:['共和县','同德县','贵德县','兴海县','贵南县']},
{name:'果洛藏族自治州', areaList:['玛沁县','班玛县','甘德县','达日县','久治县','玛多县']},
{name:'玉树藏族自治州', areaList:['玉树县','杂多县','称多县','治多县','囊谦县','曲麻莱县']},
{name:'海西蒙古族藏族自治州', areaList:['格尔木市','德令哈市','乌兰县','都兰县','天峻县']}
]},
{name:'宁夏', cityList:[
{name:'银川市', areaList:['市辖区','兴庆区','西夏区','金凤区','永宁县','贺兰县','灵武市']},
{name:'石嘴山市', areaList:['市辖区','大武口区','惠农区','平罗县']},
{name:'吴忠市', areaList:['市辖区','利通区','盐池县','同心县','青铜峡市']},
{name:'固原市', areaList:['市辖区','原州区','西吉县','隆德县','泾源县','彭阳县','海原县']},
{name:'中卫市', areaList:['市辖区','沙坡头区','中宁县']}
]},
{name:'新疆', cityList:[
{name:'乌鲁木齐市', areaList:['市辖区','天山区','沙依巴克区','新市区','水磨沟区','头屯河区','达坂城区','东山区','乌鲁木齐县']},
{name:'克拉玛依市', areaList:['市辖区','独山子区','克拉玛依区','白碱滩区','乌尔禾区']},
{name:'吐鲁番地区', areaList:['吐鲁番市','鄯善县','托克逊县']},
{name:'哈密地区', areaList:['哈密市','巴里坤哈萨克自治县','伊吾县']},
{name:'昌吉回族自治州', areaList:['昌吉市','阜康市','米泉市','呼图壁县','玛纳斯县','奇台县','吉木萨尔县','木垒哈萨克自治县']},
{name:'博尔塔拉蒙古自治州', areaList:['博乐市','精河县','温泉县']},
{name:'巴音郭楞蒙古自治州', areaList:['库尔勒市','轮台县','尉犁县','若羌县','且末县','焉耆回族自治县','和静县','和硕县','博湖县']},
{name:'阿克苏地区', areaList:['阿克苏市','温宿县','库车县','沙雅县','新和县','拜城县','乌什县','阿瓦提县','柯坪县']},
{name:'克孜勒苏柯尔克孜自治州', areaList:['阿图什市','阿克陶县','阿合奇县','乌恰县']},
{name:'喀什地区', areaList:['喀什市','疏附县','疏勒县','英吉沙县','泽普县','莎车县','叶城县','麦盖提县','岳普湖县','伽师县','巴楚县','塔什库尔干塔吉克自治县']},
{name:'和田地区', areaList:['和田市','和田县','墨玉县','皮山县','洛浦县','策勒县','于田县','民丰县']},
{name:'伊犁哈萨克自治州', areaList:['伊宁市','奎屯市','伊宁县','察布查尔锡伯自治县','霍城县','巩留县','新源县','昭苏县','特克斯县','尼勒克县']},
{name:'塔城地区', areaList:['塔城市','乌苏市','额敏县','沙湾县','托里县','裕民县','和布克赛尔蒙古自治县']},
{name:'阿勒泰地区', areaList:['阿勒泰市','布尔津县','富蕴县','福海县','哈巴河县','青河县','吉木乃县']},
{name:'省直辖行政单位', areaList:['石河子市','阿拉尔市','图木舒克市','五家渠市']}
]},
{name:'河北', cityList:[
{name:'石家庄市', areaList:['市辖区','长安区','桥东区','桥西区','新华区','井陉矿区','裕华区','井陉县','正定县','栾城县','行唐县','灵寿县','高邑县','深泽县','赞皇县','无极县','平山县','元氏县','赵 县','辛集市','藁城市','晋州市','新乐市','鹿泉市']},
{name:'唐山市', areaList:['市辖区','路南区','路北区','古冶区','开平区','丰南区','丰润区','滦 县','滦南县','乐亭县','迁西县','玉田县','唐海县','遵化市','迁安市']},
{name:'秦皇岛市', areaList:['市辖区','海港区','山海关区','北戴河区','青龙满族自治县','昌黎县','抚宁县','卢龙县']},
{name:'邯郸市', areaList:['市辖区','邯山区','丛台区','复兴区','峰峰矿区','邯郸县','临漳县','成安县','大名县','涉 县','磁 县','肥乡县','永年县','邱 县','鸡泽县','广平县','馆陶县','魏 县','曲周县','武安市']},
{name:'邢台市', areaList:['市辖区','桥东区','桥西区','邢台县','临城县','内丘县','柏乡县','隆尧县','任 县','南和县','宁晋县','巨鹿县','新河县','广宗县','平乡县','威 县','清河县','临西县','南宫市','沙河市']},
{name:'保定市', areaList:['市辖区','新市区','北市区','南市区','满城县','清苑县','涞水县','阜平县','徐水县','定兴县','唐 县','高阳县','容城县','涞源县','望都县','安新县','易 县','曲阳县','蠡 县','顺平县','博野县','雄 县','涿州市','定州市','安国市','高碑店市']},
{name:'张家口市', areaList:['市辖区','桥东区','桥西区','宣化区','下花园区','宣化县','张北县','康保县','沽源县','尚义县','蔚 县','阳原县','怀安县','万全县','怀来县','涿鹿县','赤城县','崇礼县']},
{name:'承德市', areaList:['市辖区','双桥区','双滦区','鹰手营子矿区','承德县','兴隆县','平泉县','滦平县','隆化县','丰宁满族自治县','宽城满族自治县','围场满族蒙古族自治县']},
{name:'沧州市', areaList:['市辖区','新华区','运河区','沧 县','青 县','东光县','海兴县','盐山县','肃宁县','南皮县','吴桥县','献 县','孟村回族自治县','泊头市','任丘市','黄骅市','河间市']},
{name:'廊坊市', areaList:['市辖区','安次区','广阳区','固安县','永清县','香河县','大城县','文安县','大厂回族自治县','霸州市','三河市']},
{name:'衡水市', areaList:['市辖区','桃城区','枣强县','武邑县','武强县','饶阳县','安平县','故城县','景 县','阜城县','冀州市','深州市']}
]},
{name:'山西', cityList:[
{name:'太原市', areaList:['市辖区','小店区','迎泽区','杏花岭区','尖草坪区','万柏林区','晋源区','清徐县','阳曲县','娄烦县','古交市']},
{name:'大同市', areaList:['市辖区','城 区','矿 区','南郊区','新荣区','阳高县','天镇县','广灵县','灵丘县','浑源县','左云县','大同县']},
{name:'阳泉市', areaList:['市辖区','城 区','矿 区','郊 区','平定县','盂 县']},
{name:'长治市', areaList:['市辖区','城 区','郊 区','长治县','襄垣县','屯留县','平顺县','黎城县','壶关县','长子县','武乡县','沁 县','沁源县','潞城市']},
{name:'晋城市', areaList:['市辖区','城 区','沁水县','阳城县','陵川县','泽州县','高平市']},
{name:'朔州市', areaList:['市辖区','朔城区','平鲁区','山阴县','应 县','右玉县','怀仁县']},
{name:'晋中市', areaList:['市辖区','榆次区','榆社县','左权县','和顺县','昔阳县','寿阳县','太谷县','祁 县','平遥县','灵石县','介休市']},
{name:'运城市', areaList:['市辖区','盐湖区','临猗县','万荣县','闻喜县','稷山县','新绛县','绛 县','垣曲县','夏 县','平陆县','芮城县','永济市','河津市']},
{name:'忻州市', areaList:['市辖区','忻府区','定襄县','五台县','代 县','繁峙县','宁武县','静乐县','神池县','五寨县','岢岚县','河曲县','保德县','偏关县','原平市']},
{name:'临汾市', areaList:['市辖区','尧都区','曲沃县','翼城县','襄汾县','洪洞县','古 县','安泽县','浮山县','吉 县','乡宁县','大宁县','隰 县','永和县','蒲 县','汾西县','侯马市','霍州市']},
{name:'吕梁市', areaList:['市辖区','离石区','文水县','交城县','兴 县','临 县','柳林县','石楼县','岚 县','方山县','中阳县','交口县','孝义市','汾阳市']}
]},
{name:'内蒙古', cityList:[
{name:'呼和浩特市', areaList:['市辖区','新城区','回民区','玉泉区','赛罕区','土默特左旗','托克托县','和林格尔县','清水河县','武川县']},
{name:'包头市', areaList:['市辖区','东河区','昆都仑区','青山区','石拐区','白云矿区','九原区','土默特右旗','固阳县','达尔罕茂明安联合旗']},
{name:'乌海市', areaList:['市辖区','海勃湾区','海南区','乌达区']},
{name:'赤峰市', areaList:['市辖区','红山区','元宝山区','松山区','阿鲁科尔沁旗','巴林左旗','巴林右旗','林西县','克什克腾旗','翁牛特旗','喀喇沁旗','宁城县','敖汉旗']},
{name:'通辽市', areaList:['市辖区','科尔沁区','科尔沁左翼中旗','科尔沁左翼后旗','开鲁县','库伦旗','奈曼旗','扎鲁特旗','霍林郭勒市']},
{name:'鄂尔多斯市', areaList:['东胜区','达拉特旗','准格尔旗','鄂托克前旗','鄂托克旗','杭锦旗','乌审旗','伊金霍洛旗']},
{name:'呼伦贝尔市', areaList:['市辖区','海拉尔区','阿荣旗','莫力达瓦达斡尔族自治旗','鄂伦春自治旗','鄂温克族自治旗','陈巴尔虎旗','新巴尔虎左旗','新巴尔虎右旗','满洲里市','牙克石市','扎兰屯市','额尔古纳市','根河市']},
{name:'巴彦淖尔市', areaList:['市辖区','临河区','五原县','磴口县','乌拉特前旗','乌拉特中旗','乌拉特后旗','杭锦后旗']},
{name:'乌兰察布市', areaList:['市辖区','集宁区','卓资县','化德县','商都县','兴和县','凉城县','察哈尔右翼前旗','察哈尔右翼中旗','察哈尔右翼后旗','四子王旗','丰镇市']},
{name:'兴安盟', areaList:['乌兰浩特市','阿尔山市','科尔沁右翼前旗','科尔沁右翼中旗','扎赉特旗','突泉县']},
{name:'锡林郭勒盟', areaList:['二连浩特市','锡林浩特市','阿巴嘎旗','苏尼特左旗','苏尼特右旗','东乌珠穆沁旗','西乌珠穆沁旗','太仆寺旗','镶黄旗','正镶白旗','正蓝旗','多伦县']},
{name:'阿拉善盟', areaList:['阿拉善左旗','阿拉善右旗','额济纳旗']}
]},
{name:'江苏', cityList:[
{name:'南京市', areaList:['市辖区','玄武区','白下区','秦淮区','建邺区','鼓楼区','下关区','浦口区','栖霞区','雨花台区','江宁区','六合区','溧水县','高淳县']},
{name:'无锡市', areaList:['市辖区','崇安区','南长区','北塘区','锡山区','惠山区','滨湖区','江阴市','宜兴市']},
{name:'徐州市', areaList:['市辖区','鼓楼区','云龙区','九里区','贾汪区','泉山区','丰 县','沛 县','铜山县','睢宁县','新沂市','邳州市']},
{name:'常州市', areaList:['市辖区','天宁区','钟楼区','戚墅堰区','新北区','武进区','溧阳市','金坛市']},
{name:'苏州市', areaList:['市辖区','沧浪区','平江区','金阊区','虎丘区','吴中区','相城区','常熟市','张家港市','昆山市','吴江市','太仓市']},
{name:'南通市', areaList:['市辖区','崇川区','港闸区','海安县','如东县','启东市','如皋市','通州市','海门市']},
{name:'连云港市', areaList:['市辖区','连云区','新浦区','海州区','赣榆县','东海县','灌云县','灌南县']},
{name:'淮安市', areaList:['市辖区','清河区','楚州区','淮阴区','清浦区','涟水县','洪泽县','盱眙县','金湖县']},
{name:'盐城市', areaList:['市辖区','亭湖区','盐都区','响水县','滨海县','阜宁县','射阳县','建湖县','东台市','大丰市']},
{name:'扬州市', areaList:['市辖区','广陵区','邗江区','郊 区','宝应县','仪征市','高邮市','江都市']},
{name:'镇江市', areaList:['市辖区','京口区','润州区','丹徒区','丹阳市','扬中市','句容市']},
{name:'泰州市', areaList:['市辖区','海陵区','高港区','兴化市','靖江市','泰兴市','姜堰市']},
{name:'宿迁市', areaList:['市辖区','宿城区','宿豫区','沭阳县','泗阳县','泗洪县']}
]},
{name:'浙江', cityList:[
{name:'杭州市', areaList:['市辖区','上城区','下城区','江干区','拱墅区','西湖区','滨江区','萧山区','余杭区','桐庐县','淳安县','建德市','富阳市','临安市']},
{name:'宁波市', areaList:['市辖区','海曙区','江东区','江北区','北仑区','镇海区','鄞州区','象山县','宁海县','余姚市','慈溪市','奉化市']},
{name:'温州市', areaList:['市辖区','鹿城区','龙湾区','瓯海区','洞头县','永嘉县','平阳县','苍南县','文成县','泰顺县','瑞安市','乐清市']},
{name:'嘉兴市', areaList:['市辖区','秀城区','秀洲区','嘉善县','海盐县','海宁市','平湖市','桐乡市']},
{name:'湖州市', areaList:['市辖区','吴兴区','南浔区','德清县','长兴县','安吉县']},
{name:'绍兴市', areaList:['市辖区','越城区','绍兴县','新昌县','诸暨市','上虞市','嵊州市']},
{name:'金华市', areaList:['市辖区','婺城区','金东区','武义县','浦江县','磐安县','兰溪市','义乌市','东阳市','永康市']},
{name:'衢州市', areaList:['市辖区','柯城区','衢江区','常山县','开化县','龙游县','江山市']},
{name:'舟山市', areaList:['市辖区','定海区','普陀区','岱山县','嵊泗县']},
{name:'台州市', areaList:['市辖区','椒江区','黄岩区','路桥区','玉环县','三门县','天台县','仙居县','温岭市','临海市']},
{name:'丽水市', areaList:['市辖区','莲都区','青田县','缙云县','遂昌县','松阳县','云和县','庆元县','景宁畲族自治县','龙泉市']}
]},
{name:'安徽', cityList:[
{name:'合肥市', areaList:['市辖区','瑶海区','庐阳区','蜀山区','包河区','长丰县','肥东县','肥西县']},
{name:'芜湖市', areaList:['市辖区','镜湖区','马塘区','新芜区','鸠江区','芜湖县','繁昌县','南陵县']},
{name:'蚌埠市', areaList:['市辖区','龙子湖区','蚌山区','禹会区','淮上区','怀远县','五河县','固镇县']},
{name:'淮南市', areaList:['市辖区','大通区','田家庵区','谢家集区','八公山区','潘集区','凤台县']},
{name:'马鞍山市', areaList:['市辖区','金家庄区','花山区','雨山区','当涂县']},
{name:'淮北市', areaList:['市辖区','杜集区','相山区','烈山区','濉溪县']},
{name:'铜陵市', areaList:['市辖区','铜官山区','狮子山区','郊 区','铜陵县']},
{name:'安庆市', areaList:['市辖区','迎江区','大观区','郊 区','怀宁县','枞阳县','潜山县','太湖县','宿松县','望江县','岳西县','桐城市']},
{name:'黄山市', areaList:['市辖区','屯溪区','黄山区','徽州区','歙 县','休宁县','黟 县','祁门县']},
{name:'滁州市', areaList:['市辖区','琅琊区','南谯区','来安县','全椒县','定远县','凤阳县','天长市','明光市']},
{name:'阜阳市', areaList:['市辖区','颍州区','颍东区','颍泉区','临泉县','太和县','阜南县','颍上县','界首市']},
{name:'宿州市', areaList:['市辖区','墉桥区','砀山县','萧 县','灵璧县','泗 县']},
{name:'巢湖市', areaList:['市辖区','居巢区','庐江县','无为县','含山县','和 县']},
{name:'六安市', areaList:['市辖区','金安区','裕安区','寿 县','霍邱县','舒城县','金寨县','霍山县']},
{name:'亳州市', areaList:['市辖区','谯城区','涡阳县','蒙城县','利辛县']},
{name:'池州市', areaList:['市辖区','贵池区','东至县','石台县','青阳县']},
{name:'宣城市', areaList:['市辖区','宣州区','郎溪县','广德县','泾 县','绩溪县','旌德县','宁国市']}
]},
{name:'福建', cityList:[
{name:'福州市', areaList:['市辖区','鼓楼区','台江区','仓山区','马尾区','晋安区','闽侯县','连江县','罗源县','闽清县','永泰县','平潭县','福清市','长乐市']},
{name:'厦门市', areaList:['市辖区','思明区','海沧区','湖里区','集美区','同安区','翔安区']},
{name:'莆田市', areaList:['市辖区','城厢区','涵江区','荔城区','秀屿区','仙游县']},
{name:'三明市', areaList:['市辖区','梅列区','三元区','明溪县','清流县','宁化县','大田县','尤溪县','沙 县','将乐县','泰宁县','建宁县','永安市']},
{name:'泉州市', areaList:['市辖区','鲤城区','丰泽区','洛江区','泉港区','惠安县','安溪县','永春县','德化县','金门县','石狮市','晋江市','南安市']},
{name:'漳州市', areaList:['市辖区','芗城区','龙文区','云霄县','漳浦县','诏安县','长泰县','东山县','南靖县','平和县','华安县','龙海市']},
{name:'南平市', areaList:['市辖区','延平区','顺昌县','浦城县','光泽县','松溪县','政和县','邵武市','武夷山市','建瓯市','建阳市']},
{name:'龙岩市', areaList:['市辖区','新罗区','长汀县','永定县','上杭县','武平县','连城县','漳平市']},
{name:'宁德市', areaList:['市辖区','蕉城区','霞浦县','古田县','屏南县','寿宁县','周宁县','柘荣县','福安市','福鼎市']}
]},
{name:'江西', cityList:[
{name:'南昌市', areaList:['市辖区','东湖区','西湖区','青云谱区','湾里区','青山湖区','南昌县','新建县','安义县','进贤县']},
{name:'景德镇市', areaList:['市辖区','昌江区','珠山区','浮梁县','乐平市']},
{name:'萍乡市', areaList:['市辖区','安源区','湘东区','莲花县','上栗县','芦溪县']},
{name:'九江市', areaList:['市辖区','庐山区','浔阳区','九江县','武宁县','修水县','永修县','德安县','星子县','都昌县','湖口县','彭泽县','瑞昌市']},
{name:'新余市', areaList:['市辖区','渝水区','分宜县']},
{name:'鹰潭市', areaList:['市辖区','月湖区','余江县','贵溪市']},
{name:'赣州市', areaList:['市辖区','章贡区','赣 县','信丰县','大余县','上犹县','崇义县','安远县','龙南县','定南县','全南县','宁都县','于都县','兴国县','会昌县','寻乌县','石城县','瑞金市','南康市']},
{name:'吉安市', areaList:['市辖区','吉州区','青原区','吉安县','吉水县','峡江县','新干县','永丰县','泰和县','遂川县','万安县','安福县','永新县','井冈山市']},
{name:'宜春市', areaList:['市辖区','袁州区','奉新县','万载县','上高县','宜丰县','靖安县','铜鼓县','丰城市','樟树市','高安市']},
{name:'抚州市', areaList:['市辖区','临川区','南城县','黎川县','南丰县','崇仁县','乐安县','宜黄县','金溪县','资溪县','东乡县','广昌县']},
{name:'上饶市', areaList:['市辖区','信州区','上饶县','广丰县','玉山县','铅山县','横峰县','弋阳县','余干县','鄱阳县','万年县','婺源县','德兴市']}
]},
{name:'山东', cityList:[
{name:'济南市', areaList:['市辖区','历下区','市中区','槐荫区','天桥区','历城区','长清区','平阴县','济阳县','商河县','章丘市']},
{name:'青岛市', areaList:['市辖区','市南区','市北区','四方区','黄岛区','崂山区','李沧区','城阳区','胶州市','即墨市','平度市','胶南市','莱西市']},
{name:'淄博市', areaList:['市辖区','淄川区','张店区','博山区','临淄区','周村区','桓台县','高青县','沂源县']},
{name:'枣庄市', areaList:['市辖区','市中区','薛城区','峄城区','台儿庄区','山亭区','滕州市']},
{name:'东营市', areaList:['市辖区','东营区','河口区','垦利县','利津县','广饶县']},
{name:'烟台市', areaList:['市辖区','芝罘区','福山区','牟平区','莱山区','长岛县','龙口市','莱阳市','莱州市','蓬莱市','招远市','栖霞市','海阳市']},
{name:'潍坊市', areaList:['市辖区','潍城区','寒亭区','坊子区','奎文区','临朐县','昌乐县','青州市','诸城市','寿光市','安丘市','高密市','昌邑市']},
{name:'济宁市', areaList:['市辖区','市中区','任城区','微山县','鱼台县','金乡县','嘉祥县','汶上县','泗水县','梁山县','曲阜市','兖州市','邹城市']},
{name:'泰安市', areaList:['市辖区','泰山区','岱岳区','宁阳县','东平县','新泰市','肥城市']},
{name:'威海市', areaList:['市辖区','环翠区','文登市','荣成市','乳山市']},
{name:'日照市', areaList:['市辖区','东港区','岚山区','五莲县','莒 县']},
{name:'莱芜市', areaList:['市辖区','莱城区','钢城区']},
{name:'临沂市', areaList:['市辖区','兰山区','罗庄区','河东区','沂南县','郯城县','沂水县','苍山县','费 县','平邑县','莒南县','蒙阴县','临沭县']},
{name:'德州市', areaList:['市辖区','德城区','陵 县','宁津县','庆云县','临邑县','齐河县','平原县','夏津县','武城县','乐陵市','禹城市']},
{name:'聊城市', areaList:['市辖区','东昌府区','阳谷县','莘 县','茌平县','东阿县','冠 县','高唐县','临清市']},
{name:'滨州市', areaList:['市辖区','滨城区','惠民县','阳信县','无棣县','沾化县','博兴县','邹平县']},
{name:'荷泽市', areaList:['市辖区','牡丹区','曹 县','单 县','成武县','巨野县','郓城县','鄄城县','定陶县','东明县']}
]},
{name:'辽宁', cityList:[
{name:'沈阳市', areaList:['市辖区','和平区','沈河区','大东区','皇姑区','铁西区','苏家屯区','东陵区','新城子区','于洪区','辽中县','康平县','法库县','新民市']},
{name:'大连市', areaList:['市辖区','中山区','西岗区','沙河口区','甘井子区','旅顺口区','金州区','长海县','瓦房店市','普兰店市','庄河市']},
{name:'鞍山市', areaList:['市辖区','铁东区','铁西区','立山区','千山区','台安县','岫岩满族自治县','海城市']},
{name:'抚顺市', areaList:['市辖区','新抚区','东洲区','望花区','顺城区','抚顺县','新宾满族自治县','清原满族自治县']},
{name:'本溪市', areaList:['市辖区','平山区','溪湖区','明山区','南芬区','本溪满族自治县','桓仁满族自治县']},
{name:'丹东市', areaList:['市辖区','元宝区','振兴区','振安区','宽甸满族自治县','东港市','凤城市']},
{name:'锦州市', areaList:['市辖区','古塔区','凌河区','太和区','黑山县','义 县','凌海市','北宁市']},
{name:'营口市', areaList:['市辖区','站前区','西市区','鲅鱼圈区','老边区','盖州市','大石桥市']},
{name:'阜新市', areaList:['市辖区','海州区','新邱区','太平区','清河门区','细河区','阜新蒙古族自治县','彰武县']},
{name:'辽阳市', areaList:['市辖区','白塔区','文圣区','宏伟区','弓长岭区','太子河区','辽阳县','灯塔市']},
{name:'盘锦市', areaList:['市辖区','双台子区','兴隆台区','大洼县','盘山县']},
{name:'铁岭市', areaList:['市辖区','银州区','清河区','铁岭县','西丰县','昌图县','调兵山市','开原市']},
{name:'朝阳市', areaList:['市辖区','双塔区','龙城区','朝阳县','建平县','喀喇沁左翼蒙古族自治县','北票市','凌源市']},
{name:'葫芦岛市', areaList:['市辖区','连山区','龙港区','南票区','绥中县','建昌县','兴城市']}
]},
{name:'吉林', cityList:[
{name:'长春市', areaList:['市辖区','南关区','宽城区','朝阳区','二道区','绿园区','双阳区','农安县','九台市','榆树市','德惠市']},
{name:'吉林市', areaList:['市辖区','昌邑区','龙潭区','船营区','丰满区','永吉县','蛟河市','桦甸市','舒兰市','磐石市']},
{name:'四平市', areaList:['市辖区','铁西区','铁东区','梨树县','伊通满族自治县','公主岭市','双辽市']},
{name:'辽源市', areaList:['市辖区','龙山区','西安区','东丰县','东辽县']},
{name:'通化市', areaList:['市辖区','东昌区','二道江区','通化县','辉南县','柳河县','梅河口市','集安市']},
{name:'白山市', areaList:['市辖区','八道江区','抚松县','靖宇县','长白朝鲜族自治县','江源县','临江市']},
{name:'松原市', areaList:['市辖区','宁江区','前郭尔罗斯蒙古族自治县','长岭县','乾安县','扶余县']},
{name:'白城市', areaList:['市辖区','洮北区','镇赉县','通榆县','洮南市','大安市']},
{name:'延边朝鲜族自治州', areaList:['延吉市','图们市','敦化市','珲春市','龙井市','和龙市','汪清县','安图县']}
]},
{name:'黑龙江', cityList:[
{name:'哈尔滨市', areaList:['市辖区','道里区','南岗区','道外区','香坊区','动力区','平房区','松北区','呼兰区','依兰县','方正县','宾 县','巴彦县','木兰县','通河县','延寿县','阿城市','双城市','尚志市','五常市']},
{name:'齐齐哈尔市', areaList:['市辖区','龙沙区','建华区','铁锋区','昂昂溪区','富拉尔基区','碾子山区','梅里斯达斡尔族区','龙江县','依安县','泰来县','甘南县','富裕县','克山县','克东县','拜泉县','讷河市']},
{name:'鸡西市', areaList:['市辖区','鸡冠区','恒山区','滴道区','梨树区','城子河区','麻山区','鸡东县','虎林市','密山市']},
{name:'鹤岗市', areaList:['市辖区','向阳区','工农区','南山区','兴安区','东山区','兴山区','萝北县','绥滨县']},
{name:'双鸭山市', areaList:['市辖区','尖山区','岭东区','四方台区','宝山区','集贤县','友谊县','宝清县','饶河县']},
{name:'大庆市', areaList:['市辖区','萨尔图区','龙凤区','让胡路区','红岗区','大同区','肇州县','肇源县','林甸县','杜尔伯特蒙古族自治县']},
{name:'伊春市', areaList:['市辖区','伊春区','南岔区','友好区','西林区','翠峦区','新青区','美溪区','金山屯区','五营区','乌马河区','汤旺河区','带岭区','乌伊岭区','红星区','上甘岭区','嘉荫县','铁力市']},
{name:'佳木斯市', areaList:['市辖区','永红区','向阳区','前进区','东风区','郊 区','桦南县','桦川县','汤原县','抚远县','同江市','富锦市']},
{name:'七台河市', areaList:['市辖区','新兴区','桃山区','茄子河区','勃利县']},
{name:'牡丹江市', areaList:['市辖区','东安区','阳明区','爱民区','西安区','东宁县','林口县','绥芬河市','海林市','宁安市','穆棱市']},
{name:'黑河市', areaList:['市辖区','爱辉区','嫩江县','逊克县','孙吴县','北安市','五大连池市']},
{name:'绥化市', areaList:['市辖区','北林区','望奎县','兰西县','青冈县','庆安县','明水县','绥棱县','安达市','肇东市','海伦市']},
{name:'大兴安岭地区', areaList:['呼玛县','塔河县','漠河县']}
]},
{name:'海南', cityList:[
{name:'海口市', areaList:['市辖区','秀英区','龙华区','琼山区','美兰区']},
{name:'三亚市', areaList:['市辖区']},
{name:'省直辖县级行政单位', areaList:['五指山市','琼海市','儋州市','文昌市','万宁市','东方市','定安县','屯昌县','澄迈县','临高县','白沙黎族自治县','昌江黎族自治县','乐东黎族自治县','陵水黎族自治县','保亭黎族苗族自治县','琼中黎族苗族自治县','西沙群岛','南沙群岛','中沙群岛的岛礁及其海域']}
]},
{name:'台湾', cityList:[
{name:'台湾', areaList:['台湾']}
]},
{name:'香港', cityList:[
{name:'香港', areaList:['香港']}
]},
{name:'澳门', cityList:[
{name:'澳门', areaList:['澳门']}
]}
];

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

BIN
public/tsf/head_pic.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

BIN
public/tsf/默认头像.zip Normal file

Binary file not shown.

View File

@ -0,0 +1,412 @@
var all_province_city_list = [
{name:'北京', cityList:[
{name:'北京', areaList:['北京']},
]},
{name:'上海', cityList:[
{name:'上海', areaList:['上海']},
]},
{name:'天津', cityList:[
{name:'天津', areaList:['天津']},
]},
{name:'重庆', cityList:[
{name:'重庆', areaList:['重庆']},
]},
{name:'四川', cityList:[
{name:'成都市', areaList:['市辖区','锦江区','青羊区','金牛区','武侯区','成华区','龙泉驿区','青白江区','新都区','温江县','金堂县','双流县','郫 县','大邑县','蒲江县','新津县','都江堰市','彭州市','邛崃市','崇州市']},
{name:'自贡市', areaList:['市辖区','自流井区','贡井区','大安区','沿滩区','荣 县','富顺县']},
{name:'攀枝花市', areaList:['市辖区','东 区','西 区','仁和区','米易县','盐边县']},
{name:'泸州市', areaList:['市辖区','江阳区','纳溪区','龙马潭区','泸 县','合江县','叙永县','古蔺县']},
{name:'德阳市', areaList:['市辖区','旌阳区','中江县','罗江县','广汉市','什邡市','绵竹市']},
{name:'绵阳市', areaList:['市辖区','涪城区','游仙区','三台县','盐亭县','安 县','梓潼县','北川羌族自治县','平武县','江油市']},
{name:'广元市', areaList:['市辖区','市中区','元坝区','朝天区','旺苍县','青川县','剑阁县','苍溪县']},
{name:'遂宁市', areaList:['市辖区','船山区','安居区','蓬溪县','射洪县','大英县']},
{name:'内江市', areaList:['市辖区','市中区','东兴区','威远县','资中县','隆昌县']},
{name:'乐山市', areaList:['市辖区','市中区','沙湾区','五通桥区','金口河区','犍为县','井研县','夹江县','沐川县','峨边彝族自治县','马边彝族自治县','峨眉山市']},
{name:'南充市', areaList:['市辖区','顺庆区','高坪区','嘉陵区','南部县','营山县','蓬安县','仪陇县','西充县','阆中市']},
{name:'眉山市', areaList:['市辖区','东坡区','仁寿县','彭山县','洪雅县','丹棱县','青神县']},
{name:'宜宾市', areaList:['市辖区','翠屏区','宜宾县','南溪县','江安县','长宁县','高 县','珙 县','筠连县','兴文县','屏山县']},
{name:'广安市', areaList:['市辖区','广安区','岳池县','武胜县','邻水县','华莹市']},
{name:'达州市', areaList:['市辖区','通川区','达 县','宣汉县','开江县','大竹县','渠 县','万源市']},
{name:'雅安市', areaList:['市辖区','雨城区','名山县','荥经县','汉源县','石棉县','天全县','芦山县','宝兴县']},
{name:'巴中市', areaList:['市辖区','巴州区','通江县','南江县','平昌县']},
{name:'资阳市', areaList:['市辖区','雁江区','安岳县','乐至县','简阳市']},
{name:'阿坝藏族羌族自治州', areaList:['汶川县','理 县','茂 县','松潘县','九寨沟县','金川县','小金县','黑水县','马尔康县','壤塘县','阿坝县','若尔盖县','红原县']},
{name:'甘孜藏族自治州', areaList:['康定县','泸定县','丹巴县','九龙县','雅江县','道孚县','炉霍县','甘孜县','新龙县','德格县','白玉县','石渠县','色达县','理塘县','巴塘县','乡城县','稻城县','得荣县']},
{name:'凉山彝族自治州', areaList:['西昌市','木里藏族自治县','盐源县','德昌县','会理县','会东县','宁南县','普格县','布拖县','金阳县','昭觉县','喜德县','冕宁县','越西县','甘洛县','美姑县','雷波县']}
]},
{name:'贵州', cityList:[
{name:'贵阳市', areaList:['市辖区','南明区','云岩区','花溪区','乌当区','白云区','小河区','开阳县','息烽县','修文县','清镇市']},
{name:'六盘水市', areaList:['钟山区','六枝特区','水城县','盘 县']},
{name:'遵义市', areaList:['市辖区','红花岗区','汇川区','遵义县','桐梓县','绥阳县','正安县','道真仡佬族苗族自治县','务川仡佬族苗族自治县','凤冈县','湄潭县','余庆县','习水县','赤水市','仁怀市']},
{name:'安顺市', areaList:['市辖区','西秀区','平坝县','普定县','镇宁布依族苗族自治县','关岭布依族苗族自治县','紫云苗族布依族自治县']},
{name:'铜仁地区', areaList:['铜仁市','江口县','玉屏侗族自治县','石阡县','思南县','印江土家族苗族自治县','德江县','沿河土家族自治县','松桃苗族自治县','万山特区']},
{name:'黔西南布依族苗族自治州', areaList:['兴义市','兴仁县','普安县','晴隆县','贞丰县','望谟县','册亨县','安龙县']},
{name:'毕节地区', areaList:['毕节市','大方县','黔西县','金沙县','织金县','纳雍县','威宁彝族回族苗族自治县','赫章县']},
{name:'黔东南苗族侗族自治州', areaList:['凯里市','黄平县','施秉县','三穗县','镇远县','岑巩县','天柱县','锦屏县','剑河县','台江县','黎平县','榕江县','从江县','雷山县','麻江县','丹寨县']},
{name:'黔南布依族苗族自治州', areaList:['都匀市','福泉市','荔波县','贵定县','瓮安县','独山县','平塘县','罗甸县','长顺县','龙里县','惠水县','三都水族自治县']}
]},
{name:'云南', cityList:[
{name:'昆明市', areaList:['市辖区','五华区','盘龙区','官渡区','西山区','东川区','呈贡县','晋宁县','富民县','宜良县','石林彝族自治县','嵩明县','禄劝彝族苗族自治县','寻甸回族彝族自治县','安宁市']},
{name:'曲靖市', areaList:['市辖区','麒麟区','马龙县','陆良县','师宗县','罗平县','富源县','会泽县','沾益县','宣威市']},
{name:'玉溪市', areaList:['市辖区','红塔区','江川县','澄江县','通海县','华宁县','易门县','峨山彝族自治县','新平彝族傣族自治县','元江哈尼族彝族傣族自治县']},
{name:'保山市', areaList:['市辖区','隆阳区','施甸县','腾冲县','龙陵县','昌宁县']},
{name:'昭通市', areaList:['市辖区','昭阳区','鲁甸县','巧家县','盐津县','大关县','永善县','绥江县','镇雄县','彝良县','威信县','水富县']},
{name:'丽江市', areaList:['市辖区','古城区','玉龙纳西族自治县','永胜县','华坪县','宁蒗彝族自治县']},
{name:'思茅市', areaList:['市辖区','翠云区','普洱哈尼族彝族自治县','墨江哈尼族自治县','景东彝族自治县','景谷傣族彝族自治县','镇沅彝族哈尼族拉祜族自治县','江城哈尼族彝族自治县','孟连傣族拉祜族佤族自治县','澜沧拉祜族自治县','西盟佤族自治县']},
{name:'临沧市', areaList:['市辖区','临翔区','凤庆县','云 县','永德县','镇康县','双江拉祜族佤族布朗族傣族自治县','耿马傣族佤族自治县','沧源佤族自治县']},
{name:'楚雄彝族自治州', areaList:['楚雄市','双柏县','牟定县','南华县','姚安县','大姚县','永仁县','元谋县','武定县','禄丰县']},
{name:'红河哈尼族彝族自治州', areaList:['个旧市','开远市','蒙自县','屏边苗族自治县','建水县','石屏县','弥勒县','泸西县','元阳县','红河县','金平苗族瑶族傣族自治县','绿春县','河口瑶族自治县']},
{name:'文山壮族苗族自治州', areaList:['文山县','砚山县','西畴县','麻栗坡县','马关县','丘北县','广南县','富宁县']},
{name:'西双版纳傣族自治州', areaList:['景洪市','勐海县','勐腊县']},
{name:'大理白族自治州', areaList:['大理市','漾濞彝族自治县','祥云县','宾川县','弥渡县','南涧彝族自治县','巍山彝族回族自治县','永平县','云龙县','洱源县','剑川县','鹤庆县']},
{name:'德宏傣族景颇族自治州', areaList:['瑞丽市','潞西市','梁河县','盈江县','陇川县']},
{name:'怒江傈僳族自治州', areaList:['泸水县','福贡县','贡山独龙族怒族自治县','兰坪白族普米族自治县']},
{name:'迪庆藏族自治州', areaList:['香格里拉县','德钦县','维西傈僳族自治县']}
]},
{name:'西藏', cityList:[
{name:'拉萨市', areaList:['市辖区','城关区','林周县','当雄县','尼木县','曲水县','堆龙德庆县','达孜县','墨竹工卡县']},
{name:'昌都地区', areaList:['昌都县','江达县','贡觉县','类乌齐县','丁青县','察雅县','八宿县','左贡县','芒康县','洛隆县','边坝县']},
{name:'山南地区', areaList:['乃东县','扎囊县','贡嘎县','桑日县','琼结县','曲松县','措美县','洛扎县','加查县','隆子县','错那县','浪卡子县']},
{name:'日喀则地区', areaList:['日喀则市','南木林县','江孜县','定日县','萨迦县','拉孜县','昂仁县','谢通门县','白朗县','仁布县','康马县','定结县','仲巴县','亚东县','吉隆县','聂拉木县','萨嘎县','岗巴县']},
{name:'那曲地区', areaList:['那曲县','嘉黎县','比如县','聂荣县','安多县','申扎县','索 县','班戈县','巴青县','尼玛县']},
{name:'阿里地区', areaList:['普兰县','札达县','噶尔县','日土县','革吉县','改则县','措勤县']},
{name:'林芝地区', areaList:['林芝县','工布江达县','米林县','墨脱县','波密县','察隅县','朗 县']}
]},
{name:'河南', cityList:[
{name:'郑州市', areaList:['市辖区','中原区','二七区','管城回族区','金水区','上街区','邙山区','中牟县','巩义市','荥阳市','新密市','新郑市','登封市']},
{name:'开封市', areaList:['市辖区','龙亭区','顺河回族区','鼓楼区','南关区','郊 区','杞 县','通许县','尉氏县','开封县','兰考县']},
{name:'洛阳市', areaList:['市辖区','老城区','西工区','廛河回族区','涧西区','吉利区','洛龙区','孟津县','新安县','栾川县','嵩 县','汝阳县','宜阳县','洛宁县','伊川县','偃师市']},
{name:'平顶山市', areaList:['市辖区','新华区','卫东区','石龙区','湛河区','宝丰县','叶 县','鲁山县','郏 县','舞钢市','汝州市']},
{name:'安阳市', areaList:['市辖区','文峰区','北关区','殷都区','龙安区','安阳县','汤阴县','滑 县','内黄县','林州市']},
{name:'鹤壁市', areaList:['市辖区','鹤山区','山城区','淇滨区','浚 县','淇 县']},
{name:'新乡市', areaList:['市辖区','红旗区','卫滨区','凤泉区','牧野区','新乡县','获嘉县','原阳县','延津县','封丘县','长垣县','卫辉市','辉县市']},
{name:'焦作市', areaList:['市辖区','解放区','中站区','马村区','山阳区','修武县','博爱县','武陟县','温 县','济源市','沁阳市','孟州市']},
{name:'濮阳市', areaList:['市辖区','华龙区','清丰县','南乐县','范 县','台前县','濮阳县']},
{name:'许昌市', areaList:['市辖区','魏都区','许昌县','鄢陵县','襄城县','禹州市','长葛市']},
{name:'漯河市', areaList:['市辖区','源汇区','郾城区','召陵区','舞阳县','临颍县']},
{name:'三门峡市', areaList:['市辖区','湖滨区','渑池县','陕 县','卢氏县','义马市','灵宝市']},
{name:'南阳市', areaList:['市辖区','宛城区','卧龙区','南召县','方城县','西峡县','镇平县','内乡县','淅川县','社旗县','唐河县','新野县','桐柏县','邓州市']},
{name:'商丘市', areaList:['市辖区','梁园区','睢阳区','民权县','睢 县','宁陵县','柘城县','虞城县','夏邑县','永城市']},
{name:'信阳市', areaList:['市辖区','师河区','平桥区','罗山县','光山县','新 县','商城县','固始县','潢川县','淮滨县','息 县']},
{name:'周口市', areaList:['市辖区','川汇区','扶沟县','西华县','商水县','沈丘县','郸城县','淮阳县','太康县','鹿邑县','项城市']},
{name:'驻马店市', areaList:['市辖区','驿城区','西平县','上蔡县','平舆县','正阳县','确山县','泌阳县','汝南县','遂平县','新蔡县']}
]},
{name:'湖北', cityList:[
{name:'武汉市', areaList:['市辖区','江岸区','江汉区','乔口区','汉阳区','武昌区','青山区','洪山区','东西湖区','汉南区','蔡甸区','江夏区','黄陂区','新洲区']},
{name:'黄石市', areaList:['市辖区','黄石港区','西塞山区','下陆区','铁山区','阳新县','大冶市']},
{name:'十堰市', areaList:['市辖区','茅箭区','张湾区','郧 县','郧西县','竹山县','竹溪县','房 县','丹江口市']},
{name:'宜昌市', areaList:['市辖区','西陵区','伍家岗区','点军区','猇亭区','夷陵区','远安县','兴山县','秭归县','长阳土家族自治县','五峰土家族自治县','宜都市','当阳市','枝江市']},
{name:'襄樊市', areaList:['市辖区','襄城区','樊城区','襄阳区','南漳县','谷城县','保康县','老河口市','枣阳市','宜城市']},
{name:'鄂州市', areaList:['市辖区','梁子湖区','华容区','鄂城区']},
{name:'荆门市', areaList:['市辖区','东宝区','掇刀区','京山县','沙洋县','钟祥市']},
{name:'孝感市', areaList:['市辖区','孝南区','孝昌县','大悟县','云梦县','应城市','安陆市','汉川市']},
{name:'荆州市', areaList:['市辖区','沙市区','荆州区','公安县','监利县','江陵县','石首市','洪湖市','松滋市']},
{name:'黄冈市', areaList:['市辖区','黄州区','团风县','红安县','罗田县','英山县','浠水县','蕲春县','黄梅县','麻城市','武穴市']},
{name:'咸宁市', areaList:['市辖区','咸安区','嘉鱼县','通城县','崇阳县','通山县','赤壁市']},
{name:'随州市', areaList:['市辖区','曾都区','广水市']},
{name:'恩施土家族苗族自治州', areaList:['恩施市','利川市','建始县','巴东县','宣恩县','咸丰县','来凤县','鹤峰县']},
{name:'省直辖行政单位', areaList:['仙桃市','潜江市','天门市','神农架林区']}
]},
{name:'湖南', cityList:[
{name:'长沙市', areaList:['市辖区','芙蓉区','天心区','岳麓区','开福区','雨花区','长沙县','望城县','宁乡县','浏阳市']},
{name:'株洲市', areaList:['市辖区','荷塘区','芦淞区','石峰区','天元区','株洲县','攸 县','茶陵县','炎陵县','醴陵市']},
{name:'湘潭市', areaList:['市辖区','雨湖区','岳塘区','湘潭县','湘乡市','韶山市']},
{name:'衡阳市', areaList:['市辖区','珠晖区','雁峰区','石鼓区','蒸湘区','南岳区','衡阳县','衡南县','衡山县','衡东县','祁东县','耒阳市','常宁市']},
{name:'邵阳市', areaList:['市辖区','双清区','大祥区','北塔区','邵东县','新邵县','邵阳县','隆回县','洞口县','绥宁县','新宁县','城步苗族自治县','武冈市']},
{name:'岳阳市', areaList:['市辖区','岳阳楼区','云溪区','君山区','岳阳县','华容县','湘阴县','平江县','汨罗市','临湘市']},
{name:'常德市', areaList:['市辖区','武陵区','鼎城区','安乡县','汉寿县','澧 县','临澧县','桃源县','石门县','津市市']},
{name:'张家界市', areaList:['市辖区','永定区','武陵源区','慈利县','桑植县']},
{name:'益阳市', areaList:['市辖区','资阳区','赫山区','南 县','桃江县','安化县','沅江市']},
{name:'郴州市', areaList:['市辖区','北湖区','苏仙区','桂阳县','宜章县','永兴县','嘉禾县','临武县','汝城县','桂东县','安仁县','资兴市']},
{name:'永州市', areaList:['市辖区','芝山区','冷水滩区','祁阳县','东安县','双牌县','道 县','江永县','宁远县','蓝山县','新田县','江华瑶族自治县']},
{name:'怀化市', areaList:['市辖区','鹤城区','中方县','沅陵县','辰溪县','溆浦县','会同县','麻阳苗族自治县','新晃侗族自治县','芷江侗族自治县','靖州苗族侗族自治县','通道侗族自治县','洪江市']},
{name:'娄底市', areaList:['市辖区','娄星区','双峰县','新化县','冷水江市','涟源市']},
{name:'湘西土家族苗族自治州', areaList:['吉首市','泸溪县','凤凰县','花垣县','保靖县','古丈县','永顺县','龙山县']}
]},
{name:'广东', cityList:[
{name:'广州市', areaList:['市辖区','东山区','荔湾区','越秀区','海珠区','天河区','芳村区','白云区','黄埔区','番禺区','花都区','增城市','从化市']},
{name:'韶关市', areaList:['市辖区','武江区','浈江区','曲江区','始兴县','仁化县','翁源县','乳源瑶族自治县','新丰县','乐昌市','南雄市']},
{name:'深圳市', areaList:['市辖区','罗湖区','福田区','南山区','宝安区','龙岗区','盐田区']},
{name:'珠海市', areaList:['市辖区','香洲区','斗门区','金湾区']},
{name:'汕头市', areaList:['市辖区','龙湖区','金平区','濠江区','潮阳区','潮南区','澄海区','南澳县']},
{name:'佛山市', areaList:['市辖区','禅城区','南海区','顺德区','三水区','高明区']},
{name:'江门市', areaList:['市辖区','蓬江区','江海区','新会区','台山市','开平市','鹤山市','恩平市']},
{name:'湛江市', areaList:['市辖区','赤坎区','霞山区','坡头区','麻章区','遂溪县','徐闻县','廉江市','雷州市','吴川市']},
{name:'茂名市', areaList:['市辖区','茂南区','茂港区','电白县','高州市','化州市','信宜市']},
{name:'肇庆市', areaList:['市辖区','端州区','鼎湖区','广宁县','怀集县','封开县','德庆县','高要市','四会市']},
{name:'惠州市', areaList:['市辖区','惠城区','惠阳区','博罗县','惠东县','龙门县']},
{name:'梅州市', areaList:['市辖区','梅江区','梅 县','大埔县','丰顺县','五华县','平远县','蕉岭县','兴宁市']},
{name:'汕尾市', areaList:['市辖区','城 区','海丰县','陆河县','陆丰市']},
{name:'河源市', areaList:['市辖区','源城区','紫金县','龙川县','连平县','和平县','东源县']},
{name:'阳江市', areaList:['市辖区','江城区','阳西县','阳东县','阳春市']},
{name:'清远市', areaList:['市辖区','清城区','佛冈县','阳山县','连山壮族瑶族自治县','连南瑶族自治县','清新县','英德市','连州市']},
{name:'东莞市', areaList:['东莞市']},
{name:'中山市', areaList:['中山市']},
{name:'潮州市', areaList:['市辖区','湘桥区','潮安县','饶平县']},
{name:'揭阳市', areaList:['市辖区','榕城区','揭东县','揭西县','惠来县','普宁市']},
{name:'云浮市', areaList:['市辖区','云城区','新兴县','郁南县','云安县','罗定市']}
]},
{name:'广西', cityList:[
{name:'南宁市', areaList:['市辖区','兴宁区','青秀区','江南区','西乡塘区','良庆区','邕宁区','武鸣县','隆安县','马山县','上林县','宾阳县','横 县']},
{name:'柳州市', areaList:['市辖区','城中区','鱼峰区','柳南区','柳北区','柳江县','柳城县','鹿寨县','融安县','融水苗族自治县','三江侗族自治县']},
{name:'桂林市', areaList:['市辖区','秀峰区','叠彩区','象山区','七星区','雁山区','阳朔县','临桂县','灵川县','全州县','兴安县','永福县','灌阳县','龙胜各族自治县','资源县','平乐县','荔蒲县','恭城瑶族自治县']},
{name:'梧州市', areaList:['市辖区','万秀区','蝶山区','长洲区','苍梧县','藤 县','蒙山县','岑溪市']},
{name:'北海市', areaList:['市辖区','海城区','银海区','铁山港区','合浦县']},
{name:'防城港市', areaList:['市辖区','港口区','防城区','上思县','东兴市']},
{name:'钦州市', areaList:['市辖区','钦南区','钦北区','灵山县','浦北县']},
{name:'贵港市', areaList:['市辖区','港北区','港南区','覃塘区','平南县','桂平市']},
{name:'玉林市', areaList:['市辖区','玉州区','容 县','陆川县','博白县','兴业县','北流市']},
{name:'百色市', areaList:['市辖区','右江区','田阳县','田东县','平果县','德保县','靖西县','那坡县','凌云县','乐业县','田林县','西林县','隆林各族自治县']},
{name:'贺州市', areaList:['市辖区','八步区','昭平县','钟山县','富川瑶族自治县']},
{name:'河池市', areaList:['市辖区','金城江区','南丹县','天峨县','凤山县','东兰县','罗城仫佬族自治县','环江毛南族自治县','巴马瑶族自治县','都安瑶族自治县','大化瑶族自治县','宜州市']},
{name:'来宾市', areaList:['市辖区','兴宾区','忻城县','象州县','武宣县','金秀瑶族自治县','合山市']},
{name:'崇左市', areaList:['市辖区','江洲区','扶绥县','宁明县','龙州县','大新县','天等县','凭祥市']}
]},
{name:'陕西', cityList:[
{name:'西安市', areaList:['市辖区','新城区','碑林区','莲湖区','灞桥区','未央区','雁塔区','阎良区','临潼区','长安区','蓝田县','周至县','户 县','高陵县']},
{name:'铜川市', areaList:['市辖区','王益区','印台区','耀州区','宜君县']},
{name:'宝鸡市', areaList:['市辖区','渭滨区','金台区','陈仓区','凤翔县','岐山县','扶风县','眉 县','陇 县','千阳县','麟游县','凤 县','太白县']},
{name:'咸阳市', areaList:['市辖区','秦都区','杨凌区','渭城区','三原县','泾阳县','乾 县','礼泉县','永寿县','彬 县','长武县','旬邑县','淳化县','武功县','兴平市']},
{name:'渭南市', areaList:['市辖区','临渭区','华 县','潼关县','大荔县','合阳县','澄城县','蒲城县','白水县','富平县','韩城市','华阴市']},
{name:'延安市', areaList:['市辖区','宝塔区','延长县','延川县','子长县','安塞县','志丹县','吴旗县','甘泉县','富 县','洛川县','宜川县','黄龙县','黄陵县']},
{name:'汉中市', areaList:['市辖区','汉台区','南郑县','城固县','洋 县','西乡县','勉 县','宁强县','略阳县','镇巴县','留坝县','佛坪县']},
{name:'榆林市', areaList:['市辖区','榆阳区','神木县','府谷县','横山县','靖边县','定边县','绥德县','米脂县','佳 县','吴堡县','清涧县','子洲县']},
{name:'安康市', areaList:['市辖区','汉滨区','汉阴县','石泉县','宁陕县','紫阳县','岚皋县','平利县','镇坪县','旬阳县','白河县']},
{name:'商洛市', areaList:['市辖区','商州区','洛南县','丹凤县','商南县','山阳县','镇安县','柞水县']}
]},
{name:'甘肃', cityList:[
{name:'兰州市', areaList:['市辖区','城关区','七里河区','西固区','安宁区','红古区','永登县','皋兰县','榆中县']},
{name:'嘉峪关市', areaList:['市辖区']},
{name:'金昌市', areaList:['市辖区','金川区','永昌县']},
{name:'白银市', areaList:['市辖区','白银区','平川区','靖远县','会宁县','景泰县']},
{name:'天水市', areaList:['市辖区','秦城区','北道区','清水县','秦安县','甘谷县','武山县','张家川回族自治县']},
{name:'武威市', areaList:['市辖区','凉州区','民勤县','古浪县','天祝藏族自治县']},
{name:'张掖市', areaList:['市辖区','甘州区','肃南裕固族自治县','民乐县','临泽县','高台县','山丹县']},
{name:'平凉市', areaList:['市辖区','崆峒区','泾川县','灵台县','崇信县','华亭县','庄浪县','静宁县']},
{name:'酒泉市', areaList:['市辖区','肃州区','金塔县','安西县','肃北蒙古族自治县','阿克塞哈萨克族自治县','玉门市','敦煌市']},
{name:'庆阳市', areaList:['市辖区','西峰区','庆城县','环 县','华池县','合水县','正宁县','宁 县','镇原县']},
{name:'定西市', areaList:['市辖区','安定区','通渭县','陇西县','渭源县','临洮县','漳 县','岷 县']},
{name:'陇南市', areaList:['市辖区','武都区','成 县','文 县','宕昌县','康 县','西和县','礼 县','徽 县','两当县']},
{name:'临夏回族自治州', areaList:['临夏市','临夏县','康乐县','永靖县','广河县','和政县','东乡族自治县','积石山保安族东乡族撒拉族自治县']},
{name:'甘南藏族自治州', areaList:['合作市','临潭县','卓尼县','舟曲县','迭部县','玛曲县','碌曲县','夏河县']}
]},
{name:'青海', cityList:[
{name:'西宁市', areaList:['市辖区','城东区','城中区','城西区','城北区','大通回族土族自治县','湟中县','湟源县']},
{name:'海东地区', areaList:['平安县','民和回族土族自治县','乐都县','互助土族自治县','化隆回族自治县','循化撒拉族自治县']},
{name:'海北藏族自治州', areaList:['门源回族自治县','祁连县','海晏县','刚察县']},
{name:'黄南藏族自治州', areaList:['同仁县','尖扎县','泽库县','河南蒙古族自治县']},
{name:'海南藏族自治州', areaList:['共和县','同德县','贵德县','兴海县','贵南县']},
{name:'果洛藏族自治州', areaList:['玛沁县','班玛县','甘德县','达日县','久治县','玛多县']},
{name:'玉树藏族自治州', areaList:['玉树县','杂多县','称多县','治多县','囊谦县','曲麻莱县']},
{name:'海西蒙古族藏族自治州', areaList:['格尔木市','德令哈市','乌兰县','都兰县','天峻县']}
]},
{name:'宁夏', cityList:[
{name:'银川市', areaList:['市辖区','兴庆区','西夏区','金凤区','永宁县','贺兰县','灵武市']},
{name:'石嘴山市', areaList:['市辖区','大武口区','惠农区','平罗县']},
{name:'吴忠市', areaList:['市辖区','利通区','盐池县','同心县','青铜峡市']},
{name:'固原市', areaList:['市辖区','原州区','西吉县','隆德县','泾源县','彭阳县','海原县']},
{name:'中卫市', areaList:['市辖区','沙坡头区','中宁县']}
]},
{name:'新疆', cityList:[
{name:'乌鲁木齐市', areaList:['市辖区','天山区','沙依巴克区','新市区','水磨沟区','头屯河区','达坂城区','东山区','乌鲁木齐县']},
{name:'克拉玛依市', areaList:['市辖区','独山子区','克拉玛依区','白碱滩区','乌尔禾区']},
{name:'吐鲁番地区', areaList:['吐鲁番市','鄯善县','托克逊县']},
{name:'哈密地区', areaList:['哈密市','巴里坤哈萨克自治县','伊吾县']},
{name:'昌吉回族自治州', areaList:['昌吉市','阜康市','米泉市','呼图壁县','玛纳斯县','奇台县','吉木萨尔县','木垒哈萨克自治县']},
{name:'博尔塔拉蒙古自治州', areaList:['博乐市','精河县','温泉县']},
{name:'巴音郭楞蒙古自治州', areaList:['库尔勒市','轮台县','尉犁县','若羌县','且末县','焉耆回族自治县','和静县','和硕县','博湖县']},
{name:'阿克苏地区', areaList:['阿克苏市','温宿县','库车县','沙雅县','新和县','拜城县','乌什县','阿瓦提县','柯坪县']},
{name:'克孜勒苏柯尔克孜自治州', areaList:['阿图什市','阿克陶县','阿合奇县','乌恰县']},
{name:'喀什地区', areaList:['喀什市','疏附县','疏勒县','英吉沙县','泽普县','莎车县','叶城县','麦盖提县','岳普湖县','伽师县','巴楚县','塔什库尔干塔吉克自治县']},
{name:'和田地区', areaList:['和田市','和田县','墨玉县','皮山县','洛浦县','策勒县','于田县','民丰县']},
{name:'伊犁哈萨克自治州', areaList:['伊宁市','奎屯市','伊宁县','察布查尔锡伯自治县','霍城县','巩留县','新源县','昭苏县','特克斯县','尼勒克县']},
{name:'塔城地区', areaList:['塔城市','乌苏市','额敏县','沙湾县','托里县','裕民县','和布克赛尔蒙古自治县']},
{name:'阿勒泰地区', areaList:['阿勒泰市','布尔津县','富蕴县','福海县','哈巴河县','青河县','吉木乃县']},
{name:'省直辖行政单位', areaList:['石河子市','阿拉尔市','图木舒克市','五家渠市']}
]},
{name:'河北', cityList:[
{name:'石家庄市', areaList:['市辖区','长安区','桥东区','桥西区','新华区','井陉矿区','裕华区','井陉县','正定县','栾城县','行唐县','灵寿县','高邑县','深泽县','赞皇县','无极县','平山县','元氏县','赵 县','辛集市','藁城市','晋州市','新乐市','鹿泉市']},
{name:'唐山市', areaList:['市辖区','路南区','路北区','古冶区','开平区','丰南区','丰润区','滦 县','滦南县','乐亭县','迁西县','玉田县','唐海县','遵化市','迁安市']},
{name:'秦皇岛市', areaList:['市辖区','海港区','山海关区','北戴河区','青龙满族自治县','昌黎县','抚宁县','卢龙县']},
{name:'邯郸市', areaList:['市辖区','邯山区','丛台区','复兴区','峰峰矿区','邯郸县','临漳县','成安县','大名县','涉 县','磁 县','肥乡县','永年县','邱 县','鸡泽县','广平县','馆陶县','魏 县','曲周县','武安市']},
{name:'邢台市', areaList:['市辖区','桥东区','桥西区','邢台县','临城县','内丘县','柏乡县','隆尧县','任 县','南和县','宁晋县','巨鹿县','新河县','广宗县','平乡县','威 县','清河县','临西县','南宫市','沙河市']},
{name:'保定市', areaList:['市辖区','新市区','北市区','南市区','满城县','清苑县','涞水县','阜平县','徐水县','定兴县','唐 县','高阳县','容城县','涞源县','望都县','安新县','易 县','曲阳县','蠡 县','顺平县','博野县','雄 县','涿州市','定州市','安国市','高碑店市']},
{name:'张家口市', areaList:['市辖区','桥东区','桥西区','宣化区','下花园区','宣化县','张北县','康保县','沽源县','尚义县','蔚 县','阳原县','怀安县','万全县','怀来县','涿鹿县','赤城县','崇礼县']},
{name:'承德市', areaList:['市辖区','双桥区','双滦区','鹰手营子矿区','承德县','兴隆县','平泉县','滦平县','隆化县','丰宁满族自治县','宽城满族自治县','围场满族蒙古族自治县']},
{name:'沧州市', areaList:['市辖区','新华区','运河区','沧 县','青 县','东光县','海兴县','盐山县','肃宁县','南皮县','吴桥县','献 县','孟村回族自治县','泊头市','任丘市','黄骅市','河间市']},
{name:'廊坊市', areaList:['市辖区','安次区','广阳区','固安县','永清县','香河县','大城县','文安县','大厂回族自治县','霸州市','三河市']},
{name:'衡水市', areaList:['市辖区','桃城区','枣强县','武邑县','武强县','饶阳县','安平县','故城县','景 县','阜城县','冀州市','深州市']}
]},
{name:'山西', cityList:[
{name:'太原市', areaList:['市辖区','小店区','迎泽区','杏花岭区','尖草坪区','万柏林区','晋源区','清徐县','阳曲县','娄烦县','古交市']},
{name:'大同市', areaList:['市辖区','城 区','矿 区','南郊区','新荣区','阳高县','天镇县','广灵县','灵丘县','浑源县','左云县','大同县']},
{name:'阳泉市', areaList:['市辖区','城 区','矿 区','郊 区','平定县','盂 县']},
{name:'长治市', areaList:['市辖区','城 区','郊 区','长治县','襄垣县','屯留县','平顺县','黎城县','壶关县','长子县','武乡县','沁 县','沁源县','潞城市']},
{name:'晋城市', areaList:['市辖区','城 区','沁水县','阳城县','陵川县','泽州县','高平市']},
{name:'朔州市', areaList:['市辖区','朔城区','平鲁区','山阴县','应 县','右玉县','怀仁县']},
{name:'晋中市', areaList:['市辖区','榆次区','榆社县','左权县','和顺县','昔阳县','寿阳县','太谷县','祁 县','平遥县','灵石县','介休市']},
{name:'运城市', areaList:['市辖区','盐湖区','临猗县','万荣县','闻喜县','稷山县','新绛县','绛 县','垣曲县','夏 县','平陆县','芮城县','永济市','河津市']},
{name:'忻州市', areaList:['市辖区','忻府区','定襄县','五台县','代 县','繁峙县','宁武县','静乐县','神池县','五寨县','岢岚县','河曲县','保德县','偏关县','原平市']},
{name:'临汾市', areaList:['市辖区','尧都区','曲沃县','翼城县','襄汾县','洪洞县','古 县','安泽县','浮山县','吉 县','乡宁县','大宁县','隰 县','永和县','蒲 县','汾西县','侯马市','霍州市']},
{name:'吕梁市', areaList:['市辖区','离石区','文水县','交城县','兴 县','临 县','柳林县','石楼县','岚 县','方山县','中阳县','交口县','孝义市','汾阳市']}
]},
{name:'内蒙古', cityList:[
{name:'呼和浩特市', areaList:['市辖区','新城区','回民区','玉泉区','赛罕区','土默特左旗','托克托县','和林格尔县','清水河县','武川县']},
{name:'包头市', areaList:['市辖区','东河区','昆都仑区','青山区','石拐区','白云矿区','九原区','土默特右旗','固阳县','达尔罕茂明安联合旗']},
{name:'乌海市', areaList:['市辖区','海勃湾区','海南区','乌达区']},
{name:'赤峰市', areaList:['市辖区','红山区','元宝山区','松山区','阿鲁科尔沁旗','巴林左旗','巴林右旗','林西县','克什克腾旗','翁牛特旗','喀喇沁旗','宁城县','敖汉旗']},
{name:'通辽市', areaList:['市辖区','科尔沁区','科尔沁左翼中旗','科尔沁左翼后旗','开鲁县','库伦旗','奈曼旗','扎鲁特旗','霍林郭勒市']},
{name:'鄂尔多斯市', areaList:['东胜区','达拉特旗','准格尔旗','鄂托克前旗','鄂托克旗','杭锦旗','乌审旗','伊金霍洛旗']},
{name:'呼伦贝尔市', areaList:['市辖区','海拉尔区','阿荣旗','莫力达瓦达斡尔族自治旗','鄂伦春自治旗','鄂温克族自治旗','陈巴尔虎旗','新巴尔虎左旗','新巴尔虎右旗','满洲里市','牙克石市','扎兰屯市','额尔古纳市','根河市']},
{name:'巴彦淖尔市', areaList:['市辖区','临河区','五原县','磴口县','乌拉特前旗','乌拉特中旗','乌拉特后旗','杭锦后旗']},
{name:'乌兰察布市', areaList:['市辖区','集宁区','卓资县','化德县','商都县','兴和县','凉城县','察哈尔右翼前旗','察哈尔右翼中旗','察哈尔右翼后旗','四子王旗','丰镇市']},
{name:'兴安盟', areaList:['乌兰浩特市','阿尔山市','科尔沁右翼前旗','科尔沁右翼中旗','扎赉特旗','突泉县']},
{name:'锡林郭勒盟', areaList:['二连浩特市','锡林浩特市','阿巴嘎旗','苏尼特左旗','苏尼特右旗','东乌珠穆沁旗','西乌珠穆沁旗','太仆寺旗','镶黄旗','正镶白旗','正蓝旗','多伦县']},
{name:'阿拉善盟', areaList:['阿拉善左旗','阿拉善右旗','额济纳旗']}
]},
{name:'江苏', cityList:[
{name:'南京市', areaList:['市辖区','玄武区','白下区','秦淮区','建邺区','鼓楼区','下关区','浦口区','栖霞区','雨花台区','江宁区','六合区','溧水县','高淳县']},
{name:'无锡市', areaList:['市辖区','崇安区','南长区','北塘区','锡山区','惠山区','滨湖区','江阴市','宜兴市']},
{name:'徐州市', areaList:['市辖区','鼓楼区','云龙区','九里区','贾汪区','泉山区','丰 县','沛 县','铜山县','睢宁县','新沂市','邳州市']},
{name:'常州市', areaList:['市辖区','天宁区','钟楼区','戚墅堰区','新北区','武进区','溧阳市','金坛市']},
{name:'苏州市', areaList:['市辖区','沧浪区','平江区','金阊区','虎丘区','吴中区','相城区','常熟市','张家港市','昆山市','吴江市','太仓市']},
{name:'南通市', areaList:['市辖区','崇川区','港闸区','海安县','如东县','启东市','如皋市','通州市','海门市']},
{name:'连云港市', areaList:['市辖区','连云区','新浦区','海州区','赣榆县','东海县','灌云县','灌南县']},
{name:'淮安市', areaList:['市辖区','清河区','楚州区','淮阴区','清浦区','涟水县','洪泽县','盱眙县','金湖县']},
{name:'盐城市', areaList:['市辖区','亭湖区','盐都区','响水县','滨海县','阜宁县','射阳县','建湖县','东台市','大丰市']},
{name:'扬州市', areaList:['市辖区','广陵区','邗江区','郊 区','宝应县','仪征市','高邮市','江都市']},
{name:'镇江市', areaList:['市辖区','京口区','润州区','丹徒区','丹阳市','扬中市','句容市']},
{name:'泰州市', areaList:['市辖区','海陵区','高港区','兴化市','靖江市','泰兴市','姜堰市']},
{name:'宿迁市', areaList:['市辖区','宿城区','宿豫区','沭阳县','泗阳县','泗洪县']}
]},
{name:'浙江', cityList:[
{name:'杭州市', areaList:['市辖区','上城区','下城区','江干区','拱墅区','西湖区','滨江区','萧山区','余杭区','桐庐县','淳安县','建德市','富阳市','临安市']},
{name:'宁波市', areaList:['市辖区','海曙区','江东区','江北区','北仑区','镇海区','鄞州区','象山县','宁海县','余姚市','慈溪市','奉化市']},
{name:'温州市', areaList:['市辖区','鹿城区','龙湾区','瓯海区','洞头县','永嘉县','平阳县','苍南县','文成县','泰顺县','瑞安市','乐清市']},
{name:'嘉兴市', areaList:['市辖区','秀城区','秀洲区','嘉善县','海盐县','海宁市','平湖市','桐乡市']},
{name:'湖州市', areaList:['市辖区','吴兴区','南浔区','德清县','长兴县','安吉县']},
{name:'绍兴市', areaList:['市辖区','越城区','绍兴县','新昌县','诸暨市','上虞市','嵊州市']},
{name:'金华市', areaList:['市辖区','婺城区','金东区','武义县','浦江县','磐安县','兰溪市','义乌市','东阳市','永康市']},
{name:'衢州市', areaList:['市辖区','柯城区','衢江区','常山县','开化县','龙游县','江山市']},
{name:'舟山市', areaList:['市辖区','定海区','普陀区','岱山县','嵊泗县']},
{name:'台州市', areaList:['市辖区','椒江区','黄岩区','路桥区','玉环县','三门县','天台县','仙居县','温岭市','临海市']},
{name:'丽水市', areaList:['市辖区','莲都区','青田县','缙云县','遂昌县','松阳县','云和县','庆元县','景宁畲族自治县','龙泉市']}
]},
{name:'安徽', cityList:[
{name:'合肥市', areaList:['市辖区','瑶海区','庐阳区','蜀山区','包河区','长丰县','肥东县','肥西县']},
{name:'芜湖市', areaList:['市辖区','镜湖区','马塘区','新芜区','鸠江区','芜湖县','繁昌县','南陵县']},
{name:'蚌埠市', areaList:['市辖区','龙子湖区','蚌山区','禹会区','淮上区','怀远县','五河县','固镇县']},
{name:'淮南市', areaList:['市辖区','大通区','田家庵区','谢家集区','八公山区','潘集区','凤台县']},
{name:'马鞍山市', areaList:['市辖区','金家庄区','花山区','雨山区','当涂县']},
{name:'淮北市', areaList:['市辖区','杜集区','相山区','烈山区','濉溪县']},
{name:'铜陵市', areaList:['市辖区','铜官山区','狮子山区','郊 区','铜陵县']},
{name:'安庆市', areaList:['市辖区','迎江区','大观区','郊 区','怀宁县','枞阳县','潜山县','太湖县','宿松县','望江县','岳西县','桐城市']},
{name:'黄山市', areaList:['市辖区','屯溪区','黄山区','徽州区','歙 县','休宁县','黟 县','祁门县']},
{name:'滁州市', areaList:['市辖区','琅琊区','南谯区','来安县','全椒县','定远县','凤阳县','天长市','明光市']},
{name:'阜阳市', areaList:['市辖区','颍州区','颍东区','颍泉区','临泉县','太和县','阜南县','颍上县','界首市']},
{name:'宿州市', areaList:['市辖区','墉桥区','砀山县','萧 县','灵璧县','泗 县']},
{name:'巢湖市', areaList:['市辖区','居巢区','庐江县','无为县','含山县','和 县']},
{name:'六安市', areaList:['市辖区','金安区','裕安区','寿 县','霍邱县','舒城县','金寨县','霍山县']},
{name:'亳州市', areaList:['市辖区','谯城区','涡阳县','蒙城县','利辛县']},
{name:'池州市', areaList:['市辖区','贵池区','东至县','石台县','青阳县']},
{name:'宣城市', areaList:['市辖区','宣州区','郎溪县','广德县','泾 县','绩溪县','旌德县','宁国市']}
]},
{name:'福建', cityList:[
{name:'福州市', areaList:['市辖区','鼓楼区','台江区','仓山区','马尾区','晋安区','闽侯县','连江县','罗源县','闽清县','永泰县','平潭县','福清市','长乐市']},
{name:'厦门市', areaList:['市辖区','思明区','海沧区','湖里区','集美区','同安区','翔安区']},
{name:'莆田市', areaList:['市辖区','城厢区','涵江区','荔城区','秀屿区','仙游县']},
{name:'三明市', areaList:['市辖区','梅列区','三元区','明溪县','清流县','宁化县','大田县','尤溪县','沙 县','将乐县','泰宁县','建宁县','永安市']},
{name:'泉州市', areaList:['市辖区','鲤城区','丰泽区','洛江区','泉港区','惠安县','安溪县','永春县','德化县','金门县','石狮市','晋江市','南安市']},
{name:'漳州市', areaList:['市辖区','芗城区','龙文区','云霄县','漳浦县','诏安县','长泰县','东山县','南靖县','平和县','华安县','龙海市']},
{name:'南平市', areaList:['市辖区','延平区','顺昌县','浦城县','光泽县','松溪县','政和县','邵武市','武夷山市','建瓯市','建阳市']},
{name:'龙岩市', areaList:['市辖区','新罗区','长汀县','永定县','上杭县','武平县','连城县','漳平市']},
{name:'宁德市', areaList:['市辖区','蕉城区','霞浦县','古田县','屏南县','寿宁县','周宁县','柘荣县','福安市','福鼎市']}
]},
{name:'江西', cityList:[
{name:'南昌市', areaList:['市辖区','东湖区','西湖区','青云谱区','湾里区','青山湖区','南昌县','新建县','安义县','进贤县']},
{name:'景德镇市', areaList:['市辖区','昌江区','珠山区','浮梁县','乐平市']},
{name:'萍乡市', areaList:['市辖区','安源区','湘东区','莲花县','上栗县','芦溪县']},
{name:'九江市', areaList:['市辖区','庐山区','浔阳区','九江县','武宁县','修水县','永修县','德安县','星子县','都昌县','湖口县','彭泽县','瑞昌市']},
{name:'新余市', areaList:['市辖区','渝水区','分宜县']},
{name:'鹰潭市', areaList:['市辖区','月湖区','余江县','贵溪市']},
{name:'赣州市', areaList:['市辖区','章贡区','赣 县','信丰县','大余县','上犹县','崇义县','安远县','龙南县','定南县','全南县','宁都县','于都县','兴国县','会昌县','寻乌县','石城县','瑞金市','南康市']},
{name:'吉安市', areaList:['市辖区','吉州区','青原区','吉安县','吉水县','峡江县','新干县','永丰县','泰和县','遂川县','万安县','安福县','永新县','井冈山市']},
{name:'宜春市', areaList:['市辖区','袁州区','奉新县','万载县','上高县','宜丰县','靖安县','铜鼓县','丰城市','樟树市','高安市']},
{name:'抚州市', areaList:['市辖区','临川区','南城县','黎川县','南丰县','崇仁县','乐安县','宜黄县','金溪县','资溪县','东乡县','广昌县']},
{name:'上饶市', areaList:['市辖区','信州区','上饶县','广丰县','玉山县','铅山县','横峰县','弋阳县','余干县','鄱阳县','万年县','婺源县','德兴市']}
]},
{name:'山东', cityList:[
{name:'济南市', areaList:['市辖区','历下区','市中区','槐荫区','天桥区','历城区','长清区','平阴县','济阳县','商河县','章丘市']},
{name:'青岛市', areaList:['市辖区','市南区','市北区','四方区','黄岛区','崂山区','李沧区','城阳区','胶州市','即墨市','平度市','胶南市','莱西市']},
{name:'淄博市', areaList:['市辖区','淄川区','张店区','博山区','临淄区','周村区','桓台县','高青县','沂源县']},
{name:'枣庄市', areaList:['市辖区','市中区','薛城区','峄城区','台儿庄区','山亭区','滕州市']},
{name:'东营市', areaList:['市辖区','东营区','河口区','垦利县','利津县','广饶县']},
{name:'烟台市', areaList:['市辖区','芝罘区','福山区','牟平区','莱山区','长岛县','龙口市','莱阳市','莱州市','蓬莱市','招远市','栖霞市','海阳市']},
{name:'潍坊市', areaList:['市辖区','潍城区','寒亭区','坊子区','奎文区','临朐县','昌乐县','青州市','诸城市','寿光市','安丘市','高密市','昌邑市']},
{name:'济宁市', areaList:['市辖区','市中区','任城区','微山县','鱼台县','金乡县','嘉祥县','汶上县','泗水县','梁山县','曲阜市','兖州市','邹城市']},
{name:'泰安市', areaList:['市辖区','泰山区','岱岳区','宁阳县','东平县','新泰市','肥城市']},
{name:'威海市', areaList:['市辖区','环翠区','文登市','荣成市','乳山市']},
{name:'日照市', areaList:['市辖区','东港区','岚山区','五莲县','莒 县']},
{name:'莱芜市', areaList:['市辖区','莱城区','钢城区']},
{name:'临沂市', areaList:['市辖区','兰山区','罗庄区','河东区','沂南县','郯城县','沂水县','苍山县','费 县','平邑县','莒南县','蒙阴县','临沭县']},
{name:'德州市', areaList:['市辖区','德城区','陵 县','宁津县','庆云县','临邑县','齐河县','平原县','夏津县','武城县','乐陵市','禹城市']},
{name:'聊城市', areaList:['市辖区','东昌府区','阳谷县','莘 县','茌平县','东阿县','冠 县','高唐县','临清市']},
{name:'滨州市', areaList:['市辖区','滨城区','惠民县','阳信县','无棣县','沾化县','博兴县','邹平县']},
{name:'荷泽市', areaList:['市辖区','牡丹区','曹 县','单 县','成武县','巨野县','郓城县','鄄城县','定陶县','东明县']}
]},
{name:'辽宁', cityList:[
{name:'沈阳市', areaList:['市辖区','和平区','沈河区','大东区','皇姑区','铁西区','苏家屯区','东陵区','新城子区','于洪区','辽中县','康平县','法库县','新民市']},
{name:'大连市', areaList:['市辖区','中山区','西岗区','沙河口区','甘井子区','旅顺口区','金州区','长海县','瓦房店市','普兰店市','庄河市']},
{name:'鞍山市', areaList:['市辖区','铁东区','铁西区','立山区','千山区','台安县','岫岩满族自治县','海城市']},
{name:'抚顺市', areaList:['市辖区','新抚区','东洲区','望花区','顺城区','抚顺县','新宾满族自治县','清原满族自治县']},
{name:'本溪市', areaList:['市辖区','平山区','溪湖区','明山区','南芬区','本溪满族自治县','桓仁满族自治县']},
{name:'丹东市', areaList:['市辖区','元宝区','振兴区','振安区','宽甸满族自治县','东港市','凤城市']},
{name:'锦州市', areaList:['市辖区','古塔区','凌河区','太和区','黑山县','义 县','凌海市','北宁市']},
{name:'营口市', areaList:['市辖区','站前区','西市区','鲅鱼圈区','老边区','盖州市','大石桥市']},
{name:'阜新市', areaList:['市辖区','海州区','新邱区','太平区','清河门区','细河区','阜新蒙古族自治县','彰武县']},
{name:'辽阳市', areaList:['市辖区','白塔区','文圣区','宏伟区','弓长岭区','太子河区','辽阳县','灯塔市']},
{name:'盘锦市', areaList:['市辖区','双台子区','兴隆台区','大洼县','盘山县']},
{name:'铁岭市', areaList:['市辖区','银州区','清河区','铁岭县','西丰县','昌图县','调兵山市','开原市']},
{name:'朝阳市', areaList:['市辖区','双塔区','龙城区','朝阳县','建平县','喀喇沁左翼蒙古族自治县','北票市','凌源市']},
{name:'葫芦岛市', areaList:['市辖区','连山区','龙港区','南票区','绥中县','建昌县','兴城市']}
]},
{name:'吉林', cityList:[
{name:'长春市', areaList:['市辖区','南关区','宽城区','朝阳区','二道区','绿园区','双阳区','农安县','九台市','榆树市','德惠市']},
{name:'吉林市', areaList:['市辖区','昌邑区','龙潭区','船营区','丰满区','永吉县','蛟河市','桦甸市','舒兰市','磐石市']},
{name:'四平市', areaList:['市辖区','铁西区','铁东区','梨树县','伊通满族自治县','公主岭市','双辽市']},
{name:'辽源市', areaList:['市辖区','龙山区','西安区','东丰县','东辽县']},
{name:'通化市', areaList:['市辖区','东昌区','二道江区','通化县','辉南县','柳河县','梅河口市','集安市']},
{name:'白山市', areaList:['市辖区','八道江区','抚松县','靖宇县','长白朝鲜族自治县','江源县','临江市']},
{name:'松原市', areaList:['市辖区','宁江区','前郭尔罗斯蒙古族自治县','长岭县','乾安县','扶余县']},
{name:'白城市', areaList:['市辖区','洮北区','镇赉县','通榆县','洮南市','大安市']},
{name:'延边朝鲜族自治州', areaList:['延吉市','图们市','敦化市','珲春市','龙井市','和龙市','汪清县','安图县']}
]},
{name:'黑龙江', cityList:[
{name:'哈尔滨市', areaList:['市辖区','道里区','南岗区','道外区','香坊区','动力区','平房区','松北区','呼兰区','依兰县','方正县','宾 县','巴彦县','木兰县','通河县','延寿县','阿城市','双城市','尚志市','五常市']},
{name:'齐齐哈尔市', areaList:['市辖区','龙沙区','建华区','铁锋区','昂昂溪区','富拉尔基区','碾子山区','梅里斯达斡尔族区','龙江县','依安县','泰来县','甘南县','富裕县','克山县','克东县','拜泉县','讷河市']},
{name:'鸡西市', areaList:['市辖区','鸡冠区','恒山区','滴道区','梨树区','城子河区','麻山区','鸡东县','虎林市','密山市']},
{name:'鹤岗市', areaList:['市辖区','向阳区','工农区','南山区','兴安区','东山区','兴山区','萝北县','绥滨县']},
{name:'双鸭山市', areaList:['市辖区','尖山区','岭东区','四方台区','宝山区','集贤县','友谊县','宝清县','饶河县']},
{name:'大庆市', areaList:['市辖区','萨尔图区','龙凤区','让胡路区','红岗区','大同区','肇州县','肇源县','林甸县','杜尔伯特蒙古族自治县']},
{name:'伊春市', areaList:['市辖区','伊春区','南岔区','友好区','西林区','翠峦区','新青区','美溪区','金山屯区','五营区','乌马河区','汤旺河区','带岭区','乌伊岭区','红星区','上甘岭区','嘉荫县','铁力市']},
{name:'佳木斯市', areaList:['市辖区','永红区','向阳区','前进区','东风区','郊 区','桦南县','桦川县','汤原县','抚远县','同江市','富锦市']},
{name:'七台河市', areaList:['市辖区','新兴区','桃山区','茄子河区','勃利县']},
{name:'牡丹江市', areaList:['市辖区','东安区','阳明区','爱民区','西安区','东宁县','林口县','绥芬河市','海林市','宁安市','穆棱市']},
{name:'黑河市', areaList:['市辖区','爱辉区','嫩江县','逊克县','孙吴县','北安市','五大连池市']},
{name:'绥化市', areaList:['市辖区','北林区','望奎县','兰西县','青冈县','庆安县','明水县','绥棱县','安达市','肇东市','海伦市']},
{name:'大兴安岭地区', areaList:['呼玛县','塔河县','漠河县']}
]},
{name:'海南', cityList:[
{name:'海口市', areaList:['市辖区','秀英区','龙华区','琼山区','美兰区']},
{name:'三亚市', areaList:['市辖区']},
]},
{name:'台湾', cityList:[
{name:'台湾', areaList:['台湾']}
]},
{name:'香港', cityList:[
{name:'香港', areaList:['香港']}
]},
{name:'澳门', cityList:[
{name:'澳门', areaList:['澳门']}
]}
];

View File

@ -90,7 +90,7 @@
}
var provinceList = [
{name:'请选择', cityList:[
{name:'请选择', areaList:[]},
{name:'请选择', areaList:[]},
{name:'请选择', areaList:[]}
]},
{name:'北京', cityList:[

506
public/x_admin/js/xcity2.js Normal file
View File

@ -0,0 +1,506 @@
$.fn.xcity = function(pName,cName,aName){
this.p = $(this).find('select[lay-filter=province]');
this.c = $(this).find('select[lay-filter=city]');
this.a = $(this).find('select[lay-filter=area]');
this.cityList = [];
this.reaList = [];
this.showP = function(provinceList) {
this.p.html('');
is_pName = false;
for (var i in provinceList) {
if(pName==provinceList[i].name){
is_pName = true;
this.cityList = provinceList[i].cityList;
this.p.append("<option selected value='"+provinceList[i].name+"'>"+provinceList[i].name+"</option>")
}else{
this.p.append("<option value='"+provinceList[i].name+"'>"+provinceList[i].name+"</option>")
}
}
if(!is_pName){
this.cityList = provinceList[0].cityList;
}
}
this.showC = function (cityList) {
this.c.html('');
is_cName = false;
for (var i in cityList) {
if(cName==cityList[i].name){
is_cName = true;
this.areaList = cityList[i].areaList;
this.c.append("<option selected value='"+cityList[i].name+"'>"+cityList[i].name+"</option>")
}else{
this.c.append("<option value='"+cityList[i].name+"'>"+cityList[i].name+"</option>")
}
}
if(!is_cName){
this.areaList = cityList[0].areaList;
}
}
this.showA = function (areaList) {
this.a.html('');
for (var i in areaList) {
if(aName==areaList[i]){
this.a.append("<option selected value='"+areaList[i]+"'>"+areaList[i]+"</option>")
}else{
this.a.append("<option value='"+areaList[i]+"'>"+areaList[i]+"</option>")
}
}
}
this.showP(provinceList);
this.showC(this.cityList);
this.showA(this.areaList);
form.render('select');
form.on('select(province)', function(data){
var pName = data.value;
$(data.elem).parents(".x-city").xcity(pName);
// province_value = pName
add_address(pName,'province')
});
form.on('select(city)', function(data){
var cName = data.value;
var pName = $(data.elem).parents(".x-city").find('select[lay-filter=province]').val();
$(data.elem).parents(".x-city").xcity(pName,cName);
add_address(cName,'city')
});
return this;
}
var provinceList = [
{name:'请选择', cityList:[
{name:'请选择', areaList:[]},
]},
{name:'北京', cityList:[
{name:'北京', areaList:[]},
]},
{name:'上海', cityList:[
{name:'上海', areaList:[]},
]},
{name:'天津', cityList:[
{name:'天津', areaList:[]},
]},
{name:'重庆', cityList:[
{name:'重庆', areaList:[]},
]},
{name:'四川', cityList:[
{name:'成都市', areaList:['市辖区','锦江区','青羊区','金牛区','武侯区','成华区','龙泉驿区','青白江区','新都区','温江县','金堂县','双流县','郫 县','大邑县','蒲江县','新津县','都江堰市','彭州市','邛崃市','崇州市']},
{name:'自贡市', areaList:['市辖区','自流井区','贡井区','大安区','沿滩区','荣 县','富顺县']},
{name:'攀枝花市', areaList:['市辖区','东 区','西 区','仁和区','米易县','盐边县']},
{name:'泸州市', areaList:['市辖区','江阳区','纳溪区','龙马潭区','泸 县','合江县','叙永县','古蔺县']},
{name:'德阳市', areaList:['市辖区','旌阳区','中江县','罗江县','广汉市','什邡市','绵竹市']},
{name:'绵阳市', areaList:['市辖区','涪城区','游仙区','三台县','盐亭县','安 县','梓潼县','北川羌族自治县','平武县','江油市']},
{name:'广元市', areaList:['市辖区','市中区','元坝区','朝天区','旺苍县','青川县','剑阁县','苍溪县']},
{name:'遂宁市', areaList:['市辖区','船山区','安居区','蓬溪县','射洪县','大英县']},
{name:'内江市', areaList:['市辖区','市中区','东兴区','威远县','资中县','隆昌县']},
{name:'乐山市', areaList:['市辖区','市中区','沙湾区','五通桥区','金口河区','犍为县','井研县','夹江县','沐川县','峨边彝族自治县','马边彝族自治县','峨眉山市']},
{name:'南充市', areaList:['市辖区','顺庆区','高坪区','嘉陵区','南部县','营山县','蓬安县','仪陇县','西充县','阆中市']},
{name:'眉山市', areaList:['市辖区','东坡区','仁寿县','彭山县','洪雅县','丹棱县','青神县']},
{name:'宜宾市', areaList:['市辖区','翠屏区','宜宾县','南溪县','江安县','长宁县','高 县','珙 县','筠连县','兴文县','屏山县']},
{name:'广安市', areaList:['市辖区','广安区','岳池县','武胜县','邻水县','华莹市']},
{name:'达州市', areaList:['市辖区','通川区','达 县','宣汉县','开江县','大竹县','渠 县','万源市']},
{name:'雅安市', areaList:['市辖区','雨城区','名山县','荥经县','汉源县','石棉县','天全县','芦山县','宝兴县']},
{name:'巴中市', areaList:['市辖区','巴州区','通江县','南江县','平昌县']},
{name:'资阳市', areaList:['市辖区','雁江区','安岳县','乐至县','简阳市']},
{name:'阿坝藏族羌族自治州', areaList:['汶川县','理 县','茂 县','松潘县','九寨沟县','金川县','小金县','黑水县','马尔康县','壤塘县','阿坝县','若尔盖县','红原县']},
{name:'甘孜藏族自治州', areaList:['康定县','泸定县','丹巴县','九龙县','雅江县','道孚县','炉霍县','甘孜县','新龙县','德格县','白玉县','石渠县','色达县','理塘县','巴塘县','乡城县','稻城县','得荣县']},
{name:'凉山彝族自治州', areaList:['西昌市','木里藏族自治县','盐源县','德昌县','会理县','会东县','宁南县','普格县','布拖县','金阳县','昭觉县','喜德县','冕宁县','越西县','甘洛县','美姑县','雷波县']}
]},
{name:'贵州', cityList:[
{name:'贵阳市', areaList:['市辖区','南明区','云岩区','花溪区','乌当区','白云区','小河区','开阳县','息烽县','修文县','清镇市']},
{name:'六盘水市', areaList:['钟山区','六枝特区','水城县','盘 县']},
{name:'遵义市', areaList:['市辖区','红花岗区','汇川区','遵义县','桐梓县','绥阳县','正安县','道真仡佬族苗族自治县','务川仡佬族苗族自治县','凤冈县','湄潭县','余庆县','习水县','赤水市','仁怀市']},
{name:'安顺市', areaList:['市辖区','西秀区','平坝县','普定县','镇宁布依族苗族自治县','关岭布依族苗族自治县','紫云苗族布依族自治县']},
{name:'铜仁地区', areaList:['铜仁市','江口县','玉屏侗族自治县','石阡县','思南县','印江土家族苗族自治县','德江县','沿河土家族自治县','松桃苗族自治县','万山特区']},
{name:'黔西南布依族苗族自治州', areaList:['兴义市','兴仁县','普安县','晴隆县','贞丰县','望谟县','册亨县','安龙县']},
{name:'毕节地区', areaList:['毕节市','大方县','黔西县','金沙县','织金县','纳雍县','威宁彝族回族苗族自治县','赫章县']},
{name:'黔东南苗族侗族自治州', areaList:['凯里市','黄平县','施秉县','三穗县','镇远县','岑巩县','天柱县','锦屏县','剑河县','台江县','黎平县','榕江县','从江县','雷山县','麻江县','丹寨县']},
{name:'黔南布依族苗族自治州', areaList:['都匀市','福泉市','荔波县','贵定县','瓮安县','独山县','平塘县','罗甸县','长顺县','龙里县','惠水县','三都水族自治县']}
]},
{name:'云南', cityList:[
{name:'昆明市', areaList:['市辖区','五华区','盘龙区','官渡区','西山区','东川区','呈贡县','晋宁县','富民县','宜良县','石林彝族自治县','嵩明县','禄劝彝族苗族自治县','寻甸回族彝族自治县','安宁市']},
{name:'曲靖市', areaList:['市辖区','麒麟区','马龙县','陆良县','师宗县','罗平县','富源县','会泽县','沾益县','宣威市']},
{name:'玉溪市', areaList:['市辖区','红塔区','江川县','澄江县','通海县','华宁县','易门县','峨山彝族自治县','新平彝族傣族自治县','元江哈尼族彝族傣族自治县']},
{name:'保山市', areaList:['市辖区','隆阳区','施甸县','腾冲县','龙陵县','昌宁县']},
{name:'昭通市', areaList:['市辖区','昭阳区','鲁甸县','巧家县','盐津县','大关县','永善县','绥江县','镇雄县','彝良县','威信县','水富县']},
{name:'丽江市', areaList:['市辖区','古城区','玉龙纳西族自治县','永胜县','华坪县','宁蒗彝族自治县']},
{name:'思茅市', areaList:['市辖区','翠云区','普洱哈尼族彝族自治县','墨江哈尼族自治县','景东彝族自治县','景谷傣族彝族自治县','镇沅彝族哈尼族拉祜族自治县','江城哈尼族彝族自治县','孟连傣族拉祜族佤族自治县','澜沧拉祜族自治县','西盟佤族自治县']},
{name:'临沧市', areaList:['市辖区','临翔区','凤庆县','云 县','永德县','镇康县','双江拉祜族佤族布朗族傣族自治县','耿马傣族佤族自治县','沧源佤族自治县']},
{name:'楚雄彝族自治州', areaList:['楚雄市','双柏县','牟定县','南华县','姚安县','大姚县','永仁县','元谋县','武定县','禄丰县']},
{name:'红河哈尼族彝族自治州', areaList:['个旧市','开远市','蒙自县','屏边苗族自治县','建水县','石屏县','弥勒县','泸西县','元阳县','红河县','金平苗族瑶族傣族自治县','绿春县','河口瑶族自治县']},
{name:'文山壮族苗族自治州', areaList:['文山县','砚山县','西畴县','麻栗坡县','马关县','丘北县','广南县','富宁县']},
{name:'西双版纳傣族自治州', areaList:['景洪市','勐海县','勐腊县']},
{name:'大理白族自治州', areaList:['大理市','漾濞彝族自治县','祥云县','宾川县','弥渡县','南涧彝族自治县','巍山彝族回族自治县','永平县','云龙县','洱源县','剑川县','鹤庆县']},
{name:'德宏傣族景颇族自治州', areaList:['瑞丽市','潞西市','梁河县','盈江县','陇川县']},
{name:'怒江傈僳族自治州', areaList:['泸水县','福贡县','贡山独龙族怒族自治县','兰坪白族普米族自治县']},
{name:'迪庆藏族自治州', areaList:['香格里拉县','德钦县','维西傈僳族自治县']}
]},
{name:'西藏', cityList:[
{name:'拉萨市', areaList:['市辖区','城关区','林周县','当雄县','尼木县','曲水县','堆龙德庆县','达孜县','墨竹工卡县']},
{name:'昌都地区', areaList:['昌都县','江达县','贡觉县','类乌齐县','丁青县','察雅县','八宿县','左贡县','芒康县','洛隆县','边坝县']},
{name:'山南地区', areaList:['乃东县','扎囊县','贡嘎县','桑日县','琼结县','曲松县','措美县','洛扎县','加查县','隆子县','错那县','浪卡子县']},
{name:'日喀则地区', areaList:['日喀则市','南木林县','江孜县','定日县','萨迦县','拉孜县','昂仁县','谢通门县','白朗县','仁布县','康马县','定结县','仲巴县','亚东县','吉隆县','聂拉木县','萨嘎县','岗巴县']},
{name:'那曲地区', areaList:['那曲县','嘉黎县','比如县','聂荣县','安多县','申扎县','索 县','班戈县','巴青县','尼玛县']},
{name:'阿里地区', areaList:['普兰县','札达县','噶尔县','日土县','革吉县','改则县','措勤县']},
{name:'林芝地区', areaList:['林芝县','工布江达县','米林县','墨脱县','波密县','察隅县','朗 县']}
]},
{name:'河南', cityList:[
{name:'郑州市', areaList:['市辖区','中原区','二七区','管城回族区','金水区','上街区','邙山区','中牟县','巩义市','荥阳市','新密市','新郑市','登封市']},
{name:'开封市', areaList:['市辖区','龙亭区','顺河回族区','鼓楼区','南关区','郊 区','杞 县','通许县','尉氏县','开封县','兰考县']},
{name:'洛阳市', areaList:['市辖区','老城区','西工区','廛河回族区','涧西区','吉利区','洛龙区','孟津县','新安县','栾川县','嵩 县','汝阳县','宜阳县','洛宁县','伊川县','偃师市']},
{name:'平顶山市', areaList:['市辖区','新华区','卫东区','石龙区','湛河区','宝丰县','叶 县','鲁山县','郏 县','舞钢市','汝州市']},
{name:'安阳市', areaList:['市辖区','文峰区','北关区','殷都区','龙安区','安阳县','汤阴县','滑 县','内黄县','林州市']},
{name:'鹤壁市', areaList:['市辖区','鹤山区','山城区','淇滨区','浚 县','淇 县']},
{name:'新乡市', areaList:['市辖区','红旗区','卫滨区','凤泉区','牧野区','新乡县','获嘉县','原阳县','延津县','封丘县','长垣县','卫辉市','辉县市']},
{name:'焦作市', areaList:['市辖区','解放区','中站区','马村区','山阳区','修武县','博爱县','武陟县','温 县','济源市','沁阳市','孟州市']},
{name:'濮阳市', areaList:['市辖区','华龙区','清丰县','南乐县','范 县','台前县','濮阳县']},
{name:'许昌市', areaList:['市辖区','魏都区','许昌县','鄢陵县','襄城县','禹州市','长葛市']},
{name:'漯河市', areaList:['市辖区','源汇区','郾城区','召陵区','舞阳县','临颍县']},
{name:'三门峡市', areaList:['市辖区','湖滨区','渑池县','陕 县','卢氏县','义马市','灵宝市']},
{name:'南阳市', areaList:['市辖区','宛城区','卧龙区','南召县','方城县','西峡县','镇平县','内乡县','淅川县','社旗县','唐河县','新野县','桐柏县','邓州市']},
{name:'商丘市', areaList:['市辖区','梁园区','睢阳区','民权县','睢 县','宁陵县','柘城县','虞城县','夏邑县','永城市']},
{name:'信阳市', areaList:['市辖区','师河区','平桥区','罗山县','光山县','新 县','商城县','固始县','潢川县','淮滨县','息 县']},
{name:'周口市', areaList:['市辖区','川汇区','扶沟县','西华县','商水县','沈丘县','郸城县','淮阳县','太康县','鹿邑县','项城市']},
{name:'驻马店市', areaList:['市辖区','驿城区','西平县','上蔡县','平舆县','正阳县','确山县','泌阳县','汝南县','遂平县','新蔡县']}
]},
{name:'湖北', cityList:[
{name:'武汉市', areaList:['市辖区','江岸区','江汉区','乔口区','汉阳区','武昌区','青山区','洪山区','东西湖区','汉南区','蔡甸区','江夏区','黄陂区','新洲区']},
{name:'黄石市', areaList:['市辖区','黄石港区','西塞山区','下陆区','铁山区','阳新县','大冶市']},
{name:'十堰市', areaList:['市辖区','茅箭区','张湾区','郧 县','郧西县','竹山县','竹溪县','房 县','丹江口市']},
{name:'宜昌市', areaList:['市辖区','西陵区','伍家岗区','点军区','猇亭区','夷陵区','远安县','兴山县','秭归县','长阳土家族自治县','五峰土家族自治县','宜都市','当阳市','枝江市']},
{name:'襄樊市', areaList:['市辖区','襄城区','樊城区','襄阳区','南漳县','谷城县','保康县','老河口市','枣阳市','宜城市']},
{name:'鄂州市', areaList:['市辖区','梁子湖区','华容区','鄂城区']},
{name:'荆门市', areaList:['市辖区','东宝区','掇刀区','京山县','沙洋县','钟祥市']},
{name:'孝感市', areaList:['市辖区','孝南区','孝昌县','大悟县','云梦县','应城市','安陆市','汉川市']},
{name:'荆州市', areaList:['市辖区','沙市区','荆州区','公安县','监利县','江陵县','石首市','洪湖市','松滋市']},
{name:'黄冈市', areaList:['市辖区','黄州区','团风县','红安县','罗田县','英山县','浠水县','蕲春县','黄梅县','麻城市','武穴市']},
{name:'咸宁市', areaList:['市辖区','咸安区','嘉鱼县','通城县','崇阳县','通山县','赤壁市']},
{name:'随州市', areaList:['市辖区','曾都区','广水市']},
{name:'恩施土家族苗族自治州', areaList:['恩施市','利川市','建始县','巴东县','宣恩县','咸丰县','来凤县','鹤峰县']},
{name:'省直辖行政单位', areaList:['仙桃市','潜江市','天门市','神农架林区']}
]},
{name:'湖南', cityList:[
{name:'长沙市', areaList:['市辖区','芙蓉区','天心区','岳麓区','开福区','雨花区','长沙县','望城县','宁乡县','浏阳市']},
{name:'株洲市', areaList:['市辖区','荷塘区','芦淞区','石峰区','天元区','株洲县','攸 县','茶陵县','炎陵县','醴陵市']},
{name:'湘潭市', areaList:['市辖区','雨湖区','岳塘区','湘潭县','湘乡市','韶山市']},
{name:'衡阳市', areaList:['市辖区','珠晖区','雁峰区','石鼓区','蒸湘区','南岳区','衡阳县','衡南县','衡山县','衡东县','祁东县','耒阳市','常宁市']},
{name:'邵阳市', areaList:['市辖区','双清区','大祥区','北塔区','邵东县','新邵县','邵阳县','隆回县','洞口县','绥宁县','新宁县','城步苗族自治县','武冈市']},
{name:'岳阳市', areaList:['市辖区','岳阳楼区','云溪区','君山区','岳阳县','华容县','湘阴县','平江县','汨罗市','临湘市']},
{name:'常德市', areaList:['市辖区','武陵区','鼎城区','安乡县','汉寿县','澧 县','临澧县','桃源县','石门县','津市市']},
{name:'张家界市', areaList:['市辖区','永定区','武陵源区','慈利县','桑植县']},
{name:'益阳市', areaList:['市辖区','资阳区','赫山区','南 县','桃江县','安化县','沅江市']},
{name:'郴州市', areaList:['市辖区','北湖区','苏仙区','桂阳县','宜章县','永兴县','嘉禾县','临武县','汝城县','桂东县','安仁县','资兴市']},
{name:'永州市', areaList:['市辖区','芝山区','冷水滩区','祁阳县','东安县','双牌县','道 县','江永县','宁远县','蓝山县','新田县','江华瑶族自治县']},
{name:'怀化市', areaList:['市辖区','鹤城区','中方县','沅陵县','辰溪县','溆浦县','会同县','麻阳苗族自治县','新晃侗族自治县','芷江侗族自治县','靖州苗族侗族自治县','通道侗族自治县','洪江市']},
{name:'娄底市', areaList:['市辖区','娄星区','双峰县','新化县','冷水江市','涟源市']},
{name:'湘西土家族苗族自治州', areaList:['吉首市','泸溪县','凤凰县','花垣县','保靖县','古丈县','永顺县','龙山县']}
]},
{name:'广东', cityList:[
{name:'广州市', areaList:['市辖区','东山区','荔湾区','越秀区','海珠区','天河区','芳村区','白云区','黄埔区','番禺区','花都区','增城市','从化市']},
{name:'韶关市', areaList:['市辖区','武江区','浈江区','曲江区','始兴县','仁化县','翁源县','乳源瑶族自治县','新丰县','乐昌市','南雄市']},
{name:'深圳市', areaList:['市辖区','罗湖区','福田区','南山区','宝安区','龙岗区','盐田区']},
{name:'珠海市', areaList:['市辖区','香洲区','斗门区','金湾区']},
{name:'汕头市', areaList:['市辖区','龙湖区','金平区','濠江区','潮阳区','潮南区','澄海区','南澳县']},
{name:'佛山市', areaList:['市辖区','禅城区','南海区','顺德区','三水区','高明区']},
{name:'江门市', areaList:['市辖区','蓬江区','江海区','新会区','台山市','开平市','鹤山市','恩平市']},
{name:'湛江市', areaList:['市辖区','赤坎区','霞山区','坡头区','麻章区','遂溪县','徐闻县','廉江市','雷州市','吴川市']},
{name:'茂名市', areaList:['市辖区','茂南区','茂港区','电白县','高州市','化州市','信宜市']},
{name:'肇庆市', areaList:['市辖区','端州区','鼎湖区','广宁县','怀集县','封开县','德庆县','高要市','四会市']},
{name:'惠州市', areaList:['市辖区','惠城区','惠阳区','博罗县','惠东县','龙门县']},
{name:'梅州市', areaList:['市辖区','梅江区','梅 县','大埔县','丰顺县','五华县','平远县','蕉岭县','兴宁市']},
{name:'汕尾市', areaList:['市辖区','城 区','海丰县','陆河县','陆丰市']},
{name:'河源市', areaList:['市辖区','源城区','紫金县','龙川县','连平县','和平县','东源县']},
{name:'阳江市', areaList:['市辖区','江城区','阳西县','阳东县','阳春市']},
{name:'清远市', areaList:['市辖区','清城区','佛冈县','阳山县','连山壮族瑶族自治县','连南瑶族自治县','清新县','英德市','连州市']},
{name:'东莞市', areaList:['东莞市']},
{name:'中山市', areaList:['中山市']},
{name:'潮州市', areaList:['市辖区','湘桥区','潮安县','饶平县']},
{name:'揭阳市', areaList:['市辖区','榕城区','揭东县','揭西县','惠来县','普宁市']},
{name:'云浮市', areaList:['市辖区','云城区','新兴县','郁南县','云安县','罗定市']}
]},
{name:'广西', cityList:[
{name:'南宁市', areaList:['市辖区','兴宁区','青秀区','江南区','西乡塘区','良庆区','邕宁区','武鸣县','隆安县','马山县','上林县','宾阳县','横 县']},
{name:'柳州市', areaList:['市辖区','城中区','鱼峰区','柳南区','柳北区','柳江县','柳城县','鹿寨县','融安县','融水苗族自治县','三江侗族自治县']},
{name:'桂林市', areaList:['市辖区','秀峰区','叠彩区','象山区','七星区','雁山区','阳朔县','临桂县','灵川县','全州县','兴安县','永福县','灌阳县','龙胜各族自治县','资源县','平乐县','荔蒲县','恭城瑶族自治县']},
{name:'梧州市', areaList:['市辖区','万秀区','蝶山区','长洲区','苍梧县','藤 县','蒙山县','岑溪市']},
{name:'北海市', areaList:['市辖区','海城区','银海区','铁山港区','合浦县']},
{name:'防城港市', areaList:['市辖区','港口区','防城区','上思县','东兴市']},
{name:'钦州市', areaList:['市辖区','钦南区','钦北区','灵山县','浦北县']},
{name:'贵港市', areaList:['市辖区','港北区','港南区','覃塘区','平南县','桂平市']},
{name:'玉林市', areaList:['市辖区','玉州区','容 县','陆川县','博白县','兴业县','北流市']},
{name:'百色市', areaList:['市辖区','右江区','田阳县','田东县','平果县','德保县','靖西县','那坡县','凌云县','乐业县','田林县','西林县','隆林各族自治县']},
{name:'贺州市', areaList:['市辖区','八步区','昭平县','钟山县','富川瑶族自治县']},
{name:'河池市', areaList:['市辖区','金城江区','南丹县','天峨县','凤山县','东兰县','罗城仫佬族自治县','环江毛南族自治县','巴马瑶族自治县','都安瑶族自治县','大化瑶族自治县','宜州市']},
{name:'来宾市', areaList:['市辖区','兴宾区','忻城县','象州县','武宣县','金秀瑶族自治县','合山市']},
{name:'崇左市', areaList:['市辖区','江洲区','扶绥县','宁明县','龙州县','大新县','天等县','凭祥市']}
]},
{name:'陕西', cityList:[
{name:'西安市', areaList:['市辖区','新城区','碑林区','莲湖区','灞桥区','未央区','雁塔区','阎良区','临潼区','长安区','蓝田县','周至县','户 县','高陵县']},
{name:'铜川市', areaList:['市辖区','王益区','印台区','耀州区','宜君县']},
{name:'宝鸡市', areaList:['市辖区','渭滨区','金台区','陈仓区','凤翔县','岐山县','扶风县','眉 县','陇 县','千阳县','麟游县','凤 县','太白县']},
{name:'咸阳市', areaList:['市辖区','秦都区','杨凌区','渭城区','三原县','泾阳县','乾 县','礼泉县','永寿县','彬 县','长武县','旬邑县','淳化县','武功县','兴平市']},
{name:'渭南市', areaList:['市辖区','临渭区','华 县','潼关县','大荔县','合阳县','澄城县','蒲城县','白水县','富平县','韩城市','华阴市']},
{name:'延安市', areaList:['市辖区','宝塔区','延长县','延川县','子长县','安塞县','志丹县','吴旗县','甘泉县','富 县','洛川县','宜川县','黄龙县','黄陵县']},
{name:'汉中市', areaList:['市辖区','汉台区','南郑县','城固县','洋 县','西乡县','勉 县','宁强县','略阳县','镇巴县','留坝县','佛坪县']},
{name:'榆林市', areaList:['市辖区','榆阳区','神木县','府谷县','横山县','靖边县','定边县','绥德县','米脂县','佳 县','吴堡县','清涧县','子洲县']},
{name:'安康市', areaList:['市辖区','汉滨区','汉阴县','石泉县','宁陕县','紫阳县','岚皋县','平利县','镇坪县','旬阳县','白河县']},
{name:'商洛市', areaList:['市辖区','商州区','洛南县','丹凤县','商南县','山阳县','镇安县','柞水县']}
]},
{name:'甘肃', cityList:[
{name:'兰州市', areaList:['市辖区','城关区','七里河区','西固区','安宁区','红古区','永登县','皋兰县','榆中县']},
{name:'嘉峪关市', areaList:['市辖区']},
{name:'金昌市', areaList:['市辖区','金川区','永昌县']},
{name:'白银市', areaList:['市辖区','白银区','平川区','靖远县','会宁县','景泰县']},
{name:'天水市', areaList:['市辖区','秦城区','北道区','清水县','秦安县','甘谷县','武山县','张家川回族自治县']},
{name:'武威市', areaList:['市辖区','凉州区','民勤县','古浪县','天祝藏族自治县']},
{name:'张掖市', areaList:['市辖区','甘州区','肃南裕固族自治县','民乐县','临泽县','高台县','山丹县']},
{name:'平凉市', areaList:['市辖区','崆峒区','泾川县','灵台县','崇信县','华亭县','庄浪县','静宁县']},
{name:'酒泉市', areaList:['市辖区','肃州区','金塔县','安西县','肃北蒙古族自治县','阿克塞哈萨克族自治县','玉门市','敦煌市']},
{name:'庆阳市', areaList:['市辖区','西峰区','庆城县','环 县','华池县','合水县','正宁县','宁 县','镇原县']},
{name:'定西市', areaList:['市辖区','安定区','通渭县','陇西县','渭源县','临洮县','漳 县','岷 县']},
{name:'陇南市', areaList:['市辖区','武都区','成 县','文 县','宕昌县','康 县','西和县','礼 县','徽 县','两当县']},
{name:'临夏回族自治州', areaList:['临夏市','临夏县','康乐县','永靖县','广河县','和政县','东乡族自治县','积石山保安族东乡族撒拉族自治县']},
{name:'甘南藏族自治州', areaList:['合作市','临潭县','卓尼县','舟曲县','迭部县','玛曲县','碌曲县','夏河县']}
]},
{name:'青海', cityList:[
{name:'西宁市', areaList:['市辖区','城东区','城中区','城西区','城北区','大通回族土族自治县','湟中县','湟源县']},
{name:'海东地区', areaList:['平安县','民和回族土族自治县','乐都县','互助土族自治县','化隆回族自治县','循化撒拉族自治县']},
{name:'海北藏族自治州', areaList:['门源回族自治县','祁连县','海晏县','刚察县']},
{name:'黄南藏族自治州', areaList:['同仁县','尖扎县','泽库县','河南蒙古族自治县']},
{name:'海南藏族自治州', areaList:['共和县','同德县','贵德县','兴海县','贵南县']},
{name:'果洛藏族自治州', areaList:['玛沁县','班玛县','甘德县','达日县','久治县','玛多县']},
{name:'玉树藏族自治州', areaList:['玉树县','杂多县','称多县','治多县','囊谦县','曲麻莱县']},
{name:'海西蒙古族藏族自治州', areaList:['格尔木市','德令哈市','乌兰县','都兰县','天峻县']}
]},
{name:'宁夏', cityList:[
{name:'银川市', areaList:['市辖区','兴庆区','西夏区','金凤区','永宁县','贺兰县','灵武市']},
{name:'石嘴山市', areaList:['市辖区','大武口区','惠农区','平罗县']},
{name:'吴忠市', areaList:['市辖区','利通区','盐池县','同心县','青铜峡市']},
{name:'固原市', areaList:['市辖区','原州区','西吉县','隆德县','泾源县','彭阳县','海原县']},
{name:'中卫市', areaList:['市辖区','沙坡头区','中宁县']}
]},
{name:'新疆', cityList:[
{name:'乌鲁木齐市', areaList:['市辖区','天山区','沙依巴克区','新市区','水磨沟区','头屯河区','达坂城区','东山区','乌鲁木齐县']},
{name:'克拉玛依市', areaList:['市辖区','独山子区','克拉玛依区','白碱滩区','乌尔禾区']},
{name:'吐鲁番地区', areaList:['吐鲁番市','鄯善县','托克逊县']},
{name:'哈密地区', areaList:['哈密市','巴里坤哈萨克自治县','伊吾县']},
{name:'昌吉回族自治州', areaList:['昌吉市','阜康市','米泉市','呼图壁县','玛纳斯县','奇台县','吉木萨尔县','木垒哈萨克自治县']},
{name:'博尔塔拉蒙古自治州', areaList:['博乐市','精河县','温泉县']},
{name:'巴音郭楞蒙古自治州', areaList:['库尔勒市','轮台县','尉犁县','若羌县','且末县','焉耆回族自治县','和静县','和硕县','博湖县']},
{name:'阿克苏地区', areaList:['阿克苏市','温宿县','库车县','沙雅县','新和县','拜城县','乌什县','阿瓦提县','柯坪县']},
{name:'克孜勒苏柯尔克孜自治州', areaList:['阿图什市','阿克陶县','阿合奇县','乌恰县']},
{name:'喀什地区', areaList:['喀什市','疏附县','疏勒县','英吉沙县','泽普县','莎车县','叶城县','麦盖提县','岳普湖县','伽师县','巴楚县','塔什库尔干塔吉克自治县']},
{name:'和田地区', areaList:['和田市','和田县','墨玉县','皮山县','洛浦县','策勒县','于田县','民丰县']},
{name:'伊犁哈萨克自治州', areaList:['伊宁市','奎屯市','伊宁县','察布查尔锡伯自治县','霍城县','巩留县','新源县','昭苏县','特克斯县','尼勒克县']},
{name:'塔城地区', areaList:['塔城市','乌苏市','额敏县','沙湾县','托里县','裕民县','和布克赛尔蒙古自治县']},
{name:'阿勒泰地区', areaList:['阿勒泰市','布尔津县','富蕴县','福海县','哈巴河县','青河县','吉木乃县']},
{name:'省直辖行政单位', areaList:['石河子市','阿拉尔市','图木舒克市','五家渠市']}
]},
{name:'河北', cityList:[
{name:'石家庄市', areaList:['市辖区','长安区','桥东区','桥西区','新华区','井陉矿区','裕华区','井陉县','正定县','栾城县','行唐县','灵寿县','高邑县','深泽县','赞皇县','无极县','平山县','元氏县','赵 县','辛集市','藁城市','晋州市','新乐市','鹿泉市']},
{name:'唐山市', areaList:['市辖区','路南区','路北区','古冶区','开平区','丰南区','丰润区','滦 县','滦南县','乐亭县','迁西县','玉田县','唐海县','遵化市','迁安市']},
{name:'秦皇岛市', areaList:['市辖区','海港区','山海关区','北戴河区','青龙满族自治县','昌黎县','抚宁县','卢龙县']},
{name:'邯郸市', areaList:['市辖区','邯山区','丛台区','复兴区','峰峰矿区','邯郸县','临漳县','成安县','大名县','涉 县','磁 县','肥乡县','永年县','邱 县','鸡泽县','广平县','馆陶县','魏 县','曲周县','武安市']},
{name:'邢台市', areaList:['市辖区','桥东区','桥西区','邢台县','临城县','内丘县','柏乡县','隆尧县','任 县','南和县','宁晋县','巨鹿县','新河县','广宗县','平乡县','威 县','清河县','临西县','南宫市','沙河市']},
{name:'保定市', areaList:['市辖区','新市区','北市区','南市区','满城县','清苑县','涞水县','阜平县','徐水县','定兴县','唐 县','高阳县','容城县','涞源县','望都县','安新县','易 县','曲阳县','蠡 县','顺平县','博野县','雄 县','涿州市','定州市','安国市','高碑店市']},
{name:'张家口市', areaList:['市辖区','桥东区','桥西区','宣化区','下花园区','宣化县','张北县','康保县','沽源县','尚义县','蔚 县','阳原县','怀安县','万全县','怀来县','涿鹿县','赤城县','崇礼县']},
{name:'承德市', areaList:['市辖区','双桥区','双滦区','鹰手营子矿区','承德县','兴隆县','平泉县','滦平县','隆化县','丰宁满族自治县','宽城满族自治县','围场满族蒙古族自治县']},
{name:'沧州市', areaList:['市辖区','新华区','运河区','沧 县','青 县','东光县','海兴县','盐山县','肃宁县','南皮县','吴桥县','献 县','孟村回族自治县','泊头市','任丘市','黄骅市','河间市']},
{name:'廊坊市', areaList:['市辖区','安次区','广阳区','固安县','永清县','香河县','大城县','文安县','大厂回族自治县','霸州市','三河市']},
{name:'衡水市', areaList:['市辖区','桃城区','枣强县','武邑县','武强县','饶阳县','安平县','故城县','景 县','阜城县','冀州市','深州市']}
]},
{name:'山西', cityList:[
{name:'太原市', areaList:['市辖区','小店区','迎泽区','杏花岭区','尖草坪区','万柏林区','晋源区','清徐县','阳曲县','娄烦县','古交市']},
{name:'大同市', areaList:['市辖区','城 区','矿 区','南郊区','新荣区','阳高县','天镇县','广灵县','灵丘县','浑源县','左云县','大同县']},
{name:'阳泉市', areaList:['市辖区','城 区','矿 区','郊 区','平定县','盂 县']},
{name:'长治市', areaList:['市辖区','城 区','郊 区','长治县','襄垣县','屯留县','平顺县','黎城县','壶关县','长子县','武乡县','沁 县','沁源县','潞城市']},
{name:'晋城市', areaList:['市辖区','城 区','沁水县','阳城县','陵川县','泽州县','高平市']},
{name:'朔州市', areaList:['市辖区','朔城区','平鲁区','山阴县','应 县','右玉县','怀仁县']},
{name:'晋中市', areaList:['市辖区','榆次区','榆社县','左权县','和顺县','昔阳县','寿阳县','太谷县','祁 县','平遥县','灵石县','介休市']},
{name:'运城市', areaList:['市辖区','盐湖区','临猗县','万荣县','闻喜县','稷山县','新绛县','绛 县','垣曲县','夏 县','平陆县','芮城县','永济市','河津市']},
{name:'忻州市', areaList:['市辖区','忻府区','定襄县','五台县','代 县','繁峙县','宁武县','静乐县','神池县','五寨县','岢岚县','河曲县','保德县','偏关县','原平市']},
{name:'临汾市', areaList:['市辖区','尧都区','曲沃县','翼城县','襄汾县','洪洞县','古 县','安泽县','浮山县','吉 县','乡宁县','大宁县','隰 县','永和县','蒲 县','汾西县','侯马市','霍州市']},
{name:'吕梁市', areaList:['市辖区','离石区','文水县','交城县','兴 县','临 县','柳林县','石楼县','岚 县','方山县','中阳县','交口县','孝义市','汾阳市']}
]},
{name:'内蒙古', cityList:[
{name:'呼和浩特市', areaList:['市辖区','新城区','回民区','玉泉区','赛罕区','土默特左旗','托克托县','和林格尔县','清水河县','武川县']},
{name:'包头市', areaList:['市辖区','东河区','昆都仑区','青山区','石拐区','白云矿区','九原区','土默特右旗','固阳县','达尔罕茂明安联合旗']},
{name:'乌海市', areaList:['市辖区','海勃湾区','海南区','乌达区']},
{name:'赤峰市', areaList:['市辖区','红山区','元宝山区','松山区','阿鲁科尔沁旗','巴林左旗','巴林右旗','林西县','克什克腾旗','翁牛特旗','喀喇沁旗','宁城县','敖汉旗']},
{name:'通辽市', areaList:['市辖区','科尔沁区','科尔沁左翼中旗','科尔沁左翼后旗','开鲁县','库伦旗','奈曼旗','扎鲁特旗','霍林郭勒市']},
{name:'鄂尔多斯市', areaList:['东胜区','达拉特旗','准格尔旗','鄂托克前旗','鄂托克旗','杭锦旗','乌审旗','伊金霍洛旗']},
{name:'呼伦贝尔市', areaList:['市辖区','海拉尔区','阿荣旗','莫力达瓦达斡尔族自治旗','鄂伦春自治旗','鄂温克族自治旗','陈巴尔虎旗','新巴尔虎左旗','新巴尔虎右旗','满洲里市','牙克石市','扎兰屯市','额尔古纳市','根河市']},
{name:'巴彦淖尔市', areaList:['市辖区','临河区','五原县','磴口县','乌拉特前旗','乌拉特中旗','乌拉特后旗','杭锦后旗']},
{name:'乌兰察布市', areaList:['市辖区','集宁区','卓资县','化德县','商都县','兴和县','凉城县','察哈尔右翼前旗','察哈尔右翼中旗','察哈尔右翼后旗','四子王旗','丰镇市']},
{name:'兴安盟', areaList:['乌兰浩特市','阿尔山市','科尔沁右翼前旗','科尔沁右翼中旗','扎赉特旗','突泉县']},
{name:'锡林郭勒盟', areaList:['二连浩特市','锡林浩特市','阿巴嘎旗','苏尼特左旗','苏尼特右旗','东乌珠穆沁旗','西乌珠穆沁旗','太仆寺旗','镶黄旗','正镶白旗','正蓝旗','多伦县']},
{name:'阿拉善盟', areaList:['阿拉善左旗','阿拉善右旗','额济纳旗']}
]},
{name:'江苏', cityList:[
{name:'南京市', areaList:['市辖区','玄武区','白下区','秦淮区','建邺区','鼓楼区','下关区','浦口区','栖霞区','雨花台区','江宁区','六合区','溧水县','高淳县']},
{name:'无锡市', areaList:['市辖区','崇安区','南长区','北塘区','锡山区','惠山区','滨湖区','江阴市','宜兴市']},
{name:'徐州市', areaList:['市辖区','鼓楼区','云龙区','九里区','贾汪区','泉山区','丰 县','沛 县','铜山县','睢宁县','新沂市','邳州市']},
{name:'常州市', areaList:['市辖区','天宁区','钟楼区','戚墅堰区','新北区','武进区','溧阳市','金坛市']},
{name:'苏州市', areaList:['市辖区','沧浪区','平江区','金阊区','虎丘区','吴中区','相城区','常熟市','张家港市','昆山市','吴江市','太仓市']},
{name:'南通市', areaList:['市辖区','崇川区','港闸区','海安县','如东县','启东市','如皋市','通州市','海门市']},
{name:'连云港市', areaList:['市辖区','连云区','新浦区','海州区','赣榆县','东海县','灌云县','灌南县']},
{name:'淮安市', areaList:['市辖区','清河区','楚州区','淮阴区','清浦区','涟水县','洪泽县','盱眙县','金湖县']},
{name:'盐城市', areaList:['市辖区','亭湖区','盐都区','响水县','滨海县','阜宁县','射阳县','建湖县','东台市','大丰市']},
{name:'扬州市', areaList:['市辖区','广陵区','邗江区','郊 区','宝应县','仪征市','高邮市','江都市']},
{name:'镇江市', areaList:['市辖区','京口区','润州区','丹徒区','丹阳市','扬中市','句容市']},
{name:'泰州市', areaList:['市辖区','海陵区','高港区','兴化市','靖江市','泰兴市','姜堰市']},
{name:'宿迁市', areaList:['市辖区','宿城区','宿豫区','沭阳县','泗阳县','泗洪县']}
]},
{name:'浙江', cityList:[
{name:'杭州市', areaList:['市辖区','上城区','下城区','江干区','拱墅区','西湖区','滨江区','萧山区','余杭区','桐庐县','淳安县','建德市','富阳市','临安市']},
{name:'宁波市', areaList:['市辖区','海曙区','江东区','江北区','北仑区','镇海区','鄞州区','象山县','宁海县','余姚市','慈溪市','奉化市']},
{name:'温州市', areaList:['市辖区','鹿城区','龙湾区','瓯海区','洞头县','永嘉县','平阳县','苍南县','文成县','泰顺县','瑞安市','乐清市']},
{name:'嘉兴市', areaList:['市辖区','秀城区','秀洲区','嘉善县','海盐县','海宁市','平湖市','桐乡市']},
{name:'湖州市', areaList:['市辖区','吴兴区','南浔区','德清县','长兴县','安吉县']},
{name:'绍兴市', areaList:['市辖区','越城区','绍兴县','新昌县','诸暨市','上虞市','嵊州市']},
{name:'金华市', areaList:['市辖区','婺城区','金东区','武义县','浦江县','磐安县','兰溪市','义乌市','东阳市','永康市']},
{name:'衢州市', areaList:['市辖区','柯城区','衢江区','常山县','开化县','龙游县','江山市']},
{name:'舟山市', areaList:['市辖区','定海区','普陀区','岱山县','嵊泗县']},
{name:'台州市', areaList:['市辖区','椒江区','黄岩区','路桥区','玉环县','三门县','天台县','仙居县','温岭市','临海市']},
{name:'丽水市', areaList:['市辖区','莲都区','青田县','缙云县','遂昌县','松阳县','云和县','庆元县','景宁畲族自治县','龙泉市']}
]},
{name:'安徽', cityList:[
{name:'合肥市', areaList:['市辖区','瑶海区','庐阳区','蜀山区','包河区','长丰县','肥东县','肥西县']},
{name:'芜湖市', areaList:['市辖区','镜湖区','马塘区','新芜区','鸠江区','芜湖县','繁昌县','南陵县']},
{name:'蚌埠市', areaList:['市辖区','龙子湖区','蚌山区','禹会区','淮上区','怀远县','五河县','固镇县']},
{name:'淮南市', areaList:['市辖区','大通区','田家庵区','谢家集区','八公山区','潘集区','凤台县']},
{name:'马鞍山市', areaList:['市辖区','金家庄区','花山区','雨山区','当涂县']},
{name:'淮北市', areaList:['市辖区','杜集区','相山区','烈山区','濉溪县']},
{name:'铜陵市', areaList:['市辖区','铜官山区','狮子山区','郊 区','铜陵县']},
{name:'安庆市', areaList:['市辖区','迎江区','大观区','郊 区','怀宁县','枞阳县','潜山县','太湖县','宿松县','望江县','岳西县','桐城市']},
{name:'黄山市', areaList:['市辖区','屯溪区','黄山区','徽州区','歙 县','休宁县','黟 县','祁门县']},
{name:'滁州市', areaList:['市辖区','琅琊区','南谯区','来安县','全椒县','定远县','凤阳县','天长市','明光市']},
{name:'阜阳市', areaList:['市辖区','颍州区','颍东区','颍泉区','临泉县','太和县','阜南县','颍上县','界首市']},
{name:'宿州市', areaList:['市辖区','墉桥区','砀山县','萧 县','灵璧县','泗 县']},
{name:'巢湖市', areaList:['市辖区','居巢区','庐江县','无为县','含山县','和 县']},
{name:'六安市', areaList:['市辖区','金安区','裕安区','寿 县','霍邱县','舒城县','金寨县','霍山县']},
{name:'亳州市', areaList:['市辖区','谯城区','涡阳县','蒙城县','利辛县']},
{name:'池州市', areaList:['市辖区','贵池区','东至县','石台县','青阳县']},
{name:'宣城市', areaList:['市辖区','宣州区','郎溪县','广德县','泾 县','绩溪县','旌德县','宁国市']}
]},
{name:'福建', cityList:[
{name:'福州市', areaList:['市辖区','鼓楼区','台江区','仓山区','马尾区','晋安区','闽侯县','连江县','罗源县','闽清县','永泰县','平潭县','福清市','长乐市']},
{name:'厦门市', areaList:['市辖区','思明区','海沧区','湖里区','集美区','同安区','翔安区']},
{name:'莆田市', areaList:['市辖区','城厢区','涵江区','荔城区','秀屿区','仙游县']},
{name:'三明市', areaList:['市辖区','梅列区','三元区','明溪县','清流县','宁化县','大田县','尤溪县','沙 县','将乐县','泰宁县','建宁县','永安市']},
{name:'泉州市', areaList:['市辖区','鲤城区','丰泽区','洛江区','泉港区','惠安县','安溪县','永春县','德化县','金门县','石狮市','晋江市','南安市']},
{name:'漳州市', areaList:['市辖区','芗城区','龙文区','云霄县','漳浦县','诏安县','长泰县','东山县','南靖县','平和县','华安县','龙海市']},
{name:'南平市', areaList:['市辖区','延平区','顺昌县','浦城县','光泽县','松溪县','政和县','邵武市','武夷山市','建瓯市','建阳市']},
{name:'龙岩市', areaList:['市辖区','新罗区','长汀县','永定县','上杭县','武平县','连城县','漳平市']},
{name:'宁德市', areaList:['市辖区','蕉城区','霞浦县','古田县','屏南县','寿宁县','周宁县','柘荣县','福安市','福鼎市']}
]},
{name:'江西', cityList:[
{name:'南昌市', areaList:['市辖区','东湖区','西湖区','青云谱区','湾里区','青山湖区','南昌县','新建县','安义县','进贤县']},
{name:'景德镇市', areaList:['市辖区','昌江区','珠山区','浮梁县','乐平市']},
{name:'萍乡市', areaList:['市辖区','安源区','湘东区','莲花县','上栗县','芦溪县']},
{name:'九江市', areaList:['市辖区','庐山区','浔阳区','九江县','武宁县','修水县','永修县','德安县','星子县','都昌县','湖口县','彭泽县','瑞昌市']},
{name:'新余市', areaList:['市辖区','渝水区','分宜县']},
{name:'鹰潭市', areaList:['市辖区','月湖区','余江县','贵溪市']},
{name:'赣州市', areaList:['市辖区','章贡区','赣 县','信丰县','大余县','上犹县','崇义县','安远县','龙南县','定南县','全南县','宁都县','于都县','兴国县','会昌县','寻乌县','石城县','瑞金市','南康市']},
{name:'吉安市', areaList:['市辖区','吉州区','青原区','吉安县','吉水县','峡江县','新干县','永丰县','泰和县','遂川县','万安县','安福县','永新县','井冈山市']},
{name:'宜春市', areaList:['市辖区','袁州区','奉新县','万载县','上高县','宜丰县','靖安县','铜鼓县','丰城市','樟树市','高安市']},
{name:'抚州市', areaList:['市辖区','临川区','南城县','黎川县','南丰县','崇仁县','乐安县','宜黄县','金溪县','资溪县','东乡县','广昌县']},
{name:'上饶市', areaList:['市辖区','信州区','上饶县','广丰县','玉山县','铅山县','横峰县','弋阳县','余干县','鄱阳县','万年县','婺源县','德兴市']}
]},
{name:'山东', cityList:[
{name:'济南市', areaList:['市辖区','历下区','市中区','槐荫区','天桥区','历城区','长清区','平阴县','济阳县','商河县','章丘市']},
{name:'青岛市', areaList:['市辖区','市南区','市北区','四方区','黄岛区','崂山区','李沧区','城阳区','胶州市','即墨市','平度市','胶南市','莱西市']},
{name:'淄博市', areaList:['市辖区','淄川区','张店区','博山区','临淄区','周村区','桓台县','高青县','沂源县']},
{name:'枣庄市', areaList:['市辖区','市中区','薛城区','峄城区','台儿庄区','山亭区','滕州市']},
{name:'东营市', areaList:['市辖区','东营区','河口区','垦利县','利津县','广饶县']},
{name:'烟台市', areaList:['市辖区','芝罘区','福山区','牟平区','莱山区','长岛县','龙口市','莱阳市','莱州市','蓬莱市','招远市','栖霞市','海阳市']},
{name:'潍坊市', areaList:['市辖区','潍城区','寒亭区','坊子区','奎文区','临朐县','昌乐县','青州市','诸城市','寿光市','安丘市','高密市','昌邑市']},
{name:'济宁市', areaList:['市辖区','市中区','任城区','微山县','鱼台县','金乡县','嘉祥县','汶上县','泗水县','梁山县','曲阜市','兖州市','邹城市']},
{name:'泰安市', areaList:['市辖区','泰山区','岱岳区','宁阳县','东平县','新泰市','肥城市']},
{name:'威海市', areaList:['市辖区','环翠区','文登市','荣成市','乳山市']},
{name:'日照市', areaList:['市辖区','东港区','岚山区','五莲县','莒 县']},
{name:'莱芜市', areaList:['市辖区','莱城区','钢城区']},
{name:'临沂市', areaList:['市辖区','兰山区','罗庄区','河东区','沂南县','郯城县','沂水县','苍山县','费 县','平邑县','莒南县','蒙阴县','临沭县']},
{name:'德州市', areaList:['市辖区','德城区','陵 县','宁津县','庆云县','临邑县','齐河县','平原县','夏津县','武城县','乐陵市','禹城市']},
{name:'聊城市', areaList:['市辖区','东昌府区','阳谷县','莘 县','茌平县','东阿县','冠 县','高唐县','临清市']},
{name:'滨州市', areaList:['市辖区','滨城区','惠民县','阳信县','无棣县','沾化县','博兴县','邹平县']},
{name:'荷泽市', areaList:['市辖区','牡丹区','曹 县','单 县','成武县','巨野县','郓城县','鄄城县','定陶县','东明县']}
]},
{name:'辽宁', cityList:[
{name:'沈阳市', areaList:['市辖区','和平区','沈河区','大东区','皇姑区','铁西区','苏家屯区','东陵区','新城子区','于洪区','辽中县','康平县','法库县','新民市']},
{name:'大连市', areaList:['市辖区','中山区','西岗区','沙河口区','甘井子区','旅顺口区','金州区','长海县','瓦房店市','普兰店市','庄河市']},
{name:'鞍山市', areaList:['市辖区','铁东区','铁西区','立山区','千山区','台安县','岫岩满族自治县','海城市']},
{name:'抚顺市', areaList:['市辖区','新抚区','东洲区','望花区','顺城区','抚顺县','新宾满族自治县','清原满族自治县']},
{name:'本溪市', areaList:['市辖区','平山区','溪湖区','明山区','南芬区','本溪满族自治县','桓仁满族自治县']},
{name:'丹东市', areaList:['市辖区','元宝区','振兴区','振安区','宽甸满族自治县','东港市','凤城市']},
{name:'锦州市', areaList:['市辖区','古塔区','凌河区','太和区','黑山县','义 县','凌海市','北宁市']},
{name:'营口市', areaList:['市辖区','站前区','西市区','鲅鱼圈区','老边区','盖州市','大石桥市']},
{name:'阜新市', areaList:['市辖区','海州区','新邱区','太平区','清河门区','细河区','阜新蒙古族自治县','彰武县']},
{name:'辽阳市', areaList:['市辖区','白塔区','文圣区','宏伟区','弓长岭区','太子河区','辽阳县','灯塔市']},
{name:'盘锦市', areaList:['市辖区','双台子区','兴隆台区','大洼县','盘山县']},
{name:'铁岭市', areaList:['市辖区','银州区','清河区','铁岭县','西丰县','昌图县','调兵山市','开原市']},
{name:'朝阳市', areaList:['市辖区','双塔区','龙城区','朝阳县','建平县','喀喇沁左翼蒙古族自治县','北票市','凌源市']},
{name:'葫芦岛市', areaList:['市辖区','连山区','龙港区','南票区','绥中县','建昌县','兴城市']}
]},
{name:'吉林', cityList:[
{name:'长春市', areaList:['市辖区','南关区','宽城区','朝阳区','二道区','绿园区','双阳区','农安县','九台市','榆树市','德惠市']},
{name:'吉林市', areaList:['市辖区','昌邑区','龙潭区','船营区','丰满区','永吉县','蛟河市','桦甸市','舒兰市','磐石市']},
{name:'四平市', areaList:['市辖区','铁西区','铁东区','梨树县','伊通满族自治县','公主岭市','双辽市']},
{name:'辽源市', areaList:['市辖区','龙山区','西安区','东丰县','东辽县']},
{name:'通化市', areaList:['市辖区','东昌区','二道江区','通化县','辉南县','柳河县','梅河口市','集安市']},
{name:'白山市', areaList:['市辖区','八道江区','抚松县','靖宇县','长白朝鲜族自治县','江源县','临江市']},
{name:'松原市', areaList:['市辖区','宁江区','前郭尔罗斯蒙古族自治县','长岭县','乾安县','扶余县']},
{name:'白城市', areaList:['市辖区','洮北区','镇赉县','通榆县','洮南市','大安市']},
{name:'延边朝鲜族自治州', areaList:['延吉市','图们市','敦化市','珲春市','龙井市','和龙市','汪清县','安图县']}
]},
{name:'黑龙江', cityList:[
{name:'哈尔滨市', areaList:['市辖区','道里区','南岗区','道外区','香坊区','动力区','平房区','松北区','呼兰区','依兰县','方正县','宾 县','巴彦县','木兰县','通河县','延寿县','阿城市','双城市','尚志市','五常市']},
{name:'齐齐哈尔市', areaList:['市辖区','龙沙区','建华区','铁锋区','昂昂溪区','富拉尔基区','碾子山区','梅里斯达斡尔族区','龙江县','依安县','泰来县','甘南县','富裕县','克山县','克东县','拜泉县','讷河市']},
{name:'鸡西市', areaList:['市辖区','鸡冠区','恒山区','滴道区','梨树区','城子河区','麻山区','鸡东县','虎林市','密山市']},
{name:'鹤岗市', areaList:['市辖区','向阳区','工农区','南山区','兴安区','东山区','兴山区','萝北县','绥滨县']},
{name:'双鸭山市', areaList:['市辖区','尖山区','岭东区','四方台区','宝山区','集贤县','友谊县','宝清县','饶河县']},
{name:'大庆市', areaList:['市辖区','萨尔图区','龙凤区','让胡路区','红岗区','大同区','肇州县','肇源县','林甸县','杜尔伯特蒙古族自治县']},
{name:'伊春市', areaList:['市辖区','伊春区','南岔区','友好区','西林区','翠峦区','新青区','美溪区','金山屯区','五营区','乌马河区','汤旺河区','带岭区','乌伊岭区','红星区','上甘岭区','嘉荫县','铁力市']},
{name:'佳木斯市', areaList:['市辖区','永红区','向阳区','前进区','东风区','郊 区','桦南县','桦川县','汤原县','抚远县','同江市','富锦市']},
{name:'七台河市', areaList:['市辖区','新兴区','桃山区','茄子河区','勃利县']},
{name:'牡丹江市', areaList:['市辖区','东安区','阳明区','爱民区','西安区','东宁县','林口县','绥芬河市','海林市','宁安市','穆棱市']},
{name:'黑河市', areaList:['市辖区','爱辉区','嫩江县','逊克县','孙吴县','北安市','五大连池市']},
{name:'绥化市', areaList:['市辖区','北林区','望奎县','兰西县','青冈县','庆安县','明水县','绥棱县','安达市','肇东市','海伦市']},
{name:'大兴安岭地区', areaList:['呼玛县','塔河县','漠河县']}
]},
{name:'海南', cityList:[
{name:'海口市', areaList:['市辖区','秀英区','龙华区','琼山区','美兰区']},
{name:'三亚市', areaList:['市辖区']},
{name:'省直辖县级行政单位', areaList:['五指山市','琼海市','儋州市','文昌市','万宁市','东方市','定安县','屯昌县','澄迈县','临高县','白沙黎族自治县','昌江黎族自治县','乐东黎族自治县','陵水黎族自治县','保亭黎族苗族自治县','琼中黎族苗族自治县','西沙群岛','南沙群岛','中沙群岛的岛礁及其海域']}
]},
{name:'台湾', cityList:[
{name:'台湾', areaList:['台湾']}
]},
{name:'香港', cityList:[
{name:'香港', areaList:['香港']}
]},
{name:'澳门', cityList:[
{name:'澳门', areaList:['澳门']}
]}
];