Commit ea5ef384 by zhangdaihao

2.1.3 大屏版本发布

parent 728d62f8
...@@ -3,12 +3,12 @@ ...@@ -3,12 +3,12 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<artifactId>jeecg-boot-base-common</artifactId> <artifactId>jeecg-boot-base-common</artifactId>
<version>2.1.2</version> <version>2.1.3</version>
<parent> <parent>
<groupId>org.jeecgframework.boot</groupId> <groupId>org.jeecgframework.boot</groupId>
<artifactId>jeecg-boot-parent</artifactId> <artifactId>jeecg-boot-parent</artifactId>
<version>2.1.2</version> <version>2.1.3</version>
</parent> </parent>
<repositories> <repositories>
......
...@@ -12,4 +12,13 @@ public interface CommonSendStatus { ...@@ -12,4 +12,13 @@ public interface CommonSendStatus {
public static final String PUBLISHED_STATUS_1 = "1"; //已发布 public static final String PUBLISHED_STATUS_1 = "1"; //已发布
public static final String REVOKE_STATUS_2 = "2"; //撤销 public static final String REVOKE_STATUS_2 = "2"; //撤销
/**流程催办——系统通知消息模板*/
public static final String TZMB_BPM_CUIBAN = "bpm_cuiban";
/**标准模板—系统消息通知*/
public static final String TZMB_SYS_TS_NOTE = "sys_ts_note";
/**流程超时提醒——系统通知消息模板*/
public static final String TZMB_BPM_CHAOSHI_TIP = "bpm_chaoshi_tip";
} }
...@@ -64,9 +64,22 @@ public class JeecgBootExceptionHandler { ...@@ -64,9 +64,22 @@ public class JeecgBootExceptionHandler {
* @return * @return
*/ */
@ExceptionHandler(HttpRequestMethodNotSupportedException.class) @ExceptionHandler(HttpRequestMethodNotSupportedException.class)
public Result<?> HttpRequestMethodNotSupportedException(Exception e){ public Result<?> HttpRequestMethodNotSupportedException(HttpRequestMethodNotSupportedException e){
log.error(e.getMessage(), e); StringBuffer sb = new StringBuffer();
return Result.error("没有权限,请联系管理员授权"); sb.append("不支持");
sb.append(e.getMethod());
sb.append("请求方法,");
sb.append("支持以下");
String [] methods = e.getSupportedMethods();
if(methods!=null){
for(String str:methods){
sb.append(str);
sb.append("、");
}
}
log.error(sb.toString(), e);
//return Result.error("没有权限,请联系管理员授权");
return Result.error(405,sb.toString());
} }
/** /**
......
...@@ -10,6 +10,11 @@ import com.alibaba.fastjson.JSONObject; ...@@ -10,6 +10,11 @@ import com.alibaba.fastjson.JSONObject;
*/ */
public interface IFillRuleHandler { public interface IFillRuleHandler {
/**
* @param params 页面配置固定参数
* @param formData 动态表单参数
* @return
*/
public Object execute(JSONObject params, JSONObject formData); public Object execute(JSONObject params, JSONObject formData);
} }
......
...@@ -2,6 +2,7 @@ package org.jeecg.common.system.api; ...@@ -2,6 +2,7 @@ package org.jeecg.common.system.api;
import java.sql.SQLException; import java.sql.SQLException;
import java.util.List; import java.util.List;
import java.util.Map;
import org.jeecg.common.system.vo.ComboModel; import org.jeecg.common.system.vo.ComboModel;
import org.jeecg.common.system.vo.DictModel; import org.jeecg.common.system.vo.DictModel;
...@@ -99,7 +100,37 @@ public interface ISysBaseAPI { ...@@ -99,7 +100,37 @@ public interface ISysBaseAPI {
* @param msgContent 消息内容 * @param msgContent 消息内容
*/ */
public void sendSysAnnouncement(String fromUser,String toUser,String title, String msgContent); public void sendSysAnnouncement(String fromUser,String toUser,String title, String msgContent);
/**
* 发送系统消息
* @param fromUser 发送人(用户登录账户)
* @param toUser 发送给(用户登录账户)
* @param title 通知标题
* @param map 模板参数
* @param templateCode 模板编码
*/
public void sendSysAnnouncement(String fromUser, String toUser,String title, Map<String, String> map, String templateCode);
/**
* 通过消息中心模板,生成推送内容
*
* @param templateCode 模板编码
* @param map 模板参数
* @return
*/
public String parseTemplateByCode(String templateCode, Map<String, String> map);
/**
* 发送系统消息
* @param fromUser 发送人(用户登录账户)
* @param toUser 发送给(用户登录账户)
* @param title 消息主题
* @param msgContent 消息内容
* @param setMsgCategory 消息类型 1:消息2:系统消息
*/
public void sendSysAnnouncement(String fromUser, String toUser, String title, String msgContent, String setMsgCategory);
/** /**
* 查询表字典 支持过滤数据 * 查询表字典 支持过滤数据
* @param table * @param table
......
...@@ -23,6 +23,13 @@ public enum MatchTypeEnum { ...@@ -23,6 +23,13 @@ public enum MatchTypeEnum {
return value; return value;
} }
public static MatchTypeEnum getByValue(Object value) {
if (oConvertUtils.isEmpty(value)) {
return null;
}
return getByValue(value.toString());
}
public static MatchTypeEnum getByValue(String value) { public static MatchTypeEnum getByValue(String value) {
if (oConvertUtils.isEmpty(value)) { if (oConvertUtils.isEmpty(value)) {
return null; return null;
......
...@@ -17,11 +17,14 @@ import java.util.regex.Pattern; ...@@ -17,11 +17,14 @@ import java.util.regex.Pattern;
import org.apache.commons.beanutils.PropertyUtils; import org.apache.commons.beanutils.PropertyUtils;
import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.constant.CommonConstant;
import org.jeecg.common.constant.DataBaseConstant;
import org.jeecg.common.system.api.ISysBaseAPI;
import org.jeecg.common.system.util.JeecgDataAutorUtils; import org.jeecg.common.system.util.JeecgDataAutorUtils;
import org.jeecg.common.system.util.JwtUtil; import org.jeecg.common.system.util.JwtUtil;
import org.jeecg.common.system.vo.SysPermissionDataRuleModel; import org.jeecg.common.system.vo.SysPermissionDataRuleModel;
import org.jeecg.common.util.SqlInjectionUtil; import org.jeecg.common.util.SqlInjectionUtil;
import org.jeecg.common.util.oConvertUtils; import org.jeecg.common.util.oConvertUtils;
import org.jeecgframework.core.util.ApplicationContextUtil;
import org.springframework.util.NumberUtils; import org.springframework.util.NumberUtils;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
...@@ -31,7 +34,6 @@ import lombok.extern.slf4j.Slf4j; ...@@ -31,7 +34,6 @@ import lombok.extern.slf4j.Slf4j;
@Slf4j @Slf4j
public class QueryGenerator { public class QueryGenerator {
public static final String SQL_RULES_COLUMN = "SQL_RULES_COLUMN"; public static final String SQL_RULES_COLUMN = "SQL_RULES_COLUMN";
private static final String BEGIN = "_begin"; private static final String BEGIN = "_begin";
...@@ -315,7 +317,7 @@ public class QueryGenerator { ...@@ -315,7 +317,7 @@ public class QueryGenerator {
} }
private static void addQueryByRule(QueryWrapper<?> queryWrapper,String name,String type,String value,QueryRuleEnum rule) throws ParseException { private static void addQueryByRule(QueryWrapper<?> queryWrapper,String name,String type,String value,QueryRuleEnum rule) throws ParseException {
if(!"".equals(value)) { if(oConvertUtils.isNotEmpty(value)) {
Object temp; Object temp;
switch (type) { switch (type) {
case "class java.lang.Integer": case "class java.lang.Integer":
...@@ -380,7 +382,7 @@ public class QueryGenerator { ...@@ -380,7 +382,7 @@ public class QueryGenerator {
* @param value 查询条件值 * @param value 查询条件值
*/ */
private static void addEasyQuery(QueryWrapper<?> queryWrapper, String name, QueryRuleEnum rule, Object value) { private static void addEasyQuery(QueryWrapper<?> queryWrapper, String name, QueryRuleEnum rule, Object value) {
if (value == null || rule == null) { if (value == null || rule == null || oConvertUtils.isEmpty(value)) {
return; return;
} }
name = oConvertUtils.camelToUnderline(name); name = oConvertUtils.camelToUnderline(name);
...@@ -590,7 +592,11 @@ public class QueryGenerator { ...@@ -590,7 +592,11 @@ public class QueryGenerator {
str = str.substring(1); str = str.substring(1);
} }
if(isString) { if(isString) {
return " '"+str+"' "; if(DataBaseConstant.DB_TYPE_SQLSERVER.equals(getDbType())){
return " N'"+str+"' ";
}else{
return " '"+str+"' ";
}
}else { }else {
return value.toString(); return value.toString();
} }
...@@ -601,7 +607,11 @@ public class QueryGenerator { ...@@ -601,7 +607,11 @@ public class QueryGenerator {
String temp[] = value.toString().split(","); String temp[] = value.toString().split(",");
String res=""; String res="";
for (String string : temp) { for (String string : temp) {
res+=",'"+string+"'"; if(DataBaseConstant.DB_TYPE_SQLSERVER.equals(getDbType())){
res+=",N'"+string+"'";
}else{
res+=",'"+string+"'";
}
} }
return "("+res.substring(1)+")"; return "("+res.substring(1)+")";
}else { }else {
...@@ -612,16 +622,36 @@ public class QueryGenerator { ...@@ -612,16 +622,36 @@ public class QueryGenerator {
private static String getLikeConditionValue(Object value) { private static String getLikeConditionValue(Object value) {
String str = value.toString().trim(); String str = value.toString().trim();
if(str.startsWith("*") && str.endsWith("*")) { if(str.startsWith("*") && str.endsWith("*")) {
return "'%"+str.substring(1,str.length()-1)+"%'"; if(DataBaseConstant.DB_TYPE_SQLSERVER.equals(getDbType())){
return "N'%"+str.substring(1,str.length()-1)+"%'";
}else{
return "'%"+str.substring(1,str.length()-1)+"%'";
}
}else if(str.startsWith("*")) { }else if(str.startsWith("*")) {
return "'%"+str.substring(1)+"'"; if(DataBaseConstant.DB_TYPE_SQLSERVER.equals(getDbType())){
return "N'%"+str.substring(1)+"'";
}else{
return "'%"+str.substring(1)+"'";
}
}else if(str.endsWith("*")) { }else if(str.endsWith("*")) {
return "'"+str.substring(0,str.length()-1)+"%'"; if(DataBaseConstant.DB_TYPE_SQLSERVER.equals(getDbType())){
return "N'"+str.substring(0,str.length()-1)+"%'";
}else{
return "'"+str.substring(0,str.length()-1)+"%'";
}
}else { }else {
if(str.indexOf("%")>=0) { if(str.indexOf("%")>=0) {
return str; if(DataBaseConstant.DB_TYPE_SQLSERVER.equals(getDbType())){
return "N"+str;
}else{
return str;
}
}else { }else {
return "'%"+str+"%'"; if(DataBaseConstant.DB_TYPE_SQLSERVER.equals(getDbType())){
return "N'%"+str+"%'";
}else{
return "'%"+str+"%'";
}
} }
} }
} }
...@@ -695,5 +725,25 @@ public class QueryGenerator { ...@@ -695,5 +725,25 @@ public class QueryGenerator {
} }
} }
} }
/** 当前系统数据库类型 */
private static String DB_TYPE;
/**
* 获取系统数据库类型
*/
private static String getDbType(){
if(oConvertUtils.isNotEmpty(DB_TYPE)){
return DB_TYPE;
}
try {
ISysBaseAPI sysBaseAPI = ApplicationContextUtil.getContext().getBean(ISysBaseAPI.class);
DB_TYPE = sysBaseAPI.getDatabaseType();
return DB_TYPE;
} catch (Exception e) {
e.printStackTrace();
}
return DB_TYPE;
}
} }
package org.jeecg.common.util;
import org.apache.commons.lang.StringUtils;
import org.springframework.web.util.HtmlUtils;
/**
* HTML 工具类
*/
public class HTMLUtils {
/**
* 获取HTML内的文本,不包含标签
*
* @param html HTML 代码
*/
public static String getInnerText(String html) {
if (StringUtils.isNotBlank(html)) {
//去掉 html 的标签
String content = html.replaceAll("</?[^>]+>", "");
// 将多个空格合并成一个空格
content = content.replaceAll("(&nbsp;)+", "&nbsp;");
// 反向转义字符
content = HtmlUtils.htmlUnescape(content);
return content.trim();
}
return "";
}
}
...@@ -3,12 +3,12 @@ ...@@ -3,12 +3,12 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<artifactId>jeecg-boot-module-system</artifactId> <artifactId>jeecg-boot-module-system</artifactId>
<version>2.1.2</version> <version>2.1.3</version>
<parent> <parent>
<groupId>org.jeecgframework.boot</groupId> <groupId>org.jeecgframework.boot</groupId>
<artifactId>jeecg-boot-parent</artifactId> <artifactId>jeecg-boot-parent</artifactId>
<version>2.1.2</version> <version>2.1.3</version>
</parent> </parent>
<repositories> <repositories>
......
...@@ -22,8 +22,8 @@ import springfox.documentation.swagger2.annotations.EnableSwagger2; ...@@ -22,8 +22,8 @@ import springfox.documentation.swagger2.annotations.EnableSwagger2;
@EnableAutoConfiguration @EnableAutoConfiguration
public class JeecgApplication { public class JeecgApplication {
public static void main(String[] args) throws UnknownHostException { public static void main(String[] args) throws UnknownHostException {
//System.setProperty("spring.devtools.restart.enabled", "true"); //System.setProperty("spring.devtools.restart.enabled", "true");
ConfigurableApplicationContext application = SpringApplication.run(JeecgApplication.class, args); ConfigurableApplicationContext application = SpringApplication.run(JeecgApplication.class, args);
Environment env = application.getEnvironment(); Environment env = application.getEnvironment();
...@@ -34,22 +34,8 @@ public class JeecgApplication { ...@@ -34,22 +34,8 @@ public class JeecgApplication {
"Application Jeecg-Boot is running! Access URLs:\n\t" + "Application Jeecg-Boot is running! Access URLs:\n\t" +
"Local: \t\thttp://localhost:" + port + path + "/\n\t" + "Local: \t\thttp://localhost:" + port + path + "/\n\t" +
"External: \thttp://" + ip + ":" + port + path + "/\n\t" + "External: \thttp://" + ip + ":" + port + path + "/\n\t" +
"swagger-ui: \thttp://" + ip + ":" + port + path + "/swagger-ui.html\n\t" + "swagger-ui: \t\thttp://" + ip + ":" + port + path + "/doc.html\n" +
"Doc: \t\thttp://" + ip + ":" + port + path + "/doc.html\n" +
"----------------------------------------------------------"); "----------------------------------------------------------");
} }
/**
* tomcat-embed-jasper引用后提示jar找不到的问题
*/
@Bean
public TomcatServletWebServerFactory tomcatFactory() {
return new TomcatServletWebServerFactory() {
@Override
protected void postProcessContext(Context context) {
((StandardJarScanner) context.getJarScanner()).setScanManifest(false);
}
};
}
} }
\ No newline at end of file
...@@ -66,6 +66,10 @@ public class ShiroConfig { ...@@ -66,6 +66,10 @@ public class ShiroConfig {
filterChainDefinitionMap.put(url,"anon"); filterChainDefinitionMap.put(url,"anon");
} }
} }
//大屏请求排除
filterChainDefinitionMap.put("/big/screen/**", "anon");
filterChainDefinitionMap.put("/bigscreen/**", "anon");
//cas验证登录 //cas验证登录
filterChainDefinitionMap.put("/cas/client/validateLogin", "anon"); filterChainDefinitionMap.put("/cas/client/validateLogin", "anon");
// 配置不会被拦截的链接 顺序判断 // 配置不会被拦截的链接 顺序判断
...@@ -119,7 +123,7 @@ public class ShiroConfig { ...@@ -119,7 +123,7 @@ public class ShiroConfig {
//排除Online请求 //排除Online请求
filterChainDefinitionMap.put("/auto/cgform/**", "anon"); filterChainDefinitionMap.put("/auto/cgform/**", "anon");
//websocket排除 //websocket排除
filterChainDefinitionMap.put("/websocket/**", "anon"); filterChainDefinitionMap.put("/websocket/**", "anon");
......
...@@ -45,32 +45,20 @@ public class MybatisInterceptor implements Interceptor { ...@@ -45,32 +45,20 @@ public class MybatisInterceptor implements Interceptor {
return invocation.proceed(); return invocation.proceed();
} }
if (SqlCommandType.INSERT == sqlCommandType) { if (SqlCommandType.INSERT == sqlCommandType) {
LoginUser sysUser = this.getLoginUser();
Field[] fields = oConvertUtils.getAllFields(parameter); Field[] fields = oConvertUtils.getAllFields(parameter);
for (Field field : fields) { for (Field field : fields) {
log.debug("------field.name------" + field.getName()); log.debug("------field.name------" + field.getName());
try { try {
//update-begin--Author:scott Date:20190828 for:关于使用Quzrtz 开启线程任务, #465
// 获取登录用户信息
LoginUser sysUser = null;
try{
sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
}catch (Exception e){
sysUser = null;
}
//update-end--Author:scott Date:20190828 for:关于使用Quzrtz 开启线程任务, #465
if ("createBy".equals(field.getName())) { if ("createBy".equals(field.getName())) {
field.setAccessible(true); field.setAccessible(true);
Object local_createBy = field.get(parameter); Object local_createBy = field.get(parameter);
field.setAccessible(false); field.setAccessible(false);
if (local_createBy == null || local_createBy.equals("")) { if (local_createBy == null || local_createBy.equals("")) {
String createBy = "jeecg";
if (sysUser != null) { if (sysUser != null) {
// 登录账号 // 登录人账号
createBy = sysUser.getUsername();
}
if (oConvertUtils.isNotEmpty(createBy)) {
field.setAccessible(true); field.setAccessible(true);
field.set(parameter, createBy); field.set(parameter, sysUser.getUsername());
field.setAccessible(false); field.setAccessible(false);
} }
} }
...@@ -92,15 +80,10 @@ public class MybatisInterceptor implements Interceptor { ...@@ -92,15 +80,10 @@ public class MybatisInterceptor implements Interceptor {
Object local_sysOrgCode = field.get(parameter); Object local_sysOrgCode = field.get(parameter);
field.setAccessible(false); field.setAccessible(false);
if (local_sysOrgCode == null || local_sysOrgCode.equals("")) { if (local_sysOrgCode == null || local_sysOrgCode.equals("")) {
String sysOrgCode = "";
// 获取登录用户信息 // 获取登录用户信息
if (sysUser != null) { if (sysUser != null) {
// 登录账号
sysOrgCode = sysUser.getOrgCode();
}
if (oConvertUtils.isNotEmpty(sysOrgCode)) {
field.setAccessible(true); field.setAccessible(true);
field.set(parameter, sysOrgCode); field.set(parameter, sysUser.getOrgCode());
field.setAccessible(false); field.setAccessible(false);
} }
} }
...@@ -110,6 +93,7 @@ public class MybatisInterceptor implements Interceptor { ...@@ -110,6 +93,7 @@ public class MybatisInterceptor implements Interceptor {
} }
} }
if (SqlCommandType.UPDATE == sqlCommandType) { if (SqlCommandType.UPDATE == sqlCommandType) {
LoginUser sysUser = this.getLoginUser();
Field[] fields = null; Field[] fields = null;
if (parameter instanceof ParamMap) { if (parameter instanceof ParamMap) {
ParamMap<?> p = (ParamMap<?>) parameter; ParamMap<?> p = (ParamMap<?>) parameter;
...@@ -137,12 +121,10 @@ public class MybatisInterceptor implements Interceptor { ...@@ -137,12 +121,10 @@ public class MybatisInterceptor implements Interceptor {
try { try {
if ("updateBy".equals(field.getName())) { if ("updateBy".equals(field.getName())) {
//获取登录用户信息 //获取登录用户信息
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if (sysUser != null) { if (sysUser != null) {
// 登录账号 // 登录账号
String updateBy = sysUser.getUsername();
field.setAccessible(true); field.setAccessible(true);
field.set(parameter, updateBy); field.set(parameter, sysUser.getUsername());
field.setAccessible(false); field.setAccessible(false);
} }
} }
...@@ -169,4 +151,17 @@ public class MybatisInterceptor implements Interceptor { ...@@ -169,4 +151,17 @@ public class MybatisInterceptor implements Interceptor {
// TODO Auto-generated method stub // TODO Auto-generated method stub
} }
//update-begin--Author:scott Date:20191213 for:关于使用Quzrtz 开启线程任务, #465
private LoginUser getLoginUser() {
LoginUser sysUser = null;
try {
sysUser = SecurityUtils.getSubject().getPrincipal() != null ? (LoginUser) SecurityUtils.getSubject().getPrincipal() : null;
} catch (Exception e) {
//e.printStackTrace();
sysUser = null;
}
return sysUser;
}
//update-end--Author:scott Date:20191213 for:关于使用Quzrtz 开启线程任务, #465
} }
package org.jeecg.modules.demo.test.controller;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.modules.demo.test.entity.JeecgDemo;
import org.jeecg.modules.demo.test.service.IJeecgDemoService;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import java.util.ArrayList;
import java.util.List;
/**
* @Description: 大屏预览入口
* @Author: scott
* @Date:2019-12-12
* @Version:V1.0
*/
@Slf4j
@Controller
@RequestMapping("/big/screen")
public class BigScreenController extends JeecgController<JeecgDemo, IJeecgDemoService> {
/**
* @param modelAndView
* @return
*/
@RequestMapping("/html")
public ModelAndView ftl(ModelAndView modelAndView) {
modelAndView.setViewName("demo3");
List<String> userList = new ArrayList<String>();
userList.add("admin");
userList.add("user1");
userList.add("user2");
log.info("--------------test--------------");
modelAndView.addObject("userList", userList);
return modelAndView;
}
/**
* 生产销售监控模版
* @param modelAndView
* @return
*/
@RequestMapping("/index1")
public ModelAndView index1(ModelAndView modelAndView) {
modelAndView.setViewName("/bigscreen/template1/index");
return modelAndView;
}
/**
* 智慧物流监控模版
* @param modelAndView
* @return
*/
@RequestMapping("/index2")
public ModelAndView index2(ModelAndView modelAndView) {
modelAndView.setViewName("/bigscreen/template2/index");
return modelAndView;
}
}
...@@ -4,23 +4,34 @@ import org.jeecg.common.util.SpringContextUtils; ...@@ -4,23 +4,34 @@ import org.jeecg.common.util.SpringContextUtils;
import org.jeecg.modules.message.handle.ISendMsgHandle; import org.jeecg.modules.message.handle.ISendMsgHandle;
import org.springframework.mail.SimpleMailMessage; import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender; import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
public class EmailSendMsgHandle implements ISendMsgHandle { public class EmailSendMsgHandle implements ISendMsgHandle {
static String emailFrom; static String emailFrom;
public static void setEmailFrom(String emailFrom) {
EmailSendMsgHandle.emailFrom = emailFrom; public static void setEmailFrom(String emailFrom) {
} EmailSendMsgHandle.emailFrom = emailFrom;
}
@Override @Override
public void SendMsg(String es_receiver, String es_title, String es_content) { public void SendMsg(String es_receiver, String es_title, String es_content) {
JavaMailSender mailSender = (JavaMailSender) SpringContextUtils.getBean("mailSender"); JavaMailSender mailSender = (JavaMailSender) SpringContextUtils.getBean("mailSender");
SimpleMailMessage message = new SimpleMailMessage(); MimeMessage message = mailSender.createMimeMessage();
// 设置发送方邮箱地址 MimeMessageHelper helper = null;
message.setFrom(emailFrom); try {
message.setTo(es_receiver); helper = new MimeMessageHelper(message, true);
message.setSubject(es_title); // 设置发送方邮箱地址
message.setText(es_content); helper.setFrom(emailFrom);
mailSender.send(message); helper.setTo(es_receiver);
helper.setSubject(es_title);
helper.setText(es_content, true);
mailSender.send(message);
} catch (MessagingException e) {
e.printStackTrace();
}
} }
} }
...@@ -17,10 +17,14 @@ import com.alibaba.fastjson.JSONObject; ...@@ -17,10 +17,14 @@ import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
/**
* @Author scott
* @Date 2019/11/29 9:41
* @Description: 此注解相当于设置访问URL
*/
@Component @Component
@Slf4j @Slf4j
@ServerEndpoint("/websocket/{userId}") @ServerEndpoint("/websocket/{userId}") //此注解相当于设置访问URL
//此注解相当于设置访问URL
public class WebSocket { public class WebSocket {
private Session session; private Session session;
...@@ -50,7 +54,8 @@ public class WebSocket { ...@@ -50,7 +54,8 @@ public class WebSocket {
@OnMessage @OnMessage
public void onMessage(String message) { public void onMessage(String message) {
//log.info("【websocket消息】收到客户端消息:"+message); //todo 现在有个定时任务刷,应该去掉
log.debug("【websocket消息】收到客户端消息:"+message);
JSONObject obj = new JSONObject(); JSONObject obj = new JSONObject();
obj.put("cmd", "heartcheck");//业务类型 obj.put("cmd", "heartcheck");//业务类型
obj.put("msgTxt", "心跳响应");//消息内容 obj.put("msgTxt", "心跳响应");//消息内容
......
...@@ -249,7 +249,6 @@ public class SysDepartController { ...@@ -249,7 +249,6 @@ public class SysDepartController {
* 导出excel * 导出excel
* *
* @param request * @param request
* @param response
*/ */
@RequestMapping(value = "/exportXls") @RequestMapping(value = "/exportXls")
public ModelAndView exportXls(SysDepart sysDepart,HttpServletRequest request) { public ModelAndView exportXls(SysDepart sysDepart,HttpServletRequest request) {
......
...@@ -151,19 +151,9 @@ public class SysRoleController { ...@@ -151,19 +151,9 @@ public class SysRoleController {
* @return * @return
*/ */
@RequestMapping(value = "/delete", method = RequestMethod.DELETE) @RequestMapping(value = "/delete", method = RequestMethod.DELETE)
public Result<SysRole> delete(@RequestParam(name="id",required=true) String id) { public Result<?> delete(@RequestParam(name="id",required=true) String id) {
Result<SysRole> result = new Result<SysRole>(); sysRoleService.deleteRole(id);
SysRole sysrole = sysRoleService.getById(id); return Result.ok("删除角色成功");
if(sysrole==null) {
result.error500("未找到对应实体");
}else {
boolean ok = sysRoleService.removeById(id);
if(ok) {
result.success("删除成功!");
}
}
return result;
} }
/** /**
...@@ -174,11 +164,11 @@ public class SysRoleController { ...@@ -174,11 +164,11 @@ public class SysRoleController {
@RequestMapping(value = "/deleteBatch", method = RequestMethod.DELETE) @RequestMapping(value = "/deleteBatch", method = RequestMethod.DELETE)
public Result<SysRole> deleteBatch(@RequestParam(name="ids",required=true) String ids) { public Result<SysRole> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
Result<SysRole> result = new Result<SysRole>(); Result<SysRole> result = new Result<SysRole>();
if(ids==null || "".equals(ids.trim())) { if(oConvertUtils.isEmpty(ids)) {
result.error500("参数不识别!"); result.error500("未选中角色!");
}else { }else {
this.sysRoleService.removeByIds(Arrays.asList(ids.split(","))); sysRoleService.deleteBatchRole(ids.split(","));
result.success("删除成功!"); result.success("删除角色成功!");
} }
return result; return result;
} }
......
...@@ -137,7 +137,7 @@ public class SysUserController { ...@@ -137,7 +137,7 @@ public class SysUserController {
} }
@RequestMapping(value = "/edit", method = RequestMethod.PUT) @RequestMapping(value = "/edit", method = RequestMethod.PUT)
//@RequiresPermissions("user:edit") @RequiresPermissions("user:edit")
public Result<SysUser> edit(@RequestBody JSONObject jsonObject) { public Result<SysUser> edit(@RequestBody JSONObject jsonObject) {
Result<SysUser> result = new Result<SysUser>(); Result<SysUser> result = new Result<SysUser>();
try { try {
......
package org.jeecg.modules.system.mapper; package org.jeecg.modules.system.mapper;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;
import org.jeecg.modules.system.entity.SysRole; import org.jeecg.modules.system.entity.SysRole;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
...@@ -14,4 +17,21 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -14,4 +17,21 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/ */
public interface SysRoleMapper extends BaseMapper<SysRole> { public interface SysRoleMapper extends BaseMapper<SysRole> {
/**
* @Author scott
* @Date 2019/12/13 16:12
* @Description: 删除角色与用户关系
*/
@Delete("delete from sys_user_role where role_id = #{roleId}")
void deleteRoleUserRelation(@Param("roleId") String roleId);
/**
* @Author scott
* @Date 2019/12/13 16:12
* @Description: 删除角色与权限关系
*/
@Delete("delete from sys_role_permission where role_id = #{roleId}")
void deleteRolePermissionRelation(@Param("roleId") String roleId);
} }
...@@ -83,4 +83,17 @@ public interface SysUserMapper extends BaseMapper<SysUser> { ...@@ -83,4 +83,17 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
*/ */
Integer getUserByOrgCodeTotal(@Param("orgCode") String orgCode, @Param("userParams") SysUser userParams); Integer getUserByOrgCodeTotal(@Param("orgCode") String orgCode, @Param("userParams") SysUser userParams);
/**
* @Author scott
* @Date 2019/12/13 16:10
* @Description: 批量删除角色与用户关系
*/
void deleteBathRoleUserRelation(@Param("roleIdArray") String[] roleIdArray);
/**
* @Author scott
* @Date 2019/12/13 16:10
* @Description: 批量删除角色与权限关系
*/
void deleteBathRolePermissionRelation(@Param("roleIdArray") String[] roleIdArray);
} }
...@@ -81,4 +81,20 @@ ...@@ -81,4 +81,20 @@
SELECT COUNT(1) <include refid="getUserByOrgCodeFromSql"/> SELECT COUNT(1) <include refid="getUserByOrgCodeFromSql"/>
</select> </select>
<!-- 批量删除角色的与用户关系-->
<update id="deleteBathRoleUserRelation">
delete from sys_user_role
where role_id in
<foreach item="id" collection="roleIdArray" open="(" separator="," close=")">
#{id}
</foreach>
</update>
<!-- 批量删除角色的与权限关系-->
<update id="deleteBathRolePermissionRelation">
delete from sys_role_permission
where role_id in
<foreach item="id" collection="roleIdArray" open="(" separator="," close=")">
#{id}
</foreach>
</update>
</mapper> </mapper>
\ No newline at end of file
package org.jeecg.modules.system.rule;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import org.jeecg.common.handler.IFillRuleHandler;
import org.jeecg.common.util.SpringContextUtils;
import org.jeecg.common.util.YouBianCodeUtil;
import org.jeecg.common.util.oConvertUtils;
import org.jeecg.modules.system.entity.SysCategory;
import org.jeecg.modules.system.mapper.SysCategoryMapper;
import java.util.List;
/**
* @Author scott
* @Date 2019/12/9 11:32
* @Description: 分类字典编码生成规则
*/
public class CategoryCodeRule implements IFillRuleHandler {
public static final String ROOT_PID_VALUE = "0";
@Override
public Object execute(JSONObject params, JSONObject formData) {
String categoryPid = ROOT_PID_VALUE;
String categoryCode = null;
if (formData != null && formData.size() > 0) {
Object obj = formData.get("pid");
if (oConvertUtils.isNotEmpty(obj)) categoryPid = obj.toString();
} else {
if (params != null) {
Object obj = params.get("pid");
if (oConvertUtils.isNotEmpty(obj)) categoryPid = obj.toString();
}
}
/*
* 分成三种情况
* 1.数据库无数据 调用YouBianCodeUtil.getNextYouBianCode(null);
* 2.添加子节点,无兄弟元素 YouBianCodeUtil.getSubYouBianCode(parentCode,null);
* 3.添加子节点有兄弟元素 YouBianCodeUtil.getNextYouBianCode(lastCode);
* */
//找同类 确定上一个最大的code值
LambdaQueryWrapper<SysCategory> query = new LambdaQueryWrapper<SysCategory>().eq(SysCategory::getPid, categoryPid).orderByDesc(SysCategory::getCode);
SysCategoryMapper baseMapper = (SysCategoryMapper) SpringContextUtils.getBean("sysCategoryMapper");
List<SysCategory> list = baseMapper.selectList(query);
if (list == null || list.size() == 0) {
if (ROOT_PID_VALUE.equals(categoryPid)) {
//情况1
categoryCode = YouBianCodeUtil.getNextYouBianCode(null);
} else {
//情况2
SysCategory parent = (SysCategory) baseMapper.selectById(categoryPid);
categoryCode = YouBianCodeUtil.getSubYouBianCode(parent.getCode(), null);
}
} else {
//情况3
categoryCode = YouBianCodeUtil.getNextYouBianCode(list.get(0).getCode());
}
return categoryCode;
}
}
package org.jeecg.modules.system.rule;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import io.netty.util.internal.StringUtil;
import org.jeecg.common.handler.IFillRuleHandler;
import org.jeecg.common.util.SpringContextUtils;
import org.jeecg.common.util.YouBianCodeUtil;
import org.jeecg.modules.system.entity.SysDepart;
import org.jeecg.modules.system.service.ISysDepartService;
import java.util.ArrayList;
import java.util.List;
/**
* @Author scott
* @Date 2019/12/9 11:33
* @Description: 机构编码生成规则
*/
public class OrgCodeRule implements IFillRuleHandler {
@Override
public Object execute(JSONObject params, JSONObject formData) {
ISysDepartService sysDepartService = (ISysDepartService) SpringContextUtils.getBean("sysDepartServiceImpl");
LambdaQueryWrapper<SysDepart> query = new LambdaQueryWrapper<SysDepart>();
LambdaQueryWrapper<SysDepart> query1 = new LambdaQueryWrapper<SysDepart>();
// 创建一个List集合,存储查询返回的所有SysDepart对象
List<SysDepart> departList = new ArrayList<>();
String[] strArray = new String[2];
//定义部门类型
String orgType = "";
// 定义新编码字符串
String newOrgCode = "";
// 定义旧编码字符串
String oldOrgCode = "";
String parentId = null;
if (formData != null && formData.size() > 0) {
Object obj = formData.get("parentId");
if (obj != null) parentId = obj.toString();
} else {
if (params != null) {
Object obj = params.get("parentId");
if (obj != null) parentId = obj.toString();
}
}
//如果是最高级,则查询出同级的org_code, 调用工具类生成编码并返回
if (StringUtil.isNullOrEmpty(parentId)) {
// 线判断数据库中的表是否为空,空则直接返回初始编码
query1.eq(SysDepart::getParentId, "").or().isNull(SysDepart::getParentId);
query1.orderByDesc(SysDepart::getOrgCode);
departList = sysDepartService.list(query1);
if (departList == null || departList.size() == 0) {
strArray[0] = YouBianCodeUtil.getNextYouBianCode(null);
strArray[1] = "1";
return strArray;
} else {
SysDepart depart = departList.get(0);
oldOrgCode = depart.getOrgCode();
orgType = depart.getOrgType();
newOrgCode = YouBianCodeUtil.getNextYouBianCode(oldOrgCode);
}
} else {//反之则查询出所有同级的部门,获取结果后有两种情况,有同级和没有同级
// 封装查询同级的条件
query.eq(SysDepart::getParentId, parentId);
// 降序排序
query.orderByDesc(SysDepart::getOrgCode);
// 查询出同级部门的集合
List<SysDepart> parentList = sysDepartService.list(query);
// 查询出父级部门
SysDepart depart = sysDepartService.getById(parentId);
// 获取父级部门的Code
String parentCode = depart.getOrgCode();
// 根据父级部门类型算出当前部门的类型
orgType = String.valueOf(Integer.valueOf(depart.getOrgType()) + 1);
// 处理同级部门为null的情况
if (parentList == null || parentList.size() == 0) {
// 直接生成当前的部门编码并返回
newOrgCode = YouBianCodeUtil.getSubYouBianCode(parentCode, null);
} else { //处理有同级部门的情况
// 获取同级部门的编码,利用工具类
String subCode = parentList.get(0).getOrgCode();
// 返回生成的当前部门编码
newOrgCode = YouBianCodeUtil.getSubYouBianCode(parentCode, subCode);
}
}
// 返回最终封装了部门编码和部门类型的数组
strArray[0] = newOrgCode;
strArray[1] = orgType;
return strArray;
}
}
...@@ -26,4 +26,18 @@ public interface ISysRoleService extends IService<SysRole> { ...@@ -26,4 +26,18 @@ public interface ISysRoleService extends IService<SysRole> {
*/ */
Result importExcelCheckRoleCode(MultipartFile file, ImportParams params) throws Exception; Result importExcelCheckRoleCode(MultipartFile file, ImportParams params) throws Exception;
/**
* 删除角色
* @param roleid
* @return
*/
public boolean deleteRole(String roleid);
/**
* 批量删除角色
* @param roleids
* @return
*/
public boolean deleteBatchRole(String[] roleids);
} }
...@@ -6,6 +6,7 @@ import java.sql.SQLException; ...@@ -6,6 +6,7 @@ import java.sql.SQLException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
...@@ -25,6 +26,8 @@ import org.jeecg.common.system.vo.SysDepartModel; ...@@ -25,6 +26,8 @@ import org.jeecg.common.system.vo.SysDepartModel;
import org.jeecg.common.util.IPUtils; import org.jeecg.common.util.IPUtils;
import org.jeecg.common.util.SpringContextUtils; import org.jeecg.common.util.SpringContextUtils;
import org.jeecg.common.util.oConvertUtils; import org.jeecg.common.util.oConvertUtils;
import org.jeecg.modules.message.entity.SysMessageTemplate;
import org.jeecg.modules.message.service.ISysMessageTemplateService;
import org.jeecg.modules.message.websocket.WebSocket; import org.jeecg.modules.message.websocket.WebSocket;
import org.jeecg.modules.system.entity.*; import org.jeecg.modules.system.entity.*;
import org.jeecg.modules.system.mapper.*; import org.jeecg.modules.system.mapper.*;
...@@ -51,7 +54,8 @@ import lombok.extern.slf4j.Slf4j; ...@@ -51,7 +54,8 @@ import lombok.extern.slf4j.Slf4j;
public class SysBaseApiImpl implements ISysBaseAPI { public class SysBaseApiImpl implements ISysBaseAPI {
/** 当前系统数据库类型 */ /** 当前系统数据库类型 */
public static String DB_TYPE = ""; public static String DB_TYPE = "";
@Autowired
private ISysMessageTemplateService sysMessageTemplateService;
@Resource @Resource
private SysLogMapper sysLogMapper; private SysLogMapper sysLogMapper;
@Autowired @Autowired
...@@ -182,6 +186,11 @@ public class SysBaseApiImpl implements ISysBaseAPI { ...@@ -182,6 +186,11 @@ public class SysBaseApiImpl implements ISysBaseAPI {
@Override @Override
public void sendSysAnnouncement(String fromUser, String toUser, String title, String msgContent) { public void sendSysAnnouncement(String fromUser, String toUser, String title, String msgContent) {
this.sendSysAnnouncement(fromUser, toUser, title, msgContent, CommonConstant.MSG_CATEGORY_2);
}
@Override
public void sendSysAnnouncement(String fromUser, String toUser, String title, String msgContent, String setMsgCategory) {
SysAnnouncement announcement = new SysAnnouncement(); SysAnnouncement announcement = new SysAnnouncement();
announcement.setTitile(title); announcement.setTitile(title);
announcement.setMsgContent(msgContent); announcement.setMsgContent(msgContent);
...@@ -190,7 +199,7 @@ public class SysBaseApiImpl implements ISysBaseAPI { ...@@ -190,7 +199,7 @@ public class SysBaseApiImpl implements ISysBaseAPI {
announcement.setMsgType(CommonConstant.MSG_TYPE_UESR); announcement.setMsgType(CommonConstant.MSG_TYPE_UESR);
announcement.setSendStatus(CommonConstant.HAS_SEND); announcement.setSendStatus(CommonConstant.HAS_SEND);
announcement.setSendTime(new Date()); announcement.setSendTime(new Date());
announcement.setMsgCategory(CommonConstant.MSG_CATEGORY_2); announcement.setMsgCategory(setMsgCategory);
announcement.setDelFlag(String.valueOf(CommonConstant.DEL_FLAG_0)); announcement.setDelFlag(String.valueOf(CommonConstant.DEL_FLAG_0));
sysAnnouncementMapper.insert(announcement); sysAnnouncementMapper.insert(announcement);
// 2.插入用户通告阅读标记表记录 // 2.插入用户通告阅读标记表记录
...@@ -216,8 +225,82 @@ public class SysBaseApiImpl implements ISysBaseAPI { ...@@ -216,8 +225,82 @@ public class SysBaseApiImpl implements ISysBaseAPI {
webSocket.sendOneMessage(sysUser.getId(), obj.toJSONString()); webSocket.sendOneMessage(sysUser.getId(), obj.toJSONString());
} }
} }
}
@Override
public String parseTemplateByCode(String templateCode,Map<String, String> map) {
List<SysMessageTemplate> sysSmsTemplates = sysMessageTemplateService.selectByCode(templateCode);
if(sysSmsTemplates==null||sysSmsTemplates.size()==0){
throw new JeecgBootException("消息模板不存在,模板编码:"+templateCode);
}
SysMessageTemplate sysSmsTemplate = sysSmsTemplates.get(0);
//模板内容
String content = sysSmsTemplate.getTemplateContent();
if(map!=null) {
for (Map.Entry<String, String> entry : map.entrySet()) {
String str = "${" + entry.getKey() + "}";
content = content.replace(str, entry.getValue());
}
}
return content;
}
@Override
public void sendSysAnnouncement(String fromUser, String toUser,String title,Map<String, String> map, String templateCode) {
List<SysMessageTemplate> sysSmsTemplates = sysMessageTemplateService.selectByCode(templateCode);
if(sysSmsTemplates==null||sysSmsTemplates.size()==0){
throw new JeecgBootException("消息模板不存在,模板编码:"+templateCode);
}
SysMessageTemplate sysSmsTemplate = sysSmsTemplates.get(0);
//模板标题
title = title==null?sysSmsTemplate.getTemplateName():title;
//模板内容
String content = sysSmsTemplate.getTemplateContent();
if(map!=null) {
for (Map.Entry<String, String> entry : map.entrySet()) {
String str = "${" + entry.getKey() + "}";
title = title.replace(str, entry.getValue());
content = content.replace(str, entry.getValue());
}
}
SysAnnouncement announcement = new SysAnnouncement();
announcement.setTitile(title);
announcement.setMsgContent(content);
announcement.setSender(fromUser);
announcement.setPriority(CommonConstant.PRIORITY_M);
announcement.setMsgType(CommonConstant.MSG_TYPE_UESR);
announcement.setSendStatus(CommonConstant.HAS_SEND);
announcement.setSendTime(new Date());
announcement.setMsgCategory(CommonConstant.MSG_CATEGORY_2);
announcement.setDelFlag(String.valueOf(CommonConstant.DEL_FLAG_0));
sysAnnouncementMapper.insert(announcement);
// 2.插入用户通告阅读标记表记录
String userId = toUser;
String[] userIds = userId.split(",");
String anntId = announcement.getId();
for(int i=0;i<userIds.length;i++) {
if(oConvertUtils.isNotEmpty(userIds[i])) {
SysUser sysUser = userMapper.getUserByName(userIds[i]);
if(sysUser==null) {
continue;
}
SysAnnouncementSend announcementSend = new SysAnnouncementSend();
announcementSend.setAnntId(anntId);
announcementSend.setUserId(sysUser.getId());
announcementSend.setReadFlag(CommonConstant.NO_READ_FLAG);
sysAnnouncementSendMapper.insert(announcementSend);
JSONObject obj = new JSONObject();
obj.put("cmd", "user");
obj.put("userId", sysUser.getId());
obj.put("msgId", announcement.getId());
obj.put("msgTxt", announcement.getTitile());
webSocket.sendOneMessage(sysUser.getId(), obj.toJSONString());
}
}
} }
/** /**
* 获取数据库类型 * 获取数据库类型
* @param dataSource * @param dataSource
......
...@@ -3,7 +3,9 @@ package org.jeecg.modules.system.service.impl; ...@@ -3,7 +3,9 @@ package org.jeecg.modules.system.service.impl;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import com.alibaba.fastjson.JSONObject;
import org.jeecg.common.exception.JeecgBootException; import org.jeecg.common.exception.JeecgBootException;
import org.jeecg.common.util.FillRuleUtil;
import org.jeecg.common.util.YouBianCodeUtil; import org.jeecg.common.util.YouBianCodeUtil;
import org.jeecg.common.util.oConvertUtils; import org.jeecg.common.util.oConvertUtils;
import org.jeecg.modules.system.entity.SysCategory; import org.jeecg.modules.system.entity.SysCategory;
...@@ -42,29 +44,11 @@ public class SysCategoryServiceImpl extends ServiceImpl<SysCategoryMapper, SysCa ...@@ -42,29 +44,11 @@ public class SysCategoryServiceImpl extends ServiceImpl<SysCategoryMapper, SysCa
} }
} }
} }
/* //update-begin--Author:baihailong Date:20191209 for:分类字典编码规则生成器做成公用配置
* 分成三种情况 JSONObject formData = new JSONObject();
* 1.数据库无数据 调用YouBianCodeUtil.getNextYouBianCode(null); formData.put("pid",categoryPid);
* 2.添加子节点,无兄弟元素 YouBianCodeUtil.getSubYouBianCode(parentCode,null); categoryCode = (String) FillRuleUtil.executeRule("category_code_rule",formData);
* 3.添加子节点有兄弟元素 YouBianCodeUtil.getNextYouBianCode(lastCode); //update-end--Author:baihailong Date:20191209 for:分类字典编码规则生成器做成公用配置
* */
//找同类 确定上一个最大的code值
LambdaQueryWrapper<SysCategory> query = new LambdaQueryWrapper<SysCategory>()
.eq(SysCategory::getPid,categoryPid)
.orderByDesc(SysCategory::getCode);
List<SysCategory> list = baseMapper.selectList(query);
if(list==null || list.size()==0){
if(ISysCategoryService.ROOT_PID_VALUE.equals(categoryPid)){
//情况1
categoryCode = YouBianCodeUtil.getNextYouBianCode(null);
}else{
//情况2
categoryCode = YouBianCodeUtil.getSubYouBianCode(parentCode,null);
}
}else{
//情况3
categoryCode = YouBianCodeUtil.getNextYouBianCode(list.get(0).getCode());
}
sysCategory.setCode(categoryCode); sysCategory.setCode(categoryCode);
sysCategory.setPid(categoryPid); sysCategory.setPid(categoryPid);
baseMapper.insert(sysCategory); baseMapper.insert(sysCategory);
......
...@@ -5,8 +5,10 @@ import java.util.Date; ...@@ -5,8 +5,10 @@ import java.util.Date;
import java.util.List; import java.util.List;
import java.util.UUID; import java.util.UUID;
import com.alibaba.fastjson.JSONObject;
import org.jeecg.common.constant.CacheConstant; import org.jeecg.common.constant.CacheConstant;
import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.constant.CommonConstant;
import org.jeecg.common.util.FillRuleUtil;
import org.jeecg.common.util.YouBianCodeUtil; import org.jeecg.common.util.YouBianCodeUtil;
import org.jeecg.modules.system.entity.SysDepart; import org.jeecg.modules.system.entity.SysDepart;
import org.jeecg.modules.system.mapper.SysDepartMapper; import org.jeecg.modules.system.mapper.SysDepartMapper;
...@@ -76,7 +78,11 @@ public class SysDepartServiceImpl extends ServiceImpl<SysDepartMapper, SysDepart ...@@ -76,7 +78,11 @@ public class SysDepartServiceImpl extends ServiceImpl<SysDepartMapper, SysDepart
// 先判断该对象有无父级ID,有则意味着不是最高级,否则意味着是最高级 // 先判断该对象有无父级ID,有则意味着不是最高级,否则意味着是最高级
// 获取父级ID // 获取父级ID
String parentId = sysDepart.getParentId(); String parentId = sysDepart.getParentId();
String[] codeArray = generateOrgCode(parentId); //update-begin--Author:baihailong Date:20191209 for:部门编码规则生成器做成公用配置
JSONObject formData = new JSONObject();
formData.put("parentId",parentId);
String[] codeArray = (String[]) FillRuleUtil.executeRule("org_num_role",formData);
//update-end--Author:baihailong Date:20191209 for:部门编码规则生成器做成公用配置
sysDepart.setOrgCode(codeArray[0]); sysDepart.setOrgCode(codeArray[0]);
String orgType = codeArray[1]; String orgType = codeArray[1];
sysDepart.setOrgType(String.valueOf(orgType)); sysDepart.setOrgType(String.valueOf(orgType));
...@@ -88,8 +94,8 @@ public class SysDepartServiceImpl extends ServiceImpl<SysDepartMapper, SysDepart ...@@ -88,8 +94,8 @@ public class SysDepartServiceImpl extends ServiceImpl<SysDepartMapper, SysDepart
} }
/** /**
* saveDepartData 的调用方法,生成部门编码和部门类型 * saveDepartData 的调用方法,生成部门编码和部门类型(作废逻辑)
* * @deprecated
* @param parentId * @param parentId
* @return * @return
*/ */
...@@ -105,8 +111,8 @@ public class SysDepartServiceImpl extends ServiceImpl<SysDepartMapper, SysDepart ...@@ -105,8 +111,8 @@ public class SysDepartServiceImpl extends ServiceImpl<SysDepartMapper, SysDepart
// 定义旧编码字符串 // 定义旧编码字符串
String oldOrgCode = ""; String oldOrgCode = "";
// 定义部门类型 // 定义部门类型
String orgType = ""; String orgType = "";
// 如果是最高级,则查询出同级的org_code, 调用工具类生成编码并返回 // 如果是最高级,则查询出同级的org_code, 调用工具类生成编码并返回
if (StringUtil.isNullOrEmpty(parentId)) { if (StringUtil.isNullOrEmpty(parentId)) {
// 线判断数据库中的表是否为空,空则直接返回初始编码 // 线判断数据库中的表是否为空,空则直接返回初始编码
query1.eq(SysDepart::getParentId, "").or().isNull(SysDepart::getParentId); query1.eq(SysDepart::getParentId, "").or().isNull(SysDepart::getParentId);
......
...@@ -6,14 +6,18 @@ import org.jeecg.common.api.vo.Result; ...@@ -6,14 +6,18 @@ import org.jeecg.common.api.vo.Result;
import org.jeecg.common.util.PmsUtil; import org.jeecg.common.util.PmsUtil;
import org.jeecg.modules.system.entity.SysRole; import org.jeecg.modules.system.entity.SysRole;
import org.jeecg.modules.system.mapper.SysRoleMapper; import org.jeecg.modules.system.mapper.SysRoleMapper;
import org.jeecg.modules.system.mapper.SysUserMapper;
import org.jeecg.modules.system.service.ISysRoleService; import org.jeecg.modules.system.service.ISysRoleService;
import org.jeecgframework.poi.excel.ExcelImportUtil; import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.entity.ImportParams; import org.jeecgframework.poi.excel.entity.ImportParams;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import java.io.File; import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.List; import java.util.List;
/** /**
...@@ -26,6 +30,10 @@ import java.util.List; ...@@ -26,6 +30,10 @@ import java.util.List;
*/ */
@Service @Service
public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> implements ISysRoleService { public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> implements ISysRoleService {
@Autowired
SysRoleMapper sysRoleMapper;
@Autowired
SysUserMapper sysUserMapper;
@Override @Override
public Result importExcelCheckRoleCode(MultipartFile file, ImportParams params) throws Exception { public Result importExcelCheckRoleCode(MultipartFile file, ImportParams params) throws Exception {
...@@ -80,4 +88,28 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl ...@@ -80,4 +88,28 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
res.setMessage("文件导入成功,但有错误。"); res.setMessage("文件导入成功,但有错误。");
return res; return res;
} }
@Override
@Transactional(rollbackFor = Exception.class)
public boolean deleteRole(String roleid) {
//1.删除角色和用户关系
sysRoleMapper.deleteRoleUserRelation(roleid);
//2.删除角色和权限关系
sysRoleMapper.deleteRolePermissionRelation(roleid);
//3.删除角色
this.removeById(roleid);
return true;
}
@Override
@Transactional(rollbackFor = Exception.class)
public boolean deleteBatchRole(String[] roleIds) {
//1.删除角色和用户关系
sysUserMapper.deleteBathRoleUserRelation(roleIds);
//2.删除角色和权限关系
sysUserMapper.deleteBathRolePermissionRelation(roleIds);
//3.删除角色
this.removeByIds(Arrays.asList(roleIds));
return true;
}
} }
...@@ -13,11 +13,15 @@ public class SysUserRoleVO implements Serializable{ ...@@ -13,11 +13,15 @@ public class SysUserRoleVO implements Serializable{
private String roleId; private String roleId;
/**对应的用户id集合*/ /**对应的用户id集合*/
private List<String> userIdList; private List<String> userIdList;
public SysUserRoleVO() {
super();
}
public SysUserRoleVO(String roleId, List<String> userIdList) { public SysUserRoleVO(String roleId, List<String> userIdList) {
super(); super();
this.roleId = roleId; this.roleId = roleId;
this.userIdList = userIdList; this.userIdList = userIdList;
} }
} }
...@@ -157,6 +157,12 @@ jeecg : ...@@ -157,6 +157,12 @@ jeecg :
elasticsearch: elasticsearch:
cluster-name: jeecg-ES cluster-name: jeecg-ES
cluster-nodes: 127.0.0.1:9200 cluster-nodes: 127.0.0.1:9200
# 表单设计器配置
desform:
# 主题颜色(仅支持 16进制颜色代码)
theme-color: "#1890ff"
# 在线预览文件服务器地址配置
file-view-domain: http://127.0.0.1:8012
#Mybatis输出sql日志 #Mybatis输出sql日志
logging: logging:
level: level:
......
...@@ -154,6 +154,12 @@ jeecg : ...@@ -154,6 +154,12 @@ jeecg :
elasticsearch: elasticsearch:
cluster-name: jeecg-ES cluster-name: jeecg-ES
cluster-nodes: 127.0.0.1:9200 cluster-nodes: 127.0.0.1:9200
# 表单设计器配置
desform:
# 主题颜色(仅支持 16进制颜色代码)
theme-color: "#1890ff"
# 在线预览文件服务器地址配置
file-view-domain: 127.0.0.1:8012
#cas单点登录 #cas单点登录
cas: cas:
prefixUrl: http://cas.example.org:8443/cas prefixUrl: http://cas.example.org:8443/cas
......
...@@ -157,6 +157,12 @@ jeecg : ...@@ -157,6 +157,12 @@ jeecg :
elasticsearch: elasticsearch:
cluster-name: jeecg-ES cluster-name: jeecg-ES
cluster-nodes: 127.0.0.1:9200 cluster-nodes: 127.0.0.1:9200
# 表单设计器配置
desform:
# 主题颜色(仅支持 16进制颜色代码)
theme-color: "#1890ff"
# 在线预览文件服务器地址配置
file-view-domain: 127.0.0.1:8012
#cas单点登录 #cas单点登录
cas: cas:
prefixUrl: http://cas.example.org:8443/cas prefixUrl: http://cas.example.org:8443/cas
\ No newline at end of file
...@@ -9,6 +9,6 @@ ${AnsiColor.BRIGHT_BLUE} ...@@ -9,6 +9,6 @@ ${AnsiColor.BRIGHT_BLUE}
${AnsiColor.BRIGHT_GREEN} ${AnsiColor.BRIGHT_GREEN}
Jeecg Boot Version: 2.1.2 Jeecg Boot Version: 2.1.3
Spring Boot Version: ${spring-boot.version}${spring-boot.formatted-version} Spring Boot Version: ${spring-boot.version}${spring-boot.formatted-version}
${AnsiColor.BLACK} ${AnsiColor.BLACK}
package ${bussiPackage}.${entityPackage}.controller;
import org.jeecg.common.system.query.QueryGenerator;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.common.api.vo.Result;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import java.util.Arrays;
import org.jeecg.common.util.oConvertUtils;
<#list subTables as sub>
import ${bussiPackage}.${entityPackage}.entity.${sub.entityName};
</#list>
import ${bussiPackage}.${entityPackage}.entity.${entityName};
import ${bussiPackage}.${entityPackage}.service.I${entityName}Service;
<#list subTables as sub>
import ${bussiPackage}.${entityPackage}.service.I${sub.entityName}Service;
</#list>
/**
* @Description: ${tableVo.ftlDescription}
* @Author: jeecg-boot
* @Date: ${.now?string["yyyy-MM-dd"]}
* @Version: V1.0
*/
@RestController
@RequestMapping("/${entityPackage}/${entityName?uncap_first}")
@Slf4j
public class ${entityName}Controller extends JeecgController<${entityName}, I${entityName}Service> {
@Autowired
private I${entityName}Service ${entityName?uncap_first}Service;
<#list subTables as sub>
@Autowired
private I${sub.entityName}Service ${sub.entityName?uncap_first}Service;
</#list>
/*---------------------------------主表处理-begin-------------------------------------*/
/**
* 分页列表查询
* @param ${entityName?uncap_first}
* @param pageNo
* @param pageSize
* @param req
* @return
*/
@GetMapping(value = "/list")
public Result<?> queryPageList(${entityName} ${entityName?uncap_first},
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<${entityName}> queryWrapper = QueryGenerator.initQueryWrapper(${entityName?uncap_first}, req.getParameterMap());
Page<${entityName}> page = new Page<${entityName}>(pageNo, pageSize);
IPage<${entityName}> pageList = ${entityName?uncap_first}Service.page(page, queryWrapper);
return Result.ok(pageList);
}
/**
* 添加
* @param ${entityName?uncap_first}
* @return
*/
@PostMapping(value = "/add")
public Result<?> add(@RequestBody ${entityName} ${entityName?uncap_first}) {
${entityName?uncap_first}Service.save(${entityName?uncap_first});
return Result.ok("添加成功!");
}
/**
* 编辑
* @param ${entityName?uncap_first}
* @return
*/
@PutMapping(value = "/edit")
public Result<?> edit(@RequestBody ${entityName} ${entityName?uncap_first}) {
${entityName?uncap_first}Service.updateById(${entityName?uncap_first});
return Result.ok("编辑成功!");
}
/**
* 通过id删除
* @param id
* @return
*/
@DeleteMapping(value = "/delete")
public Result<?> delete(@RequestParam(name="id",required=true) String id) {
${entityName?uncap_first}Service.delMain(id);
return Result.ok("删除成功!");
}
/**
* 批量删除
* @param ids
* @return
*/
@DeleteMapping(value = "/deleteBatch")
public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
this.${entityName?uncap_first}Service.delBatchMain(Arrays.asList(ids.split(",")));
return Result.ok("批量删除成功!");
}
/**
* 导出
* @return
*/
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, ${entityName} ${entityName?uncap_first}) {
return super.exportXls(request, ${entityName?uncap_first}, ${entityName}.class, "${tableVo.ftlDescription}");
}
/**
* 导入
* @return
*/
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
return super.importExcel(request, response, ${entityName}.class);
}
/*---------------------------------主表处理-end-------------------------------------*/
<#list subTables as sub>
/*--------------------------------子表处理-${sub.ftlDescription}-begin----------------------------------------------*/
/**
* 查询子表信息 会传入主表ID
* @return
*/
@GetMapping(value = "/list${sub.entityName}ByMainId")
public Result<?> list${sub.entityName}ByMainId(${sub.entityName} ${sub.entityName?uncap_first},
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<${sub.entityName}> queryWrapper = QueryGenerator.initQueryWrapper(${sub.entityName?uncap_first}, req.getParameterMap());
Page<${sub.entityName}> page = new Page<${sub.entityName}>(pageNo, pageSize);
IPage<${sub.entityName}> pageList = ${sub.entityName?uncap_first}Service.page(page, queryWrapper);
return Result.ok(pageList);
}
/**
* 添加
* @param ${sub.entityName?uncap_first}
* @return
*/
@PostMapping(value = "/add${sub.entityName}")
public Result<?> add${sub.entityName}(@RequestBody ${sub.entityName} ${sub.entityName?uncap_first}) {
${sub.entityName?uncap_first}Service.save(${sub.entityName?uncap_first});
return Result.ok("添加成功!");
}
/**
* 编辑
* @param ${sub.entityName?uncap_first}
* @return
*/
@PutMapping(value = "/edit${sub.entityName}")
public Result<?> edit${sub.entityName}(@RequestBody ${sub.entityName} ${sub.entityName?uncap_first}) {
${sub.entityName?uncap_first}Service.updateById(${sub.entityName?uncap_first});
return Result.ok("编辑成功!");
}
/**
* 通过id删除
* @param id
* @return
*/
@DeleteMapping(value = "/delete${sub.entityName}")
public Result<?> delete${sub.entityName}(@RequestParam(name="id",required=true) String id) {
${sub.entityName?uncap_first}Service.removeById(id);
return Result.ok("删除成功!");
}
/**
* 批量删除
* @param ids
* @return
*/
@DeleteMapping(value = "/deleteBatch${sub.entityName}")
public Result<?> deleteBatch${sub.entityName}(@RequestParam(name="ids",required=true) String ids) {
this.${sub.entityName?uncap_first}Service.removeByIds(Arrays.asList(ids.split(",")));
return Result.ok("批量删除成功!");
}
/*--------------------------------子表处理-${sub.ftlDescription}-end----------------------------------------------*/
</#list>
}
package ${bussiPackage}.${entityPackage}.entity;
import java.io.Serializable;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import org.jeecgframework.poi.excel.annotation.Excel;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
/**
* @Description: ${tableVo.ftlDescription}
* @Author: jeecg-boot
* @Date: ${.now?string["yyyy-MM-dd"]}
* @Version: V1.0
*/
@Data
@TableName("${tableName}")
public class ${entityName} implements Serializable {
private static final long serialVersionUID = 1L;
<#list originalColumns as po>
/**${po.filedComment}*/
<#if po.fieldName == primaryKeyField>
@TableId(type = IdType.ID_WORKER_STR)
<#else>
<#if po.fieldDbType =='Date'>
<#if po.classType=='date'>
@Excel(name = "${po.filedComment}", width = 15, format = "yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
<#else>
@Excel(name = "${po.filedComment}", width = 20, format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
</#if>
<#else>
@Excel(name = "${po.filedComment}", width = 15)
</#if>
</#if>
<#if po.fieldDbType=='Blob'>
private transient java.lang.String ${po.fieldName}String;
private byte[] ${po.fieldName};
public byte[] get${po.fieldName?cap_first}(){
if(${po.fieldName}String==null){
return null;
}
try {
return ${po.fieldName}String.getBytes("UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return null;
}
public String get${po.fieldName?cap_first}String(){
if(${po.fieldName}==null || ${po.fieldName}.length==0){
return "";
}
try {
return new String(${po.fieldName},"UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return "";
}
<#else>
private ${po.fieldType} ${po.fieldName};
</#if>
</#list>
}
<#list subTables as subTab>
#segment#${subTab.entityName}.java
package ${bussiPackage}.${entityPackage}.entity;
import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import org.jeecg.common.aspect.annotation.Dict;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import java.util.Date;
/**
* @Description: ${subTab.ftlDescription}
* @Author: jeecg-boot
* @Date: ${.now?string["yyyy-MM-dd"]}
* @Version: V1.0
*/
@Data
@TableName("${subTab.tableName}")
public class ${subTab.entityName} implements Serializable {
private static final long serialVersionUID = 1L;
<#list subTab.originalColumns as po>
/**${po.filedComment}*/
<#if po.fieldName == primaryKeyField>
@TableId(type = IdType.ID_WORKER_STR)
<#else>
<#if po.fieldDbType =='Date'>
<#if po.classType=='date'>
@Excel(name = "${po.filedComment}", width = 15, format = "yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
<#else>
@Excel(name = "${po.filedComment}", width = 20, format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
</#if>
<#elseif !subTab.foreignKeys?seq_contains(po.fieldName?cap_first)>
@Excel(name = "${po.filedComment}", width = 15)
</#if>
</#if>
<#if po.classType =='list' || po.classType =='radio' || po.classType =='list_multi' || po.classType =='checkbox' || po.classType =='sel_search'>
<#if po.dictTable?default("")?trim?length gt 1>
@Dict(dicCode = "${po.dictField}",dicText = "${po.dictText}",dictTable = "${po.dictTable}")
<#elseif po.dictField?default("")?trim?length gt 1>
@Dict(dicCode = "${po.dictField}")
</#if>
</#if>
<#if po.classType =='cat_tree'>
@Dict(dicCode = "id",dicText = "name",dictTable = "sys_category")
</#if>
<#if po.classType =='sel_depart'>
@Dict(dicCode = "id",dicText = "depart_name",dictTable = "sys_depart")
</#if>
private <#if po.fieldType=='java.sql.Blob'>byte[]<#else>${po.fieldType}</#if> ${po.fieldName};
</#list>
}
</#list>
\ No newline at end of file
package ${bussiPackage}.${entityPackage}.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import ${bussiPackage}.${entityPackage}.entity.${entityName};
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: ${tableVo.ftlDescription}
* @Author: jeecg-boot
* @Date: ${.now?string["yyyy-MM-dd"]}
* @Version: V1.0
*/
public interface ${entityName}Mapper extends BaseMapper<${entityName}> {
}
<#list subTables as subTab>
#segment#${subTab.entityName}Mapper.java
package ${bussiPackage}.${entityPackage}.mapper;
import java.util.List;
import ${bussiPackage}.${entityPackage}.entity.${subTab.entityName};
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
/**
* @Description: ${subTab.ftlDescription}
* @Author: jeecg-boot
* @Date: ${.now?string["yyyy-MM-dd"]}
* @Version: V1.0
*/
public interface ${subTab.entityName}Mapper extends BaseMapper<${subTab.entityName}> {
public boolean deleteByMainId(@Param("mainId") String mainId);
public List<${subTab.entityName}> selectByMainId(@Param("mainId") String mainId);
}
</#list>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="${bussiPackage}.${entityPackage}.mapper.${entityName}Mapper">
</mapper>
\ No newline at end of file
<#list subTables as subTab>
<#assign originalForeignKeys = subTab.originalForeignKeys>
#segment#${subTab.entityName}Mapper.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="${bussiPackage}.${entityPackage}.mapper.${subTab.entityName}Mapper">
<delete id="deleteByMainId" parameterType="java.lang.String">
DELETE
FROM ${subTab.tableName}
WHERE
<#list originalForeignKeys as key>
${key} = ${r'#'}{mainId} <#rt/>
</#list>
</delete>
<select id="selectByMainId" parameterType="java.lang.String" resultType="${bussiPackage}.${entityPackage}.entity.${subTab.entityName}">
SELECT *
FROM ${subTab.tableName}
WHERE
<#list originalForeignKeys as key>
${key} = ${r'#'}{mainId} <#rt/>
</#list>
</select>
</mapper>
</#list>
\ No newline at end of file
package ${bussiPackage}.${entityPackage}.service;
<#list subTables as sub>
import ${bussiPackage}.${entityPackage}.entity.${sub.entityName};
</#list>
import ${bussiPackage}.${entityPackage}.entity.${entityName};
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.beans.factory.annotation.Autowired;
import java.io.Serializable;
import java.util.Collection;
import java.util.List;
/**
* @Description: ${tableVo.ftlDescription}
* @Author: jeecg-boot
* @Date: ${.now?string["yyyy-MM-dd"]}
* @Version: V1.0
*/
public interface I${entityName}Service extends IService<${entityName}> {
/**
* 删除一对多
*/
public void delMain (String id);
/**
* 批量删除一对多
*/
public void delBatchMain (Collection<? extends Serializable> idList);
}
<#list subTables as subTab>
#segment#I${subTab.entityName}Service.java
package ${bussiPackage}.${entityPackage}.service;
import ${bussiPackage}.${entityPackage}.entity.${subTab.entityName};
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* @Description: ${subTab.ftlDescription}
* @Author: jeecg-boot
* @Date: ${.now?string["yyyy-MM-dd"]}
* @Version: V1.0
*/
public interface I${subTab.entityName}Service extends IService<${subTab.entityName}> {
public List<${subTab.entityName}> selectByMainId(String mainId);
}
</#list>
package ${bussiPackage}.${entityPackage}.service.impl;
import ${bussiPackage}.${entityPackage}.entity.${entityName};
<#list subTables as sub>
import ${bussiPackage}.${entityPackage}.entity.${sub.entityName};
</#list>
<#list subTables as sub>
import ${bussiPackage}.${entityPackage}.mapper.${sub.entityName}Mapper;
</#list>
import ${bussiPackage}.${entityPackage}.mapper.${entityName}Mapper;
import ${bussiPackage}.${entityPackage}.service.I${entityName}Service;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import java.io.Serializable;
import java.util.List;
import java.util.Collection;
/**
* @Description: ${tableVo.ftlDescription}
* @Author: jeecg-boot
* @Date: ${.now?string["yyyy-MM-dd"]}
* @Version: V1.0
*/
@Service
public class ${entityName}ServiceImpl extends ServiceImpl<${entityName}Mapper, ${entityName}> implements I${entityName}Service {
@Autowired
private ${entityName}Mapper ${entityName?uncap_first}Mapper;
<#list subTables as sub>
@Autowired
private ${sub.entityName}Mapper ${sub.entityName?uncap_first}Mapper;
</#list>
@Override
@Transactional
public void delMain(String id) {
<#list subTables as sub>
${sub.entityName?uncap_first}Mapper.deleteByMainId(id);
</#list>
${entityName?uncap_first}Mapper.deleteById(id);
}
@Override
@Transactional
public void delBatchMain(Collection<? extends Serializable> idList) {
for(Serializable id:idList) {
<#list subTables as sub>
${sub.entityName?uncap_first}Mapper.deleteByMainId(id.toString());
</#list>
${entityName?uncap_first}Mapper.deleteById(id);
}
}
}
<#list subTables as subTab>
#segment#${subTab.entityName}ServiceImpl.java
package ${bussiPackage}.${entityPackage}.service.impl;
import ${bussiPackage}.${entityPackage}.entity.${subTab.entityName};
import ${bussiPackage}.${entityPackage}.mapper.${subTab.entityName}Mapper;
import ${bussiPackage}.${entityPackage}.service.I${subTab.entityName}Service;
import org.springframework.stereotype.Service;
import java.util.List;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
/**
* @Description: ${subTab.ftlDescription}
* @Author: jeecg-boot
* @Date: ${.now?string["yyyy-MM-dd"]}
* @Version: V1.0
*/
@Service
public class ${subTab.entityName}ServiceImpl extends ServiceImpl<${subTab.entityName}Mapper, ${subTab.entityName}> implements I${subTab.entityName}Service {
@Autowired
private ${subTab.entityName}Mapper ${subTab.entityName?uncap_first}Mapper;
@Override
public List<${subTab.entityName}> selectByMainId(String mainId) {
return ${subTab.entityName?uncap_first}Mapper.selectByMainId(mainId);
}
}
</#list>
\ No newline at end of file
<template>
<a-card :bordered="false">
<!-- 查询区域 -->
<div class="table-page-search-wrapper">
<a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row :gutter="24">
<#assign query_field_no=0>
<#assign query_field_select=false>
<#assign query_field_date=false>
<#assign list_need_dict=false>
<#assign list_need_category=false>
<#assign query_flag=false>
<#-- 开始循环 -->
<#list columns as po>
<#if po.isQuery=='Y'>
<#assign query_flag=true>
<#if query_field_no==2>
<template v-if="toggleSearchStatus">
</#if>
<#if po.queryMode=='single'>
<#if query_field_no gt 1> </#if><a-col :md="6" :sm="8">
<#if query_field_no gt 1> </#if><a-form-item label="${po.filedComment}">
<#if po.classType=='date'>
<#assign query_field_date=true>
<#if query_field_no gt 1> </#if><j-date placeholder="请选择${po.filedComment}" v-model="queryParam.${po.fieldName}"></j-date>
<#elseif po.classType=='datetime'>
<#assign query_field_date=true>
<#if query_field_no gt 1> </#if><j-date :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" placeholder="请选择${po.filedComment}" v-model="queryParam.${po.fieldName}"></j-date>
<#elseif po.classType=='list' || po.classType=='radio' || po.classType=='checkbox'>
<#assign query_field_select=true>
<#-- ---------------------------下拉或是单选 判断数据字典是表字典还是普通字典------------------------------- -->
<#if po.dictTable?default("")?trim?length gt 1>
<#if query_field_no gt 1> </#if><j-dict-select-tag placeholder="请选择${po.filedComment}" v-model="queryParam.${po.fieldName}" dictCode="${po.dictTable},${po.dictText},${po.dictField}"/>
<#elseif po.dictField?default("")?trim?length gt 1>
<#if query_field_no gt 1> </#if><j-dict-select-tag placeholder="请选择${po.filedComment}" v-model="queryParam.${po.fieldName}" dictCode="${po.dictField}"/>
<#else>
<#if query_field_no gt 1> </#if><a-input placeholder="请输入${po.filedComment}" v-model="queryParam.${po.fieldName}"></a-input>
</#if>
<#else>
<#if query_field_no gt 1> </#if><a-input placeholder="请输入${po.filedComment}" v-model="queryParam.${po.fieldName}"></a-input>
</#if>
<#if query_field_no gt 1> </#if></a-form-item>
<#if query_field_no gt 1> </#if></a-col>
<#else>
<#if query_field_no gt 1> </#if><a-col :md="12" :sm="16">
<#if query_field_no gt 1> </#if><a-form-item label="${po.filedComment}">
<#if po.classType=='date'>
<#assign query_field_date=true>
<#if query_field_no gt 1> </#if><j-date placeholder="请选择开始日期" class="query-group-cust" v-model="queryParam.${po.fieldName}_begin"></j-date>
<#if query_field_no gt 1> </#if><span class="query-group-split-cust"></span>
<#if query_field_no gt 1> </#if><j-date placeholder="请选择结束日期" class="query-group-cust" v-model="queryParam.${po.fieldName}_end"></j-date>
<#elseif po.classType=='datetime'>
<#assign query_field_date=true>
<#if query_field_no gt 1> </#if><j-date :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" placeholder="请选择开始时间" class="query-group-cust" v-model="queryParam.${po.fieldName}_begin"></j-date>
<#if query_field_no gt 1> </#if><span class="query-group-split-cust"></span>
<#if query_field_no gt 1> </#if><j-date :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" placeholder="请选择结束时间" class="query-group-cust" v-model="queryParam.${po.fieldName}_end"></j-date>
<#else>
<#if query_field_no gt 1> </#if><a-input placeholder="请输入最小值" class="query-group-cust" v-model="queryParam.${po.fieldName}_begin"></a-input>
<#if query_field_no gt 1> </#if><span class="query-group-split-cust"></span>
<#if query_field_no gt 1> </#if><a-input placeholder="请输入最大值" class="query-group-cust" v-model="queryParam.${po.fieldName}_end"></a-input>
</#if>
<#if query_field_no gt 1> </#if></a-form-item>
<#if query_field_no gt 1> </#if></a-col>
</#if>
<#assign query_field_no=query_field_no+1>
</#if>
<#if !list_need_dict && po.fieldShowType!='popup' && po.dictField?default("")?trim?length gt 1>
<#assign list_need_dict=true>
</#if>
<#if po.classType=='cat_tree' && po.dictText?default("")?trim?length == 0>
<#assign list_need_category=true>
<#assign list_need_dict=true>
</#if>
</#list>
<#-- 结束循环 -->
<#t>
<#if query_field_no gt 2>
</template>
</#if>
<#if query_flag>
<a-col :md="6" :sm="8">
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
<a @click="handleToggleSearch" style="margin-left: 8px">
{{ toggleSearchStatus ? '收起' : '展开' }}
<a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
</a>
</span>
</a-col>
</#if>
</a-row>
</a-form>
</div>
<!-- 查询区域-END -->
<!-- 操作按钮区域 -->
<div class="table-operator">
<a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
<a-button type="primary" icon="download" @click="handleExportXls('${tableVo.ftlDescription}')">导出</a-button>
<a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
<a-button type="primary" icon="import">导入</a-button>
</a-upload>
</div>
<!-- table区域-begin -->
<div>
<div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
<i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项
<a style="margin-left: 24px" @click="onClearSelected">清空</a>
</div>
<a-table
ref="table"
size="middle"
bordered
rowKey="id"
:columns="columns"
:dataSource="dataSource"
:pagination="ipagination"
:loading="loading"
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange, type:'radio'}"
:customRow="clickThenSelect"
@change="handleTableChange">
<template slot="htmlSlot" slot-scope="text">
<div v-html="text"></div>
</template>
<template slot="imgSlot" slot-scope="text">
<span v-if="!text" style="font-size: 12px;font-style: italic;">无此图片</span>
<img v-else :src="getImgView(text)" height="25px" alt="图片不存在" style="max-width:80px;font-size: 12px;font-style: italic;"/>
</template>
<template slot="fileSlot" slot-scope="text">
<span v-if="!text" style="font-size: 12px;font-style: italic;">无此文件</span>
<a-button
v-else
:ghost="true"
type="primary"
icon="download"
size="small"
@click="uploadFile(text)">
下载
</a-button>
</template>
<span slot="action" slot-scope="text, record">
<a @click="handleEdit(record)">编辑</a>
<a-divider type="vertical" />
<a-dropdown>
<a class="ant-dropdown-link">更多 <a-icon type="down" /></a>
<a-menu slot="overlay">
<a-menu-item>
<a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
<a>删除</a>
</a-popconfirm>
</a-menu-item>
</a-menu>
</a-dropdown>
</span>
</a-table>
</div>
<a-tabs defaultActiveKey="1">
<#assign sub_seq=1>
<#list subTables as sub>
<a-tab-pane tab="${sub.ftlDescription}" key="${sub_seq}" <#if sub_seq gt 1>forceRender</#if>>
<${sub.tableName?replace("_","-")}-list :mainId="selectedMainId" />
</a-tab-pane>
<#assign sub_seq=sub_seq+1>
</#list>
</a-tabs>
<${entityName?uncap_first}-modal ref="modalForm" @ok="modalFormOk"></${entityName?uncap_first}-modal>
</a-card>
</template>
<script>
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
import ${entityName}Modal from './modules/${entityName}Modal'
import { getAction } from '@/api/manage'
<#list subTables as sub>
import ${sub.entityName}List from './${sub.entityName}List'
</#list>
<#if query_field_select>
import JDictSelectTag from '@/components/dict/JDictSelectTag.vue'
</#if>
<#if query_field_date>
import JDate from '@/components/jeecg/JDate.vue'
</#if>
<#if list_need_dict>
import {initDictOptions, filterMultiDictText} from '@/components/dict/JDictSelectUtil'
</#if>
<#if list_need_category>
import { loadCategoryData } from '@/api/api'
</#if>
export default {
name: "${entityName}List",
mixins:[JeecgListMixin],
components: {
<#if query_field_select>
JDictSelectTag,
</#if>
<#if query_field_date>
JDate,
</#if>
<#list subTables as sub>
${sub.entityName}List,
</#list>
${entityName}Modal
},
data () {
return {
description: '${tableVo.ftlDescription}管理页面',
// 表头
columns: [
<#assign showColNum=0>
<#list columns as po>
<#if po.isShowList =='Y'>
<#assign showColNum=showColNum+1>
{
title:'${po.filedComment}',
align:"center",
<#if po.classType=='date'>
dataIndex: '${po.fieldName}',
customRender:function (text) {
return !text?"":(text.length>10?text.substr(0,10):text)
}
<#elseif po.fieldDbType=='Blob'>
dataIndex: '${po.fieldName}String'
<#elseif po.classType=='umeditor'>
dataIndex: '${po.fieldName}',
scopedSlots: {customRender: 'htmlSlot'}
<#elseif po.classType=='file'>
dataIndex: '${po.fieldName}',
scopedSlots: {customRender: 'fileSlot'}
<#elseif po.classType=='image'>
dataIndex: '${po.fieldName}',
scopedSlots: {customRender: 'imgSlot'}
<#elseif po.classType=='sel_search' || po.classType=='list_multi' || po.classType=='list' || po.classType=='radio' || po.classType=='checkbox' || po.classType=='sel_depart'>
dataIndex: '${po.fieldName}',
customRender:(text)=>{
if(!text){
return ''
}else{
return filterMultiDictText(this.dictOptions['${po.fieldName}'], text+"")
}
}
<#elseif po.classType=='cat_tree'>
<#if list_need_category>
dataIndex: '${po.fieldName}',
customRender:(text)=>{
if(!text){
return ''
}else{
return filterMultiDictText(this.dictOptions['${po.fieldName}'], text+"")
}
}
<#else>
dataIndex: '${po.fieldName}',
customRender:(text,record)=>{
if(!text){
return ''
}else{
return record['${po.dictText}']
}
}
</#if>
<#else>
dataIndex: '${po.fieldName}'
</#if>
},
</#if>
</#list>
{
title: '操作',
dataIndex: 'action',
align:"center",
scopedSlots: { customRender: 'action' },
}
],
url: {
list: "/${entityPackage}/${entityName?uncap_first}/list",
delete: "/${entityPackage}/${entityName?uncap_first}/delete",
deleteBatch: "/${entityPackage}/${entityName?uncap_first}/deleteBatch",
exportXlsUrl: "/${entityPackage}/${entityName?uncap_first}/exportXls",
importExcelUrl: "${entityPackage}/${entityName?uncap_first}/importExcel",
},
dictOptions:{
<#list columns as po>
<#if (po.isQuery=='Y' || po.isShowList=='Y')>
<#if po.classType='sel_depart' || po.classType=='list_multi' || po.classType=='list' || po.classType=='radio' || po.classType=='checkbox'>
${po.fieldName}:[],
</#if>
</#if>
</#list>
},
/* 分页参数 */
ipagination:{
current: 1,
pageSize: 5,
pageSizeOptions: ['5', '10', '50'],
showTotal: (total, range) => {
return range[0] + "-" + range[1] + " 共" + total + "条"
},
showQuickJumper: true,
showSizeChanger: true,
total: 0
},
selectedMainId:''
}
},
computed: {
importExcelUrl: function(){
<#noparse>return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;</#noparse>
}
},
methods: {
initDictConfig(){
<#list columns as po>
<#if (po.isQuery=='Y' || po.isShowList=='Y') && po.classType!='popup'>
<#if po.classType='sel_depart'>
initDictOptions('sys_depart,depart_name,id').then((res) => {
if (res.success) {
this.$set(this.dictOptions, '${po.fieldName}', res.result)
}
})
<#elseif po.classType=='cat_tree' && list_need_category==true>
loadCategoryData({code:"${po.dictField}"}).then((res) => {
if (res.success) {
this.$set(this.dictOptions, '${po.fieldName}', res.result)
}
})
<#elseif po.classType=='sel_search' || po.classType=='list_multi' || po.classType=='list' || po.classType=='radio' || po.classType=='checkbox'>
<#assign list_field_dictCode="">
<#if po.dictTable?default("")?trim?length gt 1>
<#assign list_field_dictCode="${po.dictTable},${po.dictText},${po.dictField}">
<#elseif po.dictField?default("")?trim?length gt 1>
<#assign list_field_dictCode="${po.dictField}">
</#if>
initDictOptions('${list_field_dictCode}').then((res) => {
if (res.success) {
this.$set(this.dictOptions, '${po.fieldName}', res.result)
}
})
</#if>
</#if>
</#list>
},
clickThenSelect(record) {
return {
on: {
click: () => {
this.onSelectChange(record.id.split(","), [record]);
}
}
}
},
onClearSelected() {
this.selectedRowKeys = [];
this.selectionRows = [];
this.selectedMainId=''
},
onSelectChange(selectedRowKeys, selectionRows) {
this.selectedMainId=selectedRowKeys[0]
this.selectedRowKeys = selectedRowKeys;
this.selectionRows = selectionRows;
},
loadData(arg) {
if(!this.url.list){
this.$message.error("请设置url.list属性!")
return
}
//加载数据 若传入参数1则加载第一页的内容
if (arg === 1) {
this.ipagination.current = 1;
}
this.onClearSelected()
var params = this.getQueryParams();//查询条件
this.loading = true;
getAction(this.url.list, params).then((res) => {
if (res.success) {
this.dataSource = res.result.records;
this.ipagination.total = res.result.total;
}
if(res.code===510){
this.$message.warning(res.message)
}
this.loading = false;
})
}
}
}
</script>
<style scoped>
@import '~@assets/less/common.less'
</style>
\ No newline at end of file
<#list subTables as sub>
#segment#${sub.entityName}List.vue
<template>
<a-card :bordered="false" :class="'cust-erp-sub-tab'">
<!-- 操作按钮区域 -->
<div class="table-operator">
<a-button v-if="mainId" @click="handleAdd" type="primary" icon="plus">新增</a-button>
<a-dropdown v-if="selectedRowKeys.length > 0">
<a-menu slot="overlay">
<a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>删除</a-menu-item>
</a-menu>
<a-button style="margin-left: 8px"> 批量操作 <a-icon type="down" /></a-button>
</a-dropdown>
</div>
<!-- table区域-begin -->
<div>
<div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
<i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项
<a style="margin-left: 24px" @click="onClearSelected">清空</a>
</div>
<a-table
ref="table"
size="middle"
bordered
rowKey="id"
:columns="columns"
:dataSource="dataSource"
:pagination="ipagination"
:loading="loading"
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
@change="handleTableChange">
<template slot="htmlSlot" slot-scope="text">
<div v-html="text"></div>
</template>
<template slot="imgSlot" slot-scope="text">
<span v-if="!text" style="font-size: 12px;font-style: italic;">无此图片</span>
<img v-else :src="getImgView(text)" height="25px" alt="图片不存在" style="max-width:80px;font-size: 12px;font-style: italic;"/>
</template>
<template slot="fileSlot" slot-scope="text">
<span v-if="!text" style="font-size: 12px;font-style: italic;">无此文件</span>
<a-button
v-else
:ghost="true"
type="primary"
icon="download"
size="small"
@click="uploadFile(text)">
下载
</a-button>
</template>
<span slot="action" slot-scope="text, record">
<a @click="handleEdit(record)">编辑</a>
<a-divider type="vertical" />
<a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
<a>删除</a>
</a-popconfirm>
</span>
</a-table>
</div>
<${sub.entityName?uncap_first}-modal ref="modalForm" @ok="modalFormOk" :mainId="mainId"></${sub.entityName?uncap_first}-modal>
</a-card>
</template>
<script>
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
import ${sub.entityName}Modal from './modules/${sub.entityName}Modal'
export default {
name: "${sub.entityName}List",
mixins:[JeecgListMixin],
components: { ${sub.entityName}Modal },
props:{
mainId:{
type:String,
default:'',
required:false
}
},
watch:{
mainId:{
immediate: true,
handler(val) {
if(!this.mainId){
this.clearList()
}else{
<#list sub.foreignKeys as key>
this.queryParam['${key?uncap_first}'] = val
</#list>
this.loadData(1);
}
}
}
},
data () {
return {
description: '${tableVo.ftlDescription}管理页面',
disableMixinCreated:true,
// 表头
columns: [
{
title: '#',
dataIndex: '',
key:'rowIndex',
width:60,
align:"center",
customRender:function (t,r,index) {
return parseInt(index)+1;
}
},
<#assign showColNum=0>
<#list sub.originalColumns as po>
<#if po.isShowList =='Y'>
<#assign showColNum=showColNum+1>
{
title:'${po.filedComment}',
align:"center",
<#if po.classType=='date'>
dataIndex: '${po.fieldName}',
customRender:function (text) {
return !text?"":(text.length>10?text.substr(0,10):text)
}
<#elseif po.fieldDbType=='Blob'>
dataIndex: '${po.fieldName}String'
<#elseif po.classType=='umeditor'>
dataIndex: '${po.fieldName}',
scopedSlots: {customRender: 'htmlSlot'}
<#elseif po.classType=='file'>
dataIndex: '${po.fieldName}',
scopedSlots: {customRender: 'fileSlot'}
<#elseif po.classType=='image'>
dataIndex: '${po.fieldName}',
scopedSlots: {customRender: 'imgSlot'}
<#elseif po.classType =='list' || po.classType =='radio' || po.classType =='list_multi' || po.classType =='checkbox' || po.classType =='sel_search' || po.classType =='cat_tree' || po.classType =='sel_depart'>
dataIndex: '${po.fieldName}_dictText',
<#else>
dataIndex: '${po.fieldName}'
</#if>
},
</#if>
</#list>
{
title: '操作',
dataIndex: 'action',
align:"center",
scopedSlots: { customRender: 'action' },
}
],
url: {
list: "/${entityPackage}/${entityName?uncap_first}/list${sub.entityName}ByMainId",
delete: "/${entityPackage}/${entityName?uncap_first}/delete${sub.entityName}",
deleteBatch: "/${entityPackage}/${entityName?uncap_first}/deleteBatch${sub.entityName}"
},
dictOptions:{
<#list columns as po>
<#if (po.isQuery=='Y' || po.isShowList=='Y')>
<#if po.classType='sel_depart' || po.classType=='list_multi' || po.classType=='list' || po.classType=='radio' || po.classType=='checkbox'>
${po.fieldName}:[],
</#if>
</#if>
</#list>
},
}
},
methods: {
clearList(){
this.dataSource=[]
this.selectedRowKeys=[]
this.ipagination.current = 1
},
}
}
</script>
<style scoped>
@import '~@assets/less/common.less'
</style>
</#list>
\ No newline at end of file
<template>
<a-modal
:title="title"
:width="width"
:visible="visible"
:confirmLoading="confirmLoading"
@ok="handleOk"
@cancel="handleCancel"
cancelText="关闭">
<a-spin :spinning="confirmLoading">
<a-form :form="form">
<#assign form_date = false>
<#assign form_select = false>
<#assign form_select_multi = false>
<#assign form_select_search = false>
<#assign form_popup = false>
<#assign form_sel_depart = false>
<#assign form_sel_user = false>
<#assign form_file = false>
<#assign form_editor = false>
<#assign form_cat_tree = false>
<#assign form_cat_back = "">
<#list columns as po>
<#if po.isShow =='Y'>
<#assign form_field_dictCode="">
<#if po.dictTable?default("")?trim?length gt 1>
<#assign form_field_dictCode="${po.dictTable},${po.dictText},${po.dictField}">
<#elseif po.dictField?default("")?trim?length gt 1>
<#assign form_field_dictCode="${po.dictField}">
</#if>
<a-form-item label="${po.filedComment}" :labelCol="labelCol" :wrapperCol="wrapperCol">
<#if po.classType =='date'>
<#assign form_date=true>
<j-date placeholder="请选择${po.filedComment}" v-decorator="[ '${po.fieldName}', validatorRules.${po.fieldName}]" :trigger-change="true" style="width: 100%"/>
<#elseif po.classType =='datetime'>
<#assign form_date=true>
<j-date placeholder="请选择${po.filedComment}" v-decorator="[ '${po.fieldName}', validatorRules.${po.fieldName}]" :trigger-change="true" :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" style="width: 100%"/>
<#elseif po.classType =='popup'>
<#assign form_popup=true>
<j-popup
v-decorator="['${po.fieldName}']"
:trigger-change="true"
org-fields="${po.dictField}"
dest-fields="${po.dictText}"
code="${po.dictTable}"
@callback="popupCallback"/>
<#elseif po.classType =='sel_depart'>
<#assign form_sel_depart=true>
<j-select-depart v-decorator="['${po.fieldName}']" :trigger-change="true"/>
<#elseif po.classType =='sel_user'>
<#assign form_sel_user = true>
<j-select-user-by-dep v-decorator="['${po.fieldName}']" :trigger-change="true"/>
<#elseif po.classType =='textarea'>
<a-textarea v-decorator="['${po.fieldName}']" rows="4" placeholder="请输入${po.filedComment}"/>
<#elseif po.classType=='list' || po.classType=='radio'>
<#assign form_select = true>
<j-dict-select-tag type="${po.classType}" v-decorator="['${po.fieldName}']" :trigger-change="true" dictCode="${form_field_dictCode}" placeholder="请选择${po.filedComment}"/>
<#elseif po.classType=='list_multi' || po.classType=='checkbox'>
<#assign form_select_multi = true>
<j-multi-select-tag type="${po.classType}" v-decorator="['${po.fieldName}']" :trigger-change="true" dictCode="${form_field_dictCode}" placeholder="请选择${po.filedComment}"/>
<#elseif po.classType=='sel_search'>
<#assign form_select_search = true>
<j-search-select-tag v-decorator="['${po.fieldName}']" dict="${form_field_dictCode}" />
<#elseif po.classType=='cat_tree'>
<#assign form_cat_tree = true>
<j-category-select v-decorator="['${po.fieldName}']" <#if po.dictField?default("")?trim?length gt 1>pcode="${po.dictField}"<#else>pcode="0"</#if> placeholder="请选择${po.filedComment}" <#if po.dictText?default("")?trim?length gt 1>back="${po.dictText}" @change="handleCategoryChange"</#if>/>
<#if po.dictText?default("")?trim?length gt 1>
<#assign form_cat_back = "${po.dictText}">
</#if>
<#elseif po.fieldDbType=='int' || po.fieldDbType=='double' || po.fieldDbType=='BigDecimal'>
<a-input-number v-decorator="[ '${po.fieldName}', validatorRules.${po.fieldName}]" placeholder="请输入${po.filedComment}" style="width: 100%"/>
<#elseif po.classType=='file' || po.classType=='image'>
<#assign form_file = true>
<j-upload v-decorator="['${po.fieldName}']" :trigger-change="true"></j-upload>
<#elseif po.classType=='umeditor'>
<#assign form_editor = true>
<j-editor v-decorator="['${po.fieldName}',{trigger:'input'}]"/>
<#elseif po.fieldDbType=='Blob'>
<a-input v-decorator="[ '${po.fieldName}String', validatorRules.${po.fieldName}]" placeholder="请输入${po.filedComment}"></a-input>
<#else>
<a-input v-decorator="[ '${po.fieldName}', validatorRules.${po.fieldName}]" placeholder="请输入${po.filedComment}"></a-input>
</#if>
</a-form-item>
</#if>
</#list>
<#if form_cat_tree && form_cat_back?length gt 1>
<a-form-item v-show="false">
<a-input v-decorator="[ '${form_cat_back}']"></a-input>
</a-form-item>
</#if>
</a-form>
</a-spin>
</a-modal>
</template>
<script>
import { httpAction } from '@/api/manage'
import pick from 'lodash.pick'
<#if form_date>
import JDate from '@/components/jeecg/JDate'
</#if>
<#if form_file>
import JUpload from '@/components/jeecg/JUpload'
</#if>
<#if form_sel_depart>
import JSelectDepart from '@/components/jeecgbiz/JSelectDepart'
</#if>
<#if form_sel_user>
import JSelectUserByDep from '@/components/jeecgbiz/JSelectUserByDep'
</#if>
<#if form_select>
import JDictSelectTag from "@/components/dict/JDictSelectTag"
</#if>
<#if form_select_multi>
import JMultiSelectTag from "@/components/dict/JMultiSelectTag"
</#if>
<#if form_select_search>
import JSearchSelectTag from '@/components/dict/JSearchSelectTag'
</#if>
<#if form_editor>
import JEditor from '@/components/jeecg/JEditor'
</#if>
<#if form_cat_tree>
import JCategorySelect from '@/components/jeecg/JCategorySelect'
</#if>
export default {
name: "${entityName}Modal",
components: {
<#if form_date>
JDate,
</#if>
<#if form_file>
JUpload,
</#if>
<#if form_sel_depart>
JSelectDepart,
</#if>
<#if form_sel_user>
JSelectUserByDep,
</#if>
<#if form_select>
JDictSelectTag,
</#if>
<#if form_select_multi>
JMultiSelectTag,
</#if>
<#if form_select_search>
JSearchSelectTag,
</#if>
<#if form_editor>
JEditor,
</#if>
<#if form_cat_tree>
JCategorySelect
</#if>
},
data () {
return {
form: this.$form.createForm(this),
title:"操作",
width:800,
visible: false,
model: {},
labelCol: {
xs: { span: 24 },
sm: { span: 5 },
},
wrapperCol: {
xs: { span: 24 },
sm: { span: 16 },
},
confirmLoading: false,
validatorRules:{
<#list columns as po>
<#if po.isShow =='Y'>
<#if po.fieldName !='id'>
<#if po.nullable =='N'>
${po.fieldName}:{rules: [{ required: true, message: '请输入${po.filedComment}!' }]},
<#else>
${po.fieldName}:{},
</#if>
</#if>
</#if>
</#list>
},
url: {
add: "/${entityPackage}/${entityName?uncap_first}/add",
edit: "/${entityPackage}/${entityName?uncap_first}/edit",
}
}
},
created () {
},
methods: {
add () {
this.edit({});
},
edit (record) {
this.form.resetFields();
this.model = Object.assign({}, record);
this.visible = true;
this.$nextTick(() => {
this.form.setFieldsValue(pick(this.model<#list columns as po><#if po.fieldName !='id'><#if po.fieldDbType=='Blob'>,'${po.fieldName}String'<#else>,'${po.fieldName}'</#if></#if></#list>))
})
},
close () {
this.$emit('close');
this.visible = false;
},
handleOk () {
const that = this;
// 触发表单验证
this.form.validateFields((err, values) => {
if (!err) {
that.confirmLoading = true;
let httpurl = '';
let method = '';
if(!this.model.id){
httpurl+=this.url.add;
method = 'post';
}else{
httpurl+=this.url.edit;
method = 'put';
}
let formData = Object.assign(this.model, values);
console.log("表单提交数据",formData)
httpAction(httpurl,formData,method).then((res)=>{
if(res.success){
that.$message.success(res.message);
that.$emit('ok');
}else{
that.$message.warning(res.message);
}
}).finally(() => {
that.confirmLoading = false;
that.close();
})
}
})
},
handleCancel () {
this.close()
},
popupCallback(row){
this.form.setFieldsValue(pick(row<#list columns as po><#if po.fieldName !='id'><#if po.fieldDbType=='Blob'>,'${po.fieldName}String'<#else>,'${po.fieldName}'</#if></#if></#list>))
},
<#if form_cat_tree>
handleCategoryChange(value,backObj){
this.form.setFieldsValue(backObj)
}
</#if>
}
}
</script>
\ No newline at end of file
<#list subTables as sub>
#segment#${sub.entityName}Modal.vue
<template>
<a-modal
:title="title"
:width="width"
:visible="visible"
:confirmLoading="confirmLoading"
@ok="handleOk"
@cancel="handleCancel"
cancelText="关闭">
<a-spin :spinning="confirmLoading">
<a-form :form="form">
<#assign form_date = false>
<#assign form_select = false>
<#assign form_select_multi = false>
<#assign form_select_search = false>
<#assign form_popup = false>
<#assign form_sel_depart = false>
<#assign form_sel_user = false>
<#assign form_file = false>
<#assign form_editor = false>
<#assign form_cat_tree = false>
<#assign form_cat_back = "">
<#list sub.originalColumns as po>
<#if po.isShow =='Y'>
<#assign form_field_dictCode="">
<#if po.dictTable?default("")?trim?length gt 1>
<#assign form_field_dictCode="${po.dictTable},${po.dictText},${po.dictField}">
<#elseif po.dictField?default("")?trim?length gt 1>
<#assign form_field_dictCode="${po.dictField}">
</#if>
<a-form-item label="${po.filedComment}" :labelCol="labelCol" :wrapperCol="wrapperCol">
<#if po.classType =='date'>
<#assign form_date=true>
<j-date placeholder="请选择${po.filedComment}" v-decorator="[ '${po.fieldName}', validatorRules.${po.fieldName}]" :trigger-change="true" style="width: 100%"/>
<#elseif po.classType =='datetime'>
<#assign form_date=true>
<j-date placeholder="请选择${po.filedComment}" v-decorator="[ '${po.fieldName}', validatorRules.${po.fieldName}]" :trigger-change="true" :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" style="width: 100%"/>
<#elseif po.classType =='popup'>
<#assign form_popup=true>
<j-popup
v-decorator="['${po.fieldName}']"
:trigger-change="true"
org-fields="${po.dictField}"
dest-fields="${po.dictText}"
code="${po.dictTable}"
@callback="popupCallback"/>
<#elseif po.classType =='sel_depart'>
<#assign form_sel_depart=true>
<j-select-depart v-decorator="['${po.fieldName}']" :trigger-change="true"/>
<#elseif po.classType =='sel_user'>
<#assign form_sel_user = true>
<j-select-user-by-dep v-decorator="['${po.fieldName}']" :trigger-change="true"/>
<#elseif po.classType =='textarea'>
<a-textarea v-decorator="['${po.fieldName}']" rows="4" placeholder="请输入${po.filedComment}"/>
<#elseif po.classType=='list' || po.classType=='radio'>
<#assign form_select = true>
<j-dict-select-tag type="${po.classType}" v-decorator="['${po.fieldName}']" :trigger-change="true" dictCode="${form_field_dictCode}" placeholder="请选择${po.filedComment}"/>
<#elseif po.classType=='list_multi' || po.classType=='checkbox'>
<#assign form_select_multi = true>
<j-multi-select-tag type="${po.classType}" v-decorator="['${po.fieldName}']" :trigger-change="true" dictCode="${form_field_dictCode}" placeholder="请选择${po.filedComment}"/>
<#elseif po.classType=='sel_search'>
<#assign form_select_search = true>
<j-search-select-tag v-decorator="['${po.fieldName}']" dict="${form_field_dictCode}" />
<#elseif po.classType=='cat_tree'>
<#assign form_cat_tree = true>
<j-category-select v-decorator="['${po.fieldName}']" <#if po.dictField?default("")?trim?length gt 1>pcode="${po.dictField}"<#else>pcode="0"</#if> placeholder="请选择${po.filedComment}" <#if po.dictText?default("")?trim?length gt 1>back="${po.dictText}" @change="handleCategoryChange"</#if>/>
<#if po.dictText?default("")?trim?length gt 1>
<#assign form_cat_back = "${po.dictText}">
</#if>
<#elseif po.fieldDbType=='int' || po.fieldDbType=='double' || po.fieldDbType=='BigDecimal'>
<a-input-number v-decorator="[ '${po.fieldName}', validatorRules.${po.fieldName}]" placeholder="请输入${po.filedComment}" style="width: 100%"/>
<#elseif po.classType=='file' || po.classType=='image'>
<#assign form_file = true>
<j-upload v-decorator="['${po.fieldName}']" :trigger-change="true"></j-upload>
<#elseif po.classType=='umeditor'>
<#assign form_editor = true>
<j-editor v-decorator="['${po.fieldName}',{trigger:'input'}]"/>
<#elseif po.fieldDbType=='Blob'>
<a-input v-decorator="[ '${po.fieldName}String', validatorRules.${po.fieldName}]" placeholder="请输入${po.filedComment}"></a-input>
<#else>
<a-input v-decorator="[ '${po.fieldName}', validatorRules.${po.fieldName}]" placeholder="请输入${po.filedComment}"></a-input>
</#if>
</a-form-item>
</#if>
</#list>
<#if form_cat_tree && form_cat_back?length gt 1>
<a-form-item v-show="false">
<a-input v-decorator="[ '${form_cat_back}']"></a-input>
</a-form-item>
</#if>
</a-form>
</a-spin>
</a-modal>
</template>
<script>
import { httpAction } from '@/api/manage'
import pick from 'lodash.pick'
<#if form_date>
import JDate from '@/components/jeecg/JDate'
</#if>
<#if form_file>
import JUpload from '@/components/jeecg/JUpload'
</#if>
<#if form_sel_depart>
import JSelectDepart from '@/components/jeecgbiz/JSelectDepart'
</#if>
<#if form_sel_user>
import JSelectUserByDep from '@/components/jeecgbiz/JSelectUserByDep'
</#if>
<#if form_select>
import JDictSelectTag from "@/components/dict/JDictSelectTag"
</#if>
<#if form_select_multi>
import JMultiSelectTag from "@/components/dict/JMultiSelectTag"
</#if>
<#if form_select_search>
import JSearchSelectTag from '@/components/dict/JSearchSelectTag'
</#if>
<#if form_editor>
import JEditor from '@/components/jeecg/JEditor'
</#if>
<#if form_cat_tree>
import JCategorySelect from '@/components/jeecg/JCategorySelect'
</#if>
export default {
name: "${sub.entityName}Modal",
components: {
<#if form_date>
JDate,
</#if>
<#if form_file>
JUpload,
</#if>
<#if form_sel_depart>
JSelectDepart,
</#if>
<#if form_sel_user>
JSelectUserByDep,
</#if>
<#if form_select>
JDictSelectTag,
</#if>
<#if form_select_multi>
JMultiSelectTag,
</#if>
<#if form_select_search>
JSearchSelectTag,
</#if>
<#if form_editor>
JEditor,
</#if>
<#if form_cat_tree>
JCategorySelect
</#if>
},
props:{
mainId:{
type:String,
required:false,
default:''
}
},
data () {
return {
form: this.$form.createForm(this),
title:"操作",
width:800,
visible: false,
model: {},
labelCol: {
xs: { span: 24 },
sm: { span: 5 },
},
wrapperCol: {
xs: { span: 24 },
sm: { span: 16 },
},
confirmLoading: false,
validatorRules:{
<#list sub.originalColumns as po>
<#if po.isShow =='Y'>
<#if po.fieldName !='id'>
<#if po.nullable =='N'>
${po.fieldName}:{rules: [{ required: true, message: '请输入${po.filedComment}!' }]},
<#else>
${po.fieldName}:{},
</#if>
</#if>
</#if>
</#list>
},
url: {
add: "/${entityPackage}/${entityName?uncap_first}/add${sub.entityName}",
edit: "/${entityPackage}/${entityName?uncap_first}/edit${sub.entityName}",
}
}
},
created () {
},
methods: {
add () {
this.edit({});
},
edit (record) {
this.form.resetFields();
this.model = Object.assign({}, record);
this.visible = true;
this.$nextTick(() => {
this.form.setFieldsValue(pick(this.model<#list sub.originalColumns as po><#if po.fieldName !='id'><#if po.fieldDbType=='Blob'>,'${po.fieldName}String'<#else>,'${po.fieldName}'</#if></#if></#list>))
})
},
close () {
this.$emit('close');
this.visible = false;
},
handleOk () {
const that = this;
// 触发表单验证
this.form.validateFields((err, values) => {
if (!err) {
that.confirmLoading = true;
let httpurl = '';
let method = '';
if(!this.model.id){
httpurl+=this.url.add;
method = 'post';
}else{
httpurl+=this.url.edit;
method = 'put';
}
let formData = Object.assign(this.model, values);
<#list sub.foreignKeys as key>
formData['${key?uncap_first}'] = this.mainId
</#list>
console.log("表单提交数据",formData)
httpAction(httpurl,formData,method).then((res)=>{
if(res.success){
that.$message.success(res.message);
that.$emit('ok');
}else{
that.$message.warning(res.message);
}
}).finally(() => {
that.confirmLoading = false;
that.close();
})
}
})
},
handleCancel () {
this.close()
},
popupCallback(row){
this.form.setFieldsValue(pick(row<#list sub.originalColumns as po><#if po.fieldName !='id'><#if po.fieldDbType=='Blob'>,'${po.fieldName}String'<#else>,'${po.fieldName}'</#if></#if></#list>))
},
<#if form_cat_tree>
handleCategoryChange(value,backObj){
this.form.setFieldsValue(backObj)
}
</#if>
}
}
</script>
</#list>
\ No newline at end of file
validatorRules: {
<#list columns as po>
<#if po.isShow == 'Y'>
<#if po.fieldName != 'id'>
${po.fieldName}: {rules: [
<#assign fieldValidType = po.fieldValidType!''>
<#-- 非空校验 -->
<#if po.nullable == 'N' || fieldValidType == '*'>
{required: true, message: '请输入${po.filedComment}!'},
</#if>
<#-- 唯一校验 -->
<#if fieldValidType == 'only'>
{ validator: (rule, value, callback) => validateDuplicateValue('${tableName}', '${po.fieldDbName}', value, this.model.id, callback)},
<#-- 6到16位数字 -->
<#elseif fieldValidType == 'n6-16'>
{pattern:/\d{6,18}/, message: '请输入6到16位数字!'},
<#-- 6到16位任意字符 -->
<#elseif fieldValidType == '*6-16'>
{pattern:/^.{6,16}$/, message: '请输入6到16位任意字符!'},
<#-- 6到18位字符串 -->
<#elseif fieldValidType == 's6-18'>
{pattern:/^.{6,18}$/, message: '请输入6到18位任意字符!'},
<#-- 网址 -->
<#elseif fieldValidType == 'url'>
{pattern:/^(?:([A-Za-z]+):)?(\/{0,3})([0-9.\-A-Za-z]+)(?::(\d+))?(?:\/([^?#]*))?(?:\?([^#]*))?(?:#(.*))?$/, message: '请输入正确的网址!'},
<#-- 电子邮件 -->
<#elseif fieldValidType == 'e'>
{pattern:/^([\w]+\.*)([\w]+)@[\w]+\.\w{3}(\.\w{2}|)$/, message: '请输入正确的电子邮件!'},
<#-- 手机号码 -->
<#elseif fieldValidType == 'm'>
{pattern:/^1[3456789]\d{9}$/, message: '请输入正确的手机号码!'},
<#-- 邮政编码 -->
<#elseif fieldValidType == 'p'>
{pattern:/^[1-9]\d{5}$/, message: '请输入正确的邮政编码!'},
<#-- 字母 -->
<#elseif fieldValidType == 's'>
{pattern:/^[A-Z|a-z]+$/, message: '请输入字母!'},
<#-- 数字 -->
<#elseif fieldValidType == 'n'>
{pattern:/^-?\d+\.?\d*$/, message: '请输入数字!'},
<#-- 整数 -->
<#elseif fieldValidType == 'z'>
{pattern:/^-?\d+$/, message: '请输入整数!'},
<#-- 金额 -->
<#elseif fieldValidType == 'money'>
{pattern:/^(([1-9][0-9]*)|([0]\.\d{0,2}|[1-9][0-9]*\.\d{0,2}))$/, message: '请输入正确的金额!'},
<#-- 无校验 -->
<#else>
<#t>
</#if>
]},
</#if>
</#if>
</#list>
},
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
<#elseif po.classType =='popup'> <#elseif po.classType =='popup'>
<#assign form_popup=true> <#assign form_popup=true>
<j-popup <j-popup
v-decorator="['${po.fieldName}']" v-decorator="['${po.fieldName}', validatorRules.${po.fieldName}]"
:trigger-change="true" :trigger-change="true"
org-fields="${po.dictField}" org-fields="${po.dictField}"
dest-fields="${po.dictText}" dest-fields="${po.dictText}"
...@@ -47,24 +47,24 @@ ...@@ -47,24 +47,24 @@
@callback="popupCallback"/> @callback="popupCallback"/>
<#elseif po.classType =='sel_depart'> <#elseif po.classType =='sel_depart'>
<#assign form_sel_depart=true> <#assign form_sel_depart=true>
<j-select-depart v-decorator="['${po.fieldName}']" :trigger-change="true"/> <j-select-depart v-decorator="['${po.fieldName}', validatorRules.${po.fieldName}]" :trigger-change="true"/>
<#elseif po.classType =='sel_user'> <#elseif po.classType =='sel_user'>
<#assign form_sel_user = true> <#assign form_sel_user = true>
<j-select-user-by-dep v-decorator="['${po.fieldName}']" :trigger-change="true"/> <j-select-user-by-dep v-decorator="['${po.fieldName}', validatorRules.${po.fieldName}]" :trigger-change="true"/>
<#elseif po.classType =='textarea'> <#elseif po.classType =='textarea'>
<a-textarea v-decorator="['${po.fieldName}']" rows="4" placeholder="请输入${po.filedComment}"/> <a-textarea v-decorator="['${po.fieldName}', validatorRules.${po.fieldName}]" rows="4" placeholder="请输入${po.filedComment}"/>
<#elseif po.classType=='list' || po.classType=='radio'> <#elseif po.classType=='list' || po.classType=='radio'>
<#assign form_select = true> <#assign form_select = true>
<j-dict-select-tag type="${po.classType}" v-decorator="['${po.fieldName}']" :trigger-change="true" dictCode="${form_field_dictCode}" placeholder="请选择${po.filedComment}"/> <j-dict-select-tag type="${po.classType}" v-decorator="['${po.fieldName}', validatorRules.${po.fieldName}]" :trigger-change="true" dictCode="${form_field_dictCode}" placeholder="请选择${po.filedComment}"/>
<#elseif po.classType=='list_multi' || po.classType=='checkbox'> <#elseif po.classType=='list_multi' || po.classType=='checkbox'>
<#assign form_select_multi = true> <#assign form_select_multi = true>
<j-multi-select-tag type="${po.classType}" v-decorator="['${po.fieldName}']" :trigger-change="true" dictCode="${form_field_dictCode}" placeholder="请选择${po.filedComment}"/> <j-multi-select-tag type="${po.classType}" v-decorator="['${po.fieldName}', validatorRules.${po.fieldName}]" :trigger-change="true" dictCode="${form_field_dictCode}" placeholder="请选择${po.filedComment}"/>
<#elseif po.classType=='sel_search'> <#elseif po.classType=='sel_search'>
<#assign form_select_search = true> <#assign form_select_search = true>
<j-search-select-tag v-decorator="['${po.fieldName}']" dict="${form_field_dictCode}" /> <j-search-select-tag v-decorator="['${po.fieldName}', validatorRules.${po.fieldName}]" dict="${form_field_dictCode}" />
<#elseif po.classType=='cat_tree'> <#elseif po.classType=='cat_tree'>
<#assign form_cat_tree = true> <#assign form_cat_tree = true>
<j-category-select v-decorator="['${po.fieldName}']" pcode="${po.dictField}" placeholder="请选择${po.filedComment}" <#if po.dictText?default("")?trim?length gt 1>back="${po.dictText}" @change="handleCategoryChange"</#if>/> <j-category-select v-decorator="['${po.fieldName}', validatorRules.${po.fieldName}]" pcode="${po.dictField}" placeholder="请选择${po.filedComment}" <#if po.dictText?default("")?trim?length gt 1>back="${po.dictText}" @change="handleCategoryChange"</#if>/>
<#if po.dictText?default("")?trim?length gt 1> <#if po.dictText?default("")?trim?length gt 1>
<#assign form_cat_back = "${po.dictText}"> <#assign form_cat_back = "${po.dictText}">
</#if> </#if>
...@@ -72,7 +72,7 @@ ...@@ -72,7 +72,7 @@
<a-input-number v-decorator="[ '${po.fieldName}', validatorRules.${po.fieldName}]" placeholder="请输入${po.filedComment}" style="width: 100%"/> <a-input-number v-decorator="[ '${po.fieldName}', validatorRules.${po.fieldName}]" placeholder="请输入${po.filedComment}" style="width: 100%"/>
<#elseif po.classType=='file' || po.classType=='image'> <#elseif po.classType=='file' || po.classType=='image'>
<#assign form_file = true> <#assign form_file = true>
<j-upload v-decorator="['${po.fieldName}']" :trigger-change="true"></j-upload> <j-upload v-decorator="['${po.fieldName}', validatorRules.${po.fieldName}]" :trigger-change="true"></j-upload>
<#elseif po.classType=='umeditor'> <#elseif po.classType=='umeditor'>
<#assign form_editor = true> <#assign form_editor = true>
<j-editor v-decorator="['${po.fieldName}',{trigger:'input'}]"/> <j-editor v-decorator="['${po.fieldName}',{trigger:'input'}]"/>
...@@ -99,6 +99,7 @@ ...@@ -99,6 +99,7 @@
import { httpAction } from '@/api/manage' import { httpAction } from '@/api/manage'
import pick from 'lodash.pick' import pick from 'lodash.pick'
import { validateDuplicateValue } from '@/utils/util'
<#if form_date> <#if form_date>
import JDate from '@/components/jeecg/JDate' import JDate from '@/components/jeecg/JDate'
</#if> </#if>
...@@ -173,26 +174,12 @@ ...@@ -173,26 +174,12 @@
xs: { span: 24 }, xs: { span: 24 },
sm: { span: 16 }, sm: { span: 16 },
}, },
confirmLoading: false, confirmLoading: false,
validatorRules:{ <#include "/common/validatorRulesTemplate.ftl">
<#list columns as po>
<#if po.isShow =='Y'>
<#if po.fieldName !='id'>
<#if po.nullable =='N'>
${po.fieldName}:{rules: [{ required: true, message: '请输入${po.filedComment}!' }]},
<#else>
${po.fieldName}:{},
</#if>
</#if>
</#if>
</#list>
},
url: { url: {
add: "/${entityPackage}/${entityName?uncap_first}/add", add: "/${entityPackage}/${entityName?uncap_first}/add",
edit: "/${entityPackage}/${entityName?uncap_first}/edit", edit: "/${entityPackage}/${entityName?uncap_first}/edit",
} }
} }
}, },
created () { created () {
......
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
<#elseif po.classType =='popup'> <#elseif po.classType =='popup'>
<#assign form_popup=true> <#assign form_popup=true>
<j-popup <j-popup
v-decorator="['${po.fieldName}']" v-decorator="['${po.fieldName}', validatorRules.${po.fieldName}]"
:trigger-change="true" :trigger-change="true"
org-fields="${po.dictField}" org-fields="${po.dictField}"
dest-fields="${po.dictText}" dest-fields="${po.dictText}"
...@@ -43,23 +43,23 @@ ...@@ -43,23 +43,23 @@
@callback="popupCallback"/> @callback="popupCallback"/>
<#elseif po.classType =='sel_depart'> <#elseif po.classType =='sel_depart'>
<#assign form_sel_depart=true> <#assign form_sel_depart=true>
<j-select-depart v-decorator="['${po.fieldName}']" :trigger-change="true"/> <j-select-depart v-decorator="['${po.fieldName}', validatorRules.${po.fieldName}]" :trigger-change="true"/>
<#elseif po.classType =='sel_user'> <#elseif po.classType =='sel_user'>
<#assign form_sel_user = true> <#assign form_sel_user = true>
<j-select-user-by-dep v-decorator="['${po.fieldName}']" :trigger-change="true"/> <j-select-user-by-dep v-decorator="['${po.fieldName}', validatorRules.${po.fieldName}]" :trigger-change="true"/>
<#elseif po.classType =='textarea'> <#elseif po.classType =='textarea'>
<a-textarea v-decorator="['${po.fieldName}']" rows="4" placeholder="请输入${po.filedComment}"/> <a-textarea v-decorator="['${po.fieldName}', validatorRules.${po.fieldName}]" rows="4" placeholder="请输入${po.filedComment}"/>
<#elseif po.classType=='list' || po.classType=='radio'> <#elseif po.classType=='list' || po.classType=='radio'>
<#assign form_select = true> <#assign form_select = true>
<j-dict-select-tag type="${po.classType}" v-decorator="['${po.fieldName}']" :trigger-change="true" dictCode="${form_field_dictCode}" placeholder="请选择${po.filedComment}"/> <j-dict-select-tag type="${po.classType}" v-decorator="['${po.fieldName}', validatorRules.${po.fieldName}]" :trigger-change="true" dictCode="${form_field_dictCode}" placeholder="请选择${po.filedComment}"/>
<#elseif po.classType=='list_multi' || po.classType=='checkbox'> <#elseif po.classType=='list_multi' || po.classType=='checkbox'>
<#assign form_select_multi = true> <#assign form_select_multi = true>
<j-multi-select-tag type="${po.classType}" v-decorator="['${po.fieldName}']" :trigger-change="true" dictCode="${form_field_dictCode}" placeholder="请选择${po.filedComment}"/> <j-multi-select-tag type="${po.classType}" v-decorator="['${po.fieldName}', validatorRules.${po.fieldName}]" :trigger-change="true" dictCode="${form_field_dictCode}" placeholder="请选择${po.filedComment}"/>
<#elseif po.fieldDbType=='int' || po.fieldDbType=='double' || po.fieldDbType=='BigDecimal'> <#elseif po.fieldDbType=='int' || po.fieldDbType=='double' || po.fieldDbType=='BigDecimal'>
<a-input-number v-decorator="[ '${po.fieldName}', validatorRules.${po.fieldName}]" placeholder="请输入${po.filedComment}" style="width: 100%"/> <a-input-number v-decorator="[ '${po.fieldName}', validatorRules.${po.fieldName}]" placeholder="请输入${po.filedComment}" style="width: 100%"/>
<#elseif po.classType=='file' || po.classType=='image'> <#elseif po.classType=='file' || po.classType=='image'>
<#assign form_file = true> <#assign form_file = true>
<j-upload v-decorator="['${po.fieldName}']" :trigger-change="true"></j-upload> <j-upload v-decorator="['${po.fieldName}', validatorRules.${po.fieldName}]" :trigger-change="true"></j-upload>
<#else> <#else>
<a-input v-decorator="[ '${po.fieldName}', validatorRules.${po.fieldName}]" placeholder="请输入${po.filedComment}"></a-input> <a-input v-decorator="[ '${po.fieldName}', validatorRules.${po.fieldName}]" placeholder="请输入${po.filedComment}"></a-input>
</#if> </#if>
...@@ -78,6 +78,7 @@ ...@@ -78,6 +78,7 @@
import { httpAction } from '@/api/manage' import { httpAction } from '@/api/manage'
import pick from 'lodash.pick' import pick from 'lodash.pick'
import { validateDuplicateValue } from '@/utils/util'
<#if form_date> <#if form_date>
import JDate from '@/components/jeecg/JDate' import JDate from '@/components/jeecg/JDate'
</#if> </#if>
...@@ -134,26 +135,12 @@ ...@@ -134,26 +135,12 @@
xs: { span: 24 }, xs: { span: 24 },
sm: { span: 16 }, sm: { span: 16 },
}, },
confirmLoading: false, confirmLoading: false,
validatorRules:{ <#include "/common/validatorRulesTemplate.ftl">
<#list columns as po>
<#if po.isShow =='Y'>
<#if po.fieldName !='id'>
<#if po.nullable =='N'>
${po.fieldName}:{rules: [{ required: true, message: '请输入${po.filedComment}!' }]},
<#else>
${po.fieldName}:{},
</#if>
</#if>
</#if>
</#list>
},
url: { url: {
add: "/${entityPackage}/${entityName?uncap_first}/add", add: "/${entityPackage}/${entityName?uncap_first}/add",
edit: "/${entityPackage}/${entityName?uncap_first}/edit", edit: "/${entityPackage}/${entityName?uncap_first}/edit",
} }
} }
}, },
created () { created () {
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
<#if po.fieldName !='id'> <#if po.fieldName !='id'>
<#list [po_index, po_index+1] as idx><#rt/> <#list [po_index, po_index+1] as idx><#rt/>
<#if idx lt columns?size> <#if idx lt columns?size>
<a-col :span="12" :gutter="8"> <a-col :span="12">
<a-form-item <a-form-item
:labelCol="labelCol" :labelCol="labelCol"
:wrapperCol="wrapperCol" :wrapperCol="wrapperCol"
......
.panel {
overflow: hidden;
text-align: left;
margin: 0;
border: 0;
-moz-border-radius: 0 0 0 0;
-webkit-border-radius: 0 0 0 0;
border-radius: 0 0 0 0;
}
.panel-header,
.panel-body {
border-width: 1px;
border-style: solid;
}
.panel-header {
padding: 5px;
position: relative;
}
.panel-title {
background: url('images/blank.gif') no-repeat;
}
.panel-header-noborder {
border-width: 0 0 1px 0;
}
.panel-body {
overflow: auto;
border-top-width: 0;
padding: 0;
}
.panel-body-noheader {
border-top-width: 1px;
}
.panel-body-noborder {
border-width: 0px;
}
.panel-body-nobottom {
border-bottom-width: 0;
}
.panel-with-icon {
padding-left: 18px;
}
.panel-icon,
.panel-tool {
position: absolute;
top: 50%;
margin-top: -8px;
height: 16px;
overflow: hidden;
}
.panel-icon {
left: 5px;
width: 16px;
}
.panel-tool {
right: 5px;
width: auto;
}
.panel-tool a {
display: inline-block;
width: 16px;
height: 16px;
opacity: 0.6;
filter: alpha(opacity=60);
margin: 0 0 0 2px;
vertical-align: top;
}
.panel-tool a:hover {
opacity: 1;
filter: alpha(opacity=100);
background-color: #777;
-moz-border-radius: 3px 3px 3px 3px;
-webkit-border-radius: 3px 3px 3px 3px;
border-radius: 3px 3px 3px 3px;
}
.panel-loading {
padding: 11px 0px 10px 30px;
}
.panel-noscroll {
overflow: hidden;
}
.panel-fit,
.panel-fit body {
height: 100%;
margin: 0;
padding: 0;
border: 0;
overflow: hidden;
}
.panel-loading {
background: url('images/loading.gif') no-repeat 10px 10px;
}
.panel-tool-close {
background: url('images/panel_tools.png') no-repeat -16px 0px;
}
.panel-tool-min {
background: url('images/panel_tools.png') no-repeat 0px 0px;
}
.panel-tool-max {
background: url('images/panel_tools.png') no-repeat 0px -16px;
}
.panel-tool-restore {
background: url('images/panel_tools.png') no-repeat -16px -16px;
}
.panel-tool-collapse {
background: url('images/panel_tools.png') no-repeat -32px 0;
}
.panel-tool-expand {
background: url('images/panel_tools.png') no-repeat -32px -16px;
}
.panel-header,
.panel-body {
border-color: #000;
}
.panel-header {
background-color: #3d3d3d;
background: -webkit-linear-gradient(top,#454545 0,#383838 100%);
background: -moz-linear-gradient(top,#454545 0,#383838 100%);
background: -o-linear-gradient(top,#454545 0,#383838 100%);
background: linear-gradient(to bottom,#454545 0,#383838 100%);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#454545,endColorstr=#383838,GradientType=0);
}
.panel-body {
background-color: #666;
color: #fff;
font-size: 12px;
}
.panel-title {
font-size: 12px;
color: #fff;
height: 20px;
line-height: 20px;
}
.panel-footer {
border: 1px solid #000;
overflow: hidden;
background: #555;
}
.panel-footer-noborder {
border-width: 1px 0 0 0;
}
.panel-hleft,
.panel-hright {
position: relative;
}
.panel-hleft>.panel-body,
.panel-hright>.panel-body {
position: absolute;
}
.panel-hleft>.panel-header {
float: left;
}
.panel-hright>.panel-header {
float: right;
}
.panel-hleft>.panel-body {
border-top-width: 1px;
border-left-width: 0;
}
.panel-hright>.panel-body {
border-top-width: 1px;
border-right-width: 0;
}
.panel-hleft>.panel-body-nobottom {
border-bottom-width: 1px;
border-right-width: 0;
}
.panel-hright>.panel-body-nobottom {
border-bottom-width: 1px;
border-left-width: 0;
}
.panel-hleft>.panel-footer {
position: absolute;
right: 0;
}
.panel-hright>.panel-footer {
position: absolute;
left: 0;
}
.panel-hleft>.panel-header-noborder {
border-width: 0 1px 0 0;
}
.panel-hright>.panel-header-noborder {
border-width: 0 0 0 1px;
}
.panel-hleft>.panel-body-noborder {
border-width: 0;
}
.panel-hright>.panel-body-noborder {
border-width: 0;
}
.panel-hleft>.panel-body-noheader {
border-left-width: 1px;
}
.panel-hright>.panel-body-noheader {
border-right-width: 1px;
}
.panel-hleft>.panel-footer-noborder {
border-width: 0 0 0 1px;
}
.panel-hright>.panel-footer-noborder {
border-width: 0 1px 0 0;
}
.panel-hleft>.panel-header .panel-icon,
.panel-hright>.panel-header .panel-icon {
margin-top: 0;
top: 5px;
left: 50%;
margin-left: -8px;
}
.panel-hleft>.panel-header .panel-title,
.panel-hright>.panel-header .panel-title {
position: absolute;
min-width: 16px;
left: 25px;
top: 5px;
bottom: auto;
white-space: nowrap;
word-wrap: normal;
-webkit-transform: rotate(90deg);
-webkit-transform-origin: 0 0;
-moz-transform: rotate(90deg);
-moz-transform-origin: 0 0;
-o-transform: rotate(90deg);
-o-transform-origin: 0 0;
transform: rotate(90deg);
transform-origin: 0 0;
}
.panel-hleft>.panel-header .panel-title-up,
.panel-hright>.panel-header .panel-title-up {
position: absolute;
min-width: 16px;
left: 21px;
top: auto;
bottom: 0px;
text-align: right;
white-space: nowrap;
word-wrap: normal;
-webkit-transform: rotate(-90deg);
-webkit-transform-origin: 0 0;
-moz-transform: rotate(-90deg);
-moz-transform-origin: 0 0;
-o-transform: rotate(-90deg);
-o-transform-origin: 0 0;
transform: rotate(-90deg);
transform-origin: 0 16px;
}
.panel-hleft>.panel-header .panel-with-icon.panel-title-up,
.panel-hright>.panel-header .panel-with-icon.panel-title-up {
padding-left: 0;
padding-right: 18px;
}
.panel-hleft>.panel-header .panel-tool,
.panel-hright>.panel-header .panel-tool {
top: auto;
bottom: 5px;
width: 16px;
height: auto;
left: 50%;
margin-left: -8px;
margin-top: 0;
}
.panel-hleft>.panel-header .panel-tool a,
.panel-hright>.panel-header .panel-tool a {
margin: 2px 0 0 0;
}
.accordion {
overflow: hidden;
border-width: 1px;
border-style: solid;
}
.accordion .accordion-header {
border-width: 0 0 1px;
cursor: pointer;
}
.accordion .accordion-body {
border-width: 0 0 1px;
}
.accordion-noborder {
border-width: 0;
}
.accordion-noborder .accordion-header {
border-width: 0 0 1px;
}
.accordion-noborder .accordion-body {
border-width: 0 0 1px;
}
.accordion-collapse {
background: url('images/accordion_arrows.png') no-repeat 0 0;
}
.accordion-expand {
background: url('images/accordion_arrows.png') no-repeat -16px 0;
}
.accordion {
background: #666;
border-color: #000;
}
.accordion .accordion-header {
background: #3d3d3d;
filter: none;
}
.accordion .accordion-header-selected {
background: #990000;
}
.accordion .accordion-header-selected .panel-title {
color: #fff;
}
.accordion .panel-last > .accordion-header {
border-bottom-color: #3d3d3d;
}
.accordion .panel-last > .accordion-body {
border-bottom-color: #666;
}
.accordion .panel-last > .accordion-header-selected,
.accordion .panel-last > .accordion-header-border {
border-bottom-color: #000;
}
.accordion> .panel-hleft {
float: left;
}
.accordion> .panel-hleft>.panel-header {
border-width: 0 1px 0 0;
}
.accordion> .panel-hleft> .panel-body {
border-width: 0 1px 0 0;
}
.accordion> .panel-hleft.panel-last > .accordion-header {
border-right-color: #3d3d3d;
}
.accordion> .panel-hleft.panel-last > .accordion-body {
border-right-color: #666;
}
.accordion> .panel-hleft.panel-last > .accordion-header-selected,
.accordion> .panel-hleft.panel-last > .accordion-header-border {
border-right-color: #000;
}
.accordion> .panel-hright {
float: right;
}
.accordion> .panel-hright>.panel-header {
border-width: 0 0 0 1px;
}
.accordion> .panel-hright> .panel-body {
border-width: 0 0 0 1px;
}
.accordion> .panel-hright.panel-last > .accordion-header {
border-left-color: #3d3d3d;
}
.accordion> .panel-hright.panel-last > .accordion-body {
border-left-color: #666;
}
.accordion> .panel-hright.panel-last > .accordion-header-selected,
.accordion> .panel-hright.panel-last > .accordion-header-border {
border-left-color: #000;
}
.window {
overflow: hidden;
padding: 5px;
border-width: 1px;
border-style: solid;
}
.window .window-header {
background: transparent;
padding: 0px 0px 6px 0px;
}
.window .window-body {
border-width: 1px;
border-style: solid;
border-top-width: 0px;
}
.window .window-body-noheader {
border-top-width: 1px;
}
.window .panel-body-nobottom {
border-bottom-width: 0;
}
.window .window-header .panel-icon,
.window .window-header .panel-tool {
top: 50%;
margin-top: -11px;
}
.window .window-header .panel-icon {
left: 1px;
}
.window .window-header .panel-tool {
right: 1px;
}
.window .window-header .panel-with-icon {
padding-left: 18px;
}
.window-proxy {
position: absolute;
overflow: hidden;
}
.window-proxy-mask {
position: absolute;
filter: alpha(opacity=5);
opacity: 0.05;
}
.window-mask {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
filter: alpha(opacity=40);
opacity: 0.40;
font-size: 1px;
overflow: hidden;
}
.window,
.window-shadow {
position: absolute;
-moz-border-radius: 5px 5px 5px 5px;
-webkit-border-radius: 5px 5px 5px 5px;
border-radius: 5px 5px 5px 5px;
}
.window-shadow {
background: #777;
-moz-box-shadow: 2px 2px 3px #787878;
-webkit-box-shadow: 2px 2px 3px #787878;
box-shadow: 2px 2px 3px #787878;
filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2);
}
.window,
.window .window-body {
border-color: #000;
}
.window {
background-color: #3d3d3d;
background: -webkit-linear-gradient(top,#454545 0,#383838 20%);
background: -moz-linear-gradient(top,#454545 0,#383838 20%);
background: -o-linear-gradient(top,#454545 0,#383838 20%);
background: linear-gradient(to bottom,#454545 0,#383838 20%);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#454545,endColorstr=#383838,GradientType=0);
}
.window-proxy {
border: 1px dashed #000;
}
.window-proxy-mask,
.window-mask {
background: #000;
}
.window .panel-footer {
border: 1px solid #000;
position: relative;
top: -1px;
}
.window-thinborder {
padding: 0;
}
.window-thinborder .window-header {
padding: 5px 5px 6px 5px;
}
.window-thinborder .window-body {
border-width: 0px;
}
.window-thinborder .window-footer {
border-left: transparent;
border-right: transparent;
border-bottom: transparent;
}
.window-thinborder .window-header .panel-icon,
.window-thinborder .window-header .panel-tool {
margin-top: -9px;
margin-left: 5px;
margin-right: 5px;
}
.window-noborder {
border: 0;
}
.window.panel-hleft .window-header {
padding: 0 6px 0 0;
}
.window.panel-hright .window-header {
padding: 0 0 0 6px;
}
.window.panel-hleft>.panel-header .panel-title {
top: auto;
left: 16px;
}
.window.panel-hright>.panel-header .panel-title {
top: auto;
right: 16px;
}
.window.panel-hleft>.panel-header .panel-title-up,
.window.panel-hright>.panel-header .panel-title-up {
bottom: 0;
}
.window.panel-hleft .window-body {
border-width: 1px 1px 1px 0;
}
.window.panel-hright .window-body {
border-width: 1px 0 1px 1px;
}
.window.panel-hleft .window-header .panel-icon {
top: 1px;
margin-top: 0;
left: 0;
}
.window.panel-hright .window-header .panel-icon {
top: 1px;
margin-top: 0;
left: auto;
right: 1px;
}
.window.panel-hleft .window-header .panel-tool,
.window.panel-hright .window-header .panel-tool {
margin-top: 0;
top: auto;
bottom: 1px;
right: auto;
margin-right: 0;
left: 50%;
margin-left: -11px;
}
.window.panel-hright .window-header .panel-tool {
left: auto;
right: 1px;
}
.window-thinborder.panel-hleft .window-header {
padding: 5px 6px 5px 5px;
}
.window-thinborder.panel-hright .window-header {
padding: 5px 5px 5px 6px;
}
.window-thinborder.panel-hleft>.panel-header .panel-title {
left: 21px;
}
.window-thinborder.panel-hleft>.panel-header .panel-title-up,
.window-thinborder.panel-hright>.panel-header .panel-title-up {
bottom: 5px;
}
.window-thinborder.panel-hleft .window-header .panel-icon,
.window-thinborder.panel-hright .window-header .panel-icon {
margin-top: 5px;
}
.window-thinborder.panel-hleft .window-header .panel-tool,
.window-thinborder.panel-hright .window-header .panel-tool {
left: 16px;
bottom: 5px;
}
.dialog-content {
overflow: auto;
}
.dialog-toolbar {
position: relative;
padding: 2px 5px;
}
.dialog-tool-separator {
float: left;
height: 24px;
border-left: 1px solid #444;
border-right: 1px solid #777;
margin: 2px 1px;
}
.dialog-button {
position: relative;
top: -1px;
padding: 5px;
text-align: right;
}
.dialog-button .l-btn {
margin-left: 5px;
}
.dialog-toolbar,
.dialog-button {
background: #555;
border-width: 1px;
border-style: solid;
}
.dialog-toolbar {
border-color: #000 #000 #222 #000;
}
.dialog-button {
border-color: #222 #000 #000 #000;
}
.window-thinborder .dialog-toolbar {
border-left: transparent;
border-right: transparent;
border-top-color: #555;
}
.window-thinborder .dialog-button {
top: 0px;
padding: 5px 8px 8px 8px;
border-left: transparent;
border-right: transparent;
border-bottom: transparent;
}
.l-btn {
text-decoration: none;
display: inline-block;
overflow: hidden;
margin: 0;
padding: 0;
cursor: pointer;
outline: none;
text-align: center;
vertical-align: middle;
line-height: normal;
}
.l-btn-plain {
border-width: 0;
padding: 1px;
}
.l-btn-left {
display: inline-block;
position: relative;
overflow: hidden;
margin: 0;
padding: 0;
vertical-align: top;
}
.l-btn-text {
display: inline-block;
vertical-align: top;
width: auto;
line-height: 28px;
font-size: 12px;
padding: 0;
margin: 0 6px;
}
.l-btn-icon {
display: inline-block;
width: 16px;
height: 16px;
line-height: 16px;
position: absolute;
top: 50%;
margin-top: -8px;
font-size: 1px;
}
.l-btn span span .l-btn-empty {
display: inline-block;
margin: 0;
width: 16px;
height: 24px;
font-size: 1px;
vertical-align: top;
}
.l-btn span .l-btn-icon-left {
padding: 0 0 0 20px;
background-position: left center;
}
.l-btn span .l-btn-icon-right {
padding: 0 20px 0 0;
background-position: right center;
}
.l-btn-icon-left .l-btn-text {
margin: 0 6px 0 26px;
}
.l-btn-icon-left .l-btn-icon {
left: 6px;
}
.l-btn-icon-right .l-btn-text {
margin: 0 26px 0 6px;
}
.l-btn-icon-right .l-btn-icon {
right: 6px;
}
.l-btn-icon-top .l-btn-text {
margin: 20px 4px 0 4px;
}
.l-btn-icon-top .l-btn-icon {
top: 4px;
left: 50%;
margin: 0 0 0 -8px;
}
.l-btn-icon-bottom .l-btn-text {
margin: 0 4px 20px 4px;
}
.l-btn-icon-bottom .l-btn-icon {
top: auto;
bottom: 4px;
left: 50%;
margin: 0 0 0 -8px;
}
.l-btn-left .l-btn-empty {
margin: 0 6px;
width: 16px;
}
.l-btn-plain:hover {
padding: 0;
}
.l-btn-focus {
outline: #0000FF dotted thin;
}
.l-btn-large .l-btn-text {
line-height: 44px;
}
.l-btn-large .l-btn-icon {
width: 32px;
height: 32px;
line-height: 32px;
margin-top: -16px;
}
.l-btn-large .l-btn-icon-left .l-btn-text {
margin-left: 40px;
}
.l-btn-large .l-btn-icon-right .l-btn-text {
margin-right: 40px;
}
.l-btn-large .l-btn-icon-top .l-btn-text {
margin-top: 36px;
line-height: 24px;
min-width: 32px;
}
.l-btn-large .l-btn-icon-top .l-btn-icon {
margin: 0 0 0 -16px;
}
.l-btn-large .l-btn-icon-bottom .l-btn-text {
margin-bottom: 36px;
line-height: 24px;
min-width: 32px;
}
.l-btn-large .l-btn-icon-bottom .l-btn-icon {
margin: 0 0 0 -16px;
}
.l-btn-large .l-btn-left .l-btn-empty {
margin: 0 6px;
width: 32px;
}
.l-btn {
color: #fff;
background: #777;
background-repeat: repeat-x;
border: 1px solid #555;
background: -webkit-linear-gradient(top,#919191 0,#6a6a6a 100%);
background: -moz-linear-gradient(top,#919191 0,#6a6a6a 100%);
background: -o-linear-gradient(top,#919191 0,#6a6a6a 100%);
background: linear-gradient(to bottom,#919191 0,#6a6a6a 100%);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#919191,endColorstr=#6a6a6a,GradientType=0);
-moz-border-radius: 5px 5px 5px 5px;
-webkit-border-radius: 5px 5px 5px 5px;
border-radius: 5px 5px 5px 5px;
}
.l-btn:hover {
background: #777;
color: #fff;
border: 1px solid #555;
filter: none;
}
.l-btn-plain {
background: transparent;
border-width: 0;
filter: none;
}
.l-btn-outline {
border-width: 1px;
border-color: #555;
padding: 0;
}
.l-btn-plain:hover {
background: #777;
color: #fff;
border: 1px solid #555;
-moz-border-radius: 5px 5px 5px 5px;
-webkit-border-radius: 5px 5px 5px 5px;
border-radius: 5px 5px 5px 5px;
}
.l-btn-disabled,
.l-btn-disabled:hover {
opacity: 0.5;
cursor: default;
background: #777;
color: #fff;
background: -webkit-linear-gradient(top,#919191 0,#6a6a6a 100%);
background: -moz-linear-gradient(top,#919191 0,#6a6a6a 100%);
background: -o-linear-gradient(top,#919191 0,#6a6a6a 100%);
background: linear-gradient(to bottom,#919191 0,#6a6a6a 100%);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#919191,endColorstr=#6a6a6a,GradientType=0);
}
.l-btn-disabled .l-btn-text,
.l-btn-disabled .l-btn-icon {
filter: alpha(opacity=50);
}
.l-btn-plain-disabled,
.l-btn-plain-disabled:hover {
background: transparent;
filter: alpha(opacity=50);
}
.l-btn-selected,
.l-btn-selected:hover {
background: #000;
filter: none;
}
.l-btn-plain-selected,
.l-btn-plain-selected:hover {
background: #000;
}
.textbox {
position: relative;
border: 1px solid #000;
background-color: #fff;
vertical-align: middle;
display: inline-block;
overflow: hidden;
white-space: nowrap;
margin: 0;
padding: 0;
-moz-border-radius: 5px 5px 5px 5px;
-webkit-border-radius: 5px 5px 5px 5px;
border-radius: 5px 5px 5px 5px;
}
.textbox .textbox-text {
font-size: 12px;
border: 0;
margin: 0;
padding: 0 4px;
white-space: normal;
vertical-align: top;
outline-style: none;
resize: none;
-moz-border-radius: 5px 5px 5px 5px;
-webkit-border-radius: 5px 5px 5px 5px;
border-radius: 5px 5px 5px 5px;
height: 28px;
line-height: 28px;
}
.textbox textarea.textbox-text {
line-height: normal;
}
.textbox .textbox-text::-ms-clear,
.textbox .textbox-text::-ms-reveal {
display: none;
}
.textbox textarea.textbox-text {
white-space: pre-wrap;
}
.textbox .textbox-prompt {
font-size: 12px;
color: #aaa;
}
.textbox .textbox-bgicon {
background-position: 3px center;
padding-left: 21px;
}
.textbox .textbox-button,
.textbox .textbox-button:hover {
position: absolute;
top: 0;
padding: 0;
vertical-align: top;
-moz-border-radius: 0 0 0 0;
-webkit-border-radius: 0 0 0 0;
border-radius: 0 0 0 0;
}
.textbox .textbox-button-right,
.textbox .textbox-button-right:hover {
right: 0;
border-width: 0 0 0 1px;
}
.textbox .textbox-button-left,
.textbox .textbox-button-left:hover {
left: 0;
border-width: 0 1px 0 0;
}
.textbox .textbox-button-top,
.textbox .textbox-button-top:hover {
left: 0;
border-width: 0 0 1px 0;
}
.textbox .textbox-button-bottom,
.textbox .textbox-button-bottom:hover {
top: auto;
bottom: 0;
left: 0;
border-width: 1px 0 0 0;
}
.textbox-addon {
position: absolute;
top: 0;
}
.textbox-label {
display: inline-block;
width: 80px;
height: 30px;
line-height: 30px;
vertical-align: middle;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
margin: 0;
padding-right: 5px;
}
.textbox-label-after {
padding-left: 5px;
padding-right: 0;
}
.textbox-label-top {
display: block;
width: auto;
padding: 0;
}
.textbox-disabled,
.textbox-label-disabled {
opacity: 0.6;
filter: alpha(opacity=60);
}
.textbox-icon {
display: inline-block;
width: 18px;
height: 20px;
overflow: hidden;
vertical-align: top;
background-position: center center;
cursor: pointer;
opacity: 0.6;
filter: alpha(opacity=60);
text-decoration: none;
outline-style: none;
}
.textbox-icon-disabled,
.textbox-icon-readonly {
cursor: default;
}
.textbox-icon:hover {
opacity: 1.0;
filter: alpha(opacity=100);
}
.textbox-icon-disabled:hover {
opacity: 0.6;
filter: alpha(opacity=60);
}
.textbox-focused {
border-color: #000000;
-moz-box-shadow: 0 0 3px 0 #000;
-webkit-box-shadow: 0 0 3px 0 #000;
box-shadow: 0 0 3px 0 #000;
}
.textbox-invalid {
border-color: #ffa8a8;
background-color: #fff3f3;
}
.passwordbox-open {
background: url('images/passwordbox_open.png') no-repeat center center;
}
.passwordbox-close {
background: url('images/passwordbox_close.png') no-repeat center center;
}
.filebox .textbox-value {
vertical-align: top;
position: absolute;
top: 0;
left: -5000px;
}
.filebox-label {
display: inline-block;
position: absolute;
width: 100%;
height: 100%;
cursor: pointer;
left: 0;
top: 0;
z-index: 10;
background: url('images/blank.gif') no-repeat;
}
.l-btn-disabled .filebox-label {
cursor: default;
}
.combo-arrow {
width: 18px;
height: 20px;
overflow: hidden;
display: inline-block;
vertical-align: top;
cursor: pointer;
opacity: 0.6;
filter: alpha(opacity=60);
}
.combo-arrow-hover {
opacity: 1.0;
filter: alpha(opacity=100);
}
.combo-panel {
overflow: auto;
}
.combo-arrow {
background: url('images/combo_arrow.png') no-repeat center center;
}
.combo-panel {
background-color: #666;
}
.combo-arrow {
background-color: #3d3d3d;
}
.combo-arrow-hover {
background-color: #777;
}
.combo-arrow:hover {
background-color: #777;
}
.combo .textbox-icon-disabled:hover {
cursor: default;
}
.combobox-item,
.combobox-group,
.combobox-stick {
font-size: 12px;
padding: 6px 4px;
line-height: 20px;
}
.combobox-item-disabled {
opacity: 0.5;
filter: alpha(opacity=50);
}
.combobox-gitem {
padding-left: 10px;
}
.combobox-group,
.combobox-stick {
font-weight: bold;
}
.combobox-stick {
position: absolute;
top: 1px;
left: 1px;
right: 1px;
background: inherit;
}
.combobox-item-hover {
background-color: #777;
color: #fff;
}
.combobox-item-selected {
background-color: #990000;
color: #fff;
}
.combobox-icon {
display: inline-block;
width: 16px;
height: 16px;
vertical-align: middle;
margin-right: 2px;
}
.tagbox {
cursor: text;
}
.tagbox .textbox-text {
float: left;
}
.tagbox-label {
position: relative;
display: block;
margin: 4px 0 0 4px;
padding: 0 20px 0 4px;
float: left;
vertical-align: top;
text-decoration: none;
-moz-border-radius: 5px 5px 5px 5px;
-webkit-border-radius: 5px 5px 5px 5px;
border-radius: 5px 5px 5px 5px;
background: #777;
color: #fff;
}
.tagbox-remove {
background: url('images/tagbox_icons.png') no-repeat -16px center;
position: absolute;
display: block;
width: 16px;
height: 16px;
right: 2px;
top: 50%;
margin-top: -8px;
opacity: 0.6;
filter: alpha(opacity=60);
}
.tagbox-remove:hover {
opacity: 1;
filter: alpha(opacity=100);
}
.textbox-disabled .tagbox-label {
cursor: default;
}
.textbox-disabled .tagbox-remove:hover {
cursor: default;
opacity: 0.6;
filter: alpha(opacity=60);
}
.layout {
position: relative;
overflow: hidden;
margin: 0;
padding: 0;
z-index: 0;
}
.layout-panel {
position: absolute;
overflow: hidden;
}
.layout-body {
min-width: 1px;
min-height: 1px;
}
.layout-panel-east,
.layout-panel-west {
z-index: 2;
}
.layout-panel-north,
.layout-panel-south {
z-index: 3;
}
.layout-expand {
position: absolute;
padding: 0px;
font-size: 1px;
cursor: pointer;
z-index: 1;
}
.layout-expand .panel-header,
.layout-expand .panel-body {
background: transparent;
filter: none;
overflow: hidden;
}
.layout-expand .panel-header {
border-bottom-width: 0px;
}
.layout-expand .panel-body {
position: relative;
}
.layout-expand .panel-body .panel-icon {
margin-top: 0;
top: 0;
left: 50%;
margin-left: -8px;
}
.layout-expand-west .panel-header .panel-icon,
.layout-expand-east .panel-header .panel-icon {
display: none;
}
.layout-expand-title {
position: absolute;
top: 0;
left: 21px;
white-space: nowrap;
word-wrap: normal;
-webkit-transform: rotate(90deg);
-webkit-transform-origin: 0 0;
-moz-transform: rotate(90deg);
-moz-transform-origin: 0 0;
-o-transform: rotate(90deg);
-o-transform-origin: 0 0;
transform: rotate(90deg);
transform-origin: 0 0;
}
.layout-expand-title-up {
position: absolute;
top: 0;
left: 0;
text-align: right;
padding-left: 5px;
white-space: nowrap;
word-wrap: normal;
-webkit-transform: rotate(-90deg);
-webkit-transform-origin: 0 0;
-moz-transform: rotate(-90deg);
-moz-transform-origin: 0 0;
-o-transform: rotate(-90deg);
-o-transform-origin: 0 0;
transform: rotate(-90deg);
transform-origin: 0 0;
}
.layout-expand-with-icon {
top: 18px;
}
.layout-expand .panel-body-noheader .layout-expand-title,
.layout-expand .panel-body-noheader .panel-icon {
top: 5px;
}
.layout-expand .panel-body-noheader .layout-expand-with-icon {
top: 23px;
}
.layout-split-proxy-h,
.layout-split-proxy-v {
position: absolute;
font-size: 1px;
display: none;
z-index: 5;
}
.layout-split-proxy-h {
width: 5px;
cursor: e-resize;
}
.layout-split-proxy-v {
height: 5px;
cursor: n-resize;
}
.layout-mask {
position: absolute;
background: #fafafa;
filter: alpha(opacity=10);
opacity: 0.10;
z-index: 4;
}
.layout-button-up {
background: url('images/layout_arrows.png') no-repeat -16px -16px;
}
.layout-button-down {
background: url('images/layout_arrows.png') no-repeat -16px 0;
}
.layout-button-left {
background: url('images/layout_arrows.png') no-repeat 0 0;
}
.layout-button-right {
background: url('images/layout_arrows.png') no-repeat 0 -16px;
}
.layout-split-proxy-h,
.layout-split-proxy-v {
background-color: #cccccc;
}
.layout-split-north {
border-bottom: 5px solid #444;
}
.layout-split-south {
border-top: 5px solid #444;
}
.layout-split-east {
border-left: 5px solid #444;
}
.layout-split-west {
border-right: 5px solid #444;
}
.layout-expand {
background-color: #3d3d3d;
}
.layout-expand-over {
background-color: #3d3d3d;
}
.tabs-container {
overflow: hidden;
}
.tabs-header {
border-width: 1px;
border-style: solid;
border-bottom-width: 0;
position: relative;
padding: 0;
padding-top: 2px;
overflow: hidden;
}
.tabs-scroller-left,
.tabs-scroller-right {
position: absolute;
top: auto;
bottom: 0;
width: 18px;
font-size: 1px;
display: none;
cursor: pointer;
border-width: 1px;
border-style: solid;
}
.tabs-scroller-left {
left: 0;
}
.tabs-scroller-right {
right: 0;
}
.tabs-tool {
position: absolute;
bottom: 0;
padding: 1px;
overflow: hidden;
border-width: 1px;
border-style: solid;
}
.tabs-header-plain .tabs-tool {
padding: 0 1px;
}
.tabs-wrap {
position: relative;
left: 0;
overflow: hidden;
width: 100%;
margin: 0;
padding: 0;
}
.tabs-scrolling {
margin-left: 18px;
margin-right: 18px;
}
.tabs-disabled {
opacity: 0.3;
filter: alpha(opacity=30);
}
.tabs {
list-style-type: none;
height: 26px;
margin: 0px;
padding: 0px;
padding-left: 4px;
width: 50000px;
border-style: solid;
border-width: 0 0 1px 0;
}
.tabs li {
float: left;
display: inline-block;
margin: 0 4px -1px 0;
padding: 0;
position: relative;
border: 0;
}
.tabs li a.tabs-inner {
display: inline-block;
text-decoration: none;
margin: 0;
padding: 0 10px;
height: 25px;
line-height: 25px;
text-align: center;
white-space: nowrap;
border-width: 1px;
border-style: solid;
-moz-border-radius: 5px 5px 0 0;
-webkit-border-radius: 5px 5px 0 0;
border-radius: 5px 5px 0 0;
}
.tabs li.tabs-selected a.tabs-inner {
font-weight: bold;
outline: none;
}
.tabs li.tabs-selected a:hover.tabs-inner {
cursor: default;
pointer: default;
}
.tabs li a.tabs-close,
.tabs-p-tool {
position: absolute;
font-size: 1px;
display: block;
height: 12px;
padding: 0;
top: 50%;
margin-top: -6px;
overflow: hidden;
}
.tabs li a.tabs-close {
width: 12px;
right: 5px;
opacity: 0.6;
filter: alpha(opacity=60);
}
.tabs-p-tool {
right: 16px;
}
.tabs-p-tool a {
display: inline-block;
font-size: 1px;
width: 12px;
height: 12px;
margin: 0;
opacity: 0.6;
filter: alpha(opacity=60);
}
.tabs li a:hover.tabs-close,
.tabs-p-tool a:hover {
opacity: 1;
filter: alpha(opacity=100);
cursor: hand;
cursor: pointer;
}
.tabs-with-icon {
padding-left: 18px;
}
.tabs-icon {
position: absolute;
width: 16px;
height: 16px;
left: 10px;
top: 50%;
margin-top: -8px;
}
.tabs-title {
font-size: 12px;
}
.tabs-closable {
padding-right: 8px;
}
.tabs-panels {
margin: 0px;
padding: 0px;
border-width: 1px;
border-style: solid;
border-top-width: 0;
overflow: hidden;
}
.tabs-header-bottom {
border-width: 0 1px 1px 1px;
padding: 0 0 2px 0;
}
.tabs-header-bottom .tabs {
border-width: 1px 0 0 0;
}
.tabs-header-bottom .tabs li {
margin: -1px 4px 0 0;
}
.tabs-header-bottom .tabs li a.tabs-inner {
-moz-border-radius: 0 0 5px 5px;
-webkit-border-radius: 0 0 5px 5px;
border-radius: 0 0 5px 5px;
}
.tabs-header-bottom .tabs-tool {
top: 0;
}
.tabs-header-bottom .tabs-scroller-left,
.tabs-header-bottom .tabs-scroller-right {
top: 0;
bottom: auto;
}
.tabs-panels-top {
border-width: 1px 1px 0 1px;
}
.tabs-header-left {
float: left;
border-width: 1px 0 1px 1px;
padding: 0;
}
.tabs-header-right {
float: right;
border-width: 1px 1px 1px 0;
padding: 0;
}
.tabs-header-left .tabs-wrap,
.tabs-header-right .tabs-wrap {
height: 100%;
}
.tabs-header-left .tabs {
height: 100%;
padding: 4px 0 0 2px;
border-width: 0 1px 0 0;
}
.tabs-header-right .tabs {
height: 100%;
padding: 4px 2px 0 0;
border-width: 0 0 0 1px;
}
.tabs-header-left .tabs li,
.tabs-header-right .tabs li {
display: block;
width: 100%;
position: relative;
}
.tabs-header-left .tabs li {
left: auto;
right: 0;
margin: 0 -1px 4px 0;
float: right;
}
.tabs-header-right .tabs li {
left: 0;
right: auto;
margin: 0 0 4px -1px;
float: left;
}
.tabs-justified li a.tabs-inner {
padding-left: 0;
padding-right: 0;
}
.tabs-header-left .tabs li a.tabs-inner {
display: block;
text-align: left;
padding-left: 10px;
padding-right: 10px;
-moz-border-radius: 5px 0 0 5px;
-webkit-border-radius: 5px 0 0 5px;
border-radius: 5px 0 0 5px;
}
.tabs-header-right .tabs li a.tabs-inner {
display: block;
text-align: left;
padding-left: 10px;
padding-right: 10px;
-moz-border-radius: 0 5px 5px 0;
-webkit-border-radius: 0 5px 5px 0;
border-radius: 0 5px 5px 0;
}
.tabs-panels-right {
float: right;
border-width: 1px 1px 1px 0;
}
.tabs-panels-left {
float: left;
border-width: 1px 0 1px 1px;
}
.tabs-header-noborder,
.tabs-panels-noborder {
border: 0px;
}
.tabs-header-plain {
border: 0px;
background: transparent;
}
.tabs-pill {
padding-bottom: 3px;
}
.tabs-header-bottom .tabs-pill {
padding-top: 3px;
padding-bottom: 0;
}
.tabs-header-left .tabs-pill {
padding-right: 3px;
}
.tabs-header-right .tabs-pill {
padding-left: 3px;
}
.tabs-header .tabs-pill li a.tabs-inner {
-moz-border-radius: 5px 5px 5px 5px;
-webkit-border-radius: 5px 5px 5px 5px;
border-radius: 5px 5px 5px 5px;
}
.tabs-header-narrow,
.tabs-header-narrow .tabs-narrow {
padding: 0;
}
.tabs-narrow li,
.tabs-header-bottom .tabs-narrow li {
margin-left: 0;
margin-right: -1px;
}
.tabs-narrow li.tabs-last,
.tabs-header-bottom .tabs-narrow li.tabs-last {
margin-right: 0;
}
.tabs-header-left .tabs-narrow,
.tabs-header-right .tabs-narrow {
padding-top: 0;
}
.tabs-header-left .tabs-narrow li {
margin-bottom: -1px;
margin-right: -1px;
}
.tabs-header-left .tabs-narrow li.tabs-last,
.tabs-header-right .tabs-narrow li.tabs-last {
margin-bottom: 0;
}
.tabs-header-right .tabs-narrow li {
margin-bottom: -1px;
margin-left: -1px;
}
.tabs-scroller-left {
background: #3d3d3d url('images/tabs_icons.png') no-repeat 1px center;
}
.tabs-scroller-right {
background: #3d3d3d url('images/tabs_icons.png') no-repeat -15px center;
}
.tabs li a.tabs-close {
background: url('images/tabs_icons.png') no-repeat -34px center;
}
.tabs li a.tabs-inner:hover {
background: #777;
color: #fff;
filter: none;
}
.tabs li.tabs-selected a.tabs-inner {
background-color: #666;
color: #fff;
background: -webkit-linear-gradient(top,#454545 0,#666 100%);
background: -moz-linear-gradient(top,#454545 0,#666 100%);
background: -o-linear-gradient(top,#454545 0,#666 100%);
background: linear-gradient(to bottom,#454545 0,#666 100%);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#454545,endColorstr=#666,GradientType=0);
}
.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner {
background: -webkit-linear-gradient(top,#666 0,#454545 100%);
background: -moz-linear-gradient(top,#666 0,#454545 100%);
background: -o-linear-gradient(top,#666 0,#454545 100%);
background: linear-gradient(to bottom,#666 0,#454545 100%);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#666,endColorstr=#454545,GradientType=0);
}
.tabs-header-left .tabs li.tabs-selected a.tabs-inner {
background: -webkit-linear-gradient(left,#454545 0,#666 100%);
background: -moz-linear-gradient(left,#454545 0,#666 100%);
background: -o-linear-gradient(left,#454545 0,#666 100%);
background: linear-gradient(to right,#454545 0,#666 100%);
background-repeat: repeat-y;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#454545,endColorstr=#666,GradientType=1);
}
.tabs-header-right .tabs li.tabs-selected a.tabs-inner {
background: -webkit-linear-gradient(left,#666 0,#454545 100%);
background: -moz-linear-gradient(left,#666 0,#454545 100%);
background: -o-linear-gradient(left,#666 0,#454545 100%);
background: linear-gradient(to right,#666 0,#454545 100%);
background-repeat: repeat-y;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#666,endColorstr=#454545,GradientType=1);
}
.tabs li a.tabs-inner {
color: #fff;
background-color: #3d3d3d;
background: -webkit-linear-gradient(top,#454545 0,#383838 100%);
background: -moz-linear-gradient(top,#454545 0,#383838 100%);
background: -o-linear-gradient(top,#454545 0,#383838 100%);
background: linear-gradient(to bottom,#454545 0,#383838 100%);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#454545,endColorstr=#383838,GradientType=0);
}
.tabs-header,
.tabs-tool {
background-color: #3d3d3d;
}
.tabs-header-plain {
background: transparent;
}
.tabs-header,
.tabs-scroller-left,
.tabs-scroller-right,
.tabs-tool,
.tabs,
.tabs-panels,
.tabs li a.tabs-inner,
.tabs li.tabs-selected a.tabs-inner,
.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner,
.tabs-header-left .tabs li.tabs-selected a.tabs-inner,
.tabs-header-right .tabs li.tabs-selected a.tabs-inner {
border-color: #000;
}
.tabs-p-tool a:hover,
.tabs li a:hover.tabs-close,
.tabs-scroller-over {
background-color: #777;
}
.tabs li.tabs-selected a.tabs-inner {
border-bottom: 1px solid #666;
}
.tabs-header-bottom .tabs li.tabs-selected a.tabs-inner {
border-top: 1px solid #666;
}
.tabs-header-left .tabs li.tabs-selected a.tabs-inner {
border-right: 1px solid #666;
}
.tabs-header-right .tabs li.tabs-selected a.tabs-inner {
border-left: 1px solid #666;
}
.tabs-header .tabs-pill li.tabs-selected a.tabs-inner {
background: #990000;
color: #fff;
filter: none;
border-color: #000;
}
.datagrid .panel-body {
overflow: hidden;
position: relative;
}
.datagrid-view {
position: relative;
overflow: hidden;
}
.datagrid-view1,
.datagrid-view2 {
position: absolute;
overflow: hidden;
top: 0;
}
.datagrid-view1 {
left: 0;
}
.datagrid-view2 {
right: 0;
}
.datagrid-mask {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
opacity: 0.3;
filter: alpha(opacity=30);
display: none;
}
.datagrid-mask-msg {
position: absolute;
top: 50%;
margin-top: -20px;
padding: 10px 5px 10px 30px;
width: auto;
height: 16px;
border-width: 2px;
border-style: solid;
display: none;
}
.datagrid-empty {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 25px;
line-height: 25px;
text-align: center;
}
.datagrid-sort-icon {
padding: 0;
display: none;
}
.datagrid-toolbar {
height: auto;
padding: 1px 2px;
border-width: 0 0 1px 0;
border-style: solid;
}
.datagrid-btn-separator {
float: left;
height: 24px;
border-left: 1px solid #444;
border-right: 1px solid #777;
margin: 2px 1px;
}
.datagrid .datagrid-pager {
display: block;
margin: 0;
border-width: 1px 0 0 0;
border-style: solid;
}
.datagrid .datagrid-pager-top {
border-width: 0 0 1px 0;
}
.datagrid-header {
overflow: hidden;
cursor: default;
border-width: 0 0 1px 0;
border-style: solid;
}
.datagrid-header-inner {
float: left;
width: 10000px;
}
.datagrid-header-row,
.datagrid-row {
height: 32px;
}
.datagrid-header td,
.datagrid-body td,
.datagrid-footer td {
border-width: 0 1px 1px 0;
border-style: dotted;
margin: 0;
padding: 0;
}
.datagrid-cell,
.datagrid-cell-group,
.datagrid-header-rownumber,
.datagrid-cell-rownumber {
margin: 0;
padding: 0 4px;
white-space: nowrap;
word-wrap: normal;
overflow: hidden;
height: 18px;
line-height: 18px;
font-size: 12px;
}
.datagrid-header .datagrid-cell {
height: auto;
}
.datagrid-header .datagrid-cell span {
font-size: 12px;
}
.datagrid-cell-group {
text-align: center;
text-overflow: ellipsis;
}
.datagrid-header-rownumber,
.datagrid-cell-rownumber {
width: 30px;
text-align: center;
margin: 0;
padding: 0;
}
.datagrid-body {
margin: 0;
padding: 0;
overflow: auto;
zoom: 1;
}
.datagrid-view1 .datagrid-body-inner {
padding-bottom: 20px;
}
.datagrid-view1 .datagrid-body {
overflow: hidden;
}
.datagrid-footer {
overflow: hidden;
}
.datagrid-footer-inner {
border-width: 1px 0 0 0;
border-style: solid;
width: 10000px;
float: left;
}
.datagrid-row-editing .datagrid-cell {
height: auto;
}
.datagrid-header-check,
.datagrid-cell-check {
padding: 0;
width: 27px;
height: 18px;
font-size: 1px;
text-align: center;
overflow: hidden;
}
.datagrid-header-check input,
.datagrid-cell-check input {
margin: 0;
padding: 0;
width: 15px;
height: 18px;
}
.datagrid-resize-proxy {
position: absolute;
width: 1px;
height: 10000px;
top: 0;
cursor: e-resize;
display: none;
}
.datagrid-body .datagrid-editable {
margin: 0;
padding: 0;
}
.datagrid-body .datagrid-editable table {
width: 100%;
height: 100%;
}
.datagrid-body .datagrid-editable td {
border: 0;
margin: 0;
padding: 0;
}
.datagrid-view .datagrid-editable-input {
margin: 0;
padding: 2px 4px;
border: 1px solid #000;
font-size: 12px;
outline-style: none;
-moz-border-radius: 0 0 0 0;
-webkit-border-radius: 0 0 0 0;
border-radius: 0 0 0 0;
}
.datagrid-view .validatebox-invalid {
border-color: #ffa8a8;
}
.datagrid-sort .datagrid-sort-icon {
display: inline;
padding: 0 13px 0 0;
background: url('images/datagrid_icons.png') no-repeat -64px center;
}
.datagrid-sort-desc .datagrid-sort-icon {
display: inline;
padding: 0 13px 0 0;
background: url('images/datagrid_icons.png') no-repeat -16px center;
}
.datagrid-sort-asc .datagrid-sort-icon {
display: inline;
padding: 0 13px 0 0;
background: url('images/datagrid_icons.png') no-repeat 0px center;
}
.datagrid-row-collapse {
background: url('images/datagrid_icons.png') no-repeat -48px center;
}
.datagrid-row-expand {
background: url('images/datagrid_icons.png') no-repeat -32px center;
}
.datagrid-mask-msg {
background: #666 url('images/loading.gif') no-repeat scroll 5px center;
}
.datagrid-header,
.datagrid-td-rownumber {
background-color: #444;
background: -webkit-linear-gradient(top,#4c4c4c 0,#3f3f3f 100%);
background: -moz-linear-gradient(top,#4c4c4c 0,#3f3f3f 100%);
background: -o-linear-gradient(top,#4c4c4c 0,#3f3f3f 100%);
background: linear-gradient(to bottom,#4c4c4c 0,#3f3f3f 100%);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#4c4c4c,endColorstr=#3f3f3f,GradientType=0);
}
.datagrid-cell-rownumber {
color: #fff;
}
.datagrid-resize-proxy {
background: #cccccc;
}
.datagrid-mask {
background: #000;
}
.datagrid-mask-msg {
border-color: #000;
}
.datagrid-toolbar,
.datagrid-pager {
background: #555;
}
.datagrid-header,
.datagrid-toolbar,
.datagrid-pager,
.datagrid-footer-inner {
border-color: #222;
}
.datagrid-header td,
.datagrid-body td,
.datagrid-footer td {
border-color: #222;
}
.datagrid-htable,
.datagrid-btable,
.datagrid-ftable {
color: #fff;
border-collapse: separate;
}
.datagrid-row-alt {
background: #555;
}
.datagrid-row-over,
.datagrid-header td.datagrid-header-over {
background: #777;
color: #fff;
cursor: default;
}
.datagrid-row-selected {
background: #990000;
color: #fff;
}
.datagrid-row-editing .textbox,
.datagrid-row-editing .textbox-text {
-moz-border-radius: 0 0 0 0;
-webkit-border-radius: 0 0 0 0;
border-radius: 0 0 0 0;
}
.datagrid-header .datagrid-filter-row td.datagrid-header-over {
background: inherit;
}
.propertygrid .datagrid-view1 .datagrid-body td {
padding-bottom: 1px;
border-width: 0 1px 0 0;
}
.propertygrid .datagrid-group {
overflow: hidden;
border-width: 0 0 1px 0;
border-style: solid;
}
.propertygrid .datagrid-group span {
font-weight: bold;
}
.propertygrid .datagrid-view1 .datagrid-body td {
border-color: #222;
}
.propertygrid .datagrid-view1 .datagrid-group {
border-color: #3d3d3d;
}
.propertygrid .datagrid-view2 .datagrid-group {
border-color: #222;
}
.propertygrid .datagrid-group,
.propertygrid .datagrid-view1 .datagrid-body,
.propertygrid .datagrid-view1 .datagrid-row-over,
.propertygrid .datagrid-view1 .datagrid-row-selected {
background: #3d3d3d;
}
.datalist .datagrid-header {
border-width: 0;
}
.datalist .datagrid-group,
.m-list .m-list-group {
height: 25px;
line-height: 25px;
font-weight: bold;
overflow: hidden;
background-color: #444;
border-style: solid;
border-width: 0 0 1px 0;
border-color: #222;
}
.datalist .datagrid-group-expander {
display: none;
}
.datalist .datagrid-group-title {
padding: 0 4px;
}
.datalist .datagrid-btable {
width: 100%;
table-layout: fixed;
}
.datalist .datagrid-row td {
border-style: solid;
border-left-color: transparent;
border-right-color: transparent;
border-bottom-width: 0;
}
.datalist-lines .datagrid-row td {
border-bottom-width: 1px;
}
.datalist .datagrid-cell,
.m-list li {
width: auto;
height: auto;
padding: 2px 4px;
line-height: 18px;
position: relative;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
}
.datalist-link,
.m-list li>a {
display: block;
position: relative;
cursor: pointer;
color: #fff;
text-decoration: none;
overflow: hidden;
margin: -2px -4px;
padding: 2px 4px;
padding-right: 16px;
line-height: 18px;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
}
.datalist-link::after,
.m-list li>a::after {
position: absolute;
display: block;
width: 8px;
height: 8px;
content: '';
right: 6px;
top: 50%;
margin-top: -4px;
border-style: solid;
border-width: 1px 1px 0 0;
-ms-transform: rotate(45deg);
-moz-transform: rotate(45deg);
-webkit-transform: rotate(45deg);
-o-transform: rotate(45deg);
transform: rotate(45deg);
}
.m-list {
margin: 0;
padding: 0;
list-style: none;
}
.m-list li {
border-style: solid;
border-width: 0 0 1px 0;
border-color: #222;
}
.m-list li>a:hover {
background: #777;
color: #fff;
}
.m-list .m-list-group {
padding: 0 4px;
}
.pagination {
zoom: 1;
padding: 2px;
}
.pagination table {
float: left;
height: 30px;
}
.pagination td {
border: 0;
}
.pagination-btn-separator {
float: left;
height: 24px;
border-left: 1px solid #444;
border-right: 1px solid #777;
margin: 3px 1px;
}
.pagination .pagination-num {
border-width: 1px;
border-style: solid;
margin: 0 2px;
padding: 2px;
width: 3em;
height: auto;
text-align: center;
font-size: 12px;
}
.pagination-page-list {
margin: 0px 6px;
padding: 1px 2px;
width: auto;
height: auto;
border-width: 1px;
border-style: solid;
}
.pagination-info {
float: right;
margin: 0 6px;
padding: 0;
height: 30px;
line-height: 30px;
font-size: 12px;
}
.pagination span {
font-size: 12px;
}
.pagination-link .l-btn-text {
box-sizing: border-box;
text-align: center;
margin: 0;
padding: 0 .5em;
width: auto;
min-width: 28px;
}
.pagination-first {
background: url('images/pagination_icons.png') no-repeat 0 center;
}
.pagination-prev {
background: url('images/pagination_icons.png') no-repeat -16px center;
}
.pagination-next {
background: url('images/pagination_icons.png') no-repeat -32px center;
}
.pagination-last {
background: url('images/pagination_icons.png') no-repeat -48px center;
}
.pagination-load {
background: url('images/pagination_icons.png') no-repeat -64px center;
}
.pagination-loading {
background: url('images/loading.gif') no-repeat center center;
}
.pagination-page-list,
.pagination .pagination-num {
border-color: #000;
}
.calendar {
border-width: 1px;
border-style: solid;
padding: 1px;
overflow: hidden;
}
.calendar table {
table-layout: fixed;
border-collapse: separate;
font-size: 12px;
width: 100%;
height: 100%;
}
.calendar table td,
.calendar table th {
font-size: 12px;
}
.calendar-noborder {
border: 0;
}
.calendar-header {
position: relative;
height: 28px;
}
.calendar-title {
text-align: center;
height: 28px;
}
.calendar-title span {
position: relative;
display: inline-block;
top: 0px;
padding: 0 3px;
height: 28px;
line-height: 28px;
font-size: 12px;
cursor: pointer;
-moz-border-radius: 5px 5px 5px 5px;
-webkit-border-radius: 5px 5px 5px 5px;
border-radius: 5px 5px 5px 5px;
}
.calendar-prevmonth,
.calendar-nextmonth,
.calendar-prevyear,
.calendar-nextyear {
position: absolute;
top: 50%;
margin-top: -8px;
width: 16px;
height: 16px;
cursor: pointer;
font-size: 1px;
-moz-border-radius: 5px 5px 5px 5px;
-webkit-border-radius: 5px 5px 5px 5px;
border-radius: 5px 5px 5px 5px;
}
.calendar-prevmonth {
left: 20px;
background: url('images/calendar_arrows.png') no-repeat -16px 0;
}
.calendar-nextmonth {
right: 20px;
background: url('images/calendar_arrows.png') no-repeat -32px 0;
}
.calendar-prevyear {
left: 3px;
background: url('images/calendar_arrows.png') no-repeat 0px 0;
}
.calendar-nextyear {
right: 3px;
background: url('images/calendar_arrows.png') no-repeat -48px 0;
}
.calendar-body {
position: relative;
}
.calendar-body th,
.calendar-body td {
text-align: center;
}
.calendar-day {
border: 0;
padding: 1px;
cursor: pointer;
-moz-border-radius: 5px 5px 5px 5px;
-webkit-border-radius: 5px 5px 5px 5px;
border-radius: 5px 5px 5px 5px;
}
.calendar-other-month {
opacity: 0.3;
filter: alpha(opacity=30);
}
.calendar-disabled {
opacity: 0.6;
filter: alpha(opacity=60);
cursor: default;
}
.calendar-menu {
position: absolute;
top: 0;
left: 0;
width: 180px;
height: 150px;
padding: 5px;
font-size: 12px;
display: none;
overflow: hidden;
}
.calendar-menu-year-inner {
text-align: center;
padding-bottom: 5px;
}
.calendar-menu-year {
width: 80px;
line-height: 26px;
text-align: center;
border-width: 1px;
border-style: solid;
outline-style: none;
resize: none;
margin: 0;
padding: 0;
font-weight: bold;
font-size: 12px;
-moz-border-radius: 5px 5px 5px 5px;
-webkit-border-radius: 5px 5px 5px 5px;
border-radius: 5px 5px 5px 5px;
}
.calendar-menu-prev,
.calendar-menu-next {
display: inline-block;
width: 25px;
height: 28px;
vertical-align: top;
cursor: pointer;
-moz-border-radius: 5px 5px 5px 5px;
-webkit-border-radius: 5px 5px 5px 5px;
border-radius: 5px 5px 5px 5px;
}
.calendar-menu-prev {
margin-right: 10px;
background: url('images/calendar_arrows.png') no-repeat 5px center;
}
.calendar-menu-next {
margin-left: 10px;
background: url('images/calendar_arrows.png') no-repeat -44px center;
}
.calendar-menu-month {
text-align: center;
cursor: pointer;
font-weight: bold;
-moz-border-radius: 5px 5px 5px 5px;
-webkit-border-radius: 5px 5px 5px 5px;
border-radius: 5px 5px 5px 5px;
}
.calendar-body th,
.calendar-menu-month {
color: #ffffff;
}
.calendar-day {
color: #fff;
}
.calendar-sunday {
color: #CC2222;
}
.calendar-saturday {
color: #00ee00;
}
.calendar-today {
color: #0000ff;
}
.calendar-menu-year {
border-color: #000;
}
.calendar {
border-color: #000;
}
.calendar-header {
background: #3d3d3d;
}
.calendar-body,
.calendar-menu {
background: #666;
}
.calendar-body th {
background: #555;
padding: 4px 0;
}
.calendar-hover,
.calendar-nav-hover,
.calendar-menu-hover {
background-color: #777;
color: #fff;
}
.calendar-hover {
border: 1px solid #555;
padding: 0;
}
.calendar-selected {
background-color: #990000;
color: #fff;
border: 1px solid #AA0000;
padding: 0;
}
.datebox-calendar-inner {
height: 250px;
}
.datebox-button {
padding: 4px 0;
text-align: center;
}
.datebox-button a {
line-height: 22px;
font-size: 12px;
font-weight: bold;
text-decoration: none;
opacity: 0.6;
filter: alpha(opacity=60);
}
.datebox-button a:hover {
opacity: 1.0;
filter: alpha(opacity=100);
}
.datebox-current,
.datebox-close {
float: left;
}
.datebox-close {
float: right;
}
.datebox .combo-arrow {
background-image: url('images/datebox_arrow.png');
background-position: center center;
}
.datebox-button {
background-color: #555;
}
.datebox-button a {
color: #fff;
}
.spinner-arrow {
display: inline-block;
overflow: hidden;
vertical-align: top;
margin: 0;
padding: 0;
opacity: 1.0;
filter: alpha(opacity=100);
width: 18px;
}
.spinner-arrow.spinner-button-top,
.spinner-arrow.spinner-button-bottom,
.spinner-arrow.spinner-button-left,
.spinner-arrow.spinner-button-right {
background-color: #3d3d3d;
}
.spinner-arrow-up,
.spinner-arrow-down {
opacity: 0.6;
filter: alpha(opacity=60);
display: block;
font-size: 1px;
width: 18px;
height: 10px;
width: 100%;
height: 50%;
color: #fff;
outline-style: none;
background-color: #3d3d3d;
}
.spinner-button-updown {
opacity: 1.0;
}
.spinner-button-updown .spinner-button-top,
.spinner-button-updown .spinner-button-bottom {
position: relative;
display: block;
width: 100%;
height: 50%;
}
.spinner-button-updown .spinner-arrow-up,
.spinner-button-updown .spinner-arrow-down {
opacity: 1.0;
filter: alpha(opacity=100);
cursor: pointer;
width: 16px;
height: 16px;
top: 50%;
left: 50%;
margin-top: -8px;
margin-left: -8px;
position: absolute;
}
.spinner-button-updown .spinner-button-top,
.spinner-button-updown .spinner-button-bottom {
cursor: pointer;
opacity: 0.6;
filter: alpha(opacity=60);
}
.spinner-button-updown .spinner-button-top:hover,
.spinner-button-updown .spinner-button-bottom:hover {
opacity: 1.0;
filter: alpha(opacity=100);
}
.spinner-button-updown .spinner-arrow-up,
.spinner-button-updown .spinner-arrow-down,
.spinner-button-updown .spinner-arrow-up:hover,
.spinner-button-updown .spinner-arrow-down:hover {
background-color: transparent;
}
.spinner-arrow-hover {
background-color: #777;
opacity: 1.0;
filter: alpha(opacity=100);
}
.spinner-button-top:hover,
.spinner-button-bottom:hover,
.spinner-button-left:hover,
.spinner-button-right:hover,
.spinner-arrow-up:hover,
.spinner-arrow-down:hover {
opacity: 1.0;
filter: alpha(opacity=100);
background-color: #777;
}
.textbox-disabled .spinner-button-top:hover,
.textbox-disabled .spinner-button-bottom:hover,
.textbox-disabled .spinner-button-left:hover,
.textbox-disabled .spinner-button-right:hover,
.textbox-icon-disabled .spinner-arrow-up:hover,
.textbox-icon-disabled .spinner-arrow-down:hover {
opacity: 0.6;
filter: alpha(opacity=60);
background-color: #3d3d3d;
cursor: default;
}
.spinner .textbox-icon-disabled {
opacity: 0.6;
filter: alpha(opacity=60);
}
.spinner-arrow-up {
background: url('images/spinner_arrows.png') no-repeat 1px center;
background-color: #3d3d3d;
}
.spinner-arrow-down {
background: url('images/spinner_arrows.png') no-repeat -15px center;
background-color: #3d3d3d;
}
.spinner-button-up {
background: url('images/spinner_arrows.png') no-repeat -32px center;
}
.spinner-button-down {
background: url('images/spinner_arrows.png') no-repeat -48px center;
}
.progressbar {
border-width: 1px;
border-style: solid;
-moz-border-radius: 5px 5px 5px 5px;
-webkit-border-radius: 5px 5px 5px 5px;
border-radius: 5px 5px 5px 5px;
overflow: hidden;
position: relative;
}
.progressbar-text {
text-align: center;
position: absolute;
}
.progressbar-value {
position: relative;
overflow: hidden;
width: 0;
-moz-border-radius: 5px 0 0 5px;
-webkit-border-radius: 5px 0 0 5px;
border-radius: 5px 0 0 5px;
}
.progressbar {
border-color: #000;
}
.progressbar-text {
color: #fff;
font-size: 12px;
}
.progressbar-value,
.progressbar-value .progressbar-text {
background-color: #990000;
color: #fff;
}
.searchbox-button {
width: 18px;
height: 20px;
overflow: hidden;
display: inline-block;
vertical-align: top;
cursor: pointer;
opacity: 0.6;
filter: alpha(opacity=60);
}
.searchbox-button-hover {
opacity: 1.0;
filter: alpha(opacity=100);
}
.searchbox .l-btn-plain {
border: 0;
padding: 0;
vertical-align: top;
opacity: 0.6;
filter: alpha(opacity=60);
-moz-border-radius: 0 0 0 0;
-webkit-border-radius: 0 0 0 0;
border-radius: 0 0 0 0;
}
.searchbox .l-btn-plain:hover {
border: 0;
padding: 0;
opacity: 1.0;
filter: alpha(opacity=100);
-moz-border-radius: 0 0 0 0;
-webkit-border-radius: 0 0 0 0;
border-radius: 0 0 0 0;
}
.searchbox a.m-btn-plain-active {
-moz-border-radius: 0 0 0 0;
-webkit-border-radius: 0 0 0 0;
border-radius: 0 0 0 0;
}
.searchbox .m-btn-active {
border-width: 0 1px 0 0;
-moz-border-radius: 0 0 0 0;
-webkit-border-radius: 0 0 0 0;
border-radius: 0 0 0 0;
}
.searchbox .textbox-button-right {
border-width: 0 0 0 1px;
}
.searchbox .textbox-button-left {
border-width: 0 1px 0 0;
}
.searchbox-button {
background: url('images/searchbox_button.png') no-repeat center center;
}
.searchbox .l-btn-plain {
background: #3d3d3d;
}
.searchbox .l-btn-plain-disabled,
.searchbox .l-btn-plain-disabled:hover {
opacity: 0.5;
filter: alpha(opacity=50);
}
.slider-disabled {
opacity: 0.5;
filter: alpha(opacity=50);
}
.slider-h {
height: 22px;
}
.slider-v {
width: 22px;
}
.slider-inner {
position: relative;
height: 6px;
top: 7px;
border-width: 1px;
border-style: solid;
border-radius: 5px;
}
.slider-handle {
position: absolute;
display: block;
outline: none;
width: 20px;
height: 20px;
top: 50%;
margin-top: -10px;
margin-left: -10px;
}
.slider-tip {
position: absolute;
display: inline-block;
line-height: 12px;
font-size: 12px;
white-space: nowrap;
top: -22px;
}
.slider-rule {
position: relative;
top: 15px;
}
.slider-rule span {
position: absolute;
display: inline-block;
font-size: 0;
height: 5px;
border-width: 0 0 0 1px;
border-style: solid;
}
.slider-rulelabel {
position: relative;
top: 20px;
}
.slider-rulelabel span {
position: absolute;
display: inline-block;
font-size: 12px;
}
.slider-v .slider-inner {
width: 6px;
left: 7px;
top: 0;
float: left;
}
.slider-v .slider-handle {
left: 50%;
margin-top: -10px;
}
.slider-v .slider-tip {
left: -10px;
margin-top: -6px;
}
.slider-v .slider-rule {
float: left;
top: 0;
left: 16px;
}
.slider-v .slider-rule span {
width: 5px;
height: 'auto';
border-left: 0;
border-width: 1px 0 0 0;
border-style: solid;
}
.slider-v .slider-rulelabel {
float: left;
top: 0;
left: 23px;
}
.slider-handle {
background: url('images/slider_handle.png') no-repeat;
}
.slider-inner {
border-color: #000;
background: #3d3d3d;
}
.slider-rule span {
border-color: #000;
}
.slider-rulelabel span {
color: #fff;
}
.menu {
position: absolute;
margin: 0;
padding: 2px;
border-width: 1px;
border-style: solid;
overflow: hidden;
}
.menu-inline {
position: relative;
}
.menu-item {
position: relative;
margin: 0;
padding: 0;
overflow: hidden;
white-space: nowrap;
cursor: pointer;
border-width: 1px;
border-style: solid;
}
.menu-text {
height: 20px;
line-height: 20px;
float: left;
padding-left: 28px;
}
.menu-icon {
position: absolute;
width: 16px;
height: 16px;
left: 2px;
top: 50%;
margin-top: -8px;
}
.menu-rightarrow {
position: absolute;
width: 16px;
height: 16px;
right: 0;
top: 50%;
margin-top: -8px;
}
.menu-line {
position: absolute;
left: 26px;
top: 0;
height: 2000px;
font-size: 1px;
}
.menu-sep {
margin: 3px 0px 3px 25px;
font-size: 1px;
}
.menu-noline .menu-line {
display: none;
}
.menu-noline .menu-sep {
margin-left: 0;
margin-right: 0;
}
.menu-active {
-moz-border-radius: 5px 5px 5px 5px;
-webkit-border-radius: 5px 5px 5px 5px;
border-radius: 5px 5px 5px 5px;
}
.menu-item-disabled {
opacity: 0.5;
filter: alpha(opacity=50);
cursor: default;
}
.menu-text,
.menu-text span {
font-size: 12px;
}
.menu-shadow {
position: absolute;
-moz-border-radius: 5px 5px 5px 5px;
-webkit-border-radius: 5px 5px 5px 5px;
border-radius: 5px 5px 5px 5px;
background: #777;
-moz-box-shadow: 2px 2px 3px #787878;
-webkit-box-shadow: 2px 2px 3px #787878;
box-shadow: 2px 2px 3px #787878;
filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2);
}
.menu-rightarrow {
background: url('images/menu_arrows.png') no-repeat -32px center;
}
.menu-line {
border-left: 1px solid #444;
border-right: 1px solid #777;
}
.menu-sep {
border-top: 1px solid #444;
border-bottom: 1px solid #777;
}
.menu {
background-color: #666;
border-color: #444;
color: #fff;
}
.menu-content {
background: #666;
}
.menu-item {
border-color: transparent;
_border-color: #666;
}
.menu-active {
border-color: #555;
color: #fff;
background: #777;
}
.menu-active-disabled {
border-color: transparent;
background: transparent;
color: #fff;
}
.m-btn-downarrow,
.s-btn-downarrow {
display: inline-block;
position: absolute;
width: 16px;
height: 16px;
font-size: 1px;
right: 0;
top: 50%;
margin-top: -8px;
}
.m-btn-active,
.s-btn-active {
background: #777;
color: #fff;
border: 1px solid #555;
filter: none;
}
.m-btn-plain-active,
.s-btn-plain-active {
background: transparent;
padding: 0;
border-width: 1px;
border-style: solid;
-moz-border-radius: 5px 5px 5px 5px;
-webkit-border-radius: 5px 5px 5px 5px;
border-radius: 5px 5px 5px 5px;
}
.m-btn .l-btn-left .l-btn-text {
margin-right: 20px;
}
.m-btn .l-btn-icon-right .l-btn-text {
margin-right: 40px;
}
.m-btn .l-btn-icon-right .l-btn-icon {
right: 20px;
}
.m-btn .l-btn-icon-top .l-btn-text {
margin-right: 4px;
margin-bottom: 14px;
}
.m-btn .l-btn-icon-bottom .l-btn-text {
margin-right: 4px;
margin-bottom: 34px;
}
.m-btn .l-btn-icon-bottom .l-btn-icon {
top: auto;
bottom: 20px;
}
.m-btn .l-btn-icon-top .m-btn-downarrow,
.m-btn .l-btn-icon-bottom .m-btn-downarrow {
top: auto;
bottom: 0px;
left: 50%;
margin-left: -8px;
}
.m-btn-line {
display: inline-block;
position: absolute;
font-size: 1px;
display: none;
}
.m-btn .l-btn-left .m-btn-line {
right: 0;
width: 16px;
height: 500px;
border-style: solid;
border-color: #cccccc;
border-width: 0 0 0 1px;
}
.m-btn .l-btn-icon-top .m-btn-line,
.m-btn .l-btn-icon-bottom .m-btn-line {
left: 0;
bottom: 0;
width: 500px;
height: 16px;
border-width: 1px 0 0 0;
}
.m-btn-large .l-btn-icon-right .l-btn-text {
margin-right: 56px;
}
.m-btn-large .l-btn-icon-bottom .l-btn-text {
margin-bottom: 50px;
}
.m-btn-downarrow,
.s-btn-downarrow {
background: url('images/menu_arrows.png') no-repeat 0 center;
}
.m-btn-plain-active,
.s-btn-plain-active {
border-color: #555;
background-color: #777;
color: #fff;
}
.s-btn:hover .m-btn-line,
.s-btn-active .m-btn-line,
.s-btn-plain-active .m-btn-line {
display: inline-block;
}
.l-btn:hover .s-btn-downarrow,
.s-btn-active .s-btn-downarrow,
.s-btn-plain-active .s-btn-downarrow {
border-style: solid;
border-color: #cccccc;
border-width: 0 0 0 1px;
}
.switchbutton {
text-decoration: none;
display: inline-block;
overflow: hidden;
vertical-align: middle;
margin: 0;
padding: 0;
cursor: pointer;
background: #555;
border: 1px solid #555;
-moz-border-radius: 5px 5px 5px 5px;
-webkit-border-radius: 5px 5px 5px 5px;
border-radius: 5px 5px 5px 5px;
}
.switchbutton-inner {
display: inline-block;
overflow: hidden;
position: relative;
top: -1px;
left: -1px;
}
.switchbutton-on,
.switchbutton-off,
.switchbutton-handle {
display: inline-block;
text-align: center;
height: 100%;
float: left;
font-size: 12px;
-moz-border-radius: 5px 5px 5px 5px;
-webkit-border-radius: 5px 5px 5px 5px;
border-radius: 5px 5px 5px 5px;
}
.switchbutton-on {
background: #990000;
color: #fff;
}
.switchbutton-off {
background-color: #666;
color: #fff;
}
.switchbutton-on,
.switchbutton-reversed .switchbutton-off {
-moz-border-radius: 5px 0 0 5px;
-webkit-border-radius: 5px 0 0 5px;
border-radius: 5px 0 0 5px;
}
.switchbutton-off,
.switchbutton-reversed .switchbutton-on {
-moz-border-radius: 0 5px 5px 0;
-webkit-border-radius: 0 5px 5px 0;
border-radius: 0 5px 5px 0;
}
.switchbutton-handle {
position: absolute;
top: 0;
left: 50%;
background-color: #666;
color: #fff;
border: 1px solid #555;
-moz-box-shadow: 0 0 3px 0 #555;
-webkit-box-shadow: 0 0 3px 0 #555;
box-shadow: 0 0 3px 0 #555;
}
.switchbutton-value {
position: absolute;
top: 0;
left: -5000px;
}
.switchbutton-disabled {
opacity: 0.5;
filter: alpha(opacity=50);
}
.switchbutton-disabled,
.switchbutton-readonly {
cursor: default;
}
.messager-body {
padding: 10px 10px 30px 10px;
overflow: auto;
}
.messager-button {
text-align: center;
padding: 5px;
}
.messager-button .l-btn {
width: 70px;
}
.messager-icon {
float: left;
width: 32px;
height: 32px;
margin: 0 10px 10px 0;
}
.messager-error {
background: url('images/messager_icons.png') no-repeat scroll -64px 0;
}
.messager-info {
background: url('images/messager_icons.png') no-repeat scroll 0 0;
}
.messager-question {
background: url('images/messager_icons.png') no-repeat scroll -32px 0;
}
.messager-warning {
background: url('images/messager_icons.png') no-repeat scroll -96px 0;
}
.messager-progress {
padding: 10px;
}
.messager-p-msg {
margin-bottom: 5px;
}
.messager-body .messager-input {
width: 100%;
padding: 4px 0;
outline-style: none;
border: 1px solid #000;
}
.window-thinborder .messager-button {
padding-bottom: 8px;
}
.tree {
margin: 0;
padding: 0;
list-style-type: none;
}
.tree li {
white-space: nowrap;
}
.tree li ul {
list-style-type: none;
margin: 0;
padding: 0;
}
.tree-node {
height: 26px;
white-space: nowrap;
cursor: pointer;
}
.tree-hit {
cursor: pointer;
}
.tree-expanded,
.tree-collapsed,
.tree-folder,
.tree-file,
.tree-checkbox,
.tree-indent {
display: inline-block;
width: 16px;
height: 18px;
margin: 4px 0;
vertical-align: middle;
overflow: hidden;
}
.tree-expanded {
background: url('images/tree_icons.png') no-repeat -18px 0px;
}
.tree-expanded-hover {
background: url('images/tree_icons.png') no-repeat -50px 0px;
}
.tree-collapsed {
background: url('images/tree_icons.png') no-repeat 0px 0px;
}
.tree-collapsed-hover {
background: url('images/tree_icons.png') no-repeat -32px 0px;
}
.tree-lines .tree-expanded,
.tree-lines .tree-root-first .tree-expanded {
background: url('images/tree_icons.png') no-repeat -144px 0;
}
.tree-lines .tree-collapsed,
.tree-lines .tree-root-first .tree-collapsed {
background: url('images/tree_icons.png') no-repeat -128px 0;
}
.tree-lines .tree-node-last .tree-expanded,
.tree-lines .tree-root-one .tree-expanded {
background: url('images/tree_icons.png') no-repeat -80px 0;
}
.tree-lines .tree-node-last .tree-collapsed,
.tree-lines .tree-root-one .tree-collapsed {
background: url('images/tree_icons.png') no-repeat -64px 0;
}
.tree-line {
background: url('images/tree_icons.png') no-repeat -176px 0;
}
.tree-join {
background: url('images/tree_icons.png') no-repeat -192px 0;
}
.tree-joinbottom {
background: url('images/tree_icons.png') no-repeat -160px 0;
}
.tree-folder {
background: url('images/tree_icons.png') no-repeat -208px 0;
}
.tree-folder-open {
background: url('images/tree_icons.png') no-repeat -224px 0;
}
.tree-file {
background: url('images/tree_icons.png') no-repeat -240px 0;
}
.tree-loading {
background: url('images/loading.gif') no-repeat center center;
}
.tree-checkbox0 {
background: url('images/tree_icons.png') no-repeat -208px -18px;
}
.tree-checkbox1 {
background: url('images/tree_icons.png') no-repeat -224px -18px;
}
.tree-checkbox2 {
background: url('images/tree_icons.png') no-repeat -240px -18px;
}
.tree-title {
font-size: 12px;
display: inline-block;
text-decoration: none;
vertical-align: middle;
white-space: nowrap;
padding: 0 2px;
margin: 4px 0;
height: 18px;
line-height: 18px;
}
.tree-node-proxy {
font-size: 12px;
line-height: 20px;
padding: 0 2px 0 20px;
border-width: 1px;
border-style: solid;
z-index: 9900000;
}
.tree-dnd-icon {
display: inline-block;
position: absolute;
width: 16px;
height: 18px;
left: 2px;
top: 50%;
margin-top: -9px;
}
.tree-dnd-yes {
background: url('images/tree_icons.png') no-repeat -256px 0;
}
.tree-dnd-no {
background: url('images/tree_icons.png') no-repeat -256px -18px;
}
.tree-node-top {
border-top: 1px dotted red;
}
.tree-node-bottom {
border-bottom: 1px dotted red;
}
.tree-node-append .tree-title {
border: 1px dotted red;
}
.tree-editor {
border: 1px solid #000;
font-size: 12px;
height: 26px;
line-height: 26px;
padding: 0 4px;
margin: 0;
width: 80px;
outline-style: none;
vertical-align: middle;
position: absolute;
top: 0;
}
.tree-node-proxy {
background-color: #666;
color: #fff;
border-color: #000;
}
.tree-node-hover {
background: #777;
color: #fff;
}
.tree-node-selected {
background: #990000;
color: #fff;
}
.tree-node-hidden {
display: none;
}
.validatebox-invalid {
border-color: #ffa8a8;
background-color: #fff3f3;
color: #000;
}
.tooltip {
position: absolute;
display: none;
z-index: 9900000;
outline: none;
opacity: 1;
filter: alpha(opacity=100);
padding: 5px;
border-width: 1px;
border-style: solid;
border-radius: 5px;
-moz-border-radius: 5px 5px 5px 5px;
-webkit-border-radius: 5px 5px 5px 5px;
border-radius: 5px 5px 5px 5px;
}
.tooltip-content {
font-size: 12px;
}
.tooltip-arrow-outer,
.tooltip-arrow {
position: absolute;
width: 0;
height: 0;
line-height: 0;
font-size: 0;
border-style: solid;
border-width: 6px;
border-color: transparent;
_border-color: tomato;
_filter: chroma(color=tomato);
}
.tooltip-arrow {
display: none \9;
}
.tooltip-right .tooltip-arrow-outer {
left: 0;
top: 50%;
margin: -6px 0 0 -13px;
}
.tooltip-right .tooltip-arrow {
left: 0;
top: 50%;
margin: -6px 0 0 -12px;
}
.tooltip-left .tooltip-arrow-outer {
right: 0;
top: 50%;
margin: -6px -13px 0 0;
}
.tooltip-left .tooltip-arrow {
right: 0;
top: 50%;
margin: -6px -12px 0 0;
}
.tooltip-top .tooltip-arrow-outer {
bottom: 0;
left: 50%;
margin: 0 0 -13px -6px;
}
.tooltip-top .tooltip-arrow {
bottom: 0;
left: 50%;
margin: 0 0 -12px -6px;
}
.tooltip-bottom .tooltip-arrow-outer {
top: 0;
left: 50%;
margin: -13px 0 0 -6px;
}
.tooltip-bottom .tooltip-arrow {
top: 0;
left: 50%;
margin: -12px 0 0 -6px;
}
.tooltip {
background-color: #666;
border-color: #000;
color: #fff;
}
.tooltip-right .tooltip-arrow-outer {
border-right-color: #000;
}
.tooltip-right .tooltip-arrow {
border-right-color: #666;
}
.tooltip-left .tooltip-arrow-outer {
border-left-color: #000;
}
.tooltip-left .tooltip-arrow {
border-left-color: #666;
}
.tooltip-top .tooltip-arrow-outer {
border-top-color: #000;
}
.tooltip-top .tooltip-arrow {
border-top-color: #666;
}
.tooltip-bottom .tooltip-arrow-outer {
border-bottom-color: #000;
}
.tooltip-bottom .tooltip-arrow {
border-bottom-color: #666;
}
.radiobutton {
position: relative;
border: 2px solid #AA0000;
border-radius: 50%;
}
.radiobutton-inner {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
background: #AA0000;
border-radius: 50%;
transform: scale(.6);
}
.radiobutton-disabled {
opacity: 0.6;
}
.radiobutton-value {
position: absolute;
overflow: hidden;
width: 1px;
height: 1px;
left: -999px;
}
.checkbox {
position: relative;
border: 2px solid #AA0000;
-moz-border-radius: 5px 5px 5px 5px;
-webkit-border-radius: 5px 5px 5px 5px;
border-radius: 5px 5px 5px 5px;
}
.checkbox-checked {
border: 0;
background: #AA0000;
}
.checkbox-inner {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
}
.checkbox path {
stroke-width: 2px;
}
.checkbox-disabled {
opacity: 0.6;
}
.checkbox-value {
position: absolute;
overflow: hidden;
width: 1px;
height: 1px;
left: -999px;
}
\ No newline at end of file
/*! jQuery UI - v1.11.4 - 2015-11-06
* http://jqueryui.com
* Includes: core.css, draggable.css, resizable.css, selectable.css, sortable.css, accordion.css, autocomplete.css, button.css, datepicker.css, dialog.css, menu.css, progressbar.css, selectmenu.css, slider.css, spinner.css, tabs.css, tooltip.css, theme.css
* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Arial%2CHelvetica%2Csans-serif&fsDefault=1em&fwDefault=normal&cornerRadius=3px&bgColorHeader=e9e9e9&bgTextureHeader=flat&borderColorHeader=dddddd&fcHeader=333333&iconColorHeader=444444&bgColorContent=ffffff&bgTextureContent=flat&borderColorContent=dddddd&fcContent=333333&iconColorContent=444444&bgColorDefault=f6f6f6&bgTextureDefault=flat&borderColorDefault=c5c5c5&fcDefault=454545&iconColorDefault=777777&bgColorHover=ededed&bgTextureHover=flat&borderColorHover=cccccc&fcHover=2b2b2b&iconColorHover=555555&bgColorActive=007fff&bgTextureActive=flat&borderColorActive=003eff&fcActive=ffffff&iconColorActive=ffffff&bgColorHighlight=fffa90&bgTextureHighlight=flat&borderColorHighlight=dad55e&fcHighlight=777620&iconColorHighlight=777620&bgColorError=fddfdf&bgTextureError=flat&borderColorError=f1a899&fcError=5f3f3f&iconColorError=cc0000&bgColorOverlay=aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=666666&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=5px&offsetTopShadow=0px&offsetLeftShadow=0px&cornerRadiusShadow=8px
* Copyright jQuery Foundation and other contributors; Licensed MIT */
/* Layout helpers
----------------------------------*/
.ui-helper-hidden {
display: none;
}
.ui-helper-hidden-accessible {
border: 0;
clip: rect(0 0 0 0);
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute;
width: 1px;
}
.ui-helper-reset {
margin: 0;
padding: 0;
border: 0;
outline: 0;
line-height: 1.3;
text-decoration: none;
font-size: 100%;
list-style: none;
}
.ui-helper-clearfix:before,
.ui-helper-clearfix:after {
content: "";
display: table;
border-collapse: collapse;
}
.ui-helper-clearfix:after {
clear: both;
}
.ui-helper-clearfix {
min-height: 0; /* support: IE7 */
}
.ui-helper-zfix {
width: 100%;
height: 100%;
top: 0;
left: 0;
position: absolute;
opacity: 0;
filter:Alpha(Opacity=0); /* support: IE8 */
}
.ui-front {
z-index: 100;
}
/* Interaction Cues
----------------------------------*/
.ui-state-disabled {
cursor: default !important;
}
/* Icons
----------------------------------*/
/* states and images */
.ui-icon {
display: block;
text-indent: -99999px;
overflow: hidden;
background-repeat: no-repeat;
}
/* Misc visuals
----------------------------------*/
/* Overlays */
.ui-widget-overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.ui-draggable-handle {
-ms-touch-action: none;
touch-action: none;
}
.ui-resizable {
position: relative;
}
.ui-resizable-handle {
position: absolute;
font-size: 0.1px;
display: block;
-ms-touch-action: none;
touch-action: none;
}
.ui-resizable-disabled .ui-resizable-handle,
.ui-resizable-autohide .ui-resizable-handle {
display: none;
}
.ui-resizable-n {
cursor: n-resize;
height: 7px;
width: 100%;
top: -5px;
left: 0;
}
.ui-resizable-s {
cursor: s-resize;
height: 7px;
width: 100%;
bottom: -5px;
left: 0;
}
.ui-resizable-e {
cursor: e-resize;
width: 7px;
right: -5px;
top: 0;
height: 100%;
}
.ui-resizable-w {
cursor: w-resize;
width: 7px;
left: -5px;
top: 0;
height: 100%;
}
.ui-resizable-se {
cursor: se-resize;
width: 12px;
height: 12px;
right: 1px;
bottom: 1px;
}
.ui-resizable-sw {
cursor: sw-resize;
width: 9px;
height: 9px;
left: -5px;
bottom: -5px;
}
.ui-resizable-nw {
cursor: nw-resize;
width: 9px;
height: 9px;
left: -5px;
top: -5px;
}
.ui-resizable-ne {
cursor: ne-resize;
width: 9px;
height: 9px;
right: -5px;
top: -5px;
}
.ui-selectable {
-ms-touch-action: none;
touch-action: none;
}
.ui-selectable-helper {
position: absolute;
z-index: 100;
border: 1px dotted black;
}
.ui-sortable-handle {
-ms-touch-action: none;
touch-action: none;
}
.ui-accordion .ui-accordion-header {
display: block;
cursor: pointer;
position: relative;
margin: 2px 0 0 0;
padding: .5em .5em .5em .7em;
min-height: 0; /* support: IE7 */
font-size: 100%;
}
.ui-accordion .ui-accordion-icons {
padding-left: 2.2em;
}
.ui-accordion .ui-accordion-icons .ui-accordion-icons {
padding-left: 2.2em;
}
.ui-accordion .ui-accordion-header .ui-accordion-header-icon {
position: absolute;
left: .5em;
top: 50%;
margin-top: -8px;
}
.ui-accordion .ui-accordion-content {
padding: 1em 2.2em;
border-top: 0;
overflow: auto;
}
.ui-autocomplete {
position: absolute;
top: 0;
left: 0;
cursor: default;
}
.ui-button {
display: inline-block;
position: relative;
padding: 0;
line-height: normal;
margin-right: .1em;
cursor: pointer;
vertical-align: middle;
text-align: center;
overflow: visible; /* removes extra width in IE */
}
.ui-button,
.ui-button:link,
.ui-button:visited,
.ui-button:hover,
.ui-button:active {
text-decoration: none;
}
/* to make room for the icon, a width needs to be set here */
.ui-button-icon-only {
width: 2.2em;
}
/* button elements seem to need a little more width */
button.ui-button-icon-only {
width: 2.4em;
}
.ui-button-icons-only {
width: 3.4em;
}
button.ui-button-icons-only {
width: 3.7em;
}
/* button text element */
.ui-button .ui-button-text {
display: block;
line-height: normal;
}
.ui-button-text-only .ui-button-text {
padding: .4em 1em;
}
.ui-button-icon-only .ui-button-text,
.ui-button-icons-only .ui-button-text {
padding: .4em;
text-indent: -9999999px;
}
.ui-button-text-icon-primary .ui-button-text,
.ui-button-text-icons .ui-button-text {
padding: .4em 1em .4em 2.1em;
}
.ui-button-text-icon-secondary .ui-button-text,
.ui-button-text-icons .ui-button-text {
padding: .4em 2.1em .4em 1em;
}
.ui-button-text-icons .ui-button-text {
padding-left: 2.1em;
padding-right: 2.1em;
}
/* no icon support for input elements, provide padding by default */
input.ui-button {
padding: .4em 1em;
}
/* button icon element(s) */
.ui-button-icon-only .ui-icon,
.ui-button-text-icon-primary .ui-icon,
.ui-button-text-icon-secondary .ui-icon,
.ui-button-text-icons .ui-icon,
.ui-button-icons-only .ui-icon {
position: absolute;
top: 50%;
margin-top: -8px;
}
.ui-button-icon-only .ui-icon {
left: 50%;
margin-left: -8px;
}
.ui-button-text-icon-primary .ui-button-icon-primary,
.ui-button-text-icons .ui-button-icon-primary,
.ui-button-icons-only .ui-button-icon-primary {
left: .5em;
}
.ui-button-text-icon-secondary .ui-button-icon-secondary,
.ui-button-text-icons .ui-button-icon-secondary,
.ui-button-icons-only .ui-button-icon-secondary {
right: .5em;
}
/* button sets */
.ui-buttonset {
margin-right: 7px;
}
.ui-buttonset .ui-button {
margin-left: 0;
margin-right: -.3em;
}
/* workarounds */
/* reset extra padding in Firefox, see h5bp.com/l */
input.ui-button::-moz-focus-inner,
button.ui-button::-moz-focus-inner {
border: 0;
padding: 0;
}
.ui-datepicker {
width: 10em;
padding: .2em .2em 0;
display: none;
}
.ui-datepicker .ui-datepicker-header {
position: relative;
padding: .2em 0;
}
.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
position: absolute;
top: 2px;
width: 1.8em;
height: 1.8em;
}
.ui-datepicker .ui-datepicker-prev-hover,
.ui-datepicker .ui-datepicker-next-hover {
top: 1px;
}
.ui-datepicker .ui-datepicker-prev {
left: 2px;
}
.ui-datepicker .ui-datepicker-next {
right: 2px;
}
.ui-datepicker .ui-datepicker-prev-hover {
left: 1px;
}
.ui-datepicker .ui-datepicker-next-hover {
right: 1px;
}
.ui-datepicker .ui-datepicker-prev span,
.ui-datepicker .ui-datepicker-next span {
display: block;
position: absolute;
left: 50%;
margin-left: -8px;
top: 50%;
margin-top: -8px;
}
.ui-datepicker .ui-datepicker-title {
margin: 0 2.3em;
line-height: 1.8em;
text-align: center;
}
.ui-datepicker .ui-datepicker-title select {
font-size: 1em;
margin: 1px 0;
}
.ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year {
width: 45%;
}
.ui-datepicker table {
width: 100%;
font-size: .9em;
border-collapse: collapse;
margin: 0 0 .4em;
}
.ui-datepicker th {
padding: .7em .3em;
text-align: center;
font-weight: bold;
border: 0;
}
.ui-datepicker td {
border: 0;
padding: 1px;
}
.ui-datepicker td span,
.ui-datepicker td a {
display: block;
padding: .2em;
text-align: right;
text-decoration: none;
}
.ui-datepicker .ui-datepicker-buttonpane {
background-image: none;
margin: .7em 0 0 0;
padding: 0 .2em;
border-left: 0;
border-right: 0;
border-bottom: 0;
}
.ui-datepicker .ui-datepicker-buttonpane button {
float: right;
margin: .5em .2em .4em;
cursor: pointer;
padding: .2em .6em .3em .6em;
width: auto;
overflow: visible;
}
.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
float: left;
}
/* with multiple calendars */
.ui-datepicker.ui-datepicker-multi {
width: auto;
}
.ui-datepicker-multi .ui-datepicker-group {
float: left;
}
.ui-datepicker-multi .ui-datepicker-group table {
width: 95%;
margin: 0 auto .4em;
}
.ui-datepicker-multi-2 .ui-datepicker-group {
width: 50%;
}
.ui-datepicker-multi-3 .ui-datepicker-group {
width: 33.3%;
}
.ui-datepicker-multi-4 .ui-datepicker-group {
width: 25%;
}
.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,
.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {
border-left-width: 0;
}
.ui-datepicker-multi .ui-datepicker-buttonpane {
clear: left;
}
.ui-datepicker-row-break {
clear: both;
width: 100%;
font-size: 0;
}
/* RTL support */
.ui-datepicker-rtl {
direction: rtl;
}
.ui-datepicker-rtl .ui-datepicker-prev {
right: 2px;
left: auto;
}
.ui-datepicker-rtl .ui-datepicker-next {
left: 2px;
right: auto;
}
.ui-datepicker-rtl .ui-datepicker-prev:hover {
right: 1px;
left: auto;
}
.ui-datepicker-rtl .ui-datepicker-next:hover {
left: 1px;
right: auto;
}
.ui-datepicker-rtl .ui-datepicker-buttonpane {
clear: right;
}
.ui-datepicker-rtl .ui-datepicker-buttonpane button {
float: left;
}
.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,
.ui-datepicker-rtl .ui-datepicker-group {
float: right;
}
.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,
.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {
border-right-width: 0;
border-left-width: 1px;
}
.ui-dialog {
overflow: hidden;
position: absolute;
top: 0;
left: 0;
padding: .2em;
outline: 0;
}
.ui-dialog .ui-dialog-titlebar {
padding: .4em 1em;
position: relative;
}
.ui-dialog .ui-dialog-title {
float: left;
margin: .1em 0;
white-space: nowrap;
width: 90%;
overflow: hidden;
text-overflow: ellipsis;
}
.ui-dialog .ui-dialog-titlebar-close {
position: absolute;
right: .3em;
top: 50%;
width: 20px;
margin: -10px 0 0 0;
padding: 1px;
height: 20px;
}
.ui-dialog .ui-dialog-content {
position: relative;
border: 0;
padding: .5em 1em;
background: none;
overflow: auto;
}
.ui-dialog .ui-dialog-buttonpane {
text-align: left;
border-width: 1px 0 0 0;
background-image: none;
margin-top: .5em;
padding: .3em 1em .5em .4em;
}
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
float: right;
}
.ui-dialog .ui-dialog-buttonpane button {
margin: .5em .4em .5em 0;
cursor: pointer;
}
.ui-dialog .ui-resizable-se {
width: 12px;
height: 12px;
right: -5px;
bottom: -5px;
background-position: 16px 16px;
}
.ui-draggable .ui-dialog-titlebar {
cursor: move;
}
.ui-menu {
list-style: none;
padding: 0;
margin: 0;
display: block;
outline: none;
}
.ui-menu .ui-menu {
position: absolute;
}
.ui-menu .ui-menu-item {
position: relative;
margin: 0;
padding: 3px 1em 3px .4em;
cursor: pointer;
min-height: 0; /* support: IE7 */
/* support: IE10, see #8844 */
list-style-image: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7");
}
.ui-menu .ui-menu-divider {
margin: 5px 0;
height: 0;
font-size: 0;
line-height: 0;
border-width: 1px 0 0 0;
}
.ui-menu .ui-state-focus,
.ui-menu .ui-state-active {
margin: -1px;
}
/* icon support */
.ui-menu-icons {
position: relative;
}
.ui-menu-icons .ui-menu-item {
padding-left: 2em;
}
/* left-aligned */
.ui-menu .ui-icon {
position: absolute;
top: 0;
bottom: 0;
left: .2em;
margin: auto 0;
}
/* right-aligned */
.ui-menu .ui-menu-icon {
left: auto;
right: 0;
}
.ui-progressbar {
height: 2em;
text-align: left;
overflow: hidden;
}
.ui-progressbar .ui-progressbar-value {
margin: -1px;
height: 100%;
}
.ui-progressbar .ui-progressbar-overlay {
background: url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw==");
height: 100%;
filter: alpha(opacity=25); /* support: IE8 */
opacity: 0.25;
}
.ui-progressbar-indeterminate .ui-progressbar-value {
background-image: none;
}
.ui-selectmenu-menu {
padding: 0;
margin: 0;
position: absolute;
top: 0;
left: 0;
display: none;
}
.ui-selectmenu-menu .ui-menu {
overflow: auto;
/* Support: IE7 */
overflow-x: hidden;
padding-bottom: 1px;
}
.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup {
font-size: 1em;
font-weight: bold;
line-height: 1.5;
padding: 2px 0.4em;
margin: 0.5em 0 0 0;
height: auto;
border: 0;
}
.ui-selectmenu-open {
display: block;
}
.ui-selectmenu-button {
display: inline-block;
overflow: hidden;
position: relative;
text-decoration: none;
cursor: pointer;
}
.ui-selectmenu-button span.ui-icon {
right: 0.5em;
left: auto;
margin-top: -8px;
position: absolute;
top: 50%;
}
.ui-selectmenu-button span.ui-selectmenu-text {
text-align: left;
padding: 0.4em 2.1em 0.4em 1em;
display: block;
line-height: 1.4;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.ui-slider {
position: relative;
text-align: left;
}
.ui-slider .ui-slider-handle {
position: absolute;
z-index: 2;
width: 1.2em;
height: 1.2em;
cursor: default;
-ms-touch-action: none;
touch-action: none;
}
.ui-slider .ui-slider-range {
position: absolute;
z-index: 1;
font-size: .7em;
display: block;
border: 0;
background-position: 0 0;
}
/* support: IE8 - See #6727 */
.ui-slider.ui-state-disabled .ui-slider-handle,
.ui-slider.ui-state-disabled .ui-slider-range {
filter: inherit;
}
.ui-slider-horizontal {
height: .8em;
}
.ui-slider-horizontal .ui-slider-handle {
top: -.3em;
margin-left: -.6em;
}
.ui-slider-horizontal .ui-slider-range {
top: 0;
height: 100%;
}
.ui-slider-horizontal .ui-slider-range-min {
left: 0;
}
.ui-slider-horizontal .ui-slider-range-max {
right: 0;
}
.ui-slider-vertical {
width: .8em;
height: 100px;
}
.ui-slider-vertical .ui-slider-handle {
left: -.3em;
margin-left: 0;
margin-bottom: -.6em;
}
.ui-slider-vertical .ui-slider-range {
left: 0;
width: 100%;
}
.ui-slider-vertical .ui-slider-range-min {
bottom: 0;
}
.ui-slider-vertical .ui-slider-range-max {
top: 0;
}
.ui-spinner {
position: relative;
display: inline-block;
overflow: hidden;
padding: 0;
vertical-align: middle;
}
.ui-spinner-input {
border: none;
background: none;
color: inherit;
padding: 0;
margin: .2em 0;
vertical-align: middle;
margin-left: .4em;
margin-right: 22px;
}
.ui-spinner-button {
width: 16px;
height: 50%;
font-size: .5em;
padding: 0;
margin: 0;
text-align: center;
position: absolute;
cursor: default;
display: block;
overflow: hidden;
right: 0;
}
/* more specificity required here to override default borders */
.ui-spinner a.ui-spinner-button {
border-top: none;
border-bottom: none;
border-right: none;
}
/* vertically center icon */
.ui-spinner .ui-icon {
position: absolute;
margin-top: -8px;
top: 50%;
left: 0;
}
.ui-spinner-up {
top: 0;
}
.ui-spinner-down {
bottom: 0;
}
/* TR overrides */
.ui-spinner .ui-icon-triangle-1-s {
/* need to fix icons sprite */
background-position: -65px -16px;
}
.ui-tabs {
position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
padding: .2em;
}
.ui-tabs .ui-tabs-nav {
margin: 0;
padding: .2em .2em 0;
}
.ui-tabs .ui-tabs-nav li {
list-style: none;
float: left;
position: relative;
top: 0;
margin: 1px .2em 0 0;
border-bottom-width: 0;
padding: 0;
white-space: nowrap;
}
.ui-tabs .ui-tabs-nav .ui-tabs-anchor {
float: left;
padding: .5em 1em;
text-decoration: none;
}
.ui-tabs .ui-tabs-nav li.ui-tabs-active {
margin-bottom: -1px;
padding-bottom: 1px;
}
.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,
.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,
.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor {
cursor: text;
}
.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor {
cursor: pointer;
}
.ui-tabs .ui-tabs-panel {
display: block;
border-width: 0;
padding: 1em 1.4em;
background: none;
}
.ui-tooltip {
padding: 8px;
position: absolute;
z-index: 9999;
max-width: 300px;
-webkit-box-shadow: 0 0 5px #aaa;
box-shadow: 0 0 5px #aaa;
}
body .ui-tooltip {
border-width: 2px;
}
/* Component containers
----------------------------------*/
.ui-widget {
font-family: Arial,Helvetica,sans-serif;
font-size: 1em;
}
.ui-widget .ui-widget {
font-size: 1em;
}
.ui-widget input,
.ui-widget select,
.ui-widget textarea,
.ui-widget button {
font-family: Arial,Helvetica,sans-serif;
font-size: 1em;
}
.ui-widget-content {
border: 1px solid #dddddd;
background: #ffffff;
color: #333333;
}
.ui-widget-content a {
color: #333333;
}
.ui-widget-header {
border: 1px solid #dddddd;
background: #e9e9e9;
color: #333333;
font-weight: bold;
}
.ui-widget-header a {
color: #333333;
}
/* Interaction states
----------------------------------*/
.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default {
border: 1px solid #c5c5c5;
background: #f6f6f6;
font-weight: normal;
color: #454545;
}
.ui-state-default a,
.ui-state-default a:link,
.ui-state-default a:visited {
color: #454545;
text-decoration: none;
}
.ui-state-hover,
.ui-widget-content .ui-state-hover,
.ui-widget-header .ui-state-hover,
.ui-state-focus,
.ui-widget-content .ui-state-focus,
.ui-widget-header .ui-state-focus {
border: 1px solid #cccccc;
background: #ededed;
font-weight: normal;
color: #2b2b2b;
}
.ui-state-hover a,
.ui-state-hover a:hover,
.ui-state-hover a:link,
.ui-state-hover a:visited,
.ui-state-focus a,
.ui-state-focus a:hover,
.ui-state-focus a:link,
.ui-state-focus a:visited {
color: #2b2b2b;
text-decoration: none;
}
.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active {
border: 1px solid #003eff;
background: #007fff;
font-weight: normal;
color: #ffffff;
}
.ui-state-active a,
.ui-state-active a:link,
.ui-state-active a:visited {
color: #ffffff;
text-decoration: none;
}
/* Interaction Cues
----------------------------------*/
.ui-state-highlight,
.ui-widget-content .ui-state-highlight,
.ui-widget-header .ui-state-highlight {
border: 1px solid #dad55e;
background: #fffa90;
color: #777620;
}
.ui-state-highlight a,
.ui-widget-content .ui-state-highlight a,
.ui-widget-header .ui-state-highlight a {
color: #777620;
}
.ui-state-error,
.ui-widget-content .ui-state-error,
.ui-widget-header .ui-state-error {
border: 1px solid #f1a899;
background: #fddfdf;
color: #5f3f3f;
}
.ui-state-error a,
.ui-widget-content .ui-state-error a,
.ui-widget-header .ui-state-error a {
color: #5f3f3f;
}
.ui-state-error-text,
.ui-widget-content .ui-state-error-text,
.ui-widget-header .ui-state-error-text {
color: #5f3f3f;
}
.ui-priority-primary,
.ui-widget-content .ui-priority-primary,
.ui-widget-header .ui-priority-primary {
font-weight: bold;
}
.ui-priority-secondary,
.ui-widget-content .ui-priority-secondary,
.ui-widget-header .ui-priority-secondary {
opacity: .7;
filter:Alpha(Opacity=70); /* support: IE8 */
font-weight: normal;
}
.ui-state-disabled,
.ui-widget-content .ui-state-disabled,
.ui-widget-header .ui-state-disabled {
opacity: .35;
filter:Alpha(Opacity=35); /* support: IE8 */
background-image: none;
}
.ui-state-disabled .ui-icon {
filter:Alpha(Opacity=35); /* support: IE8 - See #6059 */
}
/* Icons
----------------------------------*/
/* states and images */
.ui-icon {
width: 16px;
height: 16px;
}
.ui-icon,
.ui-widget-content .ui-icon {
background-image: url("../js/jquery-ui-1.11.4.custom/images/ui-icons_444444_256x240.png");
}
.ui-widget-header .ui-icon {
background-image: url("../js/jquery-ui-1.11.4.custom/images/ui-icons_444444_256x240.png");
}
.ui-state-default .ui-icon {
background-image: url("../js/jquery-ui-1.11.4.custom/images/ui-icons_777777_256x240.png");
}
.ui-state-hover .ui-icon,
.ui-state-focus .ui-icon {
background-image: url("../js/jquery-ui-1.11.4.custom/images/ui-icons_555555_256x240.png");
}
.ui-state-active .ui-icon {
background-image: url("../js/jquery-ui-1.11.4.custom/images/ui-icons_ffffff_256x240.png");
}
.ui-state-highlight .ui-icon {
background-image: url("../js/jquery-ui-1.11.4.custom/images/ui-icons_777620_256x240.png");
}
.ui-state-error .ui-icon,
.ui-state-error-text .ui-icon {
background-image: url("../js/jquery-ui-1.11.4.custom/images/ui-icons_cc0000_256x240.png");
}
/* positioning */
.ui-icon-blank { background-position: 16px 16px; }
.ui-icon-carat-1-n { background-position: 0 0; }
.ui-icon-carat-1-ne { background-position: -16px 0; }
.ui-icon-carat-1-e { background-position: -32px 0; }
.ui-icon-carat-1-se { background-position: -48px 0; }
.ui-icon-carat-1-s { background-position: -64px 0; }
.ui-icon-carat-1-sw { background-position: -80px 0; }
.ui-icon-carat-1-w { background-position: -96px 0; }
.ui-icon-carat-1-nw { background-position: -112px 0; }
.ui-icon-carat-2-n-s { background-position: -128px 0; }
.ui-icon-carat-2-e-w { background-position: -144px 0; }
.ui-icon-triangle-1-n { background-position: 0 -16px; }
.ui-icon-triangle-1-ne { background-position: -16px -16px; }
.ui-icon-triangle-1-e { background-position: -32px -16px; }
.ui-icon-triangle-1-se { background-position: -48px -16px; }
.ui-icon-triangle-1-s { background-position: -64px -16px; }
.ui-icon-triangle-1-sw { background-position: -80px -16px; }
.ui-icon-triangle-1-w { background-position: -96px -16px; }
.ui-icon-triangle-1-nw { background-position: -112px -16px; }
.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
.ui-icon-arrow-1-n { background-position: 0 -32px; }
.ui-icon-arrow-1-ne { background-position: -16px -32px; }
.ui-icon-arrow-1-e { background-position: -32px -32px; }
.ui-icon-arrow-1-se { background-position: -48px -32px; }
.ui-icon-arrow-1-s { background-position: -64px -32px; }
.ui-icon-arrow-1-sw { background-position: -80px -32px; }
.ui-icon-arrow-1-w { background-position: -96px -32px; }
.ui-icon-arrow-1-nw { background-position: -112px -32px; }
.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
.ui-icon-arrow-4 { background-position: 0 -80px; }
.ui-icon-arrow-4-diag { background-position: -16px -80px; }
.ui-icon-extlink { background-position: -32px -80px; }
.ui-icon-newwin { background-position: -48px -80px; }
.ui-icon-refresh { background-position: -64px -80px; }
.ui-icon-shuffle { background-position: -80px -80px; }
.ui-icon-transfer-e-w { background-position: -96px -80px; }
.ui-icon-transferthick-e-w { background-position: -112px -80px; }
.ui-icon-folder-collapsed { background-position: 0 -96px; }
.ui-icon-folder-open { background-position: -16px -96px; }
.ui-icon-document { background-position: -32px -96px; }
.ui-icon-document-b { background-position: -48px -96px; }
.ui-icon-note { background-position: -64px -96px; }
.ui-icon-mail-closed { background-position: -80px -96px; }
.ui-icon-mail-open { background-position: -96px -96px; }
.ui-icon-suitcase { background-position: -112px -96px; }
.ui-icon-comment { background-position: -128px -96px; }
.ui-icon-person { background-position: -144px -96px; }
.ui-icon-print { background-position: -160px -96px; }
.ui-icon-trash { background-position: -176px -96px; }
.ui-icon-locked { background-position: -192px -96px; }
.ui-icon-unlocked { background-position: -208px -96px; }
.ui-icon-bookmark { background-position: -224px -96px; }
.ui-icon-tag { background-position: -240px -96px; }
.ui-icon-home { background-position: 0 -112px; }
.ui-icon-flag { background-position: -16px -112px; }
.ui-icon-calendar { background-position: -32px -112px; }
.ui-icon-cart { background-position: -48px -112px; }
.ui-icon-pencil { background-position: -64px -112px; }
.ui-icon-clock { background-position: -80px -112px; }
.ui-icon-disk { background-position: -96px -112px; }
.ui-icon-calculator { background-position: -112px -112px; }
.ui-icon-zoomin { background-position: -128px -112px; }
.ui-icon-zoomout { background-position: -144px -112px; }
.ui-icon-search { background-position: -160px -112px; }
.ui-icon-wrench { background-position: -176px -112px; }
.ui-icon-gear { background-position: -192px -112px; }
.ui-icon-heart { background-position: -208px -112px; }
.ui-icon-star { background-position: -224px -112px; }
.ui-icon-link { background-position: -240px -112px; }
.ui-icon-cancel { background-position: 0 -128px; }
.ui-icon-plus { background-position: -16px -128px; }
.ui-icon-plusthick { background-position: -32px -128px; }
.ui-icon-minus { background-position: -48px -128px; }
.ui-icon-minusthick { background-position: -64px -128px; }
.ui-icon-close { background-position: -80px -128px; }
.ui-icon-closethick { background-position: -96px -128px; }
.ui-icon-key { background-position: -112px -128px; }
.ui-icon-lightbulb { background-position: -128px -128px; }
.ui-icon-scissors { background-position: -144px -128px; }
.ui-icon-clipboard { background-position: -160px -128px; }
.ui-icon-copy { background-position: -176px -128px; }
.ui-icon-contact { background-position: -192px -128px; }
.ui-icon-image { background-position: -208px -128px; }
.ui-icon-video { background-position: -224px -128px; }
.ui-icon-script { background-position: -240px -128px; }
.ui-icon-alert { background-position: 0 -144px; }
.ui-icon-info { background-position: -16px -144px; }
.ui-icon-notice { background-position: -32px -144px; }
.ui-icon-help { background-position: -48px -144px; }
.ui-icon-check { background-position: -64px -144px; }
.ui-icon-bullet { background-position: -80px -144px; }
.ui-icon-radio-on { background-position: -96px -144px; }
.ui-icon-radio-off { background-position: -112px -144px; }
.ui-icon-pin-w { background-position: -128px -144px; }
.ui-icon-pin-s { background-position: -144px -144px; }
.ui-icon-play { background-position: 0 -160px; }
.ui-icon-pause { background-position: -16px -160px; }
.ui-icon-seek-next { background-position: -32px -160px; }
.ui-icon-seek-prev { background-position: -48px -160px; }
.ui-icon-seek-end { background-position: -64px -160px; }
.ui-icon-seek-start { background-position: -80px -160px; }
/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
.ui-icon-seek-first { background-position: -80px -160px; }
.ui-icon-stop { background-position: -96px -160px; }
.ui-icon-eject { background-position: -112px -160px; }
.ui-icon-volume-off { background-position: -128px -160px; }
.ui-icon-volume-on { background-position: -144px -160px; }
.ui-icon-power { background-position: 0 -176px; }
.ui-icon-signal-diag { background-position: -16px -176px; }
.ui-icon-signal { background-position: -32px -176px; }
.ui-icon-battery-0 { background-position: -48px -176px; }
.ui-icon-battery-1 { background-position: -64px -176px; }
.ui-icon-battery-2 { background-position: -80px -176px; }
.ui-icon-battery-3 { background-position: -96px -176px; }
.ui-icon-circle-plus { background-position: 0 -192px; }
.ui-icon-circle-minus { background-position: -16px -192px; }
.ui-icon-circle-close { background-position: -32px -192px; }
.ui-icon-circle-triangle-e { background-position: -48px -192px; }
.ui-icon-circle-triangle-s { background-position: -64px -192px; }
.ui-icon-circle-triangle-w { background-position: -80px -192px; }
.ui-icon-circle-triangle-n { background-position: -96px -192px; }
.ui-icon-circle-arrow-e { background-position: -112px -192px; }
.ui-icon-circle-arrow-s { background-position: -128px -192px; }
.ui-icon-circle-arrow-w { background-position: -144px -192px; }
.ui-icon-circle-arrow-n { background-position: -160px -192px; }
.ui-icon-circle-zoomin { background-position: -176px -192px; }
.ui-icon-circle-zoomout { background-position: -192px -192px; }
.ui-icon-circle-check { background-position: -208px -192px; }
.ui-icon-circlesmall-plus { background-position: 0 -208px; }
.ui-icon-circlesmall-minus { background-position: -16px -208px; }
.ui-icon-circlesmall-close { background-position: -32px -208px; }
.ui-icon-squaresmall-plus { background-position: -48px -208px; }
.ui-icon-squaresmall-minus { background-position: -64px -208px; }
.ui-icon-squaresmall-close { background-position: -80px -208px; }
.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
/* Misc visuals
----------------------------------*/
/* Corner radius */
.ui-corner-all,
.ui-corner-top,
.ui-corner-left,
.ui-corner-tl {
border-top-left-radius: 3px;
}
.ui-corner-all,
.ui-corner-top,
.ui-corner-right,
.ui-corner-tr {
border-top-right-radius: 3px;
}
.ui-corner-all,
.ui-corner-bottom,
.ui-corner-left,
.ui-corner-bl {
border-bottom-left-radius: 3px;
}
.ui-corner-all,
.ui-corner-bottom,
.ui-corner-right,
.ui-corner-br {
border-bottom-right-radius: 3px;
}
/* Overlays */
.ui-widget-overlay {
background: #aaaaaa;
opacity: .3;
filter: Alpha(Opacity=30); /* support: IE8 */
}
.ui-widget-shadow {
margin: 0px 0 0 0px;
padding: 5px;
background: #666666;
opacity: .3;
filter: Alpha(Opacity=30); /* support: IE8 */
border-radius: 8px;
}
body,html{width:100%;height:100%;margin:0px;padding:0px;font-size:12px;color:#555;background-color:#000;font-family:'微软雅黑'}
#main{width:4352px;height:1536px;display:inline-block; background:url(../images/screenbg_design1.jpg) left top no-repeat}
/*年月日文字*/
#currentYear{width:213px;height:107px;position:absolute;left:430px;top:100px;color:#FFF;font-size:36px; font-family:'微软雅黑';text-align:center}
#currentMonth{width:213px;height:107px;position:absolute;left:1504px;top:75px;color:#FFF;font-size:36px; font-family:'微软雅黑';text-align:center}
#currentDay{width:213px;height:107px;position:absolute;left:2574px;top:100px;color:#FFF;font-size:36px; font-family:'微软雅黑';text-align:center}
/*年的进度条*/
#y_gauge1{width:250px;height:250px;position:absolute;left:60px;top:200px;}
#y_gauge2{width:250px;height:250px;position:absolute;left:290px;top:200px;}
#y_gauge3{width:250px;height:250px;position:absolute;left:530px;top:200px;}
#y_gauge4{width:250px;height:250px;position:absolute;left:770px;top:200px;}
/*月的进度条*/
#m_gauge1{width:250px;height:250px;position:absolute;left:1140px;top:130px;}
#m_gauge2{width:250px;height:250px;position:absolute;left:1370px;top:130px;}
#m_gauge3{width:250px;height:250px;position:absolute;left:1610px;top:130px;}
#m_gauge4{width:250px;height:250px;position:absolute;left:1850px;top:130px;}
/*日的进度条*/
#d_gauge1{width:250px;height:250px;position:absolute;left:2210px;top:200px;}
#d_gauge2{width:250px;height:250px;position:absolute;left:2440px;top:200px;}
#d_gauge3{width:250px;height:250px;position:absolute;left:2680px;top:200px;}
#d_gauge4{width:250px;height:250px;position:absolute;left:2920px;top:200px;}
/*监控的仪表盘*/
#gauge1{width:250px;height:250px;position:absolute;left:2200px;top:1050px;}
#gauge2{width:250px;height:250px;position:absolute;left:2550px;top:1050px;}
#gauge3{width:250px;height:250px;position:absolute;left:2910px;top:1050px;}
#gauge4{width:250px;height:250px;position:absolute;left:2380px;top:1190px;}
#gauge5{width:250px;height:250px;position:absolute;left:2730px;top:1190px;}
/*仪表盘文字*/
.gaugeTitle{width:250px;height:40px;position:absolute;left:0px;top:200px;color:#B7E1FF;font-size:24px;display:inline-block;text-align:center;font-family:Arial;}
/*地图*/
#map{width:1100px;height:800px;position:absolute;left:0px;top:620px;display:inline-block;color:#E1E1E1;font-size:24px;}
#plan{width:900px;height:420px;position:absolute;left:1170px;top:520px;display:inline-block;color:#E1E1E1;font-size:24px;}
#quality{width:900px;height:420px;position:absolute;left:1170px;top:1030px;display:inline-block;color:#E1E1E1;font-size:24px;}
#orderTable{width:1000px;height:430px;position:absolute;left:2160px;top:930px;display:inline-block}
#orderTable table{width:100%;color:#666;font-size:24px}
#orderTable table td{text-align:center;}
#orderTable table .head{height:80px;font-size:24px;color:#FFF}
#orderTable table .row2{color:#000}
#orderTable table .row1{background-color:#CCC}
#orderMessage{width:800px;position:absolute;left:33px;top:1420px;display:inline-block;color:#E1E1E1;font-size:24px}
/*生产情况展示表*/
#produce{width:1000px;height:380px;position:absolute;left:2190px;top:600px;display:inline-block;color:#B7E2FF;font-size:24px;}
#produce table{width:100%;font-size:24px;}
#produce table td{text-align:center;border:1px solid #069}
#produce table .row1{}
#produce table .row2{}
/*视频*/
#video{width:960px;height:540px;position:absolute;left:3280px;top:140px;display:inline-block;}
/*监控视频*/
#Monitor{width:960px;height:540px;position:absolute;left:3280px;top:940px;display:inline-block;color:#E1E1E1;font-size:24px;}
/*刷新时间*/
#refresh{width:800px;position:absolute;left:3350px;top:40px;display:inline-block;color:#FFF;font-size:24px;}
\ No newline at end of file
body,html{width:100%;height:100%;margin:0px;padding:0px;font-size:12px;color:#555;background-color:#000;font-family:'微软雅黑'}
#main{width:4352px;height:1536px;display:inline-block; background:url(../images/war_room_main.jpg) left top no-repeat}
/*下钻按钮*/
.contentButton{width:218px;height:100px;position:absolute;}
.contentButton a{width:218px;height:100px;display:inline-block; background:url(../images/content_comm.png) no-repeat top left}
.contentButton a:hover{width:218px;height:100px;display:inline-block; background:url(../images/content_down.png) no-repeat top left}
.contentButton .a1{width:218px;height:100px;display:inline-block; background:url(../images/content_comm1.png) no-repeat top left}
.contentButton .a1:hover{width:218px;height:100px;display:inline-block; background:url(../images/content_down1.png) no-repeat top left}
/*弹出窗口*/
#popWindow{width:2200px;height:1000px;display:inline-block;position:absolute;top:240px;left:1070px;background-color:#06274A;border:1px solid #09f}
/*年的进度条*/
#y_gauge1{width:250px;height:250px;position:absolute;left:60px;top:200px;}
#y_gauge2{width:250px;height:250px;position:absolute;left:290px;top:200px;}
#y_gauge3{width:250px;height:250px;position:absolute;left:530px;top:200px;}
#y_gauge4{width:250px;height:250px;position:absolute;left:770px;top:200px;}
/*螺旋DNA*/
#orderStatus{width:1000px;height:320px;position:absolute;left:80px;top:460px;}
/*监控的仪表盘*/
#gauge1{width:250px;height:250px;position:absolute;left:2200px;top:280px;}
#gauge2{width:250px;height:250px;position:absolute;left:2550px;top:280px;}
#gauge3{width:250px;height:250px;position:absolute;left:2910px;top:280px;}
#gauge4{width:250px;height:250px;position:absolute;left:2380px;top:550px;}
#gauge5{width:250px;height:250px;position:absolute;left:2730px;top:550px;}
/*仪表盘文字*/
.gaugeTitle{width:250px;height:40px;position:absolute;left:0px;top:200px;color:#B7E1FF;font-size:24px;display:inline-block;text-align:center;font-family:Arial;}
/*地图*/
#map{width:1100px;height:800px;position:absolute;left:1080px;top:170px;display:inline-block;color:#E1E1E1;font-size:24px;}
#productPie{width:1000px;height:680px;position:absolute;left:2210px;top:260px;display:inline-block;color:#E1E1E1;font-size:24px;}
/*业务进展图*/
#businessProgress{width:1000px;height:640px;position:absolute;left:3330px;top:180px;display:inline-block;color:#E1E1E1;font-size:24px;}
/*计划完成情况*/
#plan{width:1000px;height:400px;position:absolute;left:80px;top:1020px;display:inline-block;color:#E1E1E1;font-size:24px;}
/*质量指标分析*/
#quality{width:1000px;height:400px;position:absolute;left:1170px;top:1020px;display:inline-block;color:#E1E1E1;font-size:24px;}
/*舆情文字云*/
#wordCloud{width:900px;height:420px;position:absolute;left:3330px;top:1000px;display:inline-block;color:#E1E1E1;font-size:24px;}
/*投诉情况展示表*/
#produce{width:900px;height:380px;position:absolute;left:2250px;top:1050px;display:inline-block;color:#B7E2FF;font-size:24px;}
#produce table{width:100%;font-size:24px;}
#produce table td{text-align:center;border:1px solid #069}
#produce table .row1{}
#produce table .row2{}
/*视频*/
#video{width:960px;height:540px;position:absolute;left:3280px;top:140px;display:inline-block;}
/*监控视频*/
#Monitor{width:960px;height:540px;position:absolute;left:3280px;top:940px;display:inline-block;color:#E1E1E1;font-size:24px;}
/*刷新时间*/
#refresh{width:800px;position:absolute;left:3350px;top:40px;display:inline-block;color:#FFF;font-size:24px;}
\ No newline at end of file
//计划完成表的当前所选
var indexnum = 0;
var color=['#F35331','#2499F8','#3DF098','#33B734'];
var fontColor='#FFF';
//定义进度条组件和属性
var y_gauge1 =null;
var y_gauge2 =null;
var y_gauge3 =null;
var y_gauge4 =null;
var m_gauge1 =null;
var m_gauge2 =null;
var m_gauge3 =null;
var m_gauge4 =null;
var d_gauge1 =null;
var d_gauge2 =null;
var d_gauge3 =null;
var d_gauge4 =null;
var option_Progress =null;
//定义仪表盘组件和属性
var gauge1 =null;
var gauge2 =null;
var gauge3 =null;
var gauge4 =null;
var gauge5 =null;
var option_gauge =null;
//生产质量堆积图组件和属性
var quality_chart = null;
var quality_option=null;
//生产计划折线图组件和属性
var plan_chart = null;
var plan_option=null;
//环形图的风格定义
var dataStyle = {
normal: {
label: {show:false},
labelLine: {show:false}
}
};
var placeHolderStyle = {
normal : {
color: 'rgba(0,0,0,0.1)',
label: {show:false},
labelLine: {show:false}
},
emphasis : {
color: 'rgba(0,0,0,0)'
}
};
//最大订单号
var lastOrderNumber=1;
$(document).ready(function ()
{
//环形进度条设置对象
option_Progress={
title : {
text: '目前进度',
subtext: '50%',
x: 'center',
y: 90,
itemGap: 10,
textStyle : {
color : '#B7E1FF',
fontWeight: 'normal',
fontFamily : '微软雅黑',
fontSize : 24
},
subtextStyle:{
color: '#B7E1FF',
fontWeight: 'bolder',
fontSize:24,
fontFamily : '微软雅黑'
}
},
series : [{
type : 'pie',
center : ['50%', '50%'],
radius : [75,90],
x: '0%',
tooltip:{show:false},
data : [{
name:'达成率',
value:79,
itemStyle:{color :'rgba(0,153,255,0.8)'},
hoverAnimation: false,
label : {
show : false,
position : 'center',
textStyle: {
fontFamily:'微软雅黑',
fontWeight: 'bolder',
color:'#B7E1FF',
fontSize:24
}
},
labelLine : {
show : false
}
},
{
name:'79%',
value:21,
itemStyle:{color: 'rgba(0,153,255,0.1)'},
hoverAnimation: false,
label : {
show : false,
position : 'center',
padding:20,
textStyle: {
fontFamily:'微软雅黑',
fontSize: 24,
color:'#B7E1FF'
}
},
labelLine : {
show : false
}
}]
},
{
type : 'pie',
center : ['50%', '50%'],
radius : [95,100],
x: '0%',
hoverAnimation: false,
data : [{
value:100,
itemStyle:{color :'rgba(0,153,255,0.3)'},
label : {show : false},
labelLine : {show : false}
}]
},
{
type : 'pie',
center : ['50%', '50%'],
radius : [69,70],
x: '0%',
hoverAnimation: false,
data : [{
value:100,
itemStyle:{color :'rgba(0,153,255,0.3)'},
label : {show : false},
labelLine : {show : false}
}]
}]
};
//年仪表盘
y_gauge1 = echarts.init(document.getElementById('y_gauge1'));
y_gauge2 = echarts.init(document.getElementById('y_gauge2'));
y_gauge3 = echarts.init(document.getElementById('y_gauge3'));
y_gauge4 = echarts.init(document.getElementById('y_gauge4'));
//月仪表盘
m_gauge1 = echarts.init(document.getElementById('m_gauge1'));
m_gauge2 = echarts.init(document.getElementById('m_gauge2'));
m_gauge3 = echarts.init(document.getElementById('m_gauge3'));
m_gauge4 = echarts.init(document.getElementById('m_gauge4'));
//日仪表盘
d_gauge1 = echarts.init(document.getElementById('d_gauge1'));
d_gauge2 = echarts.init(document.getElementById('d_gauge2'));
d_gauge3 = echarts.init(document.getElementById('d_gauge3'));
d_gauge4 = echarts.init(document.getElementById('d_gauge4'));
//监控仪表盘
option_gauge = {
title: {
text: '', //标题文本内容
},
toolbox: { //可视化的工具箱
show: false,
},
tooltip: { //弹窗组件
formatter: "{a} <br/>{b} : {c}%"
},
series: [{
type: 'gauge',
axisLine: {// 坐标轴线
lineStyle: { // 属性lineStyle控制线条样式
color: [
[0.2, color[0]],
[0.8, color[1]],
[1, color[2]]
],
width: 18
}
},
splitLine: { // 分隔线
show:true,
length: 18,
lineStyle: {
color: '#28292D',
width: 1
}
},
axisTick : { //刻度线样式(及短线样式)
show:false,
lineStyle: {
color: 'auto',
width: 1
},
length : 20
},
axisLabel : {
color:'#FFF',
fontSize:14,
fontFamily:'Verdana, Geneva, sans-serif'
},
title: {
textStyle: { // 其余属性默认使用全局文本样式,详见TEXTSTYLE
fontWeight: 'bolder',
fontSize: 20,
color: '#FFF'
},
offsetCenter: [0, '30%']
},
pointer: {
width: 5,
color: '#F00',
shadowColor: '#FF0',
shadowBlur: 10
},
detail: {
show:false,
formatter:'{value}%',
textStyle:
{
fontFamily:'Arial',
color: '#000',
fontSize:'32px'
},
offsetCenter: [0, '90%']
},
data: [{value: 45, name: '水'}]
}]
};
gauge1 = echarts.init(document.getElementById('gauge1'));
gauge2 = echarts.init(document.getElementById('gauge2'));
gauge3 = echarts.init(document.getElementById('gauge3'));
gauge4 = echarts.init(document.getElementById('gauge4'));
gauge5 = echarts.init(document.getElementById('gauge5'));
option_gauge.series[0].axisLine.lineStyle.color=[[0.2, color[0]],[0.8, color[1]],[1, color[2]]];
option_gauge.series[0].data[0].value = (Math.random() * 100).toFixed(2) - 0;
option_gauge.series[0].data[0].name ="水";
$('#vg1').html(option_gauge.series[0].data[0].value);
gauge1.setOption(option_gauge);
option_gauge.series[0].data[0].value = (Math.random() * 100).toFixed(2) - 0;
option_gauge.series[0].data[0].name ="电";
$('#vg2').html(option_gauge.series[0].data[0].value);
gauge2.setOption(option_gauge);
option_gauge.series[0].data[0].value = (Math.random() * 100).toFixed(2) - 0;
option_gauge.series[0].data[0].name ="天然气";
$('#vg3').html(option_gauge.series[0].data[0].value);
gauge3.setOption(option_gauge);
option_gauge.series[0].data[0].value = (Math.random() * 100).toFixed(2) - 0;
option_gauge.series[0].data[0].name ="压缩空气";
$('#vg4').html(option_gauge.series[0].data[0].value);
gauge4.setOption(option_gauge);
option_gauge.series[0].data[0].value = (Math.random() * 100).toFixed(2) - 0;
option_gauge.series[0].data[0].name ="蒸汽";
$('#vg5').html(option_gauge.series[0].data[0].value);
gauge5.setOption(option_gauge);
//生产质量堆积图
quality_chart = echarts.init(document.getElementById('quality'));
quality_option={
title: {
show:false,
text: 'AUDIT',
left: 'center',
textStyle: {
color: '#F00',
fontSize:32
}
},
xAxis: {
data: ['1月10日','2月10日','3月10日','4月10日','5月10日','6月10日'],
axisLabel: {
textStyle: {
color: '#B7E1FF',
fontSize:24
}
},
axisLine:{
lineStyle:{
color:'#09F'
}
},
axisTick:{
lineStyle:{
color:'#09F'
}
}
},
yAxis: {
inverse: false,
splitArea: {show: false},
axisLine: {show: false},
axisTick: {show: false},
axisLabel: {
textStyle: {
color: '#B7E1FF',
fontSize:24,
fontFamily:'Arial',
}
},
splitLine :{
lineStyle:{
color:'#09F'
}
}
},
grid: {
left: 100
},
tooltip: {
trigger: 'item',
textStyle: {
color: '#B7E1FF',
fontSize:24
}
},
legend:{
show:false,
top: 'bottom',
textStyle: {
color: '#F00',
fontSize:24,
fontFamily:'微软雅黑'
},
data:['AUDIT分数1','AUDIT分数']
},
series: [
{
name: 'AUDIT分数1',
type: 'bar',
stack: 'one',
itemStyle:
{
normal: {color: color[1]}
},
barWidth : 60,
data:[2200,2900,3680,2200,2900,3680]
},
{
name: 'AUDIT分数',
type: 'bar',
stack: 'one',
itemStyle: {
normal: {
color: '#F90',
label: {
show: true,
position: 'insideTop',
textStyle: {
color: '#000',
fontSize:24
}
}
}
},
barWidth : 50,
data: [1800,1100,320,1800,1100,320]
}
]
};
quality_chart.setOption(quality_option);
//生产计划折线图
var plan_data1=[];
var plan_data2=[];
var plan_xAxis=[];
for (var i = 1; i <= 7; i++) {
plan_xAxis.push("3月"+i+"日");
plan_data1.push(Math.round(Math.random() * 100));
plan_data2.push(Math.round(Math.random() * 100));
}
plan_chart = echarts.init(document.getElementById('plan'));
plan_option={
xAxis: {
data:plan_xAxis,
axisLabel: {
textStyle: {
color: '#B7E1FF',
fontSize:24
}
},
axisLine:{
lineStyle:{
color:'#09F'
}
},
axisTick:{
lineStyle:{
color:'#09F'
}
}
},
yAxis: {
inverse: false,
splitArea: {show: false},
axisLine: {show: false},
axisTick: {show: false},
axisLabel: {
textStyle: {
color: '#B7E1FF',
fontSize:24,
fontFamily:'Arial',
}
},
splitLine :{
lineStyle:{
color:'#09F'
}
}
},
tooltip: {
trigger: 'axis',
textStyle: {
color: '#FFF',
fontSize:24
}
},
grid: {
left: 100
},
legend:{
show:false,
top: 'bottom',
textStyle: {
color: '#F00',
fontSize:24
},
data:['计划完成数','实际完成数']
},
series: [
{
name: '计划完成数',
type: 'bar',
itemStyle:
{
normal: {color: color[1]},
emphasis: {color: color[2]}
},
barWidth : 40,
data:plan_data1
},
{
name: '实际完成数',
type: 'line',
itemStyle: {
normal: {
color: '#F90',
label: {
show: true,
position: 'top',
textStyle: {
color: '#CCC',
fontSize:24
}
},
lineStyle:{
color:'#F90',
width:4
}
},
emphasis: {
color: '#FF0'
}
},
symbolSize: 24,
data: plan_data2
}
]
};
plan_chart.setOption(plan_option);
//轮番显示tips
function clock(){
showToolTip_highlight(plan_chart);
}
setInterval(clock, 5000);
//地图开始
var map_chart = echarts.init(document.getElementById('map'));
var CCData = [
[{name:'长春'}, {name:'上海',value:95}],
[{name:'长春'}, {name:'广州',value:90}],
[{name:'长春'}, {name:'大连',value:80}],
[{name:'长春'}, {name:'南宁',value:70}],
[{name:'长春'}, {name:'南昌',value:60}],
[{name:'长春'}, {name:'拉萨',value:50}],
[{name:'长春'}, {name:'长春',value:40}],
[{name:'长春'}, {name:'包头',value:30}],
[{name:'长春'}, {name:'重庆',value:20}],
[{name:'长春'}, {name:'北京',value:10}]
];
var series = [];
[['长春', CCData]].forEach(function (item, i) {
series.push({
name: '一汽汽车销售',
type: 'lines',
zlevel: 1,
effect: {
show: true,
period: 6,
trailLength: 0.7,
color: '#FF0',
symbolSize: 3
},
lineStyle: {
normal: {
color: '#000',
width: 0,
curveness: 0.2
}
},
data: convertData(item[1])
},
{
name: '一汽汽车销售',
type: 'lines',
zlevel: 2,
symbol: ['none', 'arrow'],
symbolSize: 10,
lineStyle: {
normal: {
color: '#FF0',
width: 1,
opacity: 0.6,
curveness: 0.2
}
},
data: convertData(item[1])
},
{
name: '一汽汽车销售',
type: 'effectScatter',
coordinateSystem: 'geo',
zlevel: 2,
rippleEffect: {
brushType: 'stroke'
},
label: {
normal: {
show: true,
position: 'right',
formatter: '{b}'
}
},
symbolSize: function (val) {
return 15;
},
itemStyle: {
normal: {
color: '#FFF',
label: {
show: true,
position: 'top',
textStyle: {
color: '#FFF',
fontSize:24
}
}
}
},
data: item[1].map(function (dataItem) {
return {
name: dataItem[1].name,
value: geoCoordMap[dataItem[1].name].concat([dataItem[1].value])
};
})
});
});
map_option = {
backgroundColor: '',
title : {
show:false,
text: '一汽汽车销售地域分布示意图',
subtext: '截至2018年05月04日',
left: 'center',
top:10,
textStyle : {
color: '#09F',
fontSize:32
},
subtextStyle:{
color: '#09F',
fontSize:24
}
},
tooltip : {
trigger: 'item'
},
legend: {
show:false,
orient: 'vertical',
top: 'bottom',
left: 'right',
data:['一汽汽车销售'],
textStyle: {
color: '#000'
},
selectedMode: 'single'
},
geo: {
map: 'china',
label: {
emphasis: {
show: false
}
},
roam: true,
itemStyle: {
normal: {
areaColor: '#09F',
borderColor: '#09F',
opacity:0.5
},
emphasis: {
areaColor: '#09F',
borderColor: '#09F',
opacity:0.8
}
}
},
series: series
};
map_chart.setOption(map_option, true);
resresh();
//开始定时刷新
setInterval(resresh, 5*1000);
});
var convertData = function (data) {
var res = [];
for (var i = 0; i < data.length; i++) {
var dataItem = data[i];
var fromCoord = geoCoordMap[dataItem[0].name];
var toCoord = geoCoordMap[dataItem[1].name];
if (fromCoord && toCoord) {
res.push({
fromName: dataItem[0].name,
toName: dataItem[1].name,
coords: [fromCoord, toCoord]
});
}
}
return res;
};
function showToolTip_highlight(mychart)
{
var echartObj = mychart;
// 高亮当前图形
var highlight =setInterval(function()
{
echartObj.dispatchAction({
type: 'highlight',
seriesIndex: 0,
dataIndex: indexnum
});
echartObj.dispatchAction({
type: 'showTip',
seriesIndex: 0,
dataIndex: indexnum
});
clearInterval(highlight);
indexnum = indexnum + 1;
if(indexnum>=7) indexnum=0;
},1000);
}
//定时刷新数据
function resresh()
{
var myDate = new Date();
// $('#refresh').html("<img src=\"images/wait.gif\" align=\"absmiddle\"><span>数据刷新中...</span>");
//年月日刷新
$('#currentYear').html(myDate.getFullYear()+"年");
$('#currentMonth').html(insertZero(myDate.getMonth()+1)+"月");
$('#currentDay').html(insertZero(myDate.getDate())+"日");
$('#currentDate').html(myDate.getFullYear()+"/"+insertZero(myDate.getMonth()+1)+"/"+insertZero(myDate.getDate()));
option_gauge.series[0].axisLabel.show=true;
option_gauge.series[0].axisLine.lineStyle.color=[[0.2, color[0]],[0.8, color[1]],[1, color[2]]]
var maxg=Math.round(Math.random()*500)+400;
var n1=Math.round(Math.random()*(maxg-100))+100;
var n2=Math.round(Math.random()*(n1-50))+50;
var n3=(n2/maxg*100).toFixed(2);
//年进度条
option_Progress.title.text ="计划生产";
option_Progress.series[0].data[0].value = maxg;
option_Progress.title.subtext =maxg+"台";
option_Progress.series[0].data[1].value =0;
y_gauge1.setOption(option_Progress);
option_Progress.title.text ="已接订单";
option_Progress.series[0].data[0].value = n1;
option_Progress.title.subtext =n1+"台";
option_Progress.series[0].data[1].value =(maxg-n1);
y_gauge2.setOption(option_Progress);
option_Progress.title.text ="已经完成";
option_Progress.series[0].data[0].value = n2;
option_Progress.title.subtext =n2+"台";
option_Progress.series[0].data[1].value =(maxg-n2);
y_gauge3.setOption(option_Progress);
option_Progress.title.text ="计划完成率";
option_Progress.series[0].data[0].value = n3;
option_Progress.title.subtext =n3+"%";
option_Progress.series[0].data[1].value =(100-n3);
y_gauge4.setOption(option_Progress);
//月进度条
maxg=Math.round(Math.random()*maxg)+1;
n1=Math.round(Math.random()*maxg)+1;
n2=Math.round(Math.random()*n1);
n3=(n2/maxg*100).toFixed(2);
option_Progress.title.text ="计划生产";
option_Progress.series[0].data[0].value = maxg;
option_Progress.title.subtext =maxg+"台";
option_Progress.series[0].data[1].value =0;
m_gauge1.setOption(option_Progress);
option_Progress.title.text ="已接订单";
option_Progress.series[0].data[0].value = n1;
option_Progress.title.subtext =n1+"台";
option_Progress.series[0].data[1].value =(maxg-n1);
m_gauge2.setOption(option_Progress);
option_Progress.title.text ="已经完成";
option_Progress.series[0].data[0].value = n2;
option_Progress.title.subtext =n2+"台";
option_Progress.series[0].data[1].value =(maxg-n2);
m_gauge3.setOption(option_Progress);
option_Progress.title.text ="计划完成率";
option_Progress.series[0].data[0].value = n3;
option_Progress.title.subtext =n3+"%";
option_Progress.series[0].data[1].value =(100-n3);
m_gauge4.setOption(option_Progress);
//日进度条
maxg=Math.round(Math.random()*maxg)+1;
n1=Math.round(Math.random()*maxg)+1;
n2=Math.round(Math.random()*n1);
n3=(n2/maxg*100).toFixed(2);
option_Progress.title.text ="计划生产";
option_Progress.series[0].data[0].value = maxg;
option_Progress.title.subtext =maxg+"台";
option_Progress.series[0].data[1].value =0;
d_gauge1.setOption(option_Progress);
option_Progress.title.text ="已接订单";
option_Progress.series[0].data[0].value = n1;
option_Progress.title.subtext =n1+"台";
option_Progress.series[0].data[1].value =(maxg-n1);
d_gauge2.setOption(option_Progress);
option_Progress.title.text ="已经完成";
option_Progress.series[0].data[0].value = n2;
option_Progress.title.subtext =n2+"台";
option_Progress.series[0].data[1].value =(maxg-n2);
d_gauge3.setOption(option_Progress);
option_Progress.title.text ="计划完成率";
option_Progress.series[0].data[0].value = n3;
option_Progress.title.subtext =n3+"%";
option_Progress.series[0].data[1].value =(100-n3);
d_gauge4.setOption(option_Progress);
//仪表盘刷新
option_gauge.series[0].axisLine.lineStyle.color=[[0.2, color[0]],[0.8, color[1]],[1, color[0]]];
option_gauge.series[0].data[0].value = (Math.random() * 100).toFixed(2) - 0;
option_gauge.series[0].data[0].name ="水";
$('#vg1').html(option_gauge.series[0].data[0].value);
gauge1.setOption(option_gauge);
option_gauge.series[0].data[0].value = (Math.random() * 100).toFixed(2) - 0;
option_gauge.series[0].data[0].name ="电";
$('#vg2').html(option_gauge.series[0].data[0].value);
gauge2.setOption(option_gauge);
option_gauge.series[0].data[0].value = (Math.random() * 100).toFixed(2) - 0;
option_gauge.series[0].data[0].name ="天然气";
$('#vg3').html(option_gauge.series[0].data[0].value);
gauge3.setOption(option_gauge);
option_gauge.series[0].data[0].value = (Math.random() * 100).toFixed(2) - 0;
option_gauge.series[0].data[0].name ="压缩空气";
$('#vg4').html(option_gauge.series[0].data[0].value);
gauge4.setOption(option_gauge);
option_gauge.series[0].data[0].value = (Math.random() * 100).toFixed(2) - 0;
option_gauge.series[0].data[0].name ="蒸汽";
$('#vg5').html(option_gauge.series[0].data[0].value);
gauge5.setOption(option_gauge);
//显示最后更新时间
$('#refresh').html("<span id=\"refreshTime\">最后刷新时间:"+myDate.toLocaleDateString()+" "+myDate.toLocaleTimeString()+"</span>");
}
//生成订单号
function getOrderNumber(n)
{
var no="000000"+n.toString();
return no.substring(no.length-6);
}
//前面补0
function insertZero(n)
{
var no="000000"+n.toString();
return no.substring(no.length-2);
}
\ No newline at end of file
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module.
define(['exports', 'echarts'], factory);
} else if (typeof exports === 'object' && typeof exports.nodeName !== 'string') {
// CommonJS
factory(exports, require('echarts'));
} else {
// Browser globals
factory({}, root.echarts);
}
}(this, function (exports, echarts) {
var log = function (msg) {
if (typeof console !== 'undefined') {
console && console.error && console.error(msg);
}
}
if (!echarts) {
log('ECharts is not Loaded');
return;
}
if (!echarts.registerMap) {
log('ECharts Map is not loaded')
return;
}
echarts.registerMap('china', {"type":"FeatureCollection","features":[{"id":"710000","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@°Ü¯Û"],["@@ƛĴÕƊÉɼģºðʀ\\ƎsÆNŌÔĚäœnÜƤɊĂǀĆĴžĤNJŨxĚĮǂƺòƌ‚–âÔ®ĮXŦţƸZûЋƕƑGđ¨ĭMó·ęcëƝɉlÝƯֹÅŃ^Ó·śŃNjƏďíåɛGɉ™¿@ăƑŽ¥ĘWǬÏĶŁâ"],["@@\\p|WoYG¿¥I†j@¢"],["@@…¡‰@ˆV^RqˆBbAŒnTXeRz¤Lž«³I"],["@@ÆEE—„kWqë @œ"],["@@fced"]],"encodeOffsets":[[[122886,24033]],[[123335,22980]],[[122375,24193]],[[122518,24117]],[[124427,22618]],[[124862,26043]]]},"properties":{"cp":[121.509062,25.044332],"name":"台湾","childNum":6}},{"id":"130000","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@o~†Z]‚ªr‰ºc_ħ²G¼s`jΟnüsœłNX_“M`ǽÓnUK…Ĝēs¤­©yrý§uģŒc†JŠ›e"],["@@U`Ts¿m‚"],["@@oºƋÄd–eVŽDJj£€J|Ådz•Ft~žKŨ¸IÆv|”‡¢r}膎onb˜}`RÎÄn°ÒdÞ²„^®’lnÐèĄlðӜ×]ªÆ}LiĂ±Ö`^°Ç¶p®đDcœŋ`–ZÔ’¶êqvFƚ†N®ĆTH®¦O’¾ŠIbÐã´BĐɢŴÆíȦp–ĐÞXR€·nndOž¤’OÀĈƒ­Qg˜µFo|gȒęSWb©osx|hYh•gŃfmÖĩnº€T̒Sp›¢dYĤ¶UĈjl’ǐpäìë|³kÛfw²Xjz~ÂqbTŠÑ„ěŨ@|oM‡’zv¢ZrÃVw¬ŧˏfŒ°ÐT€ªqŽs{Sž¯r æÝlNd®²Ğ džiGʂJ™¼lr}~K¨ŸƐÌWö€™ÆŠzRš¤lêmĞL΄’@¡|q]SvK€ÑcwpÏρ†ĿćènĪWlĄkT}ˆJ”¤~ƒÈT„d„™pddʾĬŠ”ŽBVt„EÀ¢ôPĎƗè@~‚k–ü\\rÊĔÖæW_§¼F˜†´©òDòj’ˆYÈrbĞāøŀG{ƀ|¦ðrb|ÀH`pʞkv‚GpuARhÞÆǶgƊTǼƹS£¨¡ù³ŘÍ]¿Ây™ôEP xX¶¹܇O¡“gÚ¡IwÃ鑦ÅB‡Ï|ǰ…N«úmH¯‹âŸDùŽyŜžŲIÄuШDž•¸dɂ‡‚FŸƒ•›Oh‡đ©OŸ›iÃ`ww^ƒÌkŸ‘ÑH«ƇǤŗĺtFu…{Z}Ö@U‡´…ʚLg®¯Oı°ÃwŸ ^˜—€VbÉs‡ˆmA…ê]]w„§›RRl£‡ȭµu¯b{ÍDěïÿȧŽuT£ġƒěŗƃĝ“Q¨fV†Ƌ•ƅn­a@‘³@šď„yýIĹÊKšŭfċŰóŒxV@tˆƯŒJ”]eƒR¾fe|rHA˜|h~Ėƍl§ÏŠlTíb ØoˆÅbbx³^zÃ͚¶Sj®A”yÂhðk`š«P€”ˈµEF†Û¬Y¨Ļrõqi¼‰Wi°§’б´°^[ˆÀ|ĠO@ÆxO\\tŽa\\tĕtû{ġŒȧXýĪÓjùÎRb›š^ΛfK[ݏděYfíÙTyŽuUSyŌŏů@Oi½’éŅ­aVcř§ax¹XŻác‡žWU£ôãºQ¨÷Ñws¥qEH‰Ù|‰›šYQoŕÇyáĂ£MðoťÊ‰P¡mšWO¡€v†{ôvîēÜISpÌhp¨ ‘j†deŔQÖj˜X³à™Ĉ[n`Yp@Už–cM`’RKhŒEbœ”pŞlNut®Etq‚nsÁŠgA‹iú‹oH‡qCX‡”hfgu“~ϋWP½¢G^}¯ÅīGCŸÑ^ãziMáļMTÃƘrMc|O_ž¯Ŏ´|‡morDkO\\mĆJfl@c̬¢aĦtRıҙ¾ùƀ^juųœK­ƒUFy™—Ɲ…›īÛ÷ąV×qƥV¿aȉd³B›qPBm›aËđŻģm“Å®Vйd^K‡KoŸnYg“¯Xhqa”Ldu¥•ÍpDž¡KąÅƒkĝęěhq‡}HyÓ]¹ǧ£…Í÷¿qáµ§š™g‘¤o^á¾ZE‡¤i`ij{n•ƒOl»ŸWÝĔįhg›F[¿¡—ßkOüš_‰€ū‹i„DZàUtėGylƒ}ŒÓM}€jpEC~¡FtoQi‘šHkk{Ãmï‚"]],"encodeOffsets":[[[119712,40641]],[[121616,39981]],[[116462,37237]]]},"properties":{"cp":[114.502461,38.045474],"name":"河北","childNum":3}},{"id":"140000","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@Þĩ҃S‰ra}Á€yWix±Üe´lè“ßÓǏok‘ćiµVZģ¡coœ‘TS˹ĪmnÕńe–hZg{gtwªpXaĚThȑp{¶Eh—®RćƑP¿£‘Pmc¸mQÝW•ďȥoÅîɡųAďä³aωJ‘½¥PG­ąSM­™…EÅruµé€‘Yӎ•Ō_d›ĒCo­Èµ]¯_²ÕjāŽK~©ÅØ^ԛkïçămϑk]­±ƒcݯÑÃmQÍ~_a—pm…~ç¡q“ˆu{JÅŧ·Ls}–EyÁÆcI{¤IiCfUc•ƌÃp§]웫vD@¡SÀ‘µM‚ÅwuŽYY‡¡DbÑc¡hƒ×]nkoQdaMç~eD•ÛtT‰©±@¥ù@É¡‰ZcW|WqOJmĩl«ħşvOÓ«IqăV—¥ŸD[mI~Ó¢cehiÍ]Ɠ~ĥqXŠ·eƷœn±“}v•[ěďŽŕ]_‘œ•`‰¹ƒ§ÕōI™o©b­s^}Ét±ū«³p£ÿ·Wµ|¡¥ăFÏs׌¥ŅxŸÊdÒ{ºvĴÎêÌɊ²¶€ü¨|ÞƸµȲ‘LLúÉƎ¤ϊęĔV`„_bª‹S^|ŸdŠzY|dz¥p†ZbÆ£¶ÒK}tĦÔņƠ‚PYzn€ÍvX¶Ěn ĠÔ„zý¦ª˜÷žÑĸَUȌ¸‚dòÜJð´’ìúNM¬ŒXZ´‘¤ŊǸ_tldIš{¦ƀðĠȤ¥NehXnYG‚‡R° ƬDj¬¸|CĞ„Kq‚ºfƐiĺ©ª~ĆOQª ¤@ìǦɌ²æBŒÊ”TœŸ˜ʂōĖ’šĴŞ–ȀœÆÿȄlŤĒö„t”νî¼ĨXhŒ‘˜|ªM¤Ðz"],"encodeOffsets":[[116874,41716]]},"properties":{"cp":[112.549248,37.857014],"name":"山西","childNum":1}},{"id":"150000","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@Č^â£Ăh–šĖMÈÄw‚\\fŦ°W ¢¾luŸD„wŠ\\̀ʉÌÛM…Ā[bӞEn}¶Vc…ê“sƒ–›¯PqƒFB…‰|S•³C|kñ•H‹d‘iÄ¥sˆʼnő…PóÑÑE^‘ÅPpy_YtS™hQ·aHwsOnʼnÚs©iqj›‰€USiº]ïWš‰«gW¡A–R붛ijʕ…Œů`çõh]y»ǃŸǛҤxÒm~zf}pf|ÜroÈzrKÈĵSƧ„ż؜Ġu¦ö"],["@@sKCš…GS|úþX”gp›{ÁX¿Ÿć{ƱȏñZáĔyoÁhA™}ŅĆfdʼn„_¹„Y°ėǩÑ¡H¯¶oMQqð¡Ë™|‘Ñ`ƭŁX½·óۓxğįÅcQ‡ˆ“ƒs«tȋDžF“Ÿù^i‘t«Č¯[›hAi©á¥ÇĚ×l|¹y¯YȵƓ‹ñǙµï‚ċ™Ļ|Dœ™üȭ¶¡˜›oŽäÕG\\ďT¿Òõr¯œŸLguÏYęRƩšɷŌO\\İТæ^Ŋ IJȶȆbÜGŽĝ¬¿ĚVĎgª^íu½jÿĕęjık@Ľƒ]ėl¥Ë‡ĭûÁ„ƒėéV©±ćn©­ȇžÍq¯½•YÃÔʼn“ÉNѝÅÝy¹NqáʅDǡËñ­ƁYÅy̱os§ȋµʽǘǏƬɱà‘ưN¢ƔÊuľýľώȪƺɂļžxœZĈ}ÌʼnŪ˜ĺœŽĭFЛĽ̅ȣͽÒŵìƩÇϋÿȮǡŏçƑůĕ~Ǎ›¼ȳÐUf†dIxÿ\\G ˆzâɏÙOº·pqy£†@ŒŠqþ@Ǟ˽IBäƣzsÂZ†ÁàĻdñ°ŕzéØűzșCìDȐĴĺf®ŽÀľưø@ɜÖÞKĊŇƄ§‚͑těï͡VAġÑÑ»d³öǍÝXĉĕÖ{þĉu¸ËʅğU̎éhɹƆ̗̮ȘNJ֥ड़ࡰţાíϲäʮW¬®ҌeרūȠkɬɻ̼ãüfƠSצɩςåȈHϚÎKdzͲOðÏȆƘ¼CϚǚ࢚˼ФԂ¤ƌžĞ̪Qʤ´¼mȠJˀŸƲÀɠmǐnǔĎȆÞǠN~€ʢĜ‚¶ƌĆĘźʆȬ˪ĚǏĞGȖƴƀj`ĢçĶāàŃºē̃ĖćšYŒÀŎüôQÐÂŎŞdžŞêƖš˜oˆDĤÕºÑǘÛˤ³̀gńƘĔÀ^žªƂ`ªt¾äƚêĦĀ¼Ð€Ĕǎ¨Ȕ»͠^ˮÊȦƤøxRrŜH¤¸ÂxDĝŒ|ø˂˜ƮÐ¬ɚwɲFjĔ²Äw°dždÀɞ_ĸdîàŎjʜêTĞªŌ‡ŜWÈ|tqĢUB~´°ÎFC•ŽU¼pĀēƄN¦¾O¶ŠłKĊOj“Ě”j´ĜYp˜{¦„ˆSĚÍ\\Tš×ªV–÷Ší¨ÅDK°ßtŇĔKš¨ǵÂcḷ̌ĚǣȄĽF‡lġUĵœŇ‹ȣFʉɁƒMğįʏƶɷØŭOǽ«ƽū¹Ʊő̝Ȩ§ȞʘĖiɜɶʦ}¨֪ࠜ̀ƇǬ¹ǨE˦ĥªÔêFŽxúQ„Er´W„rh¤Ɛ \\talĈDJ˜Ü|[Pll̚¸ƎGú´Pž¬W¦†^¦–H]prR“n|or¾wLVnÇIujkmon£cX^Bh`¥V”„¦U¤¸}€xRj–[^xN[~ªŠxQ„‚[`ªHÆÂExx^wšN¶Ê˜|¨ì†˜€MrœdYp‚oRzNy˜ÀDs~€bcfÌ`L–¾n‹|¾T‚°c¨È¢a‚r¤–`[|òDŞĔöxElÖdH„ÀI`„Ď\\Àì~ƎR¼tf•¦^¢ķ¶e”ÐÚMŒptgj–„ɡČÅyġLû™ŇV®ŠÄÈƀ†Ď°P|ªVV†ªj–¬ĚÒêp¬–E|ŬÂc|ÀtƐK fˆ{ĘFǜƌXƲąo½Ę‘\\¥–o}›Ûu£ç­kX‘{uĩ«āíÓUŅßŢq€Ť¥lyň[€oi{¦‹L‡ń‡ðFȪȖ”ĒL„¿Ì‹ˆfŒ£K£ʺ™oqNŸƒwğc`ue—tOj×°KJ±qƒÆġm‰Ěŗos¬…qehqsuœƒH{¸kH¡Š…ÊRǪÇƌbȆ¢´ä܍¢NìÉʖ¦â©Ż؛Ç@Vu»A—ylßí¹ĵê…ÝlISò³C¹Ìâ„²i¶’Ìoú^H“²CǜңDŽ z¼g^èöŰ_‹‚–†IJĕꄜ}gÁnUI«m‰…„‹]j‡vV¼euhwqA„aW˜ƒ_µj…»çjioQR¹ēÃßt@r³[ÛlćË^ÍÉáG“›OUۗOB±•XŸkŇ¹£k|e]ol™ŸkVͼÕqtaÏõjgÁ£§U^Œ”RLˆËnX°Ç’Bz†^~wfvˆypV ¯„ƫĉ˭ȫƗŷɿÿĿƑ˃ĝÿÃǃßËőó©ǐȍŒĖM×ÍEyx‹þp]Évïè‘vƀnÂĴÖ@‚‰†V~Ĉ™Š³MEˆĸÅĖt—ējyÄDXÄxGQuv_›i¦aBçw‘˛wD™©{ŸtāmQ€{EJ§KPśƘƿ¥@‰sCT•É}ɃwˆƇy±ŸgÑ“}T[÷kÐ禫…SÒ¥¸ëBX½‰HáŵÀğtSÝÂa[ƣ°¯¦P]£ġ“–“Òk®G²„èQ°óMq}EŠóƐÇ\\ƒ‡@áügQ͋u¥Fƒ“T՛¿Jû‡]|mvāÎYua^WoÀa·­ząÒot×¶CLƗi¯¤mƎHNJ¤îìɾŊìTdåwsRÖgĒųúÍġäÕ}Q¶—ˆ¿A•†‹[¡Œ{d×uQAƒ›M•xV‹vMOmăl«ct[wº_šÇʊŽŸjb£ĦS_é“QZ“_lwgOiýe`YYLq§IÁˆdz£ÙË[ÕªuƏ³ÍT—s·bÁĽäė[›b[ˆŗfãcn¥îC¿÷µ[ŏÀQ­ōšĉm¿Á^£mJVm‡—L[{Ï_£›F¥Ö{ŹA}…×Wu©ÅaųijƳhB{·TQqÙIķˑZđ©Yc|M¡…L•eVUóK_QWk’_ĥ‘¿ãZ•»X\\ĴuUƒè‡lG®ěłTĠğDєOrÍd‚ÆÍz]‹±…ŭ©ŸÅ’]ŒÅÐ}UË¥©Tċ™ïxgckfWgi\\ÏĒ¥HkµE˜ë{»ÏetcG±ahUiñiWsɁˆ·c–C‚Õk]wȑ|ća}w…VaĚ᠞ŒG°ùnM¬¯†{ÈˆÐÆA’¥ÄêJxÙ¢”hP¢Ûˆº€µwWOŸóFŽšÁz^ÀŗÎú´§¢T¤ǻƺSė‰ǵhÝÅQgvBHouʝl_o¿Ga{ïq{¥|ſĿHĂ÷aĝÇq‡Z‘ñiñC³ª—…»E`¨åXēÕqÉû[l•}ç@čƘóO¿¡ƒFUsA‰“ʽīccšocƒ‚ƒÇS}„“£‡IS~ălkĩXçmĈ…ŀЂoÐdxÒuL^T{r@¢‘žÍƒĝKén£kQ™‰yšÅõËXŷƏL§~}kqš»IHėDžjĝŸ»ÑÞoŸå°qTt|r©ÏS‹¯·eŨĕx«È[eMˆ¿yuˆ‘pN~¹ÏyN£{©’—g‹ħWí»Í¾s“əšDž_ÃĀɗ±ą™ijĉʍŌŷ—S›É“A‹±åǥɋ@럣R©ąP©}ĹªƏj¹erƒLDĝ·{i«ƫC£µ"]],"encodeOffsets":[[[127444,52594]],[[113793,40312]]]},"properties":{"cp":[111.670801,40.818311],"name":"内蒙古","childNum":2}},{"id":"210000","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@L–Ž@@s™a"],["@@MnNm"],["@@d‚c"],["@@eÀ‚C@b‚“‰"],["@@f‡…Xwkbr–Ä`qg"],["@@^jtW‘Q"],["@@~ Y]c"],["@@G`ĔN^_¿Z‚ÃM"],["@@iX¶B‹Y"],["@@„YƒZ"],["@@L_{Epf"],["@@^WqCT\\"],["@@\\[“‹§t|”¤_"],["@@m`n_"],["@@Ïxnj{q_×^Giip"],["@@@œé^B†‡ntˆaÊU—˜Ÿ]x ¯ÄPIJ­°h€ʙK³†VˆÕ@Y~†|EvĹsDŽ¦­L^p²ŸÒG ’Ël]„xxÄ_˜fT¤Ď¤cŽœP„–C¨¸TVjbgH²sdÎdHt`Bˆ—²¬GJję¶[ÐhjeXdlwhšðSȦªVÊπ‹Æ‘Z˜ÆŶ®²†^ŒÎyÅÎcPqń“ĚDMħĜŁH­ˆk„çvV[ij¼W–‚YÀäĦ’‘`XlžR`žôLUVžfK–¢†{NZdĒª’YĸÌÚJRr¸SA|ƴgŴĴÆbvªØX~†źBŽ|¦ÕœEž¤Ð`\\|Kˆ˜UnnI]¤ÀÂĊnŎ™R®Ő¿¶\\ÀøíDm¦ÎbŨab‰œaĘ\\ľã‚¸a˜tÎSƐ´©v\\ÖÚÌǴ¤Â‡¨JKr€Z_Z€fjþhPkx€`Y”’RIŒjJcVf~sCN¤ ˆE‚œhæm‰–sHy¨SðÑÌ\\\\ŸĐRZk°IS§fqŒßýáЍÙÉÖ[^¯ǤŲ„ê´\\¦¬ĆPM¯£Ÿˆ»uïpùzEx€žanµyoluqe¦W^£ÊL}ñrkqWňûP™‰UP¡ôJŠoo·ŒU}£Œ„[·¨@XŒĸŸ“‹‹DXm­Ûݏº‡›GU‹CÁª½{íĂ^cj‡k“¶Ã[q¤“LÉö³cux«zZfƒ²BWÇ®Yß½ve±ÃC•ý£W{Ú^’q^sÑ·¨‹ÍOt“¹·C¥‡GD›rí@wÕKţ݋˜Ÿ«V·i}xËÍ÷‘i©ĝ‡ɝǡ]ƒˆ{c™±OW‹³Ya±Ÿ‰_穂Hžĕoƫ€Ňqƒr³‰Lys[„ñ³¯OS–ďOMisZ†±ÅFCPq{‚Ã[Pg}\\—¿ghćO…•k^ģÁFıĉĥM­oEqqZûěʼn³F‘¦oĵ—hŸÕP{¯~TÍlª‰N‰ßY“Ð{Ps{ÃVU™™eĎwk±ʼnVÓ½ŽJãÇÇ»Jm°dhcÀff‘dF~ˆ€ĀeĖ€d`sx² šƒ®EżĀdQ‹Âd^~ăÔHˆ¦\\›LKpĄVez¤NP ǹӗR™ÆąJSh­a[¦´Âghwm€BÐ¨źhI|žVVŽ—Ž|p] Â¼èNä¶ÜBÖ¼“L`‚¼bØæŒKV”ŸpoœúNZÞÒKxpw|ÊEMnzEQšŽIZ”ŽZ‡NBˆčÚFÜçmĩ‚WĪñt‘ÞĵÇñZ«uD‚±|Əlij¥ãn·±PmÍa‰–da‡ CL‡Ǒkùó¡³Ï«QaċϑOÃ¥ÕđQȥċƭy‹³ÃA"]],"encodeOffsets":[[[123686,41445]],[[126019,40435]],[[124393,40128]],[[126117,39963]],[[125322,40140]],[[126686,40700]],[[126041,40374]],[[125584,40168]],[[125453,40165]],[[125362,40214]],[[125280,40291]],[[125774,39997]],[[125976,40496]],[[125822,39993]],[[125509,40217]],[[122731,40949]]]},"properties":{"cp":[123.429096,41.796767],"name":"辽宁","childNum":16}},{"id":"220000","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@‘p䔳PClƒFbbÍzš€wBG’ĭ€Z„Åi“»ƒlY­ċ²SgŽkÇ£—^S‰“qd¯•‹R…©éŽ£¯S†\\cZ¹iűƏCuƍÓXoR}“M^o•£…R}oªU­F…uuXHlEŕ‡€Ï©¤ÛmTŽþ¤D–²ÄufàÀ­XXȱAe„yYw¬dvõ´KÊ£”\\rµÄl”iˆdā]|DÂVŒœH¹ˆÞ®ÜWnŒC”Œķ W‹§@\\¸‹ƒ~¤‹Vp¸‰póIO¢ŠVOšŇürXql~òÉK]¤¥Xrfkvzpm¶bwyFoúvð‡¼¤ N°ąO¥«³[ƒéǡű_°Õ\\ÚÊĝŽþâőàerR¨­JYlďQ[ ÏYëЧTGz•tnŠß¡gFkMŸāGÁ¤ia É‰™È¹`\\xs€¬dĆkNnuNUŠ–užP@‚vRY¾•–\\¢…ŒGªóĄ~RãÖÎĢù‚đŴÕhQŽxtcæëSɽʼníëlj£ƍG£nj°KƘµDsØÑpyƸ®¿bXp‚]vbÍZuĂ{nˆ^IüœÀSք”¦EŒvRÎûh@℈[‚Əȉô~FNr¯ôçR±ƒ­HÑl•’Ģ–^¤¢‚OðŸŒævxsŒ]ÞÁTĠs¶¿âƊGW¾ìA¦·TѬ†è¥€ÏÐJ¨¼ÒÖ¼ƒƦɄxÊ~S–tD@ŠĂ¼Ŵ¡jlºWžvЉˆzƦZЎ²CH— „Axiukd‹ŒGgetqmcžÛ£Ozy¥cE}|…¾cZ…k‚‰¿uŐã[oxGikfeäT@…šSUwpiÚFM©’£è^ڟ‚`@veň†f h˜eP¶žt“äOlÔUgƒÞzŸU`lœ}ÔÆUvØ_Ō¬Öi^ĉi§²ÃŠB~¡Ĉ™ÚEgc|DC_Ȧm²rBx¼MÔ¦ŮdĨÃâYx‘ƘDVÇĺĿg¿cwÅ\\¹˜¥Yĭlœ¤žOv†šLjM_a W`zļMž·\\swqÝSA‡š—q‰Śij¯Š‘°kŠRē°wx^Đkǂғ„œž“œŽ„‹\\]˜nrĂ}²ĊŲÒøãh·M{yMzysěnĒġV·°“G³¼XÀ““™¤¹i´o¤ŃšŸÈ`̃DzÄUĞd\\i֚ŒˆmÈBĤÜɲDEh LG¾ƀľ{WaŒYÍȏĢĘÔRîĐj‹}Ǟ“ccj‡oUb½š{“h§Ǿ{K‹ƖµÎ÷žGĀÖŠåưÎs­l›•yiē«‹`姝HAe^§„GK}iã\\c]v©ģZ“mÃ|“[M}ģTɟĵ‘Â`À–çm‰‘FK¥ÚíÁbXš³ÌQґHof{‰]e€pt·GŋĜYünĎųVY^’˜ydõkÅZW„«WUa~U·Sb•wGçǑ‚“iW^q‹F‚“›uNĝ—·Ew„‹UtW·Ýďæ©PuqEzwAV•—XR‰ãQ`­©GŒM‡ehc›c”ďϝd‡©ÑW_ϗYƅŒ»…é\\ƒɹ~ǙG³mØ©BšuT§Ĥ½¢Ã_ý‘L¡‘ýŸqT^rme™\\Pp•ZZbƒyŸ’uybQ—efµ]UhĿDCmûvašÙNSkCwn‰cćfv~…Y‹„ÇG"],"encodeOffsets":[[130196,42528]]},"properties":{"cp":[125.3245,43.886841],"name":"吉林","childNum":1}},{"id":"230000","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@ƨƒĶTLÇyqpÇÛqe{~oyen}s‰`q‡iXG”ù]Ëp½“©lɇÁp]Þñ´FÔ^f‘äîºkà˜z¼BUvÈ@"],["@@UƒµNÿ¥īè灋•HÍøƕ¶LŒǽ|g¨|”™Ža¾pViˆdd”~ÈiŒíďÓQġėǐZ΋ŽXb½|ſÃH½ŸKFgɱCģÛÇA‡n™‹jÕc[VĝDZÃ˄Ç_™ £ń³pŽj£º”š¿”»WH´¯”U¸đĢmžtĜyzzNN|g¸÷äűѱĉā~mq^—Œ[ƒ”››”ƒǁÑďlw]¯xQĔ‰¯l‰’€°řĴrŠ™˜BˆÞTxr[tޏĻN_yŸX`biN™Ku…P›£k‚ZĮ—¦[ºxÆÀdhŽĹŀUÈƗCw’áZħÄŭcÓ¥»NAw±qȥnD`{ChdÙFćš}¢‰A±Äj¨]ĊÕjŋ«×`VuÓś~_kŷVÝyh„“VkÄãPs”Oµ—fŸge‚Ň…µf@u_Ù ÙcŸªNªÙEojVx™T@†ãSefjlwH\\pŏäÀvŠŽlY†½d{†F~¦dyz¤PÜndsrhf‹HcŒvlwjFœ£G˜±DύƥY‡yϊu¹XikĿ¦ÏqƗǀOŜ¨LI|FRn sª|Cš˜zxAè¥bœfudTrFWÁ¹Am|˜ĔĕsķÆF‡´Nš‰}ć…UŠÕ@Áijſmužç’uð^ÊýowŒFzØÎĕNőžǏȎôªÌŒDŽàĀÄ˄ĞŀƒʀĀƘŸˮȬƬĊ°ƒUŸzou‡xe]}Ž…AyȑW¯ÌmK‡“Q]‹Īºif¸ÄX|sZt|½ÚUΠlkš^p{f¤lˆºlÆW –€A²˜PVܜPH”Êâ]ÎĈÌÜk´\\@qàsĔÄQºpRij¼èi†`¶—„bXƒrBgxfv»ŽuUiˆŒ^v~”J¬mVp´£Œ´VWrnP½ì¢BX‚¬h™ŠðX¹^TjVœŠriªj™tŊÄm€tPGx¸bgRšŽsT`ZozÆO]’ÒFô҆Oƒ‡ŊŒvŞ”p’cGŒêŠsx´DR–Œ{A†„EOr°Œ•žx|íœbˆ³Wm~DVjºéNN†Ëܲɶ­GƒxŷCStŸ}]ûō•SmtuÇÃĕN•™āg»šíT«u}ç½BĵÞʣ¥ëÊ¡Mێ³ãȅ¡ƋaǩÈÉQ‰†G¢·lG|›„tvgrrf«†ptęŘnŠÅĢr„I²¯LiØsPf˜_vĠd„xM prʹšL¤‹¤‡eˌƒÀđK“žïÙVY§]I‡óáĥ]ķ†Kˆ¥Œj|pŇ\\kzţ¦šnņäÔVĂîά|vW’®l¤èØr‚˜•xm¶ă~lÄƯĄ̈́öȄEÔ¤ØQĄ–Ą»ƢjȦOǺ¨ìSŖÆƬy”Qœv`–cwƒZSÌ®ü±DŽ]ŀç¬B¬©ńzƺŷɄeeOĨS’Œfm Ċ‚ƀP̎ēz©Ċ‚ÄÕÊmgŸÇsJ¥ƔˆŊśæ’΁Ñqv¿íUOµª‰ÂnĦÁ_½ä@ê텣P}Ġ[@gġ}g“ɊדûÏWXá¢užƻÌsNͽƎÁ§č՛AēeL³àydl›¦ĘVçŁpśdžĽĺſʃQíÜçÛġԏsĕ¬—Ǹ¯YßċġHµ ¡eå`ļƒrĉŘóƢFì“ĎWøxÊk†”ƈdƬv|–I|·©NqńRŀƒ¤é”eŊœŀ›ˆàŀU²ŕƀB‚Q£Ď}L¹Îk@©ĈuǰųǨ”Ú§ƈnTËÇéƟÊcfčŤ^Xm‡—HĊĕË«W·ċëx³ǔķÐċJā‚wİ_ĸ˜Ȁ^ôWr­°oú¬Ħ…ŨK~”ȰCĐ´Ƕ£’fNÎèâw¢XnŮeÂÆĶŽ¾¾xäLĴĘlļO¤ÒĨA¢Êɚ¨®‚ØCÔ ŬGƠ”ƦYĜ‡ĘÜƬDJ—g_ͥœ@čŅĻA“¶¯@wÎqC½Ĉ»NŸăëK™ďÍQ“Ùƫ[«Ãí•gßÔÇOÝáW‘ñuZ“¯ĥ€Ÿŕā¡ÑķJu¤E Ÿå¯°WKɱ_d_}}vyŸõu¬ï¹ÓU±½@gÏ¿rýD‰†g…Cd‰µ—°MFYxw¿CG£‹Rƛ½Õ{]L§{qqąš¿BÇƻğëšܭNJË|c²}Fµ}›ÙRsÓpg±ŠQNqǫŋRwŕnéÑÉKŸ†«SeYR…ŋ‹@{¤SJ}šD Ûǖ֍Ÿ]gr¡µŷjqWÛham³~S«“„›Þ]"]],"encodeOffsets":[[[127123,51780]],[[134456,44547]]]},"properties":{"cp":[126.642464,45.756967],"name":"黑龙江","childNum":2}},{"id":"320000","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@cþÅPiŠ`ZŸRu¥É\\]~°ŽY`µ†Óƒ^phÁbnÀşúŽòa–ĬºTÖŒb‚˜e¦¦€{¸ZâćNpŒ©žHr|^ˆmjhŠSEb\\afv`sz^lkŽlj‹Ätg‹¤D˜­¾Xš¿À’|ДiZ„ȀåB·î}GL¢õcßjaŸyBFµÏC^ĭ•cÙt¿sğH]j{s©HM¢ƒQnDÀ©DaÜތ·jgàiDbPufjDk`dPOîƒhw¡ĥ‡¥šG˜ŸP²ĐobºrY†„î¶aHŢ´ ]´‚rılw³r_{£DB_Ûdåuk|ˆŨ¯FCºyr{XFy™e³Þċ‡¿Â™kĭB¿„MvÛpm`rÚã”@ƹhågËÖƿxnlč¶Åì½Ot¾dJlŠVJʜǀœŞqvnOŠ^ŸJ”Z‘ż·Q}ê͎ÅmµÒ]Žƍ¦Dq}¬R^èĂ´ŀĻĊIԒtžIJyQŐĠMNtœR®òLh‰›Ěs©»œ}OӌGZz¶A\\jĨFˆäOĤ˜HYš†JvÞHNiÜaϚɖnFQlšNM¤ˆB´ĄNöɂtp–Ŭdf先‹qm¿QûŠùއÚb¤uŃJŴu»¹Ą•lȖħŴw̌ŵ²ǹǠ͛hĭłƕrçü±Y™xci‡tğ®jű¢KOķ•Coy`å®VTa­_Ā]ŐÝɞï²ʯÊ^]afYǸÃĆēĪȣJđ͍ôƋĝÄ͎ī‰çÛɈǥ£­ÛmY`ó£Z«§°Ó³QafusNıDž_k}¢m[ÝóDµ—¡RLčiXy‡ÅNïă¡¸iĔϑNÌŕoēdōîåŤûHcs}~Ûwbù¹£¦ÓCt‹OPrƒE^ÒoŠg™ĉIµžÛÅʹK…¤½phMŠü`o怆ŀ"],"encodeOffsets":[[121740,32276]]},"properties":{"cp":[118.767413,32.041544],"name":"江苏","childNum":1}},{"id":"330000","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@E^dQ]K"],["@@jX^j‡"],["@@sfŠbU‡"],["@@qP\\xz[ck"],["@@‘Rƒ¢‚FX}°[s_"],["@@Cbœ\\—}"],["@@e|v\\la{u"],["@@v~u}"],["@@QxÂF¯}"],["@@¹nŒvÞs¯o"],["@@rSkUEj"],["@@bi­ZŒP"],["@@p[}INf"],["@@À¿€"],["@@¹dnbŒ…"],["@@rSŸBnR"],["@@g~h}"],["@@FlEk"],["@@OdPc"],["@@v[u\\"],["@@FjâL~wyoo~›sµL–\\"],["@@¬e¹aNˆ"],["@@\\nÔ¡q]L³ë\\ÿ®ŒQ֎"],["@@ÊA­©[¬"],["@@KxŒv"],["@@@hlIk]"],["@@pW{o||j"],["@@Md|_mC"],["@@¢…X£ÏylD¼XˆtH"],["@@hlÜ[LykAvyfw^Ež›¤"],["@@fp¤Mus“R"],["@@®_ma~•LÁ¬šZ"],["@@iM„xZ"],["@@ZcYd"],["@@Z~dOSo|A¿qZv"],["@@@`”EN¡v"],["@@|–TY{"],["@@@n@m"],["@@XWkCT\\"],["@@ºwšZRkĕWO¢"],["@@™X®±Grƪ\\ÔáXq{‹"],["@@ůTG°ĄLHm°UC‹"],["@@¤Ž€aÜx~}dtüGæţŎíĔcŖpMËВj碷ðĄÆMzˆjWKĎ¢Q¶˜À_꒔_Bı€i«pZ€gf€¤Nrq]§ĂN®«H±‡yƳí¾×ŸīàLłčŴǝĂíÀBŖÕªˆŠÁŖHŗʼnåqûõi¨hÜ·ƒñt»¹ýv_[«¸m‰YL¯‰Qª…mĉÅdMˆ•gÇjcº«•ęœ¬­K­´ƒB«Âącoċ\\xKd¡gěŧ«®á’[~ıxu·Å”KsËɏc¢Ù\\ĭƛëbf¹­ģSƒĜkáƉÔ­ĈZB{ŠaM‘µ‰fzʼnfåÂŧįƋǝÊĕġć£g³ne­ą»@­¦S®‚\\ßðCšh™iqªĭiAu‡A­µ”_W¥ƣO\\lċĢttC¨£t`ˆ™PZäuXßBs‡Ļyek€OđġĵHuXBšµ]׌‡­­\\›°®¬F¢¾pµ¼kŘó¬Wät’¸|@ž•L¨¸µr“ºù³Ù~§WI‹ŸZWŽ®’±Ð¨ÒÉx€`‰²pĜ•rOògtÁZ}þÙ]„’¡ŒŸFK‚wsPlU[}¦Rvn`hq¬\\”nQ´ĘRWb”‚_ rtČFI֊kŠŠĦPJ¶ÖÀÖJĈĄTĚòžC ²@Pú…Øzœ©PœCÈÚœĒ±„hŖ‡l¬â~nm¨f©–iļ«m‡nt–u†ÖZÜÄj“ŠLŽ®E̜Fª²iÊxبžIÈhhst"],["@@o\\V’zRZ}y"],["@@†@°¡mۛGĕ¨§Ianá[ýƤjfæ‡ØL–•äGr™"]],"encodeOffsets":[[[125592,31553]],[[125785,31436]],[[125729,31431]],[[125513,31380]],[[125223,30438]],[[125115,30114]],[[124815,29155]],[[124419,28746]],[[124095,28635]],[[124005,28609]],[[125000,30713]],[[125111,30698]],[[125078,30682]],[[125150,30684]],[[124014,28103]],[[125008,31331]],[[125411,31468]],[[125329,31479]],[[125626,30916]],[[125417,30956]],[[125254,30976]],[[125199,30997]],[[125095,31058]],[[125083,30915]],[[124885,31015]],[[125218,30798]],[[124867,30838]],[[124755,30788]],[[124802,30809]],[[125267,30657]],[[125218,30578]],[[125200,30562]],[[124968,30474]],[[125167,30396]],[[124955,29879]],[[124714,29781]],[[124762,29462]],[[124325,28754]],[[123990,28459]],[[125366,31477]],[[125115,30363]],[[125369,31139]],[[122495,31878]],[[125329,30690]],[[125192,30787]]]},"properties":{"cp":[120.153576,30.287459],"name":"浙江","childNum":45}},{"id":"340000","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@^iuLX^"],["@@‚e©Ehl"],["@@°ZÆëϵmkǀwÌÕæhºgBĝâqÙĊz›ÖgņtÀÁÊÆá’hEz|WzqD¹€Ÿ°E‡ŧl{ævÜcA`¤C`|´qžxIJkq^³³ŸGšµbƒíZ…¹qpa±ď OH—¦™Ħˆx¢„gPícOl_iCveaOjCh߸i݋bÛªCC¿€m„RV§¢A|t^iĠGÀtÚs–d]ĮÐDEzAb àiödK¡~H¸íæAžǿYƒ“j{ď¿‘™À½W—®£ChŒÃsiŒkkly]_teu[bFa‰Tig‡n{]Gqªo‹ĈMYá|·¥f¥—őaSÕė™NµñĞ«ImŒ_m¿Âa]uĜp …Z_§{Cƒäg¤°r[_Yj‰ÆOdý“[ŽI[á·¥“Q_n‡ùgL¾mv™ˊBÜÆ¶ĊJhšp“c¹˜O]iŠ]œ¥ jtsggJǧw×jÉ©±›EFˍ­‰Ki”ÛÃÕYv…s•ˆm¬njĻª•§emná}k«ŕˆƒgđ²Ù›DǤ›í¡ªOy›†×Où±@DŸñSęćăÕIÕ¿IµĥO‰‰jNÕËT¡¿tNæŇàåyķrĕq§ÄĩsWÆßŽF¶žX®¿‰mŒ™w…RIޓfßoG‘³¾©uyH‘į{Ɓħ¯AFnuP…ÍÔzšŒV—dàôº^Ðæd´€‡oG¤{S‰¬ćxã}›ŧ×Kǥĩ«žÕOEзÖdÖsƘѨ[’Û^Xr¢¼˜§xvěƵ`K”§ tÒ´Cvlo¸fzŨð¾NY´ı~ÉĔē…ßúLÃϖ_ÈÏ|]ÂÏFl”g`bšežž€n¾¢pU‚h~ƴ˶_‚r sĄ~cž”ƈ]|r c~`¼{À{ȒiJjz`îÀT¥Û³…]’u}›f…ïQl{skl“oNdŸjŸäËzDvčoQŠďHI¦rb“tHĔ~BmlRš—V_„ħTLnñH±’DžœL‘¼L˜ªl§Ťa¸ŒĚlK²€\\RòvDcÎJbt[¤€D@®hh~kt°ǾzÖ@¾ªdb„YhüóZ ň¶vHrľ\\ʗJuxAT|dmÀO„‹[ÃԋG·ĚąĐlŪÚpSJ¨ĸˆLvÞcPæķŨŽ®mАˆálŸwKhïgA¢ųƩޖ¤OȜm’°ŒK´"]],"encodeOffsets":[[[121722,32278]],[[119475,30423]],[[119168,35472]]]},"properties":{"cp":[117.283042,31.86119],"name":"安徽","childNum":3}},{"id":"350000","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@“zht´‡]"],["@@aj^~ĆG—©O"],["@@ed¨„C}}i"],["@@@vˆPGsQ"],["@@‰sBz‚ddW]Q"],["@@SލQ“{"],["@@NŽVucW"],["@@qptBAq"],["@@‰’¸[mu"],["@@Q\\pD]_"],["@@jSwUadpF"],["@@eXª~ƒ•"],["@@AjvFso"],["@@fT–›_Çí\\Ÿ™—v|ba¦jZÆy€°"],["@@IjJi"],["@@wJI€ˆxš«¼AoNe{M­"],["@@K‰±¡Óˆ”ČäeZ"],["@@k¡¹Eh~c®wBk‹UplÀ¡I•~Māe£bN¨gZý¡a±Öcp©PhžI”Ÿ¢Qq…ÇGj‹|¥U™ g[Ky¬ŏ–v@OpˆtÉEŸF„\\@ åA¬ˆV{Xģ‰ĐBy…cpě…¼³Ăp·¤ƒ¥o“hqqÚ¡ŅLsƒ^ᗞ§qlŸÀhH¨MCe»åÇGD¥zPO£čÙkJA¼ß–ėu›ĕeûҍiÁŧSW¥˜QŠûŗ½ùěcݧSùĩąSWó«íęACµ›eR—åǃRCÒÇZÍ¢‹ź±^dlsŒtjD¸•‚ZpužÔâÒH¾oLUêÃÔjjēò´ĄW‚ƛ…^Ñ¥‹ĦŸ@Çò–ŠmŒƒOw¡õyJ†yD}¢ďÑÈġfŠZd–a©º²z£šN–ƒjD°Ötj¶¬ZSÎ~¾c°¶Ðm˜x‚O¸¢Pl´žSL|¥žA†ȪĖM’ņIJg®áIJČĒü` ŽQF‡¬h|ÓJ@zµ |ê³È ¸UÖŬŬÀEttĸr‚]€˜ðŽM¤ĶIJHtÏ A’†žĬkvsq‡^aÎbvŒd–™fÊòSD€´Z^’xPsÞrv‹ƞŀ˜jJd×ŘÉ ®A–ΦĤd€xĆqAŒ†ZR”ÀMźŒnĊ»ŒİÐZ— YX–æJŠyĊ²ˆ·¶q§·–K@·{s‘Xãô«lŗ¶»o½E¡­«¢±¨Yˆ®Ø‹¶^A™vWĶGĒĢžPlzfˆļŽtàAvWYãšO_‡¤sD§ssČġ[kƤPX¦Ž`¶“ž®ˆBBvĪjv©šjx[L¥àï[F…¼ÍË»ğV`«•Ip™}ccÅĥZE‹ãoP…´B@ŠD—¸m±“z«Ƴ—¿å³BRضˆœWlâþäą`“]Z£Tc— ĹGµ¶H™m@_©—kŒ‰¾xĨ‡ôȉðX«½đCIbćqK³Á‹Äš¬OAwã»aLʼn‡ËĥW[“ÂGI—ÂNxij¤D¢ŽîĎÎB§°_JGsƒ¥E@…¤uć…P‘å†cuMuw¢BI¿‡]zG¹guĮck\\_"]],"encodeOffsets":[[[123250,27563]],[[122541,27268]],[[123020,27189]],[[122916,27125]],[[122887,26845]],[[122808,26762]],[[122568,25912]],[[122778,26197]],[[122515,26757]],[[122816,26587]],[[123388,27005]],[[122450,26243]],[[122578,25962]],[[121255,25103]],[[120987,24903]],[[122339,25802]],[[121042,25093]],[[122439,26024]]]},"properties":{"cp":[119.306239,26.075302],"name":"福建","childNum":18}},{"id":"360000","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@ĢĨƐgÂMD~ņªe^\\^§„ý©j׍cZ†Ø¨zdÒa¶ˆlҍJŒìõ`oz÷@¤u޸´†ôęöY¼‰HČƶajlÞƩ¥éZ[”|h}^U Œ ¥p„ĄžƦO lt¸Æ €Q\\€ŠaÆ|CnÂOjt­ĚĤd’ÈŒF`’¶„@Ð딠¦ōҞ¨Sêv†HĢûXD®…QgėWiØPÞìºr¤dž€NĠ¢l–•ĄtZoœCƞÔºCxrpĠV®Ê{f_Y`_ƒeq’’®Aot`@o‚DXfkp¨|Šs¬\\D‘ÄSfè©Hn¬…^DhÆyøJh“ØxĢĀLʈ„ƠPżċĄwȠ̦G®ǒĤäTŠÆ~ĦwŠ«|TF¡Šn€c³Ïå¹]ĉđxe{ÎӐ†vOEm°BƂĨİ|G’vz½ª´€H’àp”eJ݆Qšxn‹ÀŠW­žEµàXÅĪt¨ÃĖrÄwÀFÎ|ňÓMå¼ibµ¯»åDT±m[“r«_gŽmQu~¥V\\OkxtL E¢‹ƒ‘Ú^~ýê‹Pó–qo슱_Êw§ÑªåƗ⼋mĉŹ‹¿NQ“…YB‹ąrwģcÍ¥B•Ÿ­ŗÊcØiI—žƝĿuŒqtāwO]‘³YCTeɕš‹caub͈]trlu€ī…B‘ПGsĵıN£ï—^ķqss¿FūūV՟·´Ç{éĈý‰ÿ›OEˆR_ŸđûIċâJh­ŅıN‘ȩĕB…¦K{Tk³¡OP·wn—µÏd¯}½TÍ«YiµÕsC¯„iM•¤™­•¦¯P|ÿUHv“he¥oFTu‰õ\\ŽOSs‹MòđƇiaºćXŸĊĵà·çhƃ÷ǜ{‘ígu^›đg’m[×zkKN‘¶Õ»lčÓ{XSƉv©_ÈëJbVk„ĔVÀ¤P¾ºÈMÖxlò~ªÚàGĂ¢B„±’ÌŒK˜y’áV‡¼Ã~­…`g›ŸsÙfI›Ƌlę¹e|–~udjˆuTlXµf`¿JdŠ[\\˜„L‚‘²"],"encodeOffsets":[[116689,26234]]},"properties":{"cp":[115.892151,28.676493],"name":"江西","childNum":1}},{"id":"370000","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@Xjd]{K"],["@@itbFHy"],["@@HlGk"],["@@T‚ŒGŸy"],["@@K¬˜•‹U"],["@@WdXc"],["@@PtOs"],["@@•LnXhc"],["@@ppVƒu]Or"],["@@cdzAUa"],["@@udRhnCI‡"],["@@ˆoIƒpR„"],["@@Ľč{fzƤî’Kš–ÎMĮ]†—ZFˆ½Y]â£ph’™š¶¨râøÀ†ÎǨ¤^ºÄ”Gzˆ~grĚĜlĞÆ„LĆdž¢Îo¦–cv“Kb€gr°Wh”mZp ˆL]LºcU‰Æ­n”żĤÌǜbAnrOAœ´žȊcÀbƦUØrĆUÜøœĬƞ†š˜Ez„VL®öØBkŖÝĐ˹ŧ̄±ÀbÎɜnb²ĦhņBĖ›žįĦåXćì@L¯´ywƕCéõė ƿ¸‘lµ¾Z|†ZWyFYŸ¨Mf~C¿`€à_RÇzwƌfQnny´INoƬˆèôº|sT„JUš›‚L„îVj„ǎ¾Ē؍‚Dz²XPn±ŴPè¸ŔLƔÜƺ_T‘üÃĤBBċȉöA´fa„˜M¨{«M`‡¶d¡ô‰Ö°šmȰBÔjjŒ´PM|”c^d¤u•ƒ¤Û´Œä«ƢfPkMôlˆ]Lb„}su^ke{lC‘…M•rDŠÇ­]NÑFsmoõľH‰yGă{{çrnÓE‰‹ƕZGª¹Fj¢ïW…uøCǷ돡ąuhÛ¡^Kx•C`C\\bÅxì²ĝÝ¿_N‰īCȽĿåB¥¢·IŖÕy\\‡¹kx‡Ã£Č×GDyÕ¤ÁçFQ¡„KtŵƋ]CgÏAùSed‡cÚź—ŠuYfƒyMmhUWpSyGwMPqŀ—›Á¼zK›¶†G•­Y§Ëƒ@–´śÇµƕBmœ@Io‚g——Z¯u‹TMx}C‘‰VK‚ï{éƵP—™_K«™pÛÙqċtkkù]gŽ‹Tğwo•ɁsMõ³ă‡AN£™MRkmEʕč™ÛbMjÝGu…IZ™—GPģ‡ãħE[iµBEuŸDPԛ~ª¼ętŠœ]ŒûG§€¡QMsğNPŏįzs£Ug{đJĿļā³]ç«Qr~¥CƎÑ^n¶ÆéÎR~ݏY’I“] P‰umŝrƿ›‰›Iā‹[x‰edz‹L‘¯v¯s¬ÁY…~}…ťuٌg›ƋpÝĄ_ņī¶ÏSR´ÁP~ž¿Cyžċßdwk´Ss•X|t‰`Ä Èð€AªìÎT°¦Dd–€a^lĎDĶÚY°Ž`ĪŴǒˆ”àŠv\\ebŒZH„ŖR¬ŢƱùęO•ÑM­³FۃWp[ƒ"]],"encodeOffsets":[[[123806,39303]],[[123821,39266]],[[123742,39256]],[[123702,39203]],[[123649,39066]],[[123847,38933]],[[123580,38839]],[[123894,37288]],[[123043,36624]],[[123344,38676]],[[123522,38857]],[[123628,38858]],[[118260,36742]]]},"properties":{"cp":[117.000923,36.675807],"name":"山东","childNum":13}},{"id":"410000","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@•ýL™ùµP³swIÓxcŢĞð†´E®žÚPt†ĴXØx¶˜@«ŕŕQGƒ‹Yfa[şu“ßǩ™đš_X³ijÕčC]kbc•¥CS¯ëÍB©÷‹–³­Siˆ_}m˜YTtž³xlàcȂzÀD}ÂOQ³ÐTĨ¯†ƗòËŖ[hœł‹Ŧv~††}ÂZž«¤lPǕ£ªÝŴÅR§ØnhcŒtâk‡nύ­ľŹUÓÝdKuķ‡I§oTũÙďkęĆH¸ÓŒ\\ăŒ¿PcnS{wBIvɘĽ[GqµuŸŇôYgûƒZcaŽ©@½Õǽys¯}lgg@­C\\£as€IdÍuCQñ[L±ęk·‹ţb¨©kK—’»›KC²‘òGKmĨS`ƒ˜UQ™nk}AGē”sqaJ¥ĐGR‰ĎpCuÌy ã iMc”plk|tRk†ðœev~^‘´†¦ÜŽSí¿_iyjI|ȑ|¿_»d}qŸ^{“Ƈdă}Ÿtqµ`Ƴĕg}V¡om½fa™Ço³TTj¥„tĠ—Ry”K{ùÓjuµ{t}uËR‘iŸvGŠçJFjµŠÍyqΘàQÂFewixGw½Yŷpµú³XU›½ġy™łå‰kÚwZXˆ·l„¢Á¢K”zO„Λ΀jc¼htoDHr…|­J“½}JZ_¯iPq{tę½ĕ¦Zpĵø«kQ…Ťƒ]MÛfaQpě±ǽ¾]u­Fu‹÷nƒ™čįADp}AjmcEǒaª³o³ÆÍSƇĈÙDIzˑ赟^ˆKLœ—i—Þñ€[œƒaA²zz‰Ì÷Dœ|[šíijgf‚ÕÞd®|`ƒĆ~„oĠƑô³Ŋ‘D×°¯CsŠøÀ«ì‰UMhTº¨¸ǡîS–Ô„DruÂÇZ•ÖEŽ’vPZ„žW”~؋ÐtĄE¢¦Ðy¸bŠô´oŬ¬Ž²Ês~€€]®tªašpŎJ¨Öº„_ŠŔ–`’Ŗ^Ѝ\\Ĝu–”~m²Ƹ›¸fW‰ĦrƔ}Î^gjdfÔ¡J}\\n C˜¦þWxªJRÔŠu¬ĨĨmF†dM{\\d\\ŠYÊ¢ú@@¦ª²SŠÜsC–}fNècbpRmlØ^g„d¢aÒ¢CZˆZxvÆ¶N¿’¢T@€uCœ¬^ĊðÄn|žlGl’™Rjsp¢ED}€Fio~ÔNŽ‹„~zkĘHVsDzßjƒŬŒŠŢ`Pûàl¢˜\\ÀœEhŽİgÞē X¼Pk–„|m"],"encodeOffsets":[[118256,37017]]},"properties":{"cp":[113.665412,34.757975],"name":"河南","childNum":1}},{"id":"420000","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@AB‚"],["@@lskt"],["@@¾«}{ra®pîÃ\\™›{øCŠËyyB±„b\\›ò˜Ý˜jK›‡L ]ĎĽÌ’JyÚCƈćÎT´Å´pb©È‘dFin~BCo°BĎĚømvŒ®E^vǾ½Ĝ²Ro‚bÜeNŽ„^ĺ£R†¬lĶ÷YoĖ¥Ě¾|sOr°jY`~I”¾®I†{GqpCgyl{‡£œÍƒÍyPL“¡ƒ¡¸kW‡xYlÙæŠšŁĢzœ¾žV´W¶ùŸo¾ZHxjwfx„GNÁ•³Xéæl¶‰EièIH‰ u’jÌQ~v|sv¶Ôi|ú¢Fh˜Qsğ¦ƒSiŠBg™ÐE^ÁÐ{–čnOÂȞUÎóĔ†ÊēIJ}Z³½Mŧïeyp·uk³DsѨŸL“¶_œÅuèw»—€¡WqÜ]\\‘Ò§tƗcÕ¸ÕFÏǝĉăxŻČƟO‡ƒKÉġÿ×wg”÷IÅzCg†]m«ªGeçÃTC’«[‰t§{loWeC@ps_Bp‘­r‘„f_``Z|ei¡—oċMqow€¹DƝӛDYpûs•–‹Ykıǃ}s¥ç³[§ŸcYЧHK„«Qy‰]¢“wwö€¸ïx¼ņ¾Xv®ÇÀµRĠЋžHMž±cÏd„ƒǍũȅȷ±DSyúĝ£ŤĀàtÖÿï[îb\\}pĭÉI±Ñy…¿³x¯N‰o‰|¹H™ÏÛm‹júË~Tš•u˜ęjCöAwě¬R’đl¯ Ñb­‰ŇT†Ŀ_[Œ‘IčĄʿnM¦ğ\\É[T·™k¹œ©oĕ@A¾w•ya¥Y\\¥Âaz¯ãÁ¡k¥ne£Ûw†E©Êō¶˓uoj_Uƒ¡cF¹­[Wv“P©w—huÕyBF“ƒ`R‹qJUw\\i¡{jŸŸEPïÿ½fć…QÑÀQ{ž‚°‡fLԁ~wXg—ītêݾ–ĺ‘Hdˆ³fJd]‹HJ²…E€ƒoU¥†HhwQsƐ»Xmg±çve›]Dm͂PˆoCc¾‹_h”–høYrŊUeD°Č_N~øĹĚ·`z’]Äþp¼…äÌQŒv\\rCŒé¾TnkžŐڀÜa‡“¼ÝƆ̶Ûo…d…ĔňТJq’Pb ¾|JŒ¾fXŠƐîĨ_Z¯À}úƲ‹N_ĒĊ^„‘ĈaŐyp»CÇĕKŠšñL³ŠġMŒ²wrIÒŭxjb[œžn«øœ˜—æˆàƒ ^²­h¯Ú€ŐªÞ¸€Y²ĒVø}Ā^İ™´‚LŠÚm„¥ÀJÞ{JVŒųÞŃx×sxxƈē ģMř–ÚðòIf–Ċ“Œ\\Ʈ±ŒdʧĘD†vČ_Àæ~DŒċ´A®µ†¨ØLV¦êHÒ¤"]],"encodeOffsets":[[[113712,34000]],[[115612,30507]],[[113649,34054]]]},"properties":{"cp":[114.298572,30.584355],"name":"湖北","childNum":3}},{"id":"430000","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@—n„FTs"],["@@ßÅÆá‰½ÔXr—†CO™“…ËR‘ïÿĩ­TooQyšÓ[‹ŅBE¬–ÎÓXa„į§Ã¸G °ITxp‰úxÚij¥Ïš–̾ŠedžÄ©ĸG…œàGh‚€M¤–Â_U}Ċ}¢pczfŠþg¤€”ÇòAV‘‹M"],["@@©K—ƒA·³CQ±Á«³BUŠƑ¹AŠtćOw™D]ŒJiØSm¯b£‘ylƒ›X…HËѱH•«–‘C^õľA–Å§¤É¥„ïyuǙuA¢^{ÌC´­¦ŷJ£^[†“ª¿‡ĕ~•Ƈ…•N… skóā‡¹¿€ï]ă~÷O§­@—Vm¡‹Qđ¦¢Ĥ{ºjԏŽŒª¥nf´•~ÕoŸž×Ûą‹MąıuZœmZcÒ IJβSÊDŽŶ¨ƚƒ’CÖŎªQؼrŭŽ­«}NÏürʬŒmjr€@ĘrTW ­SsdHzƓ^ÇÂyUi¯DÅYlŹu{hTœ}mĉ–¹¥ě‰Dÿë©ıÓ[Oº£ž“¥ót€ł¹MՄžƪƒ`Pš…Di–ÛUоÅ‌ìˆU’ñB“È£ýhe‰dy¡oċ€`pfmjP~‚kZa…ZsÐd°wj§ƒ@€Ĵ®w~^‚kÀÅKvNmX\\¨a“”сqvíó¿F„¤¡@ũÑVw}S@j}¾«pĂr–ªg àÀ²NJ¶¶Dô…K‚|^ª†Ž°LX¾ŴäPᜣEXd›”^¶›IJÞܓ~‘u¸ǔ˜Ž›MRhsR…e†`ÄofIÔ\\Ø  i”ćymnú¨cj ¢»–GČìƊÿШXeĈ¾Oð Fi ¢|[jVxrIQŒ„_E”zAN¦zLU`œcªx”OTu RLÄ¢dV„i`p˔vŎµªÉžF~ƒØ€d¢ºgİàw¸Áb[¦Zb¦–z½xBĖ@ªpº›šlS¸Ö\\Ĕ[N¥ˀmĎă’J\\‹ŀ`€…ňSڊĖÁĐiO“Ĝ«BxDõĚiv—ž–S™Ì}iùŒžÜnšÐºGŠ{Šp°M´w†ÀÒzJ²ò¨ oTçüöoÛÿñŽőФ‚ùTz²CȆȸǎۃƑÐc°dPÎŸğ˶[Ƚu¯½WM¡­Éž“’B·rížnZŸÒ `‡¨GA¾\\pē˜XhÆRC­üWGġu…T靧Ŏѝ©ò³I±³}_‘‹EÃħg®ęisÁPDmÅ{‰b[Rşs·€kPŸŽƥƒóRo”O‹ŸVŸ~]{g\\“êYƪ¦kÝbiċƵŠGZ»Ěõ…ó·³vŝž£ø@pyö_‹ëŽIkѵ‡bcѧy…×dY؎ªiþž¨ƒ[]f]Ņ©C}ÁN‡»hĻħƏ’ĩ"]],"encodeOffsets":[[[115640,30489]],[[112543,27312]],[[116690,26230]]]},"properties":{"cp":[112.982279,28.19409],"name":"湖南","childNum":3}},{"id":"440000","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@QdˆAua"],["@@ƒlxDLo"],["@@sbhNLo"],["@@Ă āŸ"],["@@WltO[["],["@@Krœ]S"],["@@e„„I]y"],["@@I|„Mym"],["@@ƒÛ³LSŒž¼Y"],["@@nvºB–ëui©`¾"],["@@zdšÛ›Jw®"],["@@†°…¯"],["@@a yAª¸ËJIx،@€ĀHAmßV¡o•fu•o"],["@@šs‰ŗÃÔėAƁ›ZšÄ ~°ČP‚‹äh"],["@@‹¶Ý’Ì‚vmĞh­ı‡Q"],["@@HœŠdSjĒ¢D}war…“u«ZqadYM"],["@@elŒ\\LqqU"],["@@~rMo\\"],["@@f„^ƒC"],["@@øPªoj÷ÍÝħXČx”°Q¨ıXNv"],["@@gÇƳˆŽˆ”oˆŠˆ[~tly"],["@@E–ÆC¿‘"],["@@OŽP"],["@@w‹†đóg‰™ĝ—[³‹¡VÙæÅöM̳¹pÁaËýý©D©Ü“JŹƕģGą¤{Ùū…ǘO²«BƱéA—Ò‰ĥ‡¡«BhlmtÃPµyU¯uc“d·w_bŝcīímGOŽ|KP’ȏ‡ŹãŝIŕŭŕ@Óoo¿ē‹±ß}Ž…ŭ‚ŸIJWÈCőâUâǙI›ğʼn©I›ijEׅÁ”³Aó›wXJþ±ÌŒÜӔĨ£L]ĈÙƺZǾĆĖMĸĤfŒÎĵl•ŨnȈ‘ĐtF”Š–FĤ–‚êk¶œ^k°f¶gŠŽœ}®Fa˜f`vXŲxl˜„¦–ÔÁ²¬ÐŸ¦pqÊ̲ˆi€XŸØRDÎ}†Ä@ZĠ’s„x®AR~®ETtĄZ†–ƈfŠŠHâÒÐA†µ\\S¸„^wĖkRzŠalŽŜ|E¨ÈNĀňZTŒ’pBh£\\ŒĎƀuXĖtKL–¶G|Ž»ĺEļĞ~ÜĢÛĊrˆO˜Ùîvd]nˆ¬VœÊĜ°R֟pM††–‚ƂªFbwžEÀˆ˜©Œž\\…¤]ŸI®¥D³|ˎ]CöAŤ¦…æ’´¥¸Lv¼€•¢ĽBaô–F~—š®²GÌҐEY„„œzk¤’°ahlV՞I^‹šCxĈPŽsB‰ƒºV‰¸@¾ªR²ĨN]´_eavSi‡vc•}p}Đ¼ƌkJœÚe thœ†_¸ ºx±ò_xN›Ë‹²‘@ƒă¡ßH©Ùñ}wkNÕ¹ÇO½¿£ĕ]ly_WìIžÇª`ŠuTÅxYĒÖ¼k֞’µ‚MžjJÚwn\\h‘œĒv]îh|’È›Ƅøègž¸Ķß ĉĈWb¹ƀdéƌNTtP[ŠöSvrCZžžaGuœbo´ŖÒÇА~¡zCI…özx¢„Pn‹•‰Èñ @ŒĥÒ¦†]ƞŠV}³ăĔñiiÄÓVépKG½Ä‘ÓávYo–C·sit‹iaÀy„ŧΡÈYDÑům}‰ý|m[węõĉZÅxUO}÷N¹³ĉo_qtă“qwµŁYلǝŕ¹tïÛUïmRCº…ˆĭ|µ›ÕÊK™½R‘ē ó]‘–GªęAx–»HO£|ām‡¡diď×YïYWªʼnOeÚtĐ«zđ¹T…ā‡úE™á²\\‹ķÍ}jYàÙÆſ¿Çdğ·ùTßÇţʄ¡XgWÀLJğ·¿ÃˆOj YÇ÷Qě‹i"]],"encodeOffsets":[[[117381,22988]],[[116552,22934]],[[116790,22617]],[[116973,22545]],[[116444,22536]],[[116931,22515]],[[116496,22490]],[[116453,22449]],[[113301,21439]],[[118726,21604]],[[118709,21486]],[[113210,20816]],[[115482,22082]],[[113171,21585]],[[113199,21590]],[[115232,22102]],[[115739,22373]],[[115134,22184]],[[113056,21175]],[[119573,21271]],[[119957,24020]],[[115859,22356]],[[116561,22649]],[[116285,22746]]]},"properties":{"cp":[113.280637,23.125178],"name":"广东","childNum":24}},{"id":"450000","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@H– TQ§•A"],["@@ĨʪƒLƒƊDÎĹĐCǦė¸zÚGn£¾›rªŀÜt¬@֛ڈSx~øOŒ˜ŶÐÂæȠ\\„ÈÜObĖw^oބLf¬°bI lTØB̈F£Ć¹gñĤaY“t¿¤VSñœK¸¤nM†¼‚JE±„½¸šŠño‹ÜCƆæĪ^ŠĚQÖ¦^‡ˆˆf´Q†üÜʝz¯šlzUĺš@쇀p¶n]sxtx¶@„~ÒĂJb©gk‚{°‚~c°`ԙ¬rV\\“la¼¤ôá`¯¹LC†ÆbŒxEræO‚v[H­˜„[~|aB£ÖsºdAĐzNÂðsŽÞƔ…Ĥªbƒ–ab`ho¡³F«èVloޤ™ÔRzpp®SŽĪº¨ÖƒºN…ij„d`’a”¦¤F³ºDÎńĀìŠCžĜº¦Ċ•~nS›|gźvZkCÆj°zVÈÁƔ]LÊFZg…čP­kini«‹qǀcz͔Y®¬Ů»qR×ō©DՄ‘§ƙǃŵTÉĩ±ŸıdÑnYY›IJvNĆÌØÜ Öp–}e³¦m‹©iÓ|¹Ÿħņ›|ª¦QF¢Â¬ʖovg¿em‡^ucà÷gՎuŒíÙćĝ}FϼĹ{µHK•sLSđƃr‹č¤[Ag‘oS‹ŇYMÿ§Ç{Fśbky‰lQxĕƒ]T·¶[B…ÑÏGáşşƇe€…•ăYSs­FQ}­Bƒw‘tYğÃ@~…C̀Q ×W‡j˱rÉ¥oÏ ±«ÓÂ¥•ƒ€k—ŽwWűŒmcih³K›~‰µh¯e]lµ›él•E쉕E“ďs‡’mǖŧē`ãògK_ÛsUʝ“ćğ¶hŒöŒO¤Ǜn³Žc‘`¡y‹¦C‘ez€YŠwa™–‘[ďĵűMę§]X˜Î_‚훘Û]é’ÛUćİÕBƣ±…dƒy¹T^džûÅÑŦ·‡PĻþÙ`K€¦˜…¢ÍeœĥR¿Œ³£[~Œäu¼dl‰t‚†W¸oRM¢ď\\zœ}Æzdvň–{ÎXF¶°Â_„ÒÂÏL©Ö•TmuŸ¼ãl‰›īkiqéfA„·Êµ\\őDc¥ÝF“y›Ôć˜c€űH_hL܋êĺШc}rn`½„Ì@¸¶ªVLŒŠhŒ‹\\•Ţĺk~ŽĠið°|gŒtTĭĸ^x‘vK˜VGréAé‘bUu›MJ‰VÃO¡…qĂXËS‰ģãlýàŸ_ju‡YÛÒB†œG^˜é֊¶§ŽƒEG”ÅzěƒƯ¤Ek‡N[kdåucé¬dnYpAyČ{`]þ¯T’bÜÈk‚¡Ġ•vŒàh„ÂƄ¢Jî¶²"]],"encodeOffsets":[[[111707,21520]],[[107619,25527]]]},"properties":{"cp":[108.320004,22.82402],"name":"广西","childNum":2}},{"id":"460000","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@š¦Ŝil¢”XƦ‘ƞò–ïè§ŞCêɕrŧůÇąĻõ™·ĉ³œ̅km@ċȧƒŧĥ‰Ľʉ­ƅſ“ȓÒ˦ŝE}ºƑ[ÍĜȋ gÎfǐÏĤ¨êƺ\\Ɔ¸ĠĎvʄȀœÐ¾jNðĀÒRŒšZdž™zÐŘΰH¨Ƣb²_Ġ "],"encodeOffsets":[[112750,20508]]},"properties":{"cp":[110.33119,20.031971],"name":"海南","childNum":1}},{"id":"510000","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@LqKr"],["@@Š[ĻéV£ž_ţġñpG •réÏ·~ąSfy×͂·ºſƽiÍıƣıĻmHH}siaX@iǰÁÃ×t«ƒ­Tƒ¤J–JJŒyJ•ÈŠ`Ohߦ¡uËhIyCjmÿw…ZG……Ti‹SˆsO‰žB²ŸfNmsPaˆ{M{ŠõE‘^Hj}gYpaeuž¯‘oáwHjÁ½M¡pM“–uå‡mni{fk”\\oƒÎqCw†EZ¼K›ĝŠƒAy{m÷L‡wO×SimRI¯rK™õBS«sFe‡]fµ¢óY_ÆPRcue°Cbo׌bd£ŌIHgtrnyPt¦foaXďx›lBowz‹_{ÊéWiêE„GhܸºuFĈIxf®Ž•Y½ĀǙ]¤EyŸF²ċ’w¸¿@g¢§RGv»–áŸW`ÃĵJwi]t¥wO­½a[׈]`Ãi­üL€¦LabbTÀå’c}Íh™Æhˆ‹®BH€î|Ék­¤S†y£„ia©taį·Ɖ`ō¥Uh“O…ƒĝLk}©Fos‰´›Jm„µlŁu—…ø–nÑJWΪ–YÀïAetTžŅ‚ӍG™Ë«bo‰{ıwodƟ½ƒžOġܑµxàNÖ¾P²§HKv¾–]|•B‡ÆåoZ`¡Ø`ÀmºĠ~ÌЧnDž¿¤]wğ@sƒ‰rğu‰~‘Io”[é±¹ ¿žſđӉ@q‹gˆ¹zƱřaí°KtǤV»Ã[ĩǭƑ^ÇÓ@ỗs›Zϕ‹œÅĭ€Ƌ•ěpwDóÖሯneQˌq·•GCœýS]xŸ·ý‹q³•O՜Œ¶Qzßti{ř‰áÍÇWŝŭñzÇW‹pç¿JŒ™‚Xœĩè½cŒF–ÂLiVjx}\\N†ŇĖ¥Ge–“JA¼ÄHfÈu~¸Æ«dE³ÉMA|b˜Ò…˜ćhG¬CM‚õŠ„ƤąAvƒüV€éŀ‰_V̳ĐwQj´·ZeÈÁ¨X´Æ¡Qu·»Ÿ“˜ÕZ³ġqDo‰y`L¬gdp°şŠp¦ėìÅĮZްIä”h‚‘ˆzŠĵœf²å ›ĚрKp‹IN|‹„Ñz]ń……·FU×é»R³™MƒÉ»GM«€ki€™ér™}Ã`¹ăÞmȝnÁîRǀ³ĜoİzŔwǶVÚ£À]ɜ»ĆlƂ²Ġ…þTº·àUȞÏʦ¶†I’«dĽĢdĬ¿–»Ĕ׊h\\c¬†ä²GêëĤł¥ÀǿżÃÆMº}BÕĢyFVvw–ˆxBèĻĒ©Ĉ“tCĢɽŠȣ¦āæ·HĽî“ôNԓ~^¤Ɗœu„œ^s¼{TA¼ø°¢İªDè¾Ň¶ÝJ‘®Z´ğ~Sn|ªWÚ©òzPOȸ‚bð¢|‹øĞŠŒœŒQìÛÐ@Ğ™ǎRS¤Á§d…i“´ezÝúØã]Hq„kIŸþËQǦÃsǤ[E¬ÉŪÍxXƒ·ÖƁİlƞ¹ª¹|XÊwn‘ÆƄmÀêErĒtD®ċæcQƒ”E®³^ĭ¥©l}äQto˜ŖÜqƎkµ–„ªÔĻĴ¡@Ċ°B²Èw^^RsºT£ڿœQP‘JvÄz„^Đ¹Æ¯fLà´GC²‘dt˜­ĀRt¼¤ĦOðğfÔðDŨŁĞƘïžPȆ®âbMüÀXZ ¸£@Ś›»»QÉ­™]d“sÖ×_͖_ÌêŮPrĔĐÕGĂeZÜîĘqBhtO ¤tE[h|Y‹Ô‚ZśÎs´xº±UŒ’ñˆt|O’ĩĠºNbgþŠJy^dÂY Į„]Řz¦gC‚³€R`Šz’¢AjŒ¸CL„¤RÆ»@­Ŏk\\Ç´£YW}z@Z}‰Ã¶“oû¶]´^N‡Ò}èN‚ª–P˜Íy¹`S°´†ATe€VamdUĐwʄvĮÕ\\ƒu‹Æŗ¨Yp¹àZÂm™Wh{á„}WØǍ•Éüw™ga§áCNęÎ[ĀÕĪgÖɪX˜øx¬½Ů¦¦[€—„NΆL€ÜUÖ´òrÙŠxR^–†J˜k„ijnDX{Uƒ~ET{ļº¦PZc”jF²Ė@Žp˜g€ˆ¨“B{ƒu¨ŦyhoÚD®¯¢˜ WòàFΤ¨GDäz¦kŮPœġq˚¥À]€Ÿ˜eŽâÚ´ªKxī„Pˆ—Ö|æ[xäJÞĥ‚s’NÖ½ž€I†¬nĨY´®Ð—ƐŠ€mD™ŝuäđđEb…e’e_™v¡}ìęNJē}q”É埁T¯µRs¡M@}ůa†a­¯wvƉåZwž\\Z{åû^›"]],"encodeOffsets":[[[108815,30935]],[[110617,31811]]]},"properties":{"cp":[104.065735,30.659462],"name":"四川","childNum":2}},{"id":"520000","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@†G\\†lY£‘in"],["@@q‚|ˆ‚mc¯tχVSÎ"],["@@hÑ£Is‡NgßH†›HªķÃh_¹ƒ¡ĝħń¦uيùŽgSJHŸ|sÝÅtÁïyMDč»eÕtA¤{b\\}—ƒG®u\\åPFq‹wÅaD…žK°ºâ_£ùbµ”mÁ‹ÛœĹM[q|hlaªāI}тƒµ@swtwm^oµˆD鼊yV™ky°ÉžûÛR…³‚‡eˆ‡¥]RՋěħ[ƅåÛDpŒ”J„iV™™‰ÂF²I…»mN·£›LbÒYb—WsÀbŽ™pki™TZĄă¶HŒq`……ĥ_JŸ¯ae«ƒKpÝx]aĕÛPƒÇȟ[ÁåŵÏő—÷Pw}‡TœÙ@Õs«ĿÛq©½œm¤ÙH·yǥĘĉBµĨÕnđ]K„©„œá‹ŸG纍§Õßg‡ǗĦTèƤƺ{¶ÉHÎd¾ŚÊ·OÐjXWrãLyzÉAL¾ę¢bĶėy_qMĔąro¼hĊžw¶øV¤w”²Ĉ]ʚKx|`ź¦ÂÈdr„cȁbe¸›`I¼čTF´¼Óýȃr¹ÍJ©k_șl³´_pН`oÒh޶pa‚^ÓĔ}D»^Xyœ`d˜[Kv…JPhèhCrĂĚÂ^Êƌ wˆZL­Ġ£šÁbrzOIl’MM”ĪŐžËr×ÎeŦŽtw|Œ¢mKjSǘňĂStÎŦEtqFT†¾†E쬬ôxÌO¢Ÿ KгŀºäY†„”PVgŎ¦Ŋm޼VZwVlŒ„z¤…ž£Tl®ctĽÚó{G­A‡ŒÇgeš~Αd¿æaSba¥KKûj®_ć^\\ؾbP®¦x^sxjĶI_Ä X‚⼕Hu¨Qh¡À@Ëô}ޱžGNìĎlT¸ˆ…`V~R°tbÕĊ`¸úÛtπFDu€[ƒMfqGH·¥yA‰ztMFe|R‚_Gk†ChZeÚ°to˜v`x‹b„ŒDnÐ{E}šZ˜è€x—†NEފREn˜[Pv@{~rĆAB§‚EO¿|UZ~ì„Uf¨J²ĂÝÆ€‚sª–B`„s¶œfvö¦ŠÕ~dÔq¨¸º»uù[[§´sb¤¢zþFœ¢Æ…Àhˆ™ÂˆW\\ıŽËI݊o±ĭŠ£þˆÊs}¡R]ŒěƒD‚g´VG¢‚j±®è†ºÃmpU[Á›‘Œëº°r›ÜbNu¸}Žº¼‡`ni”ºÔXĄ¤¼Ôdaµ€Á_À…†ftQQgœR—‘·Ǔ’v”}Ýלĵ]µœ“Wc¤F²›OĩųãW½¯K‚©…]€{†LóµCIµ±Mß¿hŸ•©āq¬o‚½ž~@i~TUxŪÒ¢@ƒ£ÀEîôruń‚”“‚b[§nWuMÆLl¿]x}ij­€½"]],"encodeOffsets":[[[112158,27383]],[[112105,27474]],[[112095,27476]]]},"properties":{"cp":[106.713478,26.578343],"name":"贵州","childNum":3}},{"id":"530000","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@[„ùx½}ÑRH‘YīĺûsÍn‘iEoã½Ya²ė{c¬ĝg•ĂsA•ØÅwď‚õzFjw}—«Dx¿}UũlŸê™@•HÅ­F‰¨ÇoJ´Ónũuą¡Ã¢pÒŌ“Ø TF²‚xa²ËX€‚cʋlHîAßËŁkŻƑŷÉ©h™W­æßU‡“Ës¡¦}•teèÆ¶StǀÇ}Fd£j‹ĈZĆÆ‹¤T‚č\\Dƒ}O÷š£Uˆ§~ŃG™‚åŃDĝ¸œTsd¶¶Bªš¤u¢ŌĎo~t¾ÍŶÒtD¦Ú„iôö‰€z›ØX²ghįh½Û±¯€ÿm·zR¦Ɵ`ªŊÃh¢rOԍ´£Ym¼èêf¯ŪĽn„†cÚbŒw\\zlvWžªâˆ ¦g–mĿBş£¢ƹřbĥkǫßeeZkÙIKueT»sVesb‘aĕ  ¶®dNœĄÄpªyސ¼—„³BE˜®l‡ŽGœŭCœǶwêżĔÂe„pÍÀQƞpC„–¼ŲÈ­AÎô¶R„ä’Q^Øu¬°š_Èôc´¹ò¨P΢hlϦ´Ħ“Æ´sâDŽŲPnÊD^¯°’Upv†}®BP̪–jǬx–Söwlfòªv€qĸ|`H€­viļ€ndĜ­Ćhň•‚em·FyށqóžSᝑ³X_ĞçêtryvL¤§z„¦c¦¥jnŞk˜ˆlD¤øz½ĜàžĂŧMÅ|áƆàÊcðÂF܎‚áŢ¥\\\\º™İøÒÐJĴ‡„îD¦zK²ǏÎEh~’CD­hMn^ÌöÄ©ČZÀžaü„fɭyœpį´ěFűk]Ôě¢qlÅĆÙa~Äqššê€ljN¬¼H„ÊšNQ´ê¼VظE††^ŃÒyŒƒM{ŒJLoÒœęæŸe±Ķ›y‰’‡gã“¯JYÆĭĘëo¥Š‰o¯hcK«z_pŠrC´ĢÖY”—¼ v¸¢RŽÅW³Â§fǸYi³xR´ďUˊ`êĿU„û€uĆBƒƣö‰N€DH«Ĉg†——Ñ‚aB{ÊNF´¬c·Åv}eÇÃGB»”If•¦HňĕM…~[iwjUÁKE•Ž‹¾dĪçW›šI‹èÀŒoÈXòyŞŮÈXâÎŚŠj|àsRy‹µÖ›–Pr´þŒ ¸^wþTDŔ–Hr¸‹žRÌmf‡żÕâCôox–ĜƌÆĮŒ›Ð–œY˜tâŦÔ@]ÈǮƒ\\μģUsȯLbîƲŚºyh‡rŒŠ@ĒԝƀŸÀ²º\\êp“’JŠ}ĠvŠqt„Ġ@^xÀ£È†¨mËÏğ}n¹_¿¢×Y_æpˆÅ–A^{½•Lu¨GO±Õ½ßM¶w’ÁĢۂP‚›Ƣ¼pcIJxŠ|ap̬HšÐŒŊSfsðBZ¿©“XÏÒK•k†÷Eû¿‰S…rEFsÕūk”óVǥʼniTL‚¡n{‹uxţÏh™ôŝ¬ğōN“‘NJkyPaq™Âğ¤K®‡YŸxÉƋÁ]āęDqçgOg†ILu—\\_gz—]W¼ž~CÔē]bµogpў_oď`´³Țkl`IªºÎȄqÔþž»E³ĎSJ»œ_f·‚adÇqƒÇc¥Á_Źw{™L^ɱćx“U£µ÷xgĉp»ĆqNē`rĘzaĵĚ¡K½ÊBzyäKXqiWPÏɸ½řÍcÊG|µƕƣG˛÷Ÿk°_^ý|_zċBZocmø¯hhcæ\\lˆMFlư£Ĝ„ÆyH“„F¨‰µêÕ]—›HA…àӄ^it `þßäkŠĤÎT~Wlÿ¨„ÔPzUC–NVv [jâôDôď[}ž‰z¿–msSh‹¯{jïğl}šĹ[–őŒ‰gK‹©U·µË@¾ƒm_~q¡f¹…ÅË^»‘f³ø}Q•„¡Ö˳gͱ^ǁ…\\ëÃA_—¿bW›Ï[¶ƛ鏝£F{īZgm@|kHǭƁć¦UĔťƒ×ë}ǝƒeďºȡȘÏíBə£āĘPªij¶“ʼnÿ‡y©n‰ď£G¹¡I›Š±LÉĺÑdĉ܇W¥˜‰}g˜Á†{aqÃ¥aŠıęÏZ—ï`"],"encodeOffsets":[[104636,22969]]},"properties":{"cp":[102.712251,25.040609],"name":"云南","childNum":1}},{"id":"540000","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@hžľxŽŖ‰xƒÒVކºÅâAĪÝȆµę¯Ňa±r_w~uSÕň‘qOj]ɄQ…£Z……UDûoY’»©M[‹L¼qãË{V͕çWViŽ]ë©Ä÷àyƛh›ÚU°ŒŒa”d„cQƒ~Mx¥™cc¡ÙaSyF—ցk­ŒuRýq¿Ôµ•QĽ³aG{¿FµëªéĜÿª@¬·–K‰·àariĕĀ«V»Ŷ™Ĵū˜gèLǴŇƶaf‹tŒèBŚ£^Šâ†ǐÝ®–šM¦ÁǞÿ¬LhŸŽJ¾óƾƺcxw‹f]Y…´ƒ¦|œQLn°aœdĊ…œ\\¨o’œǀÍŎœ´ĩĀd`tÊQŞŕ|‚¨C^©œĈ¦„¦ÎJĊ{ŽëĎjª²rЉšl`¼Ą[t|¦St辉PŒÜK¸€d˜Ƅı]s¤—î_v¹ÎVòŦj˜£Əsc—¬_Ğ´|٘¦Avަw`ăaÝaa­¢e¤ı²©ªSªšÈMĄwžÉØŔì@T‘¤—Ę™\\õª@”þo´­xA s”ÂtŎKzó´ÇĊµ¢rž^nĊ­Æ¬×üGž¢‚³ {âĊ]š™G‚~bÀgVjzlhǶf€žOšfdЉªB]pj„•TO–tĊ‚n¤}®¦ƒČ¥d¢¼»ddš”Y¼Žt—¢eȤJ¤}Ǿ¡°§¤AГlc@ĝ”sªćļđAç‡wx•UuzEÖġ~AN¹ÄÅȀݦ¿ģŁéì±H…ãd«g[؉¼ēÀ•cīľġ¬cJ‘µ…ÐʥVȝ¸ßS¹†ý±ğkƁ¼ą^ɛ¤Ûÿ‰b[}¬ōõÃ]ËNm®g@•Bg}ÍF±ǐyL¥íCˆƒIij€Ï÷њį[¹¦[⚍EÛïÁÉdƅß{âNÆāŨߝ¾ě÷yC£‡k­´ÓH@¹†TZ¥¢įƒ·ÌAЧ®—Zc…v½ŸZ­¹|ŕWZqgW“|ieZÅYVӁqdq•bc²R@†c‡¥Rã»Ge†ŸeƃīQ•}J[ғK…¬Ə|o’ėjġĠÑN¡ð¯EBčnwôɍėªƒ²•CλŹġǝʅįĭạ̃ūȹ]ΓͧgšsgȽóϧµǛ†ęgſ¶ҍć`ĘąŌJޚä¤rÅň¥ÖÁUětęuůÞiĊÄÀ\\Æs¦ÓRb|Â^řÌkÄŷ¶½÷‡f±iMݑ›‰@ĥ°G¬ÃM¥n£Øą‚ğ¯ß”§aëbéüÑOčœk£{\\‘eµª×M‘šÉfm«Ƒ{Å׃Gŏǩãy³©WÑăû‚··‘Q—òı}¯ã‰I•éÕÂZ¨īèsZÈsŽæĔTŘvŽgÌsN@îá¾ó@‰˜ÙwU±ÉT廣TđŸWxq¹Zo‘b‹s[׌¯cĩv‡Œėŧ³BM|¹k‰ªħ—¥TzNYnݍßpęrñĠĉRS~½ŠěVVе‚õ‡«ŒM££µB•ĉ¥áºae~³AuĐh`Ü³ç@BۘïĿa©|z²Ý¼D”£à貋ŸƒIƒû›I ā€óK¥}rÝ_Á´éMaň¨€~ªSĈ½Ž½KÙóĿeƃÆBŽ·¬ën×W|Uº}LJrƳ˜lŒµ`bÔ`QˆˆÐÓ@s¬ñIŒÍ@ûws¡åQÑßÁ`ŋĴ{Ī“T•ÚÅTSij‚‹Yo|Ç[ǾµMW¢ĭiÕØ¿@˜šMh…pÕ]j†éò¿OƇĆƇp€êĉâlØw–ěsˆǩ‚ĵ¸c…bU¹ř¨WavquSMzeo_^gsÏ·¥Ó@~¯¿RiīB™Š\\”qTGªÇĜçPoŠÿfñòą¦óQīÈáP•œābß{ƒZŗĸIæÅ„hnszÁCËìñšÏ·ąĚÝUm®ó­L·ăU›Èíoù´Êj°ŁŤ_uµ^‘°Œìǖ@tĶĒ¡Æ‡M³Ģ«˜İĨÅ®ğ†RŽāð“ggheÆ¢z‚Ê©Ô\\°ÝĎz~ź¤Pn–MĪÖB£Ÿk™n鄧żćŠ˜ĆK„ǰ¼L¶è‰âz¨u¦¥LDĘz¬ýÎmĘd¾ß”Fz“hg²™Fy¦ĝ¤ċņbΛ@y‚Ąæm°NĮZRÖíŽJ²öLĸÒ¨Y®ƌÐV‰à˜tt_ڀÂyĠzž]Ţh€zĎ{†ĢX”ˆc|šÐqŽšfO¢¤ög‚ÌHNŽ„PKŖœŽ˜Uú´xx[xˆvĐCûŠìÖT¬¸^}Ìsòd´_އKgžLĴ…ÀBon|H@–Êx˜—¦BpŰˆŌ¿fµƌA¾zLjRxжF”œkĄźRzŀˆ~[”´Hnª–VƞuĒ­È¨ƎcƽÌm¸ÁÈM¦x͊ëÀxdžB’šú^´W†£–d„kɾĬpœw‚˂ØɦļĬIŚœÊ•n›Ŕa¸™~J°î”lɌxĤÊÈðhÌ®‚g˜T´øŽàCˆŽÀ^ªerrƘdž¢İP|Ė ŸWœªĦ^¶´ÂL„aT±üWƜ˜ǀRšŶUńšĖ[QhlLüA†‹Ü\\†qR›Ą©"],"encodeOffsets":[[90849,37210]]},"properties":{"cp":[91.132212,29.660361],"name":"西藏","childNum":1}},{"id":"610000","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@˜p¢—ȮµšûG™Ħ}Ħšðǚ¶òƄ€jɂz°{ºØkÈęâ¦jª‚Bg‚\\œċ°s¬Ž’]jžú ‚E”Ȍdž¬s„t‡”RˆÆdĠݎwܔ¸ôW¾ƮłÒ_{’Ìšû¼„jº¹¢GǪÒ¯ĘƒZ`ºŊƒecņąš~BÂgzpâēòYǠȰÌTΨÂWœ|fcŸă§uF—Œ@NŸ¢XLƒŠRMº[ğȣſï|¥J™kc`sʼnǷ’Y¹‹W@µ÷K…ãï³ÛIcñ·VȋڍÒķø©—þ¥ƒy‚ÓŸğęmWµÎumZyOŅƟĥÓ~sÑL¤µaŅY¦ocyZ{‰y c]{ŒTa©ƒ`U_Ěē£ωÊƍKù’K¶ȱÝƷ§{û»ÅÁȹÍéuij|¹cÑd‘ŠìUYƒŽO‘uF–ÕÈYvÁCqӃT•Ǣí§·S¹NgŠV¬ë÷Át‡°Dد’C´ʼnƒópģ}„ċcE˅FŸŸéGU¥×K…§­¶³B‹Č}C¿åċ`wġB·¤őcƭ²ő[Å^axwQO…ÿEËߌ•ĤNĔŸwƇˆÄŠńwĪ­Šo[_KÓª³“ÙnK‰Çƒěœÿ]ď€ă_d©·©Ýŏ°Ù®g]±„Ÿ‡ß˜å›—¬÷m\\›iaǑkěX{¢|ZKlçhLt€Ňîŵ€œè[€É@ƉĄEœ‡tƇÏ˜³­ħZ«mJ…›×¾‘MtÝĦ£IwÄå\\Õ{‡˜ƒOwĬ©LÙ³ÙgBƕŀr̛ĢŭO¥lãyC§HÍ£ßEñŸX¡—­°ÙCgpťz‘ˆb`wI„vA|§”‡—hoĕ@E±“iYd¥OϹS|}F@¾oAO²{tfžÜ—¢Fǂ҈W²°BĤh^Wx{@„¬‚­F¸¡„ķn£P|ŸªĴ@^ĠĈæb–Ôc¶l˜Yi…–^Mi˜cϰÂ[ä€vï¶gv@À“Ĭ·lJ¸sn|¼u~a]’ÆÈtŌºJp’ƒþ£KKf~ЦUbyäIšĺãn‡Ô¿^­žŵMT–hĠܤko¼Ŏìąǜh`[tŒRd²IJ_œXPrɲ‰l‘‚XžiL§àƒ–¹ŽH˜°Ȧqº®QC—bA†„ŌJ¸ĕÚ³ĺ§ `d¨YjžiZvRĺ±öVKkjGȊĐePОZmļKÀ€‚[ŠŽ`ösìh†ïÎoĬdtKÞ{¬èÒÒBŒÔpIJÇĬJŊ¦±J«ˆY§‹@·pH€µàåVKe›pW†ftsAÅqC·¬ko«pHÆuK@oŸHĆۄķhx“e‘n›S³àǍrqƶRbzy€¸ËАl›¼EºpĤ¼Œx¼½~Ğ’”à@†ÚüdK^ˆmÌSj"],"encodeOffsets":[[110234,38774]]},"properties":{"cp":[108.948024,34.263161],"name":"陕西","childNum":1}},{"id":"620000","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@VuUv"],["@@ũ‹EĠtt~nkh`Q‰¦ÅÄÜdw˜Ab×ĠąJˆ¤DüègĺqBqœj°lI¡ĨÒ¤úSHbš‡ŠjΑBаaZˆ¢KJŽ’O[|A£žDx}Nì•HUnrk„ kp€¼Y kMJn[aG‚áÚÏ[½rc†}aQxOgsPMnUs‡nc‹Z…ž–sKúvA›t„Þġ’£®ĀYKdnFwš¢JE°”Latf`¼h¬we|€Æ‡šbj}GA€·~WŽ”—`†¢MC¤tL©IJ°qdf”O‚“bÞĬ¹ttu`^ZúE`Œ[@„Æsîz®¡’C„ƳƜG²“R‘¢R’m”fŽwĸg܃‚ą G@pzJM½mŠhVy¸uÈÔO±¨{LfæU¶ßGĂq\\ª¬‡²I‚¥IʼnÈīoı‹ÓÑAçÑ|«LÝcspīðÍg…të_õ‰\\ĉñLYnĝg’ŸRǡÁiHLlõUĹ²uQjYi§Z_c¨Ÿ´ĹĖÙ·ŋI…ƒaBD˜­R¹ȥr—¯G•ºß„K¨jWk’ɱŠOq›Wij\\a­‹Q\\sg_ĆǛōëp»£lğۀgS•ŶN®À]ˆÓäm™ĹãJaz¥V}‰Le¤L„ýo‘¹IsŋÅÇ^‘Žbz…³tmEÁ´aйcčecÇN•ĊãÁ\\蝗dNj•]j†—ZµkÓda•ćå]ğij@ ©O{¤ĸm¢ƒE·®ƒ«|@Xwg]A챝‡XǁÑdzªc›wQÚŝñsÕ³ÛV_ýƒ˜¥\\ů¥©¾÷w—Ž©WÕÊĩhÿÖÁRo¸V¬âDb¨šhûx–Ê×nj~Zâƒg|šXÁnßYoº§ZÅŘvŒ[„ĭÖʃuďxcVbnUSf…B¯³_Tzº—ΕO©çMÑ~Mˆ³]µ^püµ”ŠÄY~y@X~¤Z³€[Èōl@®Å¼£QKƒ·Di‹¡By‘ÿ‰Q_´D¥hŗyƒ^ŸĭÁZ]cIzý‰ah¹MĪğP‘s{ò‡‹‘²Vw¹t³Ŝˁ[ŽÑ}X\\gsFŸ£sPAgěp×ëfYHāďÖqēŭOÏë“dLü•\\iŒ”t^c®šRʺ¶—¢H°mˆ‘rYŸ£BŸ¹čIoľu¶uI]vģSQ{ƒUŻ”Å}QÂ|̋°ƅ¤ĩŪU ęĄžÌZҞ\\v˜²PĔ»ƢNHƒĂyAmƂwVmž`”]ȏb•”H`‰Ì¢²ILvĜ—H®¤Dlt_„¢JJÄämèÔDëþgºƫ™”aʎÌrêYi~ ÎݤNpÀA¾Ĕ¼b…ð÷’Žˆ‡®‚”üs”zMzÖĖQdȨý†v§Tè|ªH’þa¸|šÐ ƒwKĢx¦ivr^ÿ ¸l öæfƟĴ·PJv}n\\h¹¶v†·À|\\ƁĚN´Ĝ€çèÁz]ġ¤²¨QÒŨTIl‡ªťØ}¼˗ƦvÄùØE‹’«Fï˛Iq”ōŒTvāÜŏ‚íÛߜÛV—j³âwGăÂíNOŠˆŠPìyV³ʼnĖýZso§HіiYw[߆\\X¦¥c]ÔƩÜ·«j‡ÐqvÁ¦m^ċ±R™¦΋ƈťĚgÀ»IïĨʗƮްƝ˜ĻþÍAƉſ±tÍEÕÞāNU͗¡\\ſčåÒʻĘm ƭÌŹöʥ’ëQ¤µ­ÇcƕªoIýˆ‰Iɐ_mkl³ă‰Ɠ¦j—¡Yz•Ňi–}Msßõ–īʋ —}ƒÁVmŸ_[n}eı­Uĥ¼‘ª•I{ΧDӜƻėoj‘qYhĹT©oūĶ£]ďxĩ‹ǑMĝ‰q`B´ƃ˺Ч—ç~™²ņj@”¥@đ´ί}ĥtPńǾV¬ufӃÉC‹tÓ̻‰…¹£G³€]ƖƾŎĪŪĘ̖¨ʈĢƂlɘ۪üºňUðǜȢƢż̌ȦǼ‚ĤŊɲĖ­Kq´ï¦—ºĒDzņɾªǀÞĈĂD†½ĄĎÌŗĞrôñnŽœN¼â¾ʄľԆ|DŽŽ֦ज़ȗlj̘̭ɺƅêgV̍ʆĠ·ÌĊv|ýĖÕWĊǎÞ´õ¼cÒÒBĢ͢UĜð͒s¨ňƃLĉÕÝ@ɛƯ÷¿Ľ­ĹeȏijëCȚDŲyê×Ŗyò¯ļcÂßY…tÁƤyAã˾J@ǝrý‹‰@¤…rz¸oP¹ɐÚyᐇHŸĀ[Jw…cVeȴϜ»ÈŽĖ}ƒŰŐèȭǢόĀƪÈŶë;Ñ̆ȤМľĮEŔ—ĹŊũ~ËUă{ŸĻƹɁύȩþĽvĽƓÉ@ē„ĽɲßǐƫʾǗĒpäWÐxnsÀ^ƆwW©¦cÅ¡Ji§vúF¶Ž¨c~c¼īŒeXǚ‹\\đ¾JŽwÀďksãA‹fÕ¦L}wa‚o”Z’‹D½†Ml«]eÒÅaɲáo½FõÛ]ĻÒ¡wYR£¢rvÓ®y®LF‹LzĈ„ôe]gx}•|KK}xklL]c¦£fRtív¦†PĤoH{tK"]],"encodeOffsets":[[[108619,36299]],[[108589,36341]]]},"properties":{"cp":[103.823557,36.058039],"name":"甘肃","childNum":2}},{"id":"630000","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@InJm"],["@@CƒÆ½OŃĦsΰ~dz¦@@“Ņiš±è}ؘƄ˹A³r_ĞŠǒNΌĐw¤^ŬĵªpĺSZg’rpiƼĘԛ¨C|͖J’©Ħ»®VIJ~f\\m `Un„˜~ʌŸ•ĬàöNt•~ňjy–¢Zi˜Ɣ¥ĄŠk´nl`JʇŠJþ©pdƖ®È£¶ìRʦ‘źõƮËnŸʼėæÑƀĎ[‚˜¢VÎĂMÖÝÎF²sƊƀÎBļýƞ—¯ʘƭðħ¼Jh¿ŦęΌƇš¥²Q]Č¥nuÂÏriˆ¸¬ƪÛ^Ó¦d€¥[Wà…x\\ZŽjҕ¨GtpþYŊĕ´€zUO뇉P‰îMĄÁxH´á˜iÜUà›îÜՁĂÛSuŎ‹r“œJð̬EŒ‘FÁú×uÃÎkr“Ē{V}İ«O_ÌËĬ©ŽÓŧSRѱ§Ģ£^ÂyèçěM³Ƃę{[¸¿u…ºµ[gt£¸OƤĿéYŸõ·kŸq]juw¥Dĩƍ€õÇPéĽG‘ž©ã‡¤G…uȧþRcÕĕNy“yût“ˆ­‡ø‘†ï»a½ē¿BMoᣟÍj}éZËqbʍš“Ƭh¹ìÿÓAçãnIáI`ƒks£CG­ě˜Uy×Cy•…’Ÿ@¶ʡÊBnāzG„ơMē¼±O÷õJËĚăVŸĪũƆ£Œ¯{ËL½Ìzż“„VR|ĠTbuvJvµhĻĖH”Aëáa…­OÇðñęNw‡…œľ·L›mI±íĠĩPÉ×®ÿs—’cB³±JKßĊ«`…ađ»·QAmO’‘Vţéÿ¤¹SQt]]Çx€±¯A@ĉij¢Ó祖•ƒl¶ÅÛr—ŕspãRk~¦ª]Į­´“FR„åd­ČsCqđéFn¿Åƃm’Éx{W©ºƝºįkÕƂƑ¸wWūЩÈFž£\\tÈ¥ÄRÈýÌJ ƒlGr^×äùyÞ³fj”c†€¨£ÂZ|ǓMĝšÏ@ëÜőR‹›ĝ‰Œ÷¡{aïȷPu°ËXÙ{©TmĠ}Y³’­ÞIňµç½©C¡į÷¯B»|St»›]vƒųƒs»”}MÓ ÿʪƟǭA¡fs˜»PY¼c¡»¦c„ċ­¥£~msĉP•–Siƒ^o©A‰Šec‚™PeǵŽkg‚yUi¿h}aH™šĉ^|ᴟ¡HØûÅ«ĉ®]m€¡qĉ¶³ÈyôōLÁst“BŸ®wn±ă¥HSò뚣˜S’ë@לÊăxÇN©™©T±ª£IJ¡fb®ÞbŽb_Ą¥xu¥B—ž{łĝ³«`d˜Ɛt—¤ťiñžÍUuºí`£˜^tƃIJc—·ÛLO‹½Šsç¥Ts{ă\\_»™kϊ±q©čiìĉ|ÍIƒ¥ć¥›€]ª§D{ŝŖÉR_sÿc³Īō›ƿΑ›§p›[ĉ†›c¯bKm›R¥{³„Z†e^ŽŒwx¹dƽŽôIg §Mĕ ƹĴ¿—ǣÜ̓]‹Ý–]snåA{‹eŒƭ`ǻŊĿ\\ijŬű”YÂÿ¬jĖqŽßbЏ•L«¸©@ěĀ©ê¶ìÀEH|´bRľž–Ó¶rÀQþ‹vl®Õ‚E˜TzÜdb ˜hw¤{LR„ƒd“c‹b¯‹ÙVgœ‚ƜßzÃô쮍^jUèXΖ|UäÌ»rKŽ\\ŒªN‘¼pZCü†VY††¤ɃRi^rPҒTÖ}|br°qňb̰ªiƶGQ¾²„x¦PœmlŜ‘[Ĥ¡ΞsĦŸÔÏâ\\ªÚŒU\\f…¢N²§x|¤§„xĔsZPòʛ²SÐqF`ª„VƒÞŜĶƨVZŒÌL`ˆ¢dŐIqr\\oäõ–F礻Ŷ×h¹]Clـ\\¦ďÌį¬řtTӺƙgQÇÓHţĒ”´ÃbEÄlbʔC”|CˆŮˆk„Ʈ[ʼ¬ňœ´KŮÈΰÌζƶlð”ļA†TUvdTŠG†º̼ŠÔ€ŒsÊDԄveOg"]],"encodeOffsets":[[[105308,37219]],[[95370,40081]]]},"properties":{"cp":[101.778916,36.623178],"name":"青海","childNum":2}},{"id":"640000","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@KëÀęĞ«OęȿȕŸı]ʼn¡åįÕÔ«Ǵõƪ™ĚQÐZhv K°›öqÀѐS[ÃÖHƖčË‡nL]ûc…Ùß@‚“ĝ‘¾}w»»‹oģF¹œ»kÌÏ·{zPƒ§B­¢íyÅt@ƒ@áš]Yv_ssģ¼i߁”ĻL¾ġsKD£¡N_…“˜X¸}B~Haiˆ™Åf{«x»ge_bs“KF¯¡Ix™mELcÿZ¤­Ģ‘ƒÝœsuBLù•t†ŒYdˆmVtNmtOPhRw~bd…¾qÐ\\âÙH\\bImlNZŸ»loƒŸqlVm–Gā§~QCw¤™{A\\‘PKŸNY‡¯bF‡kC¥’sk‹Šs_Ã\\ă«¢ħkJi¯r›rAhĹûç£CU‡ĕĊ_ԗBixÅُĄnªÑaM~ħpOu¥sîeQ¥¤^dkKwlL~{L~–hw^‚ófćƒKyEŒ­K­zuÔ¡qQ¤xZÑ¢^ļöܾEpž±âbÊÑÆ^fk¬…NC¾‘Œ“YpxbK~¥Že֎ŒäBlt¿Đx½I[ĒǙŒWž‹f»Ĭ}d§dµùEuj¨‚IÆ¢¥dXªƅx¿]mtÏwßR͌X¢͎vÆzƂZò®ǢÌʆCrâºMÞzžÆMҔÊÓŊZľ–r°Î®Ȉmª²ĈUªĚøºˆĮ¦ÌĘk„^FłĬhĚiĀ˾iİbjÕ"],["@@mfwěwMrŢªv@G‰"]],"encodeOffsets":[[[109366,40242]],[[108600,36303]]]},"properties":{"cp":[106.278179,38.46637],"name":"宁夏","childNum":2}},{"id":"650000","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@QØĔ²X¨”~ǘBºjʐߨvK”ƔX¨vĊOžÃƒ·¢i@~c—‡ĝe_«”Eš“}QxgɪëÏÃ@sÅyXoŖ{ô«ŸuX…ê•Îf`œC‚¹ÂÿÐGĮÕĞXŪōŸMźÈƺQèĽôe|¿ƸJR¤ĘEjcUóº¯Ĩ_ŘÁMª÷Ð¥Oéȇ¿ÖğǤǷÂF҇zÉx[]­Ĥĝ‰œ¦EP}ûƥé¿İƷTėƫœŕƅ™ƱB»Đ±’ēO…¦E–•}‘`cȺrĦáŖuҞª«IJ‡πdƺÏØZƴwʄ¤ĖGЙǂZ̓èH¶}ÚZצʥĪï|ÇĦMŔ»İĝLj‹ì¥Βœba­¯¥ǕǚkĆŵĦɑĺƯxūД̵nơʃĽá½M»›òmqóŘĝč˾ăC…ćāƿÝɽ©DZŅ¹đ¥˜³ðLrÁ®ɱĕģʼnǻ̋ȥơŻǛȡVï¹Ň۩ûkɗġƁ§ʇė̕ĩũƽō^ƕŠUv£ƁQï“Ƶkŏ½ΉÃŭdzLқʻ«ƭ\\lƒ‡ŭD‡“{ʓDkaFÃÄa“³ŤđÔGRÈƚhSӹŚsİ«ĐË[¥ÚDkº^Øg¼ŵ¸£EÍö•€ůʼnT¡c_‡ËKY‹ƧUśĵ„݃U_©rETÏʜ±OñtYw獃{£¨uM³x½şL©Ùá[ÓÐĥ Νtģ¢\\‚ś’nkO›w¥±ƒT»ƷFɯàĩÞáB¹Æ…ÑUw„੍žĽw[“mG½Èå~‡Æ÷QyŠěCFmĭZī—ŵVÁ™ƿQƛ—ûXS²‰b½KϽĉS›©ŷXĕŸ{ŽĕK·¥Ɨcqq©f¿]‡ßDõU³h—­gËÇïģÉɋw“k¯í}I·šœbmœÉ–ř›īJɥĻˁ×xo›ɹī‡l•c…¤³Xù]‘™DžA¿w͉ì¥wÇN·ÂËnƾƍdǧđ®Ɲv•Um©³G\\“}µĿ‡QyŹl㓛µEw‰LJQ½yƋBe¶ŋÀů‡ož¥A—˜Éw@•{Gpm¿Aij†ŽKLhˆ³`ñcËtW‚±»ÕS‰ëüÿďD‡u\\wwwù³—V›LŕƒOMËGh£õP¡™er™Ïd{“‡ġWÁ…č|yšg^ğyÁzÙs`—s|ÉåªÇ}m¢Ń¨`x¥’ù^•}ƒÌ¥H«‰Yªƅ”Aйn~Ꝛf¤áÀz„gŠÇDIԝ´AňĀ҄¶ûEYospõD[{ù°]u›Jq•U•|Soċxţ[õÔĥkŋÞŭZ˺óYËüċrw €ÞkrťË¿XGÉbřaDü·Ē÷Aê[Ää€I®BÕИÞ_¢āĠpŠÛÄȉĖġDKwbm‡ÄNô‡ŠfœƫVÉvi†dz—H‘‹QµâFšù­Âœ³¦{YGžƒd¢ĚÜO „€{Ö¦ÞÍÀPŒ^b–ƾŠlŽ[„vt×ĈÍE˨¡Đ~´î¸ùÎh€uè`¸ŸHÕŔVºwĠââWò‡@{œÙNÝ´ə²ȕn{¿¥{l—÷eé^e’ďˆXj©î\\ªÑò˜Üìc\\üqˆÕ[Č¡xoÂċªbØ­Œø|€¶ȴZdÆÂšońéŒGš\\”¼C°ÌƁn´nxšÊOĨ’ہƴĸ¢¸òTxÊǪMīИÖŲÃɎOvˆʦƢ~FއRěò—¿ġ~åŊœú‰Nšžš¸qŽ’Ę[Ĕ¶ÂćnÒPĒÜvúĀÊbÖ{Äî¸~Ŕünp¤ÂH¾œĄYÒ©ÊfºmԈĘcDoĬMŬ’˜S¤„s²‚”ʘچžȂVŦ –ŽèW°ªB|IJXŔþÈJĦÆæFĚêŠYĂªĂ]øªŖNÞüA€’fɨJ€˜¯ÎrDDšĤ€`€mz\\„§~D¬{vJÂ˜«lµĂb–¤p€ŌŰNĄ¨ĊXW|ų ¿¾ɄĦƐMT”‡òP˜÷fØĶK¢ȝ˔Sô¹òEð­”`Ɩ½ǒÂň×äı–§ĤƝ§C~¡‚hlå‚ǺŦŞkâ’~}ŽFøàIJaĞ‚fƠ¥Ž„Ŕdž˜®U¸ˆźXœv¢aƆúŪtŠųƠjd•ƺŠƺÅìnrh\\ĺ¯äɝĦ]èpĄ¦´LƞĬŠ´ƤǬ˼Ēɸ¤rºǼ²¨zÌPðŀbþ¹ļD¢¹œ\\ĜÑŚŸ¶ZƄ³àjĨoâŠȴLʉȮŒĐ­ĚăŽÀêZǚŐ¤qȂ\\L¢ŌİfÆs|zºeªÙæ§΢{Ā´ƐÚ¬¨Ĵà²łhʺKÞºÖTŠiƢ¾ªì°`öøu®Ê¾ãØ"],"encodeOffsets":[[88824,50096]]},"properties":{"cp":[87.617733,43.792818],"name":"新疆","childNum":1}},{"id":"110000","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@ĽOÁ›ûtŷmiÍt_H»Ĩ±d`й­{bw…Yr“³S]§§o¹€qGtm_Sŧ€“oa›‹FLg‘QN_•dV€@Zom_ć\\ߚc±x¯oœRcfe…£’o§ËgToÛJíĔóu…|wP¤™XnO¢ÉˆŦ¯rNÄā¤zâŖÈRpŢZŠœÚ{GŠrFt¦Òx§ø¹RóäV¤XdˆżâºWbwڍUd®bêņ¾‘jnŎGŃŶŠnzÚSeîĜZczî¾i]͜™QaúÍÔiþĩȨWĢ‹ü|Ėu[qb[swP@ÅğP¿{\\‡¥A¨Ï‘Ѩj¯ŠX\\¯œMK‘pA³[H…īu}}"],"encodeOffsets":[[120023,41045]]},"properties":{"cp":[116.405285,39.904989],"name":"北京","childNum":1}},{"id":"120000","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@ŬgX§Ü«E…¶Ḟ“¬O_™ïlÁg“z±AXe™µÄĵ{¶]gitgšIj·›¥îakS€‰¨ÐƎk}ĕ{gB—qGf{¿a†U^fI“ư‹³õ{YƒıëNĿžk©ïËZŏ‘R§òoY×Ógc…ĥs¡bġ«@dekąI[nlPqCnp{ˆō³°`{PNdƗqSÄĻNNâyj]äžÒD ĬH°Æ]~¡HO¾ŒX}ÐxŒgp“gWˆrDGˆŒpù‚Š^L‚ˆrzWxˆZ^¨´T\\|~@I‰zƒ–bĤ‹œjeĊªz£®Ĕvě€L†mV¾Ô_ȔNW~zbĬvG†²ZmDM~”~"],"encodeOffsets":[[120237,41215]]},"properties":{"cp":[117.190182,39.125596],"name":"天津","childNum":1}},{"id":"310000","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@ɧư¬EpƸÁxc‡"],["@@©„ªƒ"],["@@”MA‹‘š"],["@@Qp݁E§ÉC¾"],["@@bŝՕÕEȣÚƥêImɇǦèÜĠŒÚžÃƌÃ͎ó"],["@@ǜûȬɋŠŭ™×^‰sYŒɍDŋ‘ŽąñCG²«ªč@h–_p¯A{‡oloY€¬j@IJ`•gQڛhr|ǀ^MIJvtbe´R¯Ô¬¨YŽô¤r]ì†Ƭį"]],"encodeOffsets":[[[124702,32062]],[[124547,32200]],[[124808,31991]],[[124726,32110]],[[124903,32376]],[[124438,32149]]]},"properties":{"cp":[121.472644,31.231706],"name":"上海","childNum":6}},{"id":"500000","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@vjG~nGŘŬĶȂƀƾ¹¸ØÎezĆT¸}êЖqHŸðqĖ䒊¥^CƒIj–²p…\\_ æüY|[YxƊæuž°xb®…Űb@~¢NQt°¶‚S栓Ê~rljĔëĚ¢~šuf`‘‚†fa‚ĔJåĊ„nÖ]„jƎćÊ@Š£¾a®£Ű{ŶĕF‹ègLk{Y|¡ĜWƔtƬJÑxq‹±ĢN´‰òK‰™–LÈüD|s`ŋ’ć]ƒÃ‰`đŒMûƱ½~Y°ħ`ƏíW‰½eI‹½{aŸ‘OIrÏ¡ĕŇa†p†µÜƅġ‘œ^ÖÛbÙŽŏml½S‹êqDu[R‹ãË»†ÿw`»y‘¸_ĺę}÷`M¯ċfCVµqʼn÷Z•gg“Œ`d½pDO‡ÎCnœ^uf²ènh¼WtƏxRGg¦…pV„†FI±ŽG^ŒIc´ec‡’G•ĹÞ½sëĬ„h˜xW‚}KӈeXsbk”F¦›L‘ØgTkïƵNï¶}Gy“w\\oñ¡nmĈzjŸ•@™Óc£»Wă¹Ój“_m»ˆ¹·~MvÛaqœ»­‰êœ’\\ÂoVnŽÓØÍ™²«‹bq¿efE „€‹Ĝ^Qž~ Évý‡ş¤²Į‰pEİ}zcĺƒL‹½‡š¿gņ›¡ýE¡ya£³t\\¨\\vú»¼§·Ñr_oÒý¥u‚•_n»_ƒ•At©Þűā§IVeëƒY}{VPÀFA¨ąB}q@|Ou—\\Fm‰QF݅Mw˜å}]•€|FmϋCaƒwŒu_p—¯sfÙgY…DHl`{QEfNysBЦzG¸rHe‚„N\\CvEsÐùÜ_·ÖĉsaQ¯€}_U‡†xÃđŠq›NH¬•Äd^ÝŰR¬ã°wećJEž·vÝ·Hgƒ‚éFXjÉê`|yŒpxkAwœWĐpb¥eOsmzwqChóUQl¥F^laf‹anòsr›EvfQdÁUVf—ÎvÜ^efˆtET¬ôA\\œ¢sJŽnQTjP؈xøK|nBz‰„œĞ»LY‚…FDxӄvr“[ehľš•vN”¢o¾NiÂxGp⬐z›bfZo~hGi’]öF|‰|Nb‡tOMn eA±ŠtPT‡LjpYQ|†SH††YĀxinzDJ€Ìg¢và¥Pg‰_–ÇzII‹€II•„£®S¬„Øs쐣ŒN"],["@@ifjN@s"]],"encodeOffsets":[[[109628,30765]],[[111725,31320]]]},"properties":{"cp":[106.504962,29.533155],"name":"重庆","childNum":2}},{"id":"810000","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@AlBk"],["@@mŽn"],["@@EpFo"],["@@ea¢pl¸Eõ¹‡hj[ƒ]ÔCΖ@lj˜¡uBXŸ…•´‹AI¹…[‹yDUˆ]W`çwZkmc–…M›žp€Åv›}I‹oJlcaƒfёKްä¬XJmРđhI®æÔtSHn€Eˆ„ÒrÈc"],["@@rMUw‡AS®€e"]],"encodeOffsets":[[[117111,23002]],[[117072,22876]],[[117045,22887]],[[116975,23082]],[[116882,22747]]]},"properties":{"cp":[114.173355,22.320048],"name":"香港","childNum":5}},{"id":"820000","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@kÊd°å§s"],"encodeOffsets":[[116279,22639]]},"properties":{"cp":[113.54909,22.198951],"name":"澳门","childNum":1}}],"UTF8Encoding":true});
}));
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
var geoCoordMap = {
'上海': [121.4648,31.2891],
'东莞': [113.8953,22.901],
'东营': [118.7073,37.5513],
'中山': [113.4229,22.478],
'临汾': [111.4783,36.1615],
'临沂': [118.3118,35.2936],
'丹东': [124.541,40.4242],
'丽水': [119.5642,28.1854],
'乌鲁木齐': [87.9236,43.5883],
'佛山': [112.8955,23.1097],
'保定': [115.0488,39.0948],
'兰州': [103.5901,36.3043],
'包头': [110.3467,41.4899],
'北京': [116.4551,40.2539],
'北海': [109.314,21.6211],
'南京': [118.8062,31.9208],
'南宁': [108.479,23.1152],
'南昌': [116.0046,28.6633],
'南通': [121.1023,32.1625],
'厦门': [118.1689,24.6478],
'台州': [121.1353,28.6688],
'合肥': [117.29,32.0581],
'呼和浩特': [111.4124,40.4901],
'咸阳': [108.4131,34.8706],
'哈尔滨': [127.9688,45.368],
'唐山': [118.4766,39.6826],
'嘉兴': [120.9155,30.6354],
'大同': [113.7854,39.8035],
'大连': [122.2229,39.4409],
'天津': [117.4219,39.4189],
'太原': [112.3352,37.9413],
'威海': [121.9482,37.1393],
'宁波': [121.5967,29.6466],
'宝鸡': [107.1826,34.3433],
'宿迁': [118.5535,33.7775],
'常州': [119.4543,31.5582],
'广州': [113.5107,23.2196],
'廊坊': [116.521,39.0509],
'延安': [109.1052,36.4252],
'张家口': [115.1477,40.8527],
'徐州': [117.5208,34.3268],
'德州': [116.6858,37.2107],
'惠州': [114.6204,23.1647],
'成都': [103.9526,30.7617],
'扬州': [119.4653,32.8162],
'承德': [117.5757,41.4075],
'拉萨': [91.1865,30.1465],
'无锡': [120.3442,31.5527],
'日照': [119.2786,35.5023],
'昆明': [102.9199,25.4663],
'杭州': [119.5313,29.8773],
'枣庄': [117.323,34.8926],
'柳州': [109.3799,24.9774],
'株洲': [113.5327,27.0319],
'武汉': [114.3896,30.6628],
'汕头': [117.1692,23.3405],
'江门': [112.6318,22.1484],
'沈阳': [123.1238,42.1216],
'沧州': [116.8286,38.2104],
'河源': [114.917,23.9722],
'泉州': [118.3228,25.1147],
'泰安': [117.0264,36.0516],
'泰州': [120.0586,32.5525],
'济南': [117.1582,36.8701],
'济宁': [116.8286,35.3375],
'海口': [110.3893,19.8516],
'淄博': [118.0371,36.6064],
'淮安': [118.927,33.4039],
'深圳': [114.5435,22.5439],
'清远': [112.9175,24.3292],
'温州': [120.498,27.8119],
'渭南': [109.7864,35.0299],
'湖州': [119.8608,30.7782],
'湘潭': [112.5439,27.7075],
'滨州': [117.8174,37.4963],
'潍坊': [119.0918,36.524],
'烟台': [120.7397,37.5128],
'玉溪': [101.9312,23.8898],
'珠海': [113.7305,22.1155],
'盐城': [120.2234,33.5577],
'盘锦': [121.9482,41.0449],
'石家庄': [114.4995,38.1006],
'福州': [119.4543,25.9222],
'秦皇岛': [119.2126,40.0232],
'绍兴': [120.564,29.7565],
'聊城': [115.9167,36.4032],
'肇庆': [112.1265,23.5822],
'舟山': [122.2559,30.2234],
'苏州': [120.6519,31.3989],
'莱芜': [117.6526,36.2714],
'菏泽': [115.6201,35.2057],
'营口': [122.4316,40.4297],
'葫芦岛': [120.1575,40.578],
'衡水': [115.8838,37.7161],
'衢州': [118.6853,28.8666],
'西宁': [101.4038,36.8207],
'西安': [109.1162,34.2004],
'贵阳': [106.6992,26.7682],
'连云港': [119.1248,34.552],
'邢台': [114.8071,37.2821],
'邯郸': [114.4775,36.535],
'郑州': [113.4668,34.6234],
'鄂尔多斯': [108.9734,39.2487],
'重庆': [107.7539,30.1904],
'金华': [120.0037,29.1028],
'铜川': [109.0393,35.1947],
'银川': [106.3586,38.1775],
'镇江': [119.4763,31.9702],
'长春': [125.8154,44.2584],
'长沙': [113.0823,28.2568],
'长治': [112.8625,36.4746],
'阳泉': [113.4778,38.0951],
'青岛': [120.4651,36.3373],
'韶关': [113.7964,24.7028]
};
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
//计划完成表的当前所选
var indexnum = 0;
var color=['#F35331','#2499F8','#3DF098','#33B734'];
var fontColor='#FFF';
//定义进度条组件和属性
var y_gauge1 =null;
var y_gauge2 =null;
var y_gauge3 =null;
var y_gauge4 =null;
var m_gauge1 =null;
var option_Progress =null;
//订单情况螺旋图
var orderStatus=null;
var orderStatus_option =null;
//定义仪表盘组件和属性
var gauge1 =null;
var gauge2 =null;
var gauge3 =null;
var gauge4 =null;
var gauge5 =null;
var option_gauge =null;
//产品饼图组件和属性
var productPie=null;
var productPie_option=null;
//业务进展图组件和属性
var businessProgress=null;
var businessProgress_placeHoledStyle = null;
var businessProgress_dataStyle =null;
var businessProgress_option=null;
//生产质量堆积图组件和属性
var quality_chart = null;
var quality_option=null;
//词云组件和属性
var wordCloud= null;
var wordCloud_option=null;
//生产计划折线图组件和属性
var plan_chart = null;
var plan_option=null;
//环形图的风格定义
var dataStyle = {
normal: {
label: {show:false},
labelLine: {show:false}
}
};
var placeHolderStyle = {
normal : {
color: 'rgba(0,0,0,0.1)',
label: {show:false},
labelLine: {show:false}
},
emphasis : {
color: 'rgba(0,0,0,0)'
}
};
//最大订单号
var lastOrderNumber=1;
$(document).ready(function ()
{
//环形进度条设置对象
option_Progress={
title : {
text: '目前进度',
subtext: '50%',
x: 'center',
y: 90,
itemGap: 10,
textStyle : {
color : '#B7E1FF',
fontWeight: 'normal',
fontFamily : '微软雅黑',
fontSize : 24
},
subtextStyle:{
color: '#B7E1FF',
fontWeight: 'bolder',
fontSize:24,
fontFamily : '微软雅黑'
}
},
series : [{
type : 'pie',
center : ['50%', '50%'],
radius : [75,90],
x: '0%',
tooltip:{show:false},
data : [{
name:'达成率',
value:79,
itemStyle:{color :'rgba(0,153,255,0.8)'},
hoverAnimation: false,
label : {
show : false,
position : 'center',
textStyle: {
fontFamily:'微软雅黑',
fontWeight: 'bolder',
color:'#B7E1FF',
fontSize:24
}
},
labelLine : {
show : false
}
},
{
name:'79%',
value:21,
itemStyle:{color: 'rgba(0,153,255,0.1)'},
hoverAnimation: false,
label : {
show : false,
position : 'center',
padding:20,
textStyle: {
fontFamily:'微软雅黑',
fontSize: 24,
color:'#B7E1FF'
}
},
labelLine : {
show : false
}
}]
},
{
type : 'pie',
center : ['50%', '50%'],
radius : [95,100],
x: '0%',
hoverAnimation: false,
data : [{
value:100,
itemStyle:{color :'rgba(0,153,255,0.3)'},
label : {show : false},
labelLine : {show : false}
}]
},
{
type : 'pie',
center : ['50%', '50%'],
radius : [69,70],
x: '0%',
hoverAnimation: false,
data : [{
value:100,
itemStyle:{color :'rgba(0,153,255,0.3)'},
label : {show : false},
labelLine : {show : false}
}]
}]
};
//年仪表盘
y_gauge1 = echarts.init(document.getElementById('y_gauge1'));
y_gauge2 = echarts.init(document.getElementById('y_gauge2'));
y_gauge3 = echarts.init(document.getElementById('y_gauge3'));
y_gauge4 = echarts.init(document.getElementById('y_gauge4'));
//订单完成情况螺旋图
var yearPlanData=[];
var yearOrderData=[];
var differenceData=[];
var visibityData=[];
var xAxisData=[];
for(var i=0;i<12;i++)
{
yearPlanData.push(Math.round(Math.random()*900)+100);
yearOrderData.push(Math.round(Math.random()*yearPlanData[i]));
differenceData.push(yearPlanData[i]-yearOrderData[i]);
visibityData.push(yearOrderData[i]);
xAxisData.push((i+1).toString()+"月");
}
orderStatus= echarts.init(document.getElementById('orderStatus'));
orderStatus_option={
title :{show:false},
tooltip : {
trigger: 'axis',
formatter: function (params){
return params[0].name + '<br/>'
+ params[0].seriesName + ' : ' + params[0].value + '<br/>'
+ params[1].seriesName + ' : ' + params[1].value + '<br/>'
+'完成率:'
+ (params[0].value > 0 ? (params[1].value/params[0].value*100).toFixed(2)+'%' : '-')
+ '<br/>'
},
textStyle: {
color: '#FFF',
fontSize:24
}
},
toolbox: {show:false},
legend:{
top: 'top',
textStyle: {
color: '#B7E2FF',
fontSize:24,
fontFamily:'微软雅黑'
},
data:['计划生产','已接订单']
},
xAxis: {
data: xAxisData,
axisLabel: {
textStyle: {
color: '#B7E1FF',
fontSize:24
}
},
axisLine:{
lineStyle:{
color:'#09F'
}
},
axisTick:{
lineStyle:{
color:'#09F'
}
}
},
yAxis: {
inverse: false,
splitArea: {show: false},
axisLine: {show: false},
axisTick: {show: false},
axisLabel: {
textStyle: {
color: '#B7E1FF',
fontSize:24,
fontFamily:'Arial',
}
},
splitLine :{
lineStyle:{
color:'#09F'
}
}
},
grid: {
left: 100
},
series : [{
name:'计划生产',
type:'line',
smooth :true,
symbol: 'circle',
symbolSize: 10,
showAllSymbol : true,
color:color[1],
data:yearPlanData
},
{
name:'已接订单',
type:'line',
smooth :true,
symbol: 'circle',
symbolSize: 10,
showAllSymbol : true,
color:'#F90',
itemStyle:{
normal:{
lineStyle: {
width:2
}
}
},
data:yearOrderData
},
{
name:'不可见',
type:'bar',
stack: '1',
barWidth: 1,
itemStyle:{
normal:{
color:'rgba(0,0,0,0)'
},
emphasis:{
color:'rgba(0,0,0,0)'
}
},
data:visibityData
},
{
name:'变化',
type:'bar',
stack: '1',
barWidth: 1,
color:'#B7E1FF',
data:differenceData
}
]
}
orderStatus.setOption(orderStatus_option);
//产品销售的环形图
var productLegend=[['轿车1','轿车2','轿车3','轿车4','轿车5','轿车6','轿车7','轿车8','轿车9'],['SUV1','SUV2','SUV3','SUV4'],['卡车1','卡车2','卡车3','卡车4','卡车5','卡车6']];
var productClassLegend=['轿车','SUV','卡车'];
var productClassColor=['rgba(255,153,0,','rgba(153,204,102,','rgba(0,102,255,'];
var productClassData=[];
var productData=[];
var productColor=[];
for(var i=0;i<productClassLegend.length;i++)
{
var total=0;
for(var j=0;j<productLegend[i].length;j++)
{
var n=Math.round(Math.random()*100)+1;
productData.push({name:productLegend[i][j],value:n});
total+=n;
}
for(var j=0;j<productLegend[i].length;j++)
{
productColor.push(productClassColor[i]+(1.0-productData[j].value/total).toFixed(2)+")");
}
productClassData.push({name:productClassLegend[i],value:total});
}
productPie=echarts.init(document.getElementById('productPie'));
productPie_option={
title : {
text: '销售额',
x: 'center',
y: 'center',
itemGap: 10,
textStyle : {
color : '#09F',
fontWeight: 'normal',
fontFamily : '微软雅黑',
fontSize : 32
}
},
calculable : false,
tooltip : {
trigger: 'item',
textStyle: {
color:'#FFF',
fontSize:24
},
formatter: "{a} <br/>{b} : {c} ({d}%)"
},
series : [
{
name:'类别',
type:'pie',
selectedMode: 'single',
radius : ['20%','40%'],
width: '40%',
funnelAlign: 'right',
itemStyle : {
normal : {
color:function(d)
{
return productClassColor[d.dataIndex]+'1)';
},
borderColor:'#032749',
label : {
position : 'inner',
fontSize:28,
},
labelLine : {
show : false
}
}
},
data:productClassData
},
{
name:'车型',
type:'pie',
radius : ['40%','70%'],
width: '35%',
funnelAlign: 'left',
itemStyle : {
normal : {
color:function(d)
{
return productColor[d.dataIndex];
},
borderColor:'#032749',
label : {
color:'#B7E1FF',
fontSize:24
}
}
},
data:productData
}
]
};
productPie.setOption(productPie_option);
//业务进展图
businessProgress=echarts.init(document.getElementById('businessProgress'));
businessProgress_placeHoledStyle = {
normal:{
barBorderColor:'rgba(0,0,0,0)',
color:'rgba(0,0,0,0)'
},
emphasis:{
barBorderColor:'rgba(0,0,0,0)',
color:'rgba(0,0,0,0)'
}
};
businessProgress_dataStyle = {
normal: {
barBorderColor:'rgba(0,102,255,1)',
color:function(d){
return 'rgba(0,102,255,0.3)';
},
label : {
show: true,
position: 'insideLeft',
formatter: '{c}%',
textStyle: {
fontFamily:'Arial',
fontWeight: 'bolder',
color:'#B7E1FF',
fontSize:24
}
}
}
};
businessProgress_option = {
title: {show:false},
tooltip : {
trigger: 'axis',
axisPointer : {
type : 'shadow'
},
textStyle: {
color:'#FFF',
fontSize:24
},
formatter : '{b}<br/>{a0}:{c0}%<br/>{a2}:{c2}%<br/>{a4}:{c4}%<br/>{a6}:{c6}%'
},
legend: {
itemGap : 60,
top:'top',
textStyle: {
fontFamily:'微软雅黑',
fontWeight: 'bolder',
color:'#B7E1FF',
fontSize:24
},
data:['项目投标', '投标进度','项目进行', '项目交付']
},
toolbox: {show : false},
grid: {
left: 150
},
xAxis : [
{
type : 'value',
position: 'top',
axisLine:{
lineStyle:{color:'#09F'}
},
splitLine :{
lineStyle:{color:'#09F' }
},
axisLabel: {show: false},
}
],
yAxis : [
{
type : 'category',
data : ['重大业务1', '重大业务2', '重大业务3', '重大业务4'],
axisLabel: {
textStyle: {
color: '#B7E1FF',
fontSize:24
}
},
axisLine:{
lineStyle:{
color:'#09F'
}
},
splitLine :{
lineStyle:{color:'#09F' }
}
}
],
series : [
{
name:'项目投标',
type:'bar',
stack: '进度',
itemStyle : businessProgress_dataStyle,
data:[100, 100, 100, 70]
},
{
name:'项目投标',
type:'bar',
stack: '进度',
itemStyle: businessProgress_placeHoledStyle,
data:[0, 0, 0, 30]
},
{
name:'投标进度',
type:'bar',
stack: '进度',
itemStyle : businessProgress_dataStyle,
data:[100, 100, 42, 0]
},
{
name:'投标进度',
type:'bar',
stack: '进度',
itemStyle: businessProgress_placeHoledStyle,
data:[0, 0, 58, 100]
},
{
name:'项目进行',
type:'bar',
stack: '进度',
itemStyle : businessProgress_dataStyle,
data:[100, 100, 0, 0]
},
{
name:'项目进行',
type:'bar',
stack: '进度',
itemStyle: businessProgress_placeHoledStyle,
data:[0, 0, 100, 100]
},
{
name:'项目交付',
type:'bar',
stack: '进度',
itemStyle : businessProgress_dataStyle,
data:[71, 50, 0, 0]
},
{
name:'项目交付',
type:'bar',
stack: '进度',
itemStyle: businessProgress_placeHoledStyle,
data:[29, 50, 100, 100]
}
]
};
businessProgress.setOption(businessProgress_option);
//监控仪表盘
/*option_gauge = {
title: {
text: '', //标题文本内容
},
toolbox: { //可视化的工具箱
show: false,
},
tooltip: { //弹窗组件
formatter: "{a} <br/>{b} : {c}%"
},
series: [{
type: 'gauge',
axisLine: {// 坐标轴线
lineStyle: { // 属性lineStyle控制线条样式
color:[[0.2, color[0]],[0.8, color[1]],[1, color[0]]],
width: 18
}
},
splitLine: { // 分隔线
show:true,
length: 18,
lineStyle: {
color: '#28292D',
width: 1
}
},
axisTick : { //刻度线样式(及短线样式)
show:false,
lineStyle: {
color: 'auto',
width: 1
},
length : 20
},
axisLabel : {
color:'#FFF',
fontSize:14,
fontFamily:'Verdana, Geneva, sans-serif'
},
title: {
textStyle: { // 其余属性默认使用全局文本样式,详见TEXTSTYLE
fontWeight: 'bolder',
fontSize: 20,
color: '#FFF'
},
offsetCenter: [0, '30%']
},
pointer: {
width: 5,
color: '#F00',
shadowColor: '#FF0',
shadowBlur: 10
},
detail: {
show:false,
formatter:'{value}%',
textStyle:
{
fontFamily:'Arial',
color: '#000',
fontSize:'32px'
},
offsetCenter: [0, '90%']
},
data: [{value: 45, name: '水'}]
}]
};
gauge1 = echarts.init(document.getElementById('gauge1'));
gauge2 = echarts.init(document.getElementById('gauge2'));
gauge3 = echarts.init(document.getElementById('gauge3'));
gauge4 = echarts.init(document.getElementById('gauge4'));
gauge5 = echarts.init(document.getElementById('gauge5'));
option_gauge.series[0].axisLine.lineStyle.color=[[0.2, color[0]],[0.8, color[1]],[1, color[2]]];
option_gauge.series[0].data[0].value = (Math.random() * 100).toFixed(2) - 0;
option_gauge.series[0].data[0].name ="水";
$('#vg1').html(option_gauge.series[0].data[0].value);
gauge1.setOption(option_gauge);
option_gauge.series[0].data[0].value = (Math.random() * 100).toFixed(2) - 0;
option_gauge.series[0].data[0].name ="电";
$('#vg2').html(option_gauge.series[0].data[0].value);
gauge2.setOption(option_gauge);
option_gauge.series[0].data[0].value = (Math.random() * 100).toFixed(2) - 0;
option_gauge.series[0].data[0].name ="天然气";
$('#vg3').html(option_gauge.series[0].data[0].value);
gauge3.setOption(option_gauge);
option_gauge.series[0].data[0].value = (Math.random() * 100).toFixed(2) - 0;
option_gauge.series[0].data[0].name ="压缩空气";
$('#vg4').html(option_gauge.series[0].data[0].value);
gauge4.setOption(option_gauge);
option_gauge.series[0].data[0].value = (Math.random() * 100).toFixed(2) - 0;
option_gauge.series[0].data[0].name ="蒸汽";
$('#vg5').html(option_gauge.series[0].data[0].value);
gauge5.setOption(option_gauge);*/
//生产质量堆积图
quality_chart = echarts.init(document.getElementById('quality'));
quality_option={
title: {
show:false,
text: 'AUDIT',
left: 'center',
textStyle: {
color: '#F00',
fontSize:32
}
},
xAxis: {
data: ['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月'],
axisLabel: {
textStyle: {
color: '#B7E1FF',
fontSize:24
}
},
axisLine:{
lineStyle:{
color:'#09F'
}
},
axisTick:{
lineStyle:{
color:'#09F'
}
}
},
yAxis: {
inverse: false,
splitArea: {show: false},
axisLine: {show: false},
axisTick: {show: false},
axisLabel: {
textStyle: {
color: '#B7E1FF',
fontSize:24,
fontFamily:'Arial',
}
},
splitLine :{
lineStyle:{
color:'#09F'
}
}
},
grid: {
left: 100
},
tooltip: {
trigger: 'item',
textStyle: {
color: '#B7E1FF',
fontSize:24
}
},
legend:{
show:false,
top: 'bottom',
textStyle: {
color: '#F00',
fontSize:24,
fontFamily:'微软雅黑'
},
data:['AUDIT分数1','AUDIT分数']
},
series: [
{
name: 'AUDIT分数1',
type: 'bar',
stack: 'one',
itemStyle:
{
normal: {color: color[1]}
},
barWidth : 60,
data:[2200,2900,3680,2200,2900,3680,2200,2900,3680,2200,2900,3680]
},
{
name: 'AUDIT分数',
type: 'bar',
stack: 'one',
itemStyle: {
normal: {
color: '#F90',
label: {
show: true,
position: 'insideTop',
textStyle: {
color: '#000',
fontSize:24
}
}
}
},
barWidth : 50,
data: [1800,1100,320,1800,1100,320,1800,1100,320,1800,1100,320]
}
]
};
quality_chart.setOption(quality_option);
//生产计划折线图
var plan_data1=[];
var plan_data2=[];
var plan_xAxis=[];
for (var i = 1; i <= 12; i++) {
plan_xAxis.push(i+"月");
plan_data1.push(Math.round(Math.random() * 100));
plan_data2.push(Math.round(Math.random() * 100));
}
plan_chart = echarts.init(document.getElementById('plan'));
plan_option={
xAxis: {
data:plan_xAxis,
axisLabel: {
textStyle: {
color: '#B7E1FF',
fontSize:24
}
},
axisLine:{
lineStyle:{
color:'#09F'
}
},
axisTick:{
lineStyle:{
color:'#09F'
}
}
},
yAxis: {
inverse: false,
splitArea: {show: false},
axisLine: {show: false},
axisTick: {show: false},
axisLabel: {
textStyle: {
color: '#B7E1FF',
fontSize:24,
fontFamily:'Arial',
}
},
splitLine :{
lineStyle:{
color:'#09F'
}
}
},
tooltip: {
trigger: 'axis',
textStyle: {
color: '#FFF',
fontSize:24
}
},
grid: {
left: 100
},
legend:{
show:false,
top: 'bottom',
textStyle: {
color: '#F00',
fontSize:24
},
data:['计划完成数','实际完成数']
},
series: [
{
name: '计划完成数',
type: 'bar',
itemStyle:
{
normal: {color: color[1]},
emphasis: {color: color[2]}
},
barWidth : 40,
data:plan_data1
},
{
name: '实际完成数',
type: 'line',
itemStyle: {
normal: {
color: '#F90',
label: {
show: true,
position: 'top',
textStyle: {
color: '#CCC',
fontSize:24
}
},
lineStyle:{
color:'#F90',
width:4
}
},
emphasis: {
color: '#FF0'
}
},
symbolSize: 24,
data: plan_data2
}
]
};
plan_chart.setOption(plan_option);
//轮番显示tips
/*function clock(){
showToolTip_highlight(plan_chart);
}
setInterval(clock, 5000);*/
//词云
var cloudData=[];
for(var i=0;i<30;i++)
{
cloudData.push({name:'文字云字符'+i.toString(),value:Math.random()*1000});
}
wordCloud=echarts.init(document.getElementById('wordCloud'));
wordCloud_option={
left: 'center',
top: 'center',
tooltip: {
textStyle: {
color: '#FFF',
fontSize:24
}},
series : [{
type : 'wordCloud',
shape:'smooth',
drawOutOfBound: true,
gridSize : 10,
sizeRange : [ 10, 48 ],
rotationRange: [0, 0],
textStyle : {
normal : {
color :function (d) {
// Random color
return 'rgba(0,153,255,'+(d.value/1000)+ ')';
}
},
emphasis : {
shadowBlur : 10,
shadowColor : '#333'
}
},
data : cloudData
}]
};
wordCloud.setOption(wordCloud_option);
//地图开始
var map_chart = echarts.init(document.getElementById('map'));
/*map_option = {
title : {show:false},
tooltip: {
show:function(d)
{
return (d.value!=null && d.value>=0);
},
trigger: 'item',
formatter:function(d){
return (d.value>=0)?d.name+'</br>战略力度:'+(d.value).toFixed(2):'';
},
textStyle: {
color: '#FFF',
fontSize:24
}
},
legend: {
show:false
},
dataRange: {
show:false,
min: 0,
max: 100,
text:['High','Low'],
realtime: false,
calculable : false,
color: ['rgba(0,51,204,0.8)','rgba(0,102,255,0.8)','rgba(0,153,255,0.8)'],
splitList: [
{start: 0,end: 30},
{start: 31, end: 70},
{start: 71, end: 100},
]
},
series: [{
name: '布局',
type: 'map',
mapType: 'china',
roam: false,
showLegendSymbol : false,
label: {
show: true,
textStyle: {
color: '#FFF',
fontSize:18
}
},
itemStyle :{
areaColor :'rgba(0,0,0,0.2)',
borderColor : '#09F'
},
emphasis:{
areaColor :'rgba(255,0,0,0.8)',
borderColor : 'rgba(255,0,0,0.8)'
},
data:[
{name: '北京', value:Math.random()*100},
{name: '天津', value:Math.random()*100},
{name: '上海', value:Math.random()*100},
{name: '重庆', value:Math.random()*100},
{name: '河北', value:Math.random()*100},
{name: '河南', value:Math.random()*100},
{name: '辽宁', value:Math.random()*100},
{name: '黑龙江', value:Math.random()*100},
{name: '湖南', value:Math.random()*100},
{name: '安徽', value:Math.random()*100},
{name: '山东', value:Math.random()*100},
{name: '江苏', value:Math.random()*100},
{name: '浙江', value:Math.random()*100},
{name: '江西', value:Math.random()*100},
{name: '湖北', value:Math.random()*100},
{name: '广西', value:Math.random()*100},
{name: '甘肃', value:Math.random()*100},
{name: '山西', value:Math.random()*100},
{name: '内蒙古', value:Math.random()*100},
{name: '陕西', value:Math.random()*100},
{name: '吉林', value:Math.random()*100},
{name: '福建', value:Math.random()*100},
{name: '贵州', value:Math.random()*100},
{name: '广东', value:Math.random()*100},
{name: '青海', value:Math.random()*100},
{name: '四川', value:Math.random()*100},
{name: '宁夏', value:Math.random()*100},
{name: '海南', value:Math.random()*100}
]
}]
};*/
var mapData=[];
for(key in geoCoordMap)
{
var geoCoord = geoCoordMap[key];
mapData.push({name:key,value:geoCoord.concat((Math.random()*1000).toFixed(2))});
}
map_option = {
title : {show:false},
tooltip : {
trigger: 'item',
formatter: function(params) {
if (typeof(params.value)[2] == "undefined") {
return params.name + ' : ' + params.value;
} else {
return params.name + ' : ' + params.value[2];
}
},
textStyle: {
color: '#FFF',
fontSize:24
}
},
legend: {
show:false
},
geo: {
map: 'china',
label: {
normal: {show: false},
emphasis: {show: false}
},
roam: false,
itemStyle: {
normal: {
areaColor: 'rgba(0,153,255,0.6)',
borderColor: '#09F'
},
emphasis: {
areaColor: 'rgba(0,153,255,0.6)',
borderColor: '#09F'
}
}
},
series: [{
name: '战略布局点',
type: 'scatter',
coordinateSystem: 'geo',
zlevel: 1,
rippleEffect: {
brushType: 'stroke'
},
symbolSize: function (val) {
return val[2] / 30;
},
label: {
normal: {show: false},
emphasis: {show: false}
},
itemStyle: {
normal: {color: 'rgba(255,255,0,0.8)'},
emphasis: {color: 'rgba(246,33,87,1)'}
},
data: mapData
},
{
name: '战略布局TOP5',
type: 'effectScatter',
coordinateSystem: 'geo',
zlevel: 2,
hoverAnimation: true,
showEffectOn: 'render',
rippleEffect: {
brushType: 'stroke'
},
label: {
normal: {
show: true,
fontFamily:'微软雅黑',
fontSize: 24,
color:'#FFF',
formatter: '{b}',
position: 'right',
shadowBlur: 5,
shadowColor: '#000'
},
emphasis: {
show: true
}
},
symbolSize: function (val) {
return val[2] / 30;
},
itemStyle: {
normal: {
color: 'rgba(255,255,255,1)'
}
},
data: mapData.sort(function(a, b) {
return b.value[2] - a.value[2];
}).slice(0, 5)
},
{
name: '点',
type: 'scatter',
coordinateSystem: 'geo',
symbol: 'pin',
symbolSize: function(val) {
return val[2]/10;
},
label: {
normal: {
show: true,
fontFamily:'Arial, Helvetica, sans-serif',
formatter:'{@[2]}',
textStyle: {
color: '#FFF',
fontSize: 18,
}
}
},
itemStyle: {
normal: {
color: 'rgba(246,33,87,1)', //标志颜色
}
},
zlevel: 3,
data: mapData.sort(function(a, b) {
return b.value[2] - a.value[2];
}).slice(0, 5)
}]
};
map_chart.setOption(map_option, true);
resresh();
//开始定时刷新
setInterval(resresh, 5*1000);
});
var convertData = function (data) {
var res = [];
for (var i = 0; i < data.length; i++) {
var dataItem = data[i];
var fromCoord = geoCoordMap[dataItem[0].name];
var toCoord = geoCoordMap[dataItem[1].name];
if (fromCoord && toCoord) {
res.push({
fromName: dataItem[0].name,
toName: dataItem[1].name,
coords: [fromCoord, toCoord]
});
}
}
return res;
};
function showToolTip_highlight(mychart)
{
var echartObj = mychart;
// 高亮当前图形
var highlight =setInterval(function()
{
echartObj.dispatchAction({
type: 'highlight',
seriesIndex: 0,
dataIndex: indexnum
});
echartObj.dispatchAction({
type: 'showTip',
seriesIndex: 0,
dataIndex: indexnum
});
clearInterval(highlight);
indexnum = indexnum + 1;
if(indexnum>=7) indexnum=0;
},1000);
}
//定时刷新数据
function resresh()
{
var myDate = new Date();
// $('#refresh').html("<img src=\"images/wait.gif\" align=\"absmiddle\"><span>数据刷新中...</span>");
$('#currentDate').html(myDate.getFullYear()+"/"+insertZero(myDate.getMonth()+1)+"/"+insertZero(myDate.getDate()));
var maxg=Math.round(Math.random()*500)+400;
var n1=Math.round(Math.random()*(maxg-100))+100;
var n2=Math.round(Math.random()*(n1-50))+50;
var n3=(n2/maxg*100).toFixed(2);
//年进度条
option_Progress.title.text ="计划生产";
option_Progress.series[0].data[0].value = maxg;
option_Progress.title.subtext =maxg+"台";
option_Progress.series[0].data[1].value =0;
y_gauge1.setOption(option_Progress);
option_Progress.title.text ="已接订单";
option_Progress.series[0].data[0].value = n1;
option_Progress.title.subtext =n1+"台";
option_Progress.series[0].data[1].value =(maxg-n1);
y_gauge2.setOption(option_Progress);
option_Progress.title.text ="已经完成";
option_Progress.series[0].data[0].value = n2;
option_Progress.title.subtext =n2+"台";
option_Progress.series[0].data[1].value =(maxg-n2);
y_gauge3.setOption(option_Progress);
option_Progress.title.text ="计划完成率";
option_Progress.series[0].data[0].value = n3;
option_Progress.title.subtext =n3+"%";
option_Progress.series[0].data[1].value =(100-n3);
y_gauge4.setOption(option_Progress);
//仪表盘刷新
/*option_gauge.series[0].data[0].value = (Math.random() * 100).toFixed(2) - 0;
option_gauge.series[0].data[0].name ="水";
$('#vg1').html(option_gauge.series[0].data[0].value);
gauge1.setOption(option_gauge);
option_gauge.series[0].data[0].value = (Math.random() * 100).toFixed(2) - 0;
option_gauge.series[0].data[0].name ="电";
$('#vg2').html(option_gauge.series[0].data[0].value);
gauge2.setOption(option_gauge);
option_gauge.series[0].data[0].value = (Math.random() * 100).toFixed(2) - 0;
option_gauge.series[0].data[0].name ="天然气";
$('#vg3').html(option_gauge.series[0].data[0].value);
gauge3.setOption(option_gauge);
option_gauge.series[0].data[0].value = (Math.random() * 100).toFixed(2) - 0;
option_gauge.series[0].data[0].name ="压缩空气";
$('#vg4').html(option_gauge.series[0].data[0].value);
gauge4.setOption(option_gauge);
option_gauge.series[0].data[0].value = (Math.random() * 100).toFixed(2) - 0;
option_gauge.series[0].data[0].name ="蒸汽";
$('#vg5').html(option_gauge.series[0].data[0].value);
gauge5.setOption(option_gauge); */
//显示最后更新时间
$('#refresh').html("<span id=\"refreshTime\">最后刷新时间:"+myDate.toLocaleDateString()+" "+myDate.toLocaleTimeString()+"</span>");
}
//生成订单号
function getOrderNumber(n)
{
var no="000000"+n.toString();
return no.substring(no.length-6);
}
//前面补0
function insertZero(n)
{
var no="000000"+n.toString();
return no.substring(no.length-2);
}
//打开模态窗口
function openDialog(DlgName)
{
$('#'+DlgName).dialog('open');
}
\ No newline at end of file
/** 初始化 **/
html,
body {
width: 100%;
height: 100%;
}
body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
input,
button,
textarea,
p,
blockquote,
th,
td,
form,
pre {
margin: 0;
padding: 0;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
color: #333;
}
body {
-webkit-font-feature-settings: 'kern' 1;
-moz-font-feature-settings: 'kern' 1;
-o-font-feature-settings: 'kern' 1;
text-rendering: geometricPrecision;
font-family: "Microsoft YaHei";
}
a:active,
a:hover {
outline: 0
}
img {
display: inline-block;
border: none;
vertical-align: middle;
}
li {
list-style: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
h1,
h2,
h3 {
font-size: 14px;
font-weight: 400;
}
h4,
h5,
h6 {
font-size: 100%;
font-weight: 400;
}
button,
input,
select,
textarea {
font-size: 100%;
}
input,
button,
textarea,
select,
optgroup,
option {
font-family: inherit;
font-size: inherit;
font-style: inherit;
font-weight: inherit;
outline: 0;
}
pre {
white-space: pre-wrap;
white-space: -moz-pre-wrap;
white-space: -pre-wrap;
white-space: -o-pre-wrap;
word-wrap: break-word;
}
/** 滚动条 **/
::-webkit-scrollbar {
width: 5px;
height: 10px;
}
::-webkit-scrollbar-button:vertical {
display: none;
}
::-webkit-scrollbar-track,
::-webkit-scrollbar-corner {
background-color: rgba(14, 148, 234, 0.2);
}
::-webkit-scrollbar-thumb {
border-radius: 0;
background-color: rgba(0, 0, 0, .3);
}
::-webkit-scrollbar-thumb:vertical:hover {
background-color: rgba(0, 0, 0, .35);
}
::-webkit-scrollbar-thumb:vertical:active {
background-color: rgba(0, 0, 0, .38);
}
/*下拉框*/
.select {
width: 1.6rem;
height: 0.4rem;
position: relative;
font-size: 0.18rem;
color: #cdddf7;
outline: none;
}
.select-div {
box-sizing: border-box;
width: 1.6rem;
height: 0.4rem;
line-height: 0.4rem;
border: 1px solid #0E94EA;
background: url(../images/arrow.png) 95% center no-repeat;
padding-left: 10px;
cursor: default;
position: absolute;
top: 0;
left: 0;
color: #cdddf7;
}
.select-ul {
position: absolute;
width: 1.6rem;
top: 0.5rem;
left: 0;
z-index: 10;
display: none;
}
.select-ul.company {
height: 1.2rem;
overflow-y: auto;
}
.select-ul>li {
height: 0.4rem;
line-height: 0.4rem;
padding-left: 10px;
box-sizing: border-box;
background-color: rgba(14, 148, 234, 0.2);
cursor: default;
color: #cdddf7;
}
.select-ul>li.active,
.select-ul>li:hover {
color: white;
background: #0e94eb;
}
.select-ul>li {
width: 1.6rem;
}
.data-box {
width: 4.9rem;
position: absolute;
margin: auto;
top: 0.42rem;
bottom: 0;
left: 0;
right: 0;
}
.chart-box {
position: absolute;
top: 0.42rem;
bottom: 0;
width: 90%;
margin: auto;
left: 0;
right: 0;
height: auto;
}
.container-flex {
width: 100%;
height: 100%;
background: url(../images/index_bg.png) left top no-repeat;
background-size: 100% 100%;
display: flex;
flex-flow: row nowrap;
justify-content: center;
outline: none;
}
.box-left {
width: 28%;
height: 100%;
background: url(../images/line_img.png) top right repeat-y;
}
.left-top {
width: 100%;
height: 20.4%;
position: relative;
}
.left-top>.current-num {
width: 4.9rem;
height: 1.8rem;
position: absolute;
margin: auto;
top: 0;
left: 0;
bottom: 0;
right: 0;
background: url(../images/border_bg01.png) top left no-repeat;
background-size: 100% 100%;
}
.current-num>div {
width: 100%;
height: 0.8rem;
line-height: 0.8rem;
text-align: center;
background: url(../images/title_bg01.png) center center no-repeat;
font-size: 0.2rem;
color: #0e94ea;
background-size: 1.8rem 0.25rem;
font-weight: 900;
}
.current-num>p {
font-size: 0.46rem;
text-align: center;
color: white;
}
.left-center {
width: 100%;
height: 37%;
position: relative;
}
.pie-chart>div {
float: left;
width: 50%;
height: 100%;
position: relative;
}
.pie-data {
height: 2.25rem;
position: absolute;
margin: auto;
top: 0;
left: 0;
width: 100%;
bottom: 0;
display: flex;
align-items: center;
flex-flow: row wrap;
overflow-y: auto;
padding-right: 5px;
}
.pie-data p {
width: 100%;
height: 0.45rem;
line-height: 0.45rem;
font-size: 0.2rem;
color: #cdddf7;
display: flex;
flex-flow: row nowrap;
justify-content: space-around;
cursor: default;
}
.pie-data p>span {
width: 0;
flex-grow: 1;
margin: 0 5px;
text-align: left;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.pie-data p>.pie-number {
flex-grow: 2;
}
.legend {
display: inline-block;
width: 0.2rem;
height: 0.16rem;
line-height: 0.2rem;
border-radius: 2px;
background: white;
}
.left-bottom {
width: 100%;
height: 42.6%;
position: relative;
}
.filter-con {
width: 100%;
height: 0.4rem;
position: absolute;
float: left;
top: 10px;
left: 0;
display: none;
flex-flow: row nowrap;
justify-content: space-between;
/* visibility: hidden;*/
z-index: 999;
}
.pop-filter {
width: 5.2rem;
top: 1.1rem;
left: 0.5rem;
}
.pop-filters {
width: 5.2rem;
top: 1.1rem;
left: 0.5rem;
}
.gd-map {
width: 100%;
height: 90%;
}
.box-center {
width: 44%;
height: 100%;
/* background: green;*/
}
.center-top {
width: 100%;
height: 8.8%;
position: relative;
top: 0;
left: 0;
background: url(../images/title_border.png) bottom center no-repeat;
display: flex;
justify-content: center;
align-items: center;
}
.center-top>h1 {
color: #cdddf7;
font-size: 0.45rem;
font-weight: 900;
letter-spacing: 5px;
}
.center-center {
width: 100%;
height: 15.3%;
display: flex;
flex-flow: row nowrap;
justify-content: center;
align-items: center;
}
.weather-box {
width: 4.1rem;
height: 1.1rem;
border: 1px solid #0E94EA;
display: flex;
flex-flow: row nowrap;
justify-content: space-around;
align-items: center;
}
.weather-box>.data {
width: 2.19rem;
height: 0.65rem;
border-right: 2px solid #cdddf7;
}
.data>p {
font-size: 0.16rem;
margin: 0 5px;
color: #cdddf7;
text-align: center;
margin: 0;
}
.data>p>span {
margin: 0 5px;
}
.data>p.time {
font-size: 0.42rem;
height: 0.42rem;
line-height: 0.42rem;
}
.weather-box>.weather {
width: 1.8rem;
height: 0.65rem;
display: flex;
flex-flow: row nowrap;
justify-content: space-around;
align-items: center;
margin-left: 10px;
}
.weather>img {
height: 100%;
}
.weather>div {
width: 0.8rem;
height: 100%;
}
.weather>div>p {
font-size: 0.12rem;
color: #cdddf7;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
height: 0.24rem;
line-height: 0.24rem;
}
.weather>div>p.active {
color: white;
font-size: 0.16rem;
}
.select-box {
width: 3.4rem;
height: 1.1rem;
box-sizing: border-box;
position: relative;
}
.select-pop {
width: 1.6rem;
}
.select-box>ul,
.select-pop>ul {
width: 1.6rem;
height: 0.4rem;
font-size: 0.18rem;
overflow: hidden;
border: 1px solid #0E94EA;
position: absolute;
top: 0;
left: 0;
}
.select-box>ul>li,
.select-pop>ul>li {
width: 0.8rem;
height: 0.4rem;
line-height: 0.4rem;
text-align: center;
float: left;
color: #cdddf7;
cursor: pointer;
}
.select-box>ul>li.active,
.select-pop>ul>li.active {
background: #0e94eb;
color: white;
}
.select-box>div {
width: 100%;
height: 0.4rem;
position: absolute;
bottom: 0;
left: 0;
display: flex;
flex-flow: row nowrap;
justify-content: space-between;
}
.center-center>img {
width: 0.13rem;
height: 1.1rem;
margin: 0 0.2rem;
}
.center-bottom {
width: 100%;
height: 75.9%;
position: relative;
}
.center-bottom>.city-data {
width: 8.05rem;
height: 100%;
margin: auto;
position: absolute;
}
.city-box {
width: 1.8rem;
/* height: 1.9rem;*/
border: 1px solid #0e94ea;
position: absolute;
top: 0;
left: 0;
}
.city-box>p {
height: 0.4rem;
line-height: 0.4rem;
text-align: center;
border-bottom: 1px solid #0e94ea;
font-size: 0.18rem;
color: #cdddf7;
box-sizing: border-box;
}
.city-box>p>span {
color: #d09d26;
}
.city-btn {
width: 100%;
/* height: 0.5rem;*/
display: flex;
flex-flow: row wrap;
align-items: center;
justify-content: space-around;
overflow: hidden;
}
.city-btn>li,
.city-div>li {
font-size: 0.14rem;
height: 0.2rem;
line-height: 0.2rem;
float: left;
color: white;
margin: 0.02rem 0;
padding: 0 0.03rem;
cursor: pointer;
}
.city-btn>li.active,
.city-btn>li:hover,
.city-div>li.active,
.city-div>li:hover {
background: #0e94ea;
}
.city-div {
width: 100%;
height: 1rem;
display: flex;
flex-flow: row wrap;
/* align-items: center;*/
justify-content: flex-start;
overflow-y: auto;
}
.city-div>li {
padding: 0 0.05rem;
text-align: center;
}
.ranking-box {
width: 2.5rem;
border: 1px solid #0e94ea;
position: absolute;
left: 0;
bottom: 20px;
background-color: rgba(14, 148, 235, 0.102);
}
.ranking-box>li {
width: 100%;
height: 0.3rem;
line-height: 0.3rem;
display: flex;
flex-flow: row nowrap;
justify-content: space-around;
font-size: 0.18rem;
color: rgba(255, 255, 255, .7);
}
.ranking-box>li>span {
width: 0;
flex-grow: 1;
text-align: center;
}
.ranking-box>li>p {
width: 0;
flex-grow: 2;
color: rgba(255, 255, 255, .7);
text-align: center;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.ranking-box>li:nth-child(2n+1) {
background: rgba(14, 148, 235, 0.102);
}
.ranking-box>li:first-child {
height: 0.4rem;
line-height: 0.4rem;
font-size: 0.2rem;
background: rgba(14, 148, 235, 0.8);
}
.ranking-box>li:first-child>p {
color: white;
}
.box-right {
width: 28%;
height: 100%;
background: url(../images/line_img.png) top left repeat-y;
}
.right-top {
width: 100%;
height: 41%;
box-sizing: border-box;
padding-top: 0.2rem;
position: relative;
}
.right-top>.data-box,
.right-top>.chart-box {
top: 1rem;
}
.table1 {
font-size: 0.16rem;
border: 1px solid #0e94ea;
border-top: none;
border-right: none;
margin: auto;
}
.table1 tr {
border-top: 1px solid #0e94ea;
background: rgba(14, 148, 234, 0.1);
}
.table1 tr.bg-color {
background: rgba(14, 148, 234, 0.2);
}
.table1 tr td {
border-right: 1px solid #0e94ea;
height: 0.4rem;
line-height: 0.4rem;
color: #cdddf7;
text-align: center;
}
.table1 tr td.data-table {
color: #fff;
}
.table1 tr td:nth-child(2n+1) {
width: 1rem;
}
.table1 tr td:nth-child(2n) {
width: 1.4rem;
}
.table2 {
font-size: 0.16rem;
border: 1px solid #0e94ea;
border-top: none;
border-right: none;
margin: auto;
}
.table2 tr {
border-top: 1px solid #0e94ea;
background: rgba(14, 148, 234, 0.1);
}
.table2 tr.bg-color {
background: rgba(14, 148, 234, 0.2);
}
.table2 tr td {
border-right: 1px solid #0e94ea;
height: 0.6rem;
line-height: 0.6rem;
color: #cdddf7;
text-align: center;
}
.table2tr td.data-table {
color: #fff;
}
.table2 tr td:nth-child(2n+1) {
width: 1.8rem;
}
.table2 tr td:nth-child(2n) {
width: 2.5rem;
}
.right-center {
width: 100%;
height: 29%;
position: relative;
}
.time-box {
width: 3.9rem;
height: 0.4rem;
position: absolute;
top: 5px;
right: 0;
overflow: hidden;
z-index: 10;
display: none;
}
.time-div {
float: left;
width: 1.8rem;
height: 0.4rem;
position: relative;
}
.time-div.end {
float: right;
}
.time-div>img {
width: 0.2rem;
height: 0.2rem;
margin: auto;
position: absolute;
top: 0;
bottom: 0;
right: 0.1rem;
}
.time-input {
width: 1.8rem;
height: 0.4rem;
box-sizing: border-box;
border: 1px solid #0E94EA;
font-size: 0.16rem;
background: rgba(14, 148, 234, 0.2);
position: absolute;
top: 0;
left: 0;
color: #cdddf7;
padding-left: 10px;
}
.data-box>.data-number {
width: 4.9rem;
height: 2.3rem;
position: absolute;
margin: auto;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: url(../images/bg_img03.png) top left no-repeat;
background-size: 100% 100%;
color: #cdddf7;
font-size: 0.4rem;
line-height: 2.3rem;
text-align: center;
}
.right-bottom {
width: 100%;
height: 30%;
position: relative;
}
.data-box>.settings-box {
box-sizing: border-box;
width: 4.9rem;
height: 2.38rem;
position: absolute;
margin: auto;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: rgba(14, 148, 234, 0.2);
border: 1px solid #0E94EA;
color: white;
font-size: 0.18rem;
overflow: hidden;
}
.settings-box>p {
color: #cdddf7;
margin-bottom: 0.46rem;
padding-left: 0.4rem;
height: 0.22rem;
line-height: 0.22rem;
}
.settings-box>p:first-child {
padding-top: 0.46rem;
}
.settings-box>div {
display: flex;
flex-flow: row nowrap;
align-items: center;
justify-content: center;
padding-top: 0.2rem;
}
.settings-box>div>p {
width: 2.9rem;
font-size: 0.14rem;
padding: 0;
color: #cdddf7;
}
.settings-box>p>img {
width: 0.2rem;
height: 0.22rem;
margin-right: 5px;
}
.settings-box>p>span,
.settings-box>div>p>span {
color: white;
margin: 0 0.15rem;
}
.settings-box>div>img {
height: 0.2rem;
margin: 0 0.05rem;
}
.config {
text-decoration: underline;
cursor: pointer;
}
.settings-box>form label {
color: #cdddf7;
margin-right: 10px;
}
.four-f {
letter-spacing: 0.045rem;
}
.settings-box>form input {
width: 1.2rem;
height: 0.4rem;
border: 1px solid #0E94EA;
background: rgba(14, 148, 235, 0.2);
color: white;
padding-left: 0.1rem;
}
.settings-box>form>div {
width: 94%;
margin: auto;
}
.set-ter {
height: 0.64rem;
line-height: 0.64rem;
}
.set-time {
height: 0.4rem;
width: 3.56rem;
padding-left: 1.2rem;
}
.set-time>.time-div,
.set-time>.time-div>input {
width: 1.6rem;
}
.end-1 {
margin-left: 0.1rem;
}
.set-peo {
height: 0.70rem;
line-height: 0.7rem;
}
.settings-box>.set-btn {
height: 0.64rem;
line-height: 0.64rem;
text-align: center;
padding-top: 0;
}
.set-btn>button {
width: 0.9rem;
height: 0.4rem;
border: 1px solid #0E94EA;
background: rgba(14, 148, 235, 0.2);
color: white;
margin: 0 5px;
cursor: pointer;
}
.settings-box>.close-icon {
display: block;
width: 0.16rem;
height: 0.16rem;
position: absolute;
top: 5px;
right: 5px;
background: url(../images/close_icon.png) top left no-repeat;
background-size: 100% 100%;
cursor: pointer;
}
.settings-box>.kf {
padding-top: 0.8rem;
line-height: 0.3rem;
}
.title-box {
width: 4.9rem;
height: 0.42rem;
background: url(../images/box_title.png) top left no-repeat;
background-size: 100% 100%;
margin: auto;
display: flex;
flex-flow: row nowrap;
align-items: center;
position: relative;
}
.title-box>h6,
.title-box>p {
font-size: 0.2rem;
color: white;
height: 0.42rem;
line-height: 0.42rem;
margin-left: 0.4rem;
}
.title-box>p>span {
cursor: pointer;
color: rgba(255, 255, 255, .6);
}
.title-box>p>span.active {
color: rgba(255, 255, 255, 1);
}
.line-img {
width: 1px;
height: 0.2rem;
margin: 0 10px;
}
.title-box>.line-img {
position: absolute;
right: 1.3rem;
}
.title-box>button {
font-size: 0.18rem;
border: none;
background: transparent;
color: #cdddf7;
height: 0.42rem;
position: absolute;
right: 0.6rem;
display: flex;
flex-flow: row nowrap;
align-items: center;
cursor: pointer;
}
.title-box>button:hover {
color: white;
}
.title-box>button>img {
width: 0.2rem;
height: 0.2rem;
margin-right: 5px;
}
.unit {
font-size: 0.16rem;
height: 0.4rem;
color: #cdddf7;
text-align: right;
padding-right: 0.3rem;
line-height: 0.4rem;
}
.container {
width: 100%;
height: 100%;
background: rgba(0, 0, 0, .7);
position: absolute;
top: 0;
left: 0;
display: flex;
visibility: hidden;
justify-content: center;
align-items: center;
}
.pop-up {
width: 70%;
height: 80%;
background: url(../images/popUP_bg.png) top left no-repeat;
background-size: 100% 100%;
position: absolute;
padding: 0.2rem 0.5rem;
visibility: hidden;
}
.pop-up .title {
width: 100%;
height: 0.9rem;
line-height: 0.9rem;
font-size: 0.3rem;
color: white;
padding-left: 0.2rem;
background: url(../images/title_line.png) center left no-repeat;
}
.pop-up .pie-chart {
width: 76%;
height: 80%;
}
.pop-up .pie-data {
width: 80%;
}
.pop-chart {
width: 80%;
top: 1.5rem;
left: 2.3rem;
bottom: 0.5rem;
}
.pop-charts {
width: 60%;
top: 0.45rem;
left: 2.3rem;
bottom: 0.5rem;
}
.pop-up .pie-data p {
height: 0.6rem;
line-height: 0.6rem;
font-size: 0.28rem;
}
.pop-up .pie-data .legend {
width: 0.38rem;
height: 0.28rem;
vertical-align: middle;
}
.close-pop {
display: inline-block;
position: absolute;
top: 0.3rem;
right: 0.5rem;
width: 13px;
height: 0.9rem;
background: url(../images/close.png) center left no-repeat;
background-size: 13px 13px;
cursor: pointer;
z-index: 99;
}
.pop-data {
width: 2rem;
position: absolute;
top: 2.25rem;
bottom: 0.5rem;
left: 0.5rem;
}
.cont-div {
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
padding: 0.2rem 0.5rem;
visibility: hidden;
}
.pop-data-box {
width: 60%;
height: 50%;
background: url(../images/bg_img04.png) top left no-repeat;
background-size: 100% 100%;
position: absolute;
margin: 0 auto;
bottom: 20%;
left: 0;
right: 0;
display: flex;
justify-content: center;
align-items: center;
color: #cdddf7;
font-size: 0.88rem;
}
.pop-data-box p {
color: #cdddf7;
}
.btn-class {
height: 0.4rem;
padding: 0 15px;
border: 1px solid #0E94EA;
font-size: 0.18rem;
background: transparent;
color: #cdddf7;
position: absolute;
top: 1.7rem;
left: 0.5rem;
display: flex;
flex-flow: row nowrap;
justify-content: center;
align-items: center;
cursor: pointer;
}
.btn-class>img {
width: 0.18rem;
height: 0.18rem;
}
.enlarge-btn {
width: 0.36rem;
height: 0.36rem;
background: url(../images/menu_btn.png) top left no-repeat;
background-size: 100% 100%;
float: left;
border: none;
cursor: pointer;
}
.enlarge-btn:hover,
.enlarge-btn.active {
background: url(../images/menu_on.png) top left no-repeat;
background-size: 100% 100%;
}
.enlarge-box {
height: 0.36rem;
position: absolute;
bottom: 20px;
left: 3rem;
overflow: hidden;
}
.modal-btn {
float: left;
display: none;
}
.modal-btn>li {
float: left;
width: 0.36rem;
height: 0.36rem;
line-height: 0.36rem;
box-sizing: border-box;
border: 1px solid #0E94EA;
border-left: none;
color: #cdddf7;
font-size: 0.18rem;
text-align: center;
cursor: default;
position: relative;
}
.modal-btn>li>div {
position: absolute;
top: 0;
left: 0;
width: 0.36rem;
height: 0.36rem;
background: url(../images/fangda.png) top left no-repeat;
background-size: 100% 100%;
display: none;
}
.modal-btn>li:hover>div {
display: block;
}
.pop-time .time-box {
top: 1.28rem;
left: -3rem;
}
.set-div {
width: 9.8rem;
height: 88%;
margin: 0 auto;
overflow: hidden;
overflow-y: auto;
font-size: 0.18rem;
}
.four-f {
letter-spacing: 0.045rem;
}
.set-box {
height: 0.63rem;
display: flex;
flex-flow: row nowrap;
align-items: center;
}
.set-box>label {
color: #cdddf7;
margin-right: 10px;
float: left;
}
.set-box>input,
.pages-div>input {
width: 0.8rem;
height: 0.4rem;
border: 1px solid #0E94EA;
background: rgba(14, 148, 235, 0.2);
color: white;
padding-left: 0.1rem;
}
.set-box>.input-edit {
width: 4.3rem;
}
.pages-div>input {
background: transparent;
margin: 0 0.2rem;
}
.set-box>input:nth-child(2n+1) {
margin: 0 0.07rem;
}
.set-box>button,
.pages-div>button {
width: 0.36rem;
height: 0.36rem;
line-height: 0.38rem;
text-align: center;
background-color: transparent;
border: 1px solid #0E94EA;
color: white;
padding-left: 0.1rem;
cursor: pointer;
}
.plus {
margin: 0 0.07rem;
background: url(../images/plus.png) center center no-repeat;
background-size: 0.18rem;
}
.mineus {
background: url(../images/jian.png) center center no-repeat;
background-size: 0.18rem;
margin-left: 0.1rem;
}
.set-box>.add-btn {
width: 1rem;
margin-left: 0.4rem;
height: 0.4rem;
display: flex;
flex-flow: row nowrap;
align-items: center;
justify-content: center;
}
.add-btn>img {
width: 0.18rem;
}
.table3 {
font-size: 0.16rem;
border: 1px solid #0e94ea;
border-top: none;
margin: 10px auto;
}
.table3 tr {
border-top: 1px solid #0e94ea;
background: rgba(14, 148, 234, 0.1);
}
.table3 thead tr {
background: rgba(14, 148, 234, 0.4);
}
.table3 tr.bg-color {
background: rgba(14, 148, 234, 0.2);
}
.table3 tr td:nth-child(2n+1),
.table3 tr td:nth-child(2n+1)>p {
width: 3rem;
}
.table3 tr td:nth-child(2n),
.table3 tr td:nth-child(2n)>p {
width: 1.8rem;
}
.table3 tr td,
.table3 tr th {
border-right: 1px solid #0e94ea;
height: 0.4rem;
line-height: 0.4rem;
color: #cdddf7;
text-align: center;
}
.table3 tr td p {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
color: #cdddf7;
}
.table3 thead tr th {
border-right: none;
}
.pages-div {
height: 0.63rem;
display: flex;
flex-flow: row nowrap;
justify-content: center;
align-items: center;
}
.prev {
background: url(../images/prev.png) center center no-repeat;
background-size: 0.12rem;
}
.next {
background: url(../images/next.png) center center no-repeat;
background-size: 0.12rem;
}
.pages-div p {
color: white;
margin: 0 0.1rem;
}
.pages-div>.skip {
width: 0.7rem;
height: 0.4rem;
line-height: 0.4rem;
}
@media screen and (max-height: 670px) {
.right-top {
height: 47%;
}
.right-center {
height: 23%;
}
.data-box>.data-number {
height: 1.65rem;
line-height: 1.65rem;
}
.data-box>.settings-box {
height: 2rem;
}
}
.edit-div {
width: 6.5rem;
height: 2.9rem;
font-size: 0.18rem;
position: absolute;
margin: auto;
top: 0;
left: 0;
right: 0;
bottom: 0;
padding: 0 0.4rem;
border: 1px solid #0e94eb;
background-color: rgb(20, 32, 48);
box-shadow: 0 0 10px #cdddf7;
box-sizing: border-box;
}
.edit-div h4 {
font-size: 0.2rem;
color: white;
height: 0.65rem;
line-height: 0.65rem;
}
.edit-box {
justify-content: flex-end;
}
.edit-box>button {
width: 0.92rem;
height: 0.4rem;
line-height: 0.4rem;
margin: 0 0.17rem;
}
.table3 tr td p.edit {
color: #0e94eb;
cursor: pointer;
}
.table3 tr td p.edit:hover,
.table3 tr td p.edit.active {
color: #d09d26;
}
.tishi {
position: absolute;
margin: auto;
top: 0.4rem;
left: 0;
right: 0;
width: 4.8rem;
text-align: center;
height: 0.4rem;
line-height: 0.4rem;
border: 1px solid #d09d26;
background: rgba(239, 176, 19, 0.2);
font-size: 0.16rem;
color: white;
display: none;
}
@media screen and (max-height: 610px) {
.right-top {
height: 49%
}
.right-center {
height: 21%;
}
.data-box>.data-number {
height: 1.4rem;
line-height: 1.4rem;
}
.data-box>.settings-box {
height: 1.6rem;
}
.pop-data .ranking-box {
height: 1.9rem;
overflow-y: auto;
}
}
\ No newline at end of file
function fnW(str) {
var num;
str >= 10 ? num = str : num = "0" + str;
return num;
}
//获取当前时间
var timer = setInterval(function () {
var date = new Date();
var year = date.getFullYear(); //当前年份
var month = date.getMonth(); //当前月份
var data = date.getDate(); //天
var hours = date.getHours(); //小时
var minute = date.getMinutes(); //分
var second = date.getSeconds(); //秒
var day = date.getDay(); //获取当前星期几
var ampm = hours < 12 ? 'am' : 'pm';
$('#time').html(fnW(hours) + ":" + fnW(minute) + ":" + fnW(second));
$('#date').html('<span>' + year + '/' + (month + 1) + '/' + data + '</span><span>' + ampm + '</span><span>周' + day + '</span>')
}, 1000)
//页面地图数据
var geoCoordMap = {
'海门': [121.15, 31.89],
'鄂尔多斯': [109.781327, 39.608266],
'招远': [120.38, 37.35],
'舟山': [122.207216, 29.985295],
'齐齐哈尔': [123.97, 47.33],
'盐城': [120.13, 33.38],
'赤峰': [118.87, 42.28],
'青岛': [120.33, 36.07],
'乳山': [121.52, 36.89],
'金昌': [102.188043, 38.520089],
'泉州': [118.58, 24.93],
'莱西': [120.53, 36.86],
'日照': [119.46, 35.42],
'胶南': [119.97, 35.88],
'南通': [121.05, 32.08],
'拉萨': [91.11, 29.97],
'云浮': [112.02, 22.93],
'梅州': [116.1, 24.55],
'文登': [122.05, 37.2],
'上海': [121.48, 31.22],
'攀枝花': [101.718637, 26.582347],
'威海': [122.1, 37.5],
'承德': [117.93, 40.97],
'厦门': [118.1, 24.46],
'汕尾': [115.375279, 22.786211],
'潮州': [116.63, 23.68],
'丹东': [124.37, 40.13],
'太仓': [121.1, 31.45],
'曲靖': [103.79, 25.51],
'烟台': [121.39, 37.52],
'福州': [119.3, 26.08],
'瓦房店': [121.979603, 39.627114],
'即墨': [120.45, 36.38],
'抚顺': [123.97, 41.97],
'玉溪': [102.52, 24.35],
'张家口': [114.87, 40.82],
'阳泉': [113.57, 37.85],
'莱州': [119.942327, 37.177017],
'湖州': [120.1, 30.86],
'汕头': [116.69, 23.39],
'昆山': [120.95, 31.39],
'宁波': [121.56, 29.86],
'湛江': [110.359377, 21.270708],
'揭阳': [116.35, 23.55],
'荣成': [122.41, 37.16],
'连云港': [119.16, 34.59],
'葫芦岛': [120.836932, 40.711052],
'常熟': [120.74, 31.64],
'东莞': [113.75, 23.04],
'河源': [114.68, 23.73],
'淮安': [119.15, 33.5],
'泰州': [119.9, 32.49],
'南宁': [108.33, 22.84],
'营口': [122.18, 40.65],
'惠州': [114.4, 23.09],
'江阴': [120.26, 31.91],
'蓬莱': [120.75, 37.8],
'韶关': [113.62, 24.84],
'嘉峪关': [98.289152, 39.77313],
'广州': [113.23, 23.16],
'延安': [109.47, 36.6],
'太原': [112.53, 37.87],
'清远': [113.01, 23.7],
'中山': [113.38, 22.52],
'昆明': [102.73, 25.04],
'寿光': [118.73, 36.86],
'盘锦': [122.070714, 41.119997],
'长治': [113.08, 36.18],
'深圳': [114.07, 22.62],
'珠海': [113.52, 22.3],
'宿迁': [118.3, 33.96],
'咸阳': [108.72, 34.36],
'铜川': [109.11, 35.09],
'平度': [119.97, 36.77],
'佛山': [113.11, 23.05],
'海口': [110.35, 20.02],
'江门': [113.06, 22.61],
'章丘': [117.53, 36.72],
'肇庆': [112.44, 23.05],
'大连': [121.62, 38.92],
'临汾': [111.5, 36.08],
'吴江': [120.63, 31.16],
'石嘴山': [106.39, 39.04],
'沈阳': [123.38, 41.8],
'苏州': [120.62, 31.32],
'茂名': [110.88, 21.68],
'嘉兴': [120.76, 30.77],
'长春': [125.35, 43.88],
'胶州': [120.03336, 36.264622],
'银川': [106.27, 38.47],
'张家港': [120.555821, 31.875428],
'三门峡': [111.19, 34.76],
'锦州': [121.15, 41.13],
'南昌': [115.89, 28.68],
'柳州': [109.4, 24.33],
'三亚': [109.511909, 18.252847],
'自贡': [104.778442, 29.33903],
'吉林': [126.57, 43.87],
'阳江': [111.95, 21.85],
'泸州': [105.39, 28.91],
'西宁': [101.74, 36.56],
'宜宾': [104.56, 29.77],
'呼和浩特': [111.65, 40.82],
'成都': [104.06, 30.67],
'大同': [113.3, 40.12],
'镇江': [119.44, 32.2],
'桂林': [110.28, 25.29],
'张家界': [110.479191, 29.117096],
'宜兴': [119.82, 31.36],
'北海': [109.12, 21.49],
'西安': [108.95, 34.27],
'金坛': [119.56, 31.74],
'东营': [118.49, 37.46],
'牡丹江': [129.58, 44.6],
'遵义': [106.9, 27.7],
'绍兴': [120.58, 30.01],
'扬州': [119.42, 32.39],
'常州': [119.95, 31.79],
'潍坊': [119.1, 36.62],
'重庆': [106.54, 29.59],
'台州': [121.420757, 28.656386],
'南京': [118.78, 32.04],
'滨州': [118.03, 37.36],
'贵阳': [106.71, 26.57],
'无锡': [120.29, 31.59],
'本溪': [123.73, 41.3],
'克拉玛依': [84.77, 45.59],
'渭南': [109.5, 34.52],
'马鞍山': [118.48, 31.56],
'宝鸡': [107.15, 34.38],
'焦作': [113.21, 35.24],
'句容': [119.16, 31.95],
'北京': [116.46, 39.92],
'徐州': [117.2, 34.26],
'衡水': [115.72, 37.72],
'包头': [110, 40.58],
'绵阳': [104.73, 31.48],
'乌鲁木齐': [87.68, 43.77],
'枣庄': [117.57, 34.86],
'杭州': [120.19, 30.26],
'淄博': [118.05, 36.78],
'鞍山': [122.85, 41.12],
'溧阳': [119.48, 31.43],
'库尔勒': [86.06, 41.68],
'安阳': [114.35, 36.1],
'开封': [114.35, 34.79],
'济南': [117, 36.65],
'德阳': [104.37, 31.13],
'温州': [120.65, 28.01],
'九江': [115.97, 29.71],
'邯郸': [114.47, 36.6],
'临安': [119.72, 30.23],
'兰州': [103.73, 36.03],
'沧州': [116.83, 38.33],
'临沂': [118.35, 35.05],
'南充': [106.110698, 30.837793],
'天津': [117.2, 39.13],
'富阳': [119.95, 30.07],
'泰安': [117.13, 36.18],
'诸暨': [120.23, 29.71],
'郑州': [113.65, 34.76],
'哈尔滨': [126.63, 45.75],
'聊城': [115.97, 36.45],
'芜湖': [118.38, 31.33],
'唐山': [118.02, 39.63],
'平顶山': [113.29, 33.75],
'邢台': [114.48, 37.05],
'德州': [116.29, 37.45],
'济宁': [116.59, 35.38],
'荆州': [112.239741, 30.335165],
'宜昌': [111.3, 30.7],
'义乌': [120.06, 29.32],
'丽水': [119.92, 28.45],
'洛阳': [112.44, 34.7],
'秦皇岛': [119.57, 39.95],
'株洲': [113.16, 27.83],
'石家庄': [114.48, 38.03],
'莱芜': [117.67, 36.19],
'常德': [111.69, 29.05],
'保定': [115.48, 38.85],
'湘潭': [112.91, 27.87],
'金华': [119.64, 29.12],
'岳阳': [113.09, 29.37],
'长沙': [113, 28.21],
'衢州': [118.88, 28.97],
'廊坊': [116.7, 39.53],
'菏泽': [115.480656, 35.23375],
'合肥': [117.27, 31.86],
'武汉': [114.31, 30.52],
'大庆': [125.03, 46.58],
'安徽省': [117.17, 31.52],
'北京市': [116.24, 39.55],
'重庆市': [106.54, 29.59],
'福建省': [119.18, 26.05],
'甘肃省': [103.51, 36.04],
'广东省': [113.14, 23.08],
'广西壮族自治区': [108.19, 22.48],
'贵州省': [106.42, 26.35],
'海南省': [110.20, 20.02],
'河北省': [114.30, 38.02],
'河南省': [113.40, 34.46],
'黑龙江省': [128.36, 45.44],
'湖北省': [112.27, 30.15],
'湖南省': [112.59, 28.12],
'吉林省': [125.19, 43.54],
'江苏省': [118.46, 32.03],
'江西省': [115.55, 28.40],
'辽宁省': [123.25, 41.48],
'内蒙古': [108.41, 40.48],
'内蒙古自治区': [108.41, 40.48],
'宁夏回族自治区': [106.16, 38.27],
'青海省': [101.48, 36.38],
'山东省': [118.00, 36.40],
'山西省': [112.33, 37.54],
'陕西省': [108.57, 34.17],
'上海市': [121.29, 31.14],
'海南': [108.77, 19.10],
'四川省': [104.04, 30.40],
'天津市': [117.12, 39.02],
'西藏自治区': [91.08, 29.39],
'新疆维吾尔自治区': [87.36, 43.45],
'云南省': [102.42, 25.04],
'浙江省': [120.10, 30.16],
'澳门特别行政区': [115.07, 21.33],
'台湾省': [121.21, 23.53],
'香港特别行政区': [114.1, 22.2]
};
$('.select').on('blur', function () {
$(this).find('.select-ul').hide();
})
//下拉框点击出现下拉框内容
$('.select-div').on('click', function () {
if ($(this).siblings('.select-ul').is(":hidden")) {
$(this).siblings('.select-ul').show();
} else {
$(this).siblings('.select-ul').hide();
}
})
$('.select-ul').on('click', 'li', function () {
$(this).addClass('active').siblings('li').removeClass('active').parent().hide().siblings('.select-div').html($(this).html());
var parentDiv = $(this).parent().parent().parent();
})
//鼠标滑动到按钮,按钮内容变成白色
var imgName;
$('.title-box').children('button').hover(function () {
imgName = $(this).children('img').attr('src').split('.png')[0];
$(this).children('img').attr('src', imgName + '_on.png');
}, function () {
$(this).children('img').attr('src', imgName + '.png');
});
var startColor = ['#0e94eb', '#c440ef', '#efb013', '#2fda07', '#d8ef13', '#2e4af8', '#0eebc4', '#f129b1', '#17defc', '#f86363'];
var borderStartColor = ['#0077c5', '#a819d7', '#c99002', '#24bc00', '#b6cb04', '#112ee2', '#00bd9c', '#ce078f', '#00b2cd', '#ec3c3c'];
//入库量占比,带边框效果的饼图
function chart1() {
//data 为模拟数据
var data = [{
name: '顺丰',
value: 192581,
percent: '30.8721',
}, {
name: '京东',
value: 215635,
percent: '34.076',
}, {
name: 'EMS',
value: 224585,
percent: '35.49',
}];
var myChart = echarts.init(document.getElementById('pie'));
var myChart1 = echarts.init(document.getElementById('pie1'));
window.addEventListener('resize', function () {
myChart.resize();
myChart1.resize();
});
var str = '';
for (var i = 0; i < data.length; i++) {
str += '<p><span><i class="legend" style="background:' + startColor[i] + '"></i></span>' + data[i].name + '<span class="pie-number" style="color:' + startColor[i] + '">' + data[i].value + '</span>' + Number(data[i].percent).toFixed(2) + '%</p>';
}
$('.pie-data').append(str);
function deepCopy(obj) {
if (typeof obj !== 'object') {
return obj;
}
var newobj = {};
for (var attr in obj) {
newobj[attr] = obj[attr];
}
return newobj;
}
var xData = [],
yData = [];
data.map((a, b) => {
xData.push(a.name);
yData.push(a.value);
});
var RealData = [];
var borderData = [];
data.map((item, index) => {
var newobj = deepCopy(item);
var newobj1 = deepCopy(item);
RealData.push(newobj);
borderData.push(newobj1);
});
RealData.map((item, index) => {
item.itemStyle = {
normal: {
color: {
type: 'linear',
x: 0,
y: 0,
x2: 0,
y2: 1,
colorStops: [{
offset: 0,
color: startColor[index] // 0% 处的颜色
}, {
offset: 1,
color: startColor[index] // 100% 处的颜色
}],
globalCoord: false // 缺省为 false
},
}
}
});
borderData.map((item, index) => {
item.itemStyle = {
normal: {
color: {
type: 'linear',
x: 0,
y: 0,
x2: 0,
y2: 1,
colorStops: [{
offset: 0,
color: borderStartColor[index] // 0% 处的颜色
}, {
offset: 1,
color: borderStartColor[index] // 100% 处的颜色
}],
globalCoord: false // 缺省为 false
},
}
}
});
var option = {
tooltip: {
trigger: 'item',
// position: ['30%', '50%'],
confine: true,
formatter: "{a} <br/>{b}: {c} ({d}%)"
},
series: [
// 主要展示层的
{
radius: ['50%', '85%'],
center: ['50%', '50%'],
type: 'pie',
label: {
normal: {
show: false
},
emphasis: {
show: false
}
},
labelLine: {
normal: {
show: false
},
emphasis: {
show: false
}
},
name: "派件入库量占比内容",
data: RealData
},
// 边框的设置
{
radius: ['45%', '50%'],
center: ['50%', '50%'],
type: 'pie',
label: {
normal: {
show: false
},
emphasis: {
show: false
}
},
labelLine: {
normal: {
show: false
},
emphasis: {
show: false
}
},
animation: false,
tooltip: {
show: false
},
data: borderData
}
]
};
myChart.setOption(option);
myChart1.setOption(option);
}
chart1()
//----------------------派件入库量占比内容end---------------
//------------广东省寄派件数据内容---------------
//点击筛选按钮
$('#filBtn').on('click', function () {
if ($('#filCon').is(":hidden")) {
$('#filCon').attr('style', 'display:flex');
} else {
$('#filCon').hide();
}
})
//点击筛选按钮end
function chart2(chartType) {
var data = [
{
name: '广州市',
value: 120057.34
},
{
name: '韶关市',
value: 15477.48
},
{
name: '深圳市',
value: 131686.1
},
{
name: '珠海市',
value: 6992.6
},
{
name: '汕头市',
value: 44045.49
},
{
name: '佛山市',
value: 40689.64
},
{
name: '江门市',
value: 37659.78
},
{
name: '湛江市',
value: 45180.97
},
{
name: '茂名市',
value: 5204.26
},
{
name: '肇庆市',
value: 21900.9
},
{
name: '惠州市',
value: 4918.26
},
{
name: '梅州市',
value: 5881.84
},
{
name: '汕尾市',
value: 4178.01
},
{
name: '河源市',
value: 2227.92
},
{
name: '阳江市',
value: 2180.98
},
{
name: '清远市',
value: 9172.94
},
{
name: '东莞市',
value: 3368
},
{
name: '中山市',
value: 306.98
},
{
name: '潮州市',
value: 810.66
},
{
name: '揭阳市',
value: 542.2
},
{
name: '云浮市',
value: 256.38
}]
var myChart = echarts.init(document.getElementById('gdMap'));
var myCharts = echarts.init(document.getElementById('gdMaps'));
window.addEventListener('resize', function () {
myChart.resize();
myCharts.resize();
});
var yMax = 0;
for (var j = 0; j < data.length; j++) {
if (yMax < data[j].value) {
yMax = data[j].value;
}
}
myChart.hideLoading();
myCharts.hideLoading();
var option = {
animation: true,
tooltip: {
show: true
},
visualMap: {
min: 0,
max: yMax,
text: ['高', '低'],
orient: 'horizontal',
itemWidth: 15,
itemHeight: 200,
right: 0,
bottom: 30,
inRange: {
color: ['#75ddff', '#0e94eb']
},
textStyle: {
color: 'white'
}
},
series: [
{
name: '数据名称',
type: 'map',
mapType: '广东',
selectedMode: 'multiple',
tooltip: {
trigger: 'item',
formatter: '{b}<br/>{c} (件)'
},
itemStyle: {
normal: {
borderWidth: 1,
borderColor: '#0e94eb',
label: {
show: false
}
},
emphasis: { // 也是选中样式
borderWidth: 1,
borderColor: '#fff',
backgroundColor: 'red',
label: {
show: true,
textStyle: {
color: '#fff'
}
}
}
},
data: data,
}
]
};
myChart.setOption(option);
myCharts.setOption(option);
}
chart2('');
//------------广东省寄派件数据内容end---------------
//cityName全国的省级行政区域数据
var cityName = [{
"ProID": 1,
"name": "北京",
"ProSort": 1,
"firstP": "B",
"ProRemark": "直辖市"
}, {
"ProID": 2,
"name": "天津",
"ProSort": 2,
"firstP": "T",
"ProRemark": "直辖市"
}, {
"ProID": 3,
"name": "河北",
"ProSort": 5,
"firstP": "H",
"ProRemark": "省份"
}, {
"ProID": 4,
"name": "山西",
"ProSort": 6,
"firstP": "S",
"ProRemark": "省份"
}, {
"ProID": 5,
"name": "内蒙古",
"ProSort": 32,
"firstP": "N",
"ProRemark": "自治区"
}, {
"ProID": 6,
"name": "辽宁",
"ProSort": 8,
"firstP": "L",
"ProRemark": "省份"
}, {
"ProID": 7,
"name": "吉林",
"ProSort": 9,
"firstP": "J",
"ProRemark": "省份"
}, {
"ProID": 8,
"name": "黑龙江",
"ProSort": 10,
"firstP": "H",
"ProRemark": "省份"
}, {
"ProID": 9,
"name": "上海",
"ProSort": 3,
"firstP": "S",
"ProRemark": "直辖市"
}, {
"ProID": 10,
"name": "江苏",
"ProSort": 11,
"firstP": "J",
"ProRemark": "省份"
}, {
"ProID": 11,
"name": "浙江",
"ProSort": 12,
"firstP": "Z",
"ProRemark": "省份"
}, {
"ProID": 12,
"name": "安徽",
"ProSort": 13,
"firstP": "A",
"ProRemark": "省份"
}, {
"ProID": 13,
"name": "福建",
"ProSort": 14,
"firstP": "F",
"ProRemark": "省份"
}, {
"ProID": 14,
"name": "江西",
"ProSort": 15,
"firstP": "J",
"ProRemark": "省份"
}, {
"ProID": 15,
"name": "山东",
"ProSort": 16,
"firstP": "S",
"ProRemark": "省份"
}, {
"ProID": 16,
"name": "河南",
"ProSort": 17,
"firstP": "H",
"ProRemark": "省份"
}, {
"ProID": 17,
"name": "湖北",
"ProSort": 18,
"firstP": "H",
"ProRemark": "省份"
}, {
"ProID": 18,
"name": "湖南",
"ProSort": 19,
"firstP": "H",
"ProRemark": "省份"
}, {
"ProID": 19,
"name": "广东",
"ProSort": 20,
"firstP": "G",
"ProRemark": "省份"
}, {
"ProID": 20,
"name": "海南",
"ProSort": 24,
"firstP": "H",
"ProRemark": "省份"
}, {
"ProID": 21,
"name": "广西",
"ProSort": 28,
"firstP": "G",
"ProRemark": "自治区"
}, {
"ProID": 22,
"name": "甘肃",
"ProSort": 21,
"firstP": "G",
"ProRemark": "省份"
}, {
"ProID": 23,
"name": "陕西省",
"ProSort": 27,
"firstP": "S",
"ProRemark": "省份"
}, {
"ProID": 24,
"name": "新疆维吾尔",
"ProSort": 31,
"firstP": "X",
"ProRemark": "自治区"
}, {
"ProID": 25,
"name": "青海",
"ProSort": 26,
"firstP": "Q",
"ProRemark": "省份"
}, {
"ProID": 26,
"name": "宁夏",
"ProSort": 30,
"firstP": "N",
"ProRemark": "自治区"
}, {
"ProID": 27,
"name": "重庆",
"ProSort": 4,
"firstP": "C",
"ProRemark": "直辖市"
}, {
"ProID": 28,
"name": "四川省",
"ProSort": 22,
"firstP": "S",
"ProRemark": "省份"
}, {
"ProID": 29,
"name": "贵州省",
"ProSort": 23,
"firstP": "G",
"ProRemark": "省份"
}, {
"ProID": 30,
"name": "云南省",
"ProSort": 25,
"firstP": "Y",
"ProRemark": "省份"
}, {
"ProID": 31,
"name": "西藏",
"ProSort": 29,
"firstP": "X",
"ProRemark": "自治区"
}, {
"ProID": 32,
"name": "台湾",
"ProSort": 7,
"firstP": "T",
"ProRemark": "省份"
}, {
"ProID": 33,
"name": "澳门",
"ProSort": 33,
"firstP": "A",
"ProRemark": "特别行政区"
}, {
"ProID": 34,
"name": "香港",
"ProSort": 34,
"firstP": "X",
"ProRemark": "特别行政区"
}]
addCityBtn(cityName);
function addCityBtn(data) {
var li_con = '';
for (var i = 0; i < data.length; i++) {
li_con += '<li>' + data[i].name + '</li>'
}
$('#city').html(li_con);
$('#citys').html(li_con);
}
$('.city-btn').on('click', 'li', function () {
var str;
var patt = [/[a-z]/i, /[a-e]/i, /[f-i]/i, /[k-o]/i, /[p-t]/i, /[u-z]/i];
var index = $(this).index();
var li_con = '';
for (var i = 0; i < cityName.length; i++) {
str = cityName[i].firstP;
if (patt[index].test(str)) {
li_con += '<li>' + cityName[i].name + '</li>'
}
}
$(this).addClass('active').siblings('li').removeClass('active');
if (index == 0) {
$('#city').children().removeClass('active');
if ($(this).parent().data('city') == 1) {
$('.ranking-box').show();
if ($("#barType").find('.active').data('value') == 1) {
$('#titleQ').html('<span>全网</span>到珠海');
} else if ($("#barType").find('.active').data('value') == 2) {
$('#titleQ').html('珠海到<span>全网</span>')
}
$('#city').html(li_con);
} else if ($(this).parent().data('city') == 2) {
if ($('.cont-div').eq(0).css('visibility') != 'hidden') {
$('.ranking-box').show();
}
if ($("#barTypes").find('.active').data('value') == 1) {
$('#titleQs').html('<span>全网</span>到珠海');
} else if ($("#barTypes").find('.active').data('value') == 2) {
$('#titleQs').html('珠海到<span>全网</span>')
}
$('#citys').html(li_con);
}
} else {
if ($(this).parent().data('city') == 1) {
$('#city').html(li_con);
} else if ($(this).parent().data('city') == 2) {
$('#citys').html(li_con);
}
}
})
$('#city').on('click', 'li', function () {
$(this).addClass('active').siblings('li').removeClass('active');
$('.center-bottom .ranking-box').hide();
if ($("#barType").find('.active').data('value') == 1) {
$('#titleQ').html('<span>' + $(this).html() + '</span>到珠海');
} else if ($("#barType").find('.active').data('value') == 2) {
$('#titleQ').html('珠海到<span>' + $(this).html() + '</span>')
}
})
$('#citys').on('click', 'li', function () {
$(this).addClass('active').siblings('li').removeClass('active');
$('.pop-data .ranking-box').hide();
if ($("#barTypes").find('.active').data('value') == 1) {
$('#titleQs').html('<span>' + $(this).html() + '</span>到珠海');
} else if ($("#barTypes").find('.active').data('value') == 2) {
$('#titleQs').html('珠海到<span>' + $(this).html() + '</span>')
}
})
//寄派件选择
$("#barType").on('click', 'li', function () {
$(this).addClass('active').siblings('li').removeClass('active');
$('#barTitle').html($(this).html() + '数据');
$('#tabBtn').data('state', $(this).data('value'));
if ($(this).data('value') == 1) {
$('.table1').eq(0).show().siblings('table').hide();
} else if ($(this).data('value') == 2) {
$('.table1').eq(1).show().siblings('table').hide();
}
chart3($(this).data('value'), 0);
chart4(chart4Data, $(this).data('value'), 0);
})
//寄派件选择
$("#barTypes").on('click', 'li', function () {
$(this).addClass('active').siblings('li').removeClass('active');
$('#barTitles').html($(this).html() + '数据');
$('#tabBtns').data('state', $(this).data('value'));
if ($(this).data('value') == 1) {
$('.table2').eq(0).show().siblings('table').hide();
} else if ($(this).data('value') == 2) {
$('.table2').eq(1).show().siblings('table').hide();
}
chart3($(this).data('value'), 1);
chart4(chart4Data, $(this).data('value'), 1);
})
function chart3(type, chartType) {
var myChart = echarts.init(document.getElementById('chart3'));
var myCharts = echarts.init(document.getElementById('chart3s'));
window.addEventListener('resize', function () {
myChart.resize();
myCharts.resize();
});
// 设置背景阴影的参数,获取数据的最大值
var data; //横坐标数据,不动
var data_; //模拟数据
if (type == 1) {
data_ = [{
name: "入库件",
value: 584
},
{
name: "滞留件",
value: 152
}, {
name: "丢失件",
value: 100
},
{
name: "正常件",
value: 689
},
{
name: "派送件",
value: 200
}, {
name: "自提件",
value: 121
}, {
name: "退签件",
value: 92
}]
} else if (type == 2) {
data_ = [{
name: "入库件",
value: 568
}, {
name: "丢失件",
value: 287
}, {
name: "滞留件",
value: 120
},
{
name: "撤销件",
value: 152
},
{
name: "出库件",
value: 125
}, {
name: "正常件",
value: 122
}]
}
var series_data; //绘制图表的数据
//绘制图表
var yMax = 0;
for (var j = 0; j < data_.length; j++) {
if (yMax < data_[j].value) {
yMax = data_[j].value;
}
}
var dataShadow = [];
for (var i = 0; i < 10; i++) {
dataShadow.push(yMax * 2);
}
if (type == 1) {
data = ['入库件', '在库件', '出库件', '退签件', '丢失件'];
if (chartType == '') {
$(' .dph-data1').html(data_[0].value);
$(' .dph-data2').html(data_[1].value + data_[3].value);
$(' .dph-data3').html(data_[3].value);
$(' .dph-data4').html(data_[2].value);
$(' .dph-data5').html(data_[1].value);
$(' .dph-data6').html(data_[4].value + data_[5].value);
$(' .dph-data7').html(data_[4].value);
$(' .dph-data8').html(data_[5].value);
$(' .dph-data9').html(data_[6].value);
} else if (chartType == 0) {
$('.table1 .dph-data1').html(data_[0].value);
$('.table1 .dph-data2').html(data_[1].value + data_[3].value);
$('.table1 .dph-data3').html(data_[3].value);
$('.table1 .dph-data4').html(data_[2].value);
$('.table1 .dph-data5').html(data_[1].value);
$('.table1 .dph-data6').html(data_[4].value + data_[5].value);
$('.table1 .dph-data7').html(data_[4].value);
$('.table1 .dph-data8').html(data_[5].value);
$('.table1 .dph-data9').html(data_[6].value);
} else if (chartType == 1) {
$('.table2 .dph-data1').html(data_[0].value);
$('.table2 .dph-data2').html(data_[1].value + data_[3].value);
$('.table2 .dph-data3').html(data_[3].value);
$('.table2 .dph-data4').html(data_[2].value);
$('.table2 .dph-data5').html(data_[1].value);
$('.table2 .dph-data6').html(data_[4].value + data_[5].value);
$('.table2 .dph-data7').html(data_[4].value);
$('.table2 .dph-data8').html(data_[5].value);
$('.table2 .dph-data9').html(data_[6].value);
}
series_data = [
{ // For shadow
type: 'bar',
barWidth: 20,
xAxisIndex: 2,
tooltip: {
show: false
},
itemStyle: {
normal: {
color: 'rgba(14, 148, 235, 0.102)'
}
},
data: dataShadow,
animation: false
},
{
name: '入库件',
type: 'bar',
barGap: '-100%',
barWidth: '40%',
xAxisIndex: 1,
itemStyle: {
normal: {
color: '#0e94eb'
},
emphasis: {
opacity: 1
}
},
data: [data_[0], 0, 0, 0, 0],
},
{
name: '滞留件',
type: 'bar',
stack: '在库件',
xAxisIndex: 1,
itemStyle: {
normal: {
color: 'rgba(239,176,19,.9)'
},
emphasis: {
opacity: 1
}
},
data: [0, data_[1], 0, 0, 0],
},
{
name: '丢失件',
type: 'bar',
xAxisIndex: 1,
itemStyle: {
normal: {
color: 'rgba(239,176,19,0.4)'
},
emphasis: {
opacity: 1
}
},
data: [0, 0, 0, 0, data_[2]],
},
{
name: '正常件',
type: 'bar',
stack: '在库件',
xAxisIndex: 1,
itemStyle: {
normal: {
color: 'rgba(239,176,19,0.3)'
},
emphasis: {
opacity: 1
}
},
data: [0, data_[3], 0, 0, 0],
},
{
name: '派送件',
type: 'bar',
stack: '出库件',
xAxisIndex: 1,
itemStyle: {
normal: {
color: 'rgba(196,64,239,0.8)'
},
emphasis: {
opacity: 1
}
},
data: [0, 0, data_[4], 0, 0],
},
{
name: '自提件',
type: 'bar',
stack: '出库件',
xAxisIndex: 1,
itemStyle: {
normal: {
color: 'rgba(196,64,239,0.4)'
},
emphasis: {
opacity: 1
}
},
data: [0, 0, data_[5], 0, 0],
},
{
name: '退签件',
type: 'bar',
xAxisIndex: 1,
itemStyle: {
normal: {
color: 'rgba(219,44,44,0.8)'
},
emphasis: {
opacity: 1
}
},
data: [0, 0, 0, data_[6], 0],
}
]
} else if (type == 2) {
data = ['入库件', '在库件', '出库件', '丢失件', '撤销件'];
if (chartType == '') {
$('.mail-data1').html(data_[0].value);
$('.mail-data2').html(data_[2].value + data_[5].value);
$('.mail-data3').html(data_[1].value);
$('.mail-data4').html(data_[2].value);
$('.mail-data5').html(data_[3].value);
$('.mail-data6').html(data_[4].value);
$('.mail-data7').html(data_[5].value);
} else if (chartType == 0) {
$('.table1 .mail-data1').html(data_[0].value);
$('.table1 .mail-data2').html(data_[2].value + data_[5].value);
$('.table1 .mail-data3').html(data_[1].value);
$('.table1 .mail-data4').html(data_[2].value);
$('.table1 .mail-data5').html(data_[3].value);
$('.table1 .mail-data6').html(data_[4].value);
$('.table1 .mail-data7').html(data_[5].value);
} else if (chartType == 1) {
$('.table2 .mail-data1').html(data_[0].value);
$('.table2 .mail-data2').html(data_[2].value + data_[5].value);
$('.table2 .mail-data3').html(data_[1].value);
$('.table2 .mail-data4').html(data_[2].value);
$('.table2 .mail-data5').html(data_[3].value);
$('.table2 .mail-data6').html(data_[4].value);
$('.table2 .mail-data7').html(data_[5].value);
}
series_data = [
{ // For shadow
type: 'bar',
barWidth: 20,
xAxisIndex: 2,
tooltip: {
show: false
},
itemStyle: {
normal: {
color: 'rgba(14, 148, 235, 0.102)'
}
},
data: dataShadow,
animation: false
},
{
name: '入库件',
barGap: '-100%',
barWidth: '40%',
type: 'bar',
xAxisIndex: 1,
itemStyle: {
normal: {
color: '#0e94eb'
},
emphasis: {
opacity: 1
}
},
data: [data_[0], 0, 0, 0, 0],
},
{
name: '正常件',
type: 'bar',
stack: '在库件',
xAxisIndex: 1,
itemStyle: {
normal: {
color: 'rgba(239,176,19,.9)'
},
emphasis: {
opacity: 1
}
},
data: [0, data_[5], 0, 0, 0, 0],
},
{
name: '丢失件',
type: 'bar',
xAxisIndex: 1,
itemStyle: {
normal: {
color: 'rgba(239,176,19,.9)'
},
emphasis: {
opacity: 1
}
},
data: [0, 0, 0, data_[1], 0],
},
{
name: '滞留件',
type: 'bar',
xAxisIndex: 1,
stack: '在库件',
itemStyle: {
normal: {
color: 'rgba(239,176,19,0.4)'
},
emphasis: {
opacity: 1
}
},
data: [0, data_[2], 0, 0, 0],
},
{
name: '撤销件',
type: 'bar',
xAxisIndex: 1,
itemStyle: {
normal: {
color: 'rgba(239,176,19,0.3)'
},
emphasis: {
opacity: 1
}
},
data: [0, 0, 0, 0, data_[3]],
},
{
name: '出库件',
type: 'bar',
xAxisIndex: 1,
stack: '退签件',
itemStyle: {
normal: {
color: 'rgba(196,64,239,0.8)'
},
emphasis: {
opacity: 1
}
},
data: [0, 0, data_[4], 0, 0],
}
]
}
var option = {
title: '',
grid: {
top: '10%',
containLabel: true
},
tooltip: {
show: true
},
xAxis: [{
type: 'category',
show: false,
data: data,
axisLabel: {
textStyle: {
color: '#fff'
}
}
},
{
type: 'category',
position: "bottom",
data: data,
boundaryGap: true,
// offset: 40,
axisTick: {
show: false
},
axisLine: {
show: false
},
axisLabel: {
textStyle: {
color: '#fff'
}
}
},
{
show: false,
data: dataShadow,
axisLabel: {
inside: true,
textStyle: {
color: '#fff'
}
},
axisTick: {
show: false
},
axisLine: {
show: false
},
z: 10
},
],
yAxis: [{
show: true,
splitLine: {
show: false,
lineStyle: {
color: "#0e94eb"
}
},
axisTick: {
show: false
},
axisLine: {
show: false
},
axisLabel: {
show: true,
color: '#0e94eb'
}
}, {
show: false,
type: "value",
nameTextStyle: {
color: '#0e94eb'
},
axisLabel: {
color: '#0e94eb'
},
splitLine: {
show: false
},
axisLine: {
show: false
},
axisTick: {
show: false
}
},
{
axisLine: {
show: false
},
axisTick: {
show: false
},
axisLabel: {
textStyle: {
color: '#999'
}
}
}],
// color: ['#e54035'],
series: series_data
}
if (chartType === '') {
myChart.clear();
myCharts.clear();
myChart.setOption(option);
myCharts.setOption(option);
} else if (chartType === 0) {
myChart.clear();
myChart.setOption(option);
} else if (chartType === 1) {
myCharts.clear();
myCharts.setOption(option);
}
}
chart3(1, '')
//
//
//
$('#dateBtn').on('click', function () {
if ($('#timeBox').is(":hidden")) {
$('#timeBox').show();
document.getElementById('timeBox').focus();
} else {
$('#timeBox').hide();
}
})
$('#dateBtns').on('click', function () {
if ($('#timeBoxs').is(":hidden")) {
$('#timeBoxs').show();
document.getElementById('timeBoxs').focus();
} else {
$('#timeBoxs').hide();
}
})
$('#switchBtn').on('click', 'span', function () {
$(this).addClass('active').siblings().removeClass('active');
if ($(this).data('datatype') == 'income') {
$('#totalProfit').html('123,456.5元');
} else if ($(this).data('datatype') == 'expend') {
$('#totalProfit').html('32,111.4元');
}
})
$('#tabBtn').on('click', function () {
var _this = $(this);
if ($('.right-top').children('.chart-box').is(':hidden')) {
_this.children('span').html('图表');
$('.right-top').children('.chart-box').show().siblings('.data-box').hide();
} else {
_this.children('span').html('表格');
$('.right-top').children('.data-box').show().siblings('.chart-box').hide();
if (_this.data('state') == 1) {
$('.table1').eq(0).show().siblings('table').hide();
} else if (_this.data('state') == 2) {
$('.table1').eq(1).show().siblings('table').hide();
}
}
})
$('#tabBtns').on('click', function () {
var _this = $(this);
if (_this.siblings('.pop-chart').is(':hidden')) {
_this.children('span').html('图表');
_this.siblings('.pop-chart').show().siblings('.data-box').hide();
} else {
_this.children('span').html('表格');
_this.siblings('.data-box').show().siblings('.chart-box').hide();
if (_this.data('state') == 1) {
$('.table2').eq(0).show().siblings('table').hide();
} else if (_this.data('state') == 2) {
$('.table2').eq(1).show().siblings('table').hide();
}
}
})
//时间选择器
var startV = '';
var endV = '';
laydate.skin('danlan');
var startTime = {
elem: '#startTime',
format: 'YYYY-MM-DD',
min: '1997-01-01', //设定最小日期为当前日期
max: laydate.now(), //最大日期
istime: true,
istoday: true,
fixed: false,
choose: function (datas) {
startV = datas;
endTime.min = datas; //开始日选好后,重置结束日的最小日期
}
};
var endTime = {
elem: '#endTime',
format: 'YYYY-MM-DD',
min: laydate.now(),
max: laydate.now(),
istime: true,
istoday: true,
fixed: false,
choose: function (datas) {
// startTime.max = datas; //结束日选好后,重置开始日的最大日期
endV = datas;
}
};
laydate(startTime);
laydate(endTime);
//时间选择器
var startVs = '';
var endVs = '';
laydate.skin('danlan');
var startTimes = {
elem: '#startTimes',
format: 'YYYY-MM-DD',
min: '1997-01-01', //设定最小日期为当前日期
max: '2099-06-16', //最大日期
istime: true,
istoday: true,
fixed: false,
choose: function (datas) {
startVs = datas;
endTimes.min = datas; //开始日选好后,重置结束日的最小日期
setQgData($('#barTypes').parent().parent(), 1);
}
};
var endTimes = {
elem: '#endTimes',
format: 'YYYY-MM-DD',
min: laydate.now(),
max: laydate.now(),
istime: true,
istoday: true,
fixed: false,
choose: function (datas) {
// startTime.max = datas; //结束日选好后,重置开始日的最大日期
endVs = datas;
setQgData($('#barTypes').parent().parent(), 1);
}
};
laydate(startTimes);
laydate(endTimes);
//点击时间选择器的时候更改样式
$('#endTime').on('click', function () {
dateCss();
})
$('#end').on('click', function () {
dateCss();
})
//更改日期插件的样式
function dateCss() {
var arr = $('#laydate_box').attr('style').split(';');
var cssStr =
'position:absolute;right:0;';
for (var i = 0; i < arr.length; i++) {
if (arr[i].indexOf('top') != -1) {
cssStr += arr[i];
}
}
$('#laydate_box').attr('style', cssStr);
}
//chart4Data模拟数据
var chart4Data = [{
'name': "天津市",
'value': 178546
}, {
'name': "湖南省",
'value': 125687
}, {
'name': "福建省",
'value': 78452
}, {
'name': "北京市",
'value': 57841
}, {
'name': "江苏省",
'value': 45879
}, {
'name': "海南",
'value': 28584
}, {
'name': "四川省",
'value': 14852
}, {
'name': "浙江省",
'value': 12589
}, {
'name': "重庆市",
'value': 5261
}, {
'name': "香港特别行政区",
'value': 2563
}, {
'name': "内蒙古",
'value': 856
}]
chart4(chart4Data, 1, '');
function chart4(data, type, chartType) {
var str = '<li><span></span><p>城市</p><p>派件</p></li>';
for (var i = 0; i < 10; i++) {
str += '<li><span>' + (i + 1) + '</span><p>' + data[i].name + '</p><p>' + data[i].value + '</p></li>';
}
var s_data = [];
var myChart = echarts.init(document.getElementById('chart4'));
var myCharts = echarts.init(document.getElementById('chart4s'));
window.addEventListener('resize', function () {
myChart.resize();
myCharts.resize();
});
function formtGCData(geoData, data, srcNam, dest) {
var tGeoDt = [];
if (dest) {
for (var i = 0, len = data.length; i < len; i++) {
if (srcNam != data[i].name) {
tGeoDt.push({
coords: [geoData[srcNam], geoData[data[i].name]],
});
}
}
} else {
for (var i = 0, len = data.length; i < len; i++) {
if (srcNam != data[i].name) {
tGeoDt.push({
coords: [geoData[data[i].name], geoData[srcNam]],
});
}
}
}
return tGeoDt;
}
function formtVData(geoData, data, srcNam) {
var tGeoDt = [];
for (var i = 0, len = data.length; i < len; i++) {
var tNam = data[i].name
if (srcNam != tNam) {
tGeoDt.push({
name: tNam,
symbolSize: 2,
itemStyle: {
normal: {
color: '#ffeb40',
}
},
value: geoData[tNam]
});
}
}
tGeoDt.push({
name: srcNam,
value: geoData[srcNam],
symbolSize: 5,
itemStyle: {
normal: {
color: '#2ef358',
}
}
});
return tGeoDt;
}
var planePath = 'pin';
if (type == 2) {
s_data.push({
type: 'lines',
zlevel: 2,
mapType: 'china',
symbol: 'none',
effect: {
show: true,
period: 1.5,
trailLength: 0.1,
// color: '#ffeb40',
color: '#2ef358',
symbol: planePath,
symbolSize: 6,
trailLength: 0.5
},
lineStyle: {
normal: {
color: '#2ef358',
width: 1,
opacity: 0.4,
curveness: 0.2
}
},
data: formtGCData(geoCoordMap, data, '珠海', true)
})
} else if (type == 1) {
s_data.push({
type: 'lines',
zlevel: 2,
effect: {
show: true,
period: 1.5,
trailLength: 0.1,
// color: '#2ef358',
color: '#ffeb40',
symbol: planePath,
symbolSize: 6,
trailLength: 0.5
},
lineStyle: {
normal: {
color: '#ffeb40',
width: 1,
opacity: 0.4,
curveness: 0.2
}
},
data: formtGCData(geoCoordMap, data, '珠海', false)
}, {
type: 'effectScatter',
coordinateSystem: 'geo',
zlevel: 2,
rippleEffect: {
period: 4,
scale: 2.5,
brushType: 'stroke'
},
symbol: 'none',
symbolSize: 4,
itemStyle: {
normal: {
color: '#fff'
}
},
data: formtVData(geoCoordMap, data, '珠海')
})
}
var option = {
tooltip: {
trigger: 'item',
},
geo: {
map: 'china',
label: {
show: true,
position: 'insideLeft',
color: 'white',
fontSize: '10',
emphasis: {
show: true
}
},
roam: true,
silent: true,
itemStyle: {
normal: {
areaColor: 'transparent',
borderColor: '#0e94eb',
shadowBlur: 10,
shadowColor: '#0e94ea'
}
},
left: 10,
right: 10
},
series: s_data
};
if (chartType === '') {
$('.ranking-box').html(str);
myChart.setOption(option);
myCharts.setOption(option);
} else if (chartType === 0) {
$('.center-bottom .ranking-box').html(str);
myChart.setOption(option);
} else if (chartType === 1) {
$('.pop-data .ranking-box').html(str);
myCharts.setOption(option);
}
}
$('.close-pop').on('click', function () {
$(this).parent().parent().hide().find('.cont-div').attr('style', 'visibility: hidden');
})
$('#setBtn').on('click', function () {
$('.container').attr('style', 'visibility: visible').find('.pop-up').eq(4).attr('style', 'visibility: visible').siblings().attr('style', 'visibility: hidden');
})
var workDate;
var time = {
elem: '#times',
format: 'YYYY-MM-DD',
min: laydate.now(),
max: laydate.now() + 30,
istime: true,
istoday: true,
fixed: false,
choose: function (datas) {
// startTime.max = datas; //结束日选好后,重置开始日的最大日期
workDate = datas;
}
};
laydate(time);
$('#addT').on('click', function () {
$('#mineusT').show();
if ($(this).siblings('input').length < 6) {
if ($(this).siblings('input').length == 5) {
$(this).hide();
}
$(this).before('<input type="text" value="">');
}
})
$('#mineusT').on('click', function () {
if ($(this).siblings('input').length > 1) {
if ($(this).siblings('input').length == 6) {
$('#addT').show();
} else if ($(this).siblings('input').length == 2) {
$(this).hide()
}
$(this).siblings('input:last').remove();
}
})
$('#addL').on('click', function () {
$('#mineusL').show();
if ($(this).siblings('input').length < 3) {
if ($(this).siblings('input').length == 2) {
$(this).hide();
}
$(this).before('<input type="text" value="">');
}
})
$('#mineusL').on('click', function () {
if ($(this).siblings('input').length > 1) {
if ($(this).siblings('input').length == 3) {
$('#addL').show();
} else if ($(this).siblings('input').length == 2) {
$(this).hide()
}
$(this).siblings('input:last').remove();
}
})
\ No newline at end of file
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module.
define(['exports', 'echarts'], factory);
} else if (typeof exports === 'object' && typeof exports.nodeName !== 'string') {
// CommonJS
factory(exports, require('echarts'));
} else {
// Browser globals
factory({}, root.echarts);
}
}(this, function (exports, echarts) {
var log = function (msg) {
if (typeof console !== 'undefined') {
console && console.error && console.error(msg);
}
}
if (!echarts) {
log('ECharts is not Loaded');
return;
}
if (!echarts.registerMap) {
log('ECharts Map is not loaded')
return;
}
echarts.registerMap('china', {"type":"FeatureCollection","features":[{"id":"710000","geometry":{"type":"MultiPolygon","coordinates":[["@@°Ü¯Û","@@ƛĴÕƊÉɼģºðʀ\\ƎsÆNŌÔĚäœnÜƤɊĂǀĆĴžĤNJŨxĚĮǂƺòƌ‚–âÔ®ĮXŦţƸZûЋƕƑGđ¨ĭMó·ęcëƝɉlÝƯֹÅŃ^Ó·śŃNjƏďíåɛGɉ™¿IċããF¥ĘWǬÏĶñÄ","@@\\p|WoYG¿¥I†j@ž","@@…¡‰@ˆV^RqˆBbAŒnTXe„†žQr™©C","@@ÆEE—„kWqë Iœ"]],"encodeOffsets":[[[122886,24033],[123335,22980],[122375,24193],[122518,24117],[124427,22618]]]},"properties":{"cp":[121.509062,25.044332],"name":"台湾","childNum":5}},{"id":"130000","geometry":{"type":"MultiPolygon","coordinates":[["@@\\a“M`ǽÓnUK…Ĝēs¤­©yrý§uģŒc†JŠ»eIˆ€P]‚ªr‰ºc_ħ²G¼s`jΟnüsœľP","@@U`Ts¿mĂ","@@FŸƒ•›Oh‡đ©OŸ›iÃ`ww^ƒÌkŸ‘ÑH«ƇǤŗĺtFu…{Z}Ö@U‡´…ʚLg®¯Oı°ÃwŸ ^˜—€VbÉs‡ˆmA…ê]]w„§›RRl£‡ŭuw›N—Á`ÇFēÝčȻŽuT¡Ĺ—¯Õ¯sŗő£YªhV’ƍ£ƅnëYNgƒq¼ś¿µı²UºÝUąŽąŖóŒxV@tˆƯŒJ”]eƒR¾fe|rHA˜|h~Ėƍl§ÏŠjVë` ØoˆÅbbx³^zÃ͚¶Sj®A”yÂhðk`š«P€”ˈµEF†Û¬Y¨Ļrõqi¼‰Wi°§’б²°`[ˆÀ|ĠO@ÆxO\\tŽa\\p_Zõ^û{ġŒȧXýĪÓjùÎRb›š^λj{íděYfíÙTyމmńŵōHim½’éŅ­aVcř§ax¹XŻác‡žWU£ôãºQ¨÷Ñws¥qEH‰Ù|‰›šYQoŕÇyáĂ£MðoťÊ‰P¡mšWO¡€v†{ôvîēÜISpÌhp¨ ‘j†deŔQÖj˜X³à™Ĉ[n`Yp@Už–cM`’RKhŒEbœ”pŞlNut®Etq‚nsÁŠgA‹iú‹oH‡qCX‡”hfgu“~ϋWP½¢G^}¯ÅīGCŸÑ^ãziMáļMTÃƘrMc|O_ž¯Ŏ´|‡morDkO\\mĆJfl@c̬¢aĦtRıҙXòë¬WP{ŵǫƝ…›īÛ÷ąV×qƥV¿aȉd³B›qPBm›aËđŻģm“Å®Vйd^K‡KoŸnYg“¯Xhqa”Ldu¥•ÍpDž¡KąÅƒkĝęěhq‡}HyÓ]¹ǧ£…Í÷¿qá•gPmoeœi‰¤o^á¾ZE‡˜Y^…Ný{n•ƒOl±Í“@M’ċèk§da‹‘NaÇį¿]ø‰RiiñE‰€ū‹i„DZàUtėGylƒ}ŒÓM}€jpEC~¡FtoQi‘šHkk{ILgĽxqÈƋÄd–eVŽDJj£€J|Ådz•Ft~žKŨ¸IÆv|”‡¢r}膎onb˜}`RÎÄn°ÒdÞ²„^®’lnÐèĄlðӜ×]ªÆ}LiĂ±Ö`^°Ç¶p®đDcœŋ`–ZÔ’¶êqvFƚ†N®ĆTH®¦O’¾ŠIbÐã´BĐɢŴÆíȦp–ĐÞXR€·nndOž¤’OÀĈƒ­Qg˜µFo|gȒęSWb©osx|hYh•gŃfmÖĩnº€T̒Sp›¢dYĤ¶UĈjl’ǐpäðëx³kÛfw²Xjz~ÂqbTŠÑ„ěŨ@|oM‡’zv¢ZrÃVw¬ŧˏfŒ°ÐT€ªqŽs{Sž¯r æÝl¼ÖĞ džiGʂJ™¼lr}~K¨ŸƐÌWö€™¼œÞ°nÞoĦLš†|C~“D©|q]SvK€ÑcwpÏρ†ĿćènĪWlĄkT}¬Tpš~ƒ®Hgd„‰†˒劔ŽBVt„EÀ¢ôPĎƗè@~‚k–ü\\rÊĔÖæW_§¼F˜†´©òDòj’ˆYÈrbĞāøŀG{ƀ|¦ðrb|ÀH`pʞkv‚GpuARhÞÆǶgƊTǼƹS£¨¡ù³ŘÍ]¿Ây™ôEP xX¶¹܇O¡“gÚ¡IwÃ鑦ÅB‡Ï|ǰ…N«úmH¯‹âŸbę†U~xĈbȒ{^xÖlDž•¸dɂ‡„~"]],"encodeOffsets":[[[120023,41045],[121616,39981],[122102,42307]]]},"properties":{"cp":[114.502461,38.045474],"name":"河北","childNum":3}},{"id":"140000","geometry":{"type":"Polygon","coordinates":["@@žħÜ_ªlìwGkÛÃǏok‘ćiµVZģ¡coœ‘TS˹ĪmnÕńe–hZg{gtwªpXaĚThȑp{¶Eh—®RćƑP¿£‘PmcªaJyý{ƒýȥoÅîɡųAďä³aωJ‘½¥PG­ąSM­sWz½µÛ€‘YӀŖgxoOkĒCo­Èµ]¯_²ÕjāŽK~©ÅØ^ԛkïçămϑk]­±ƒcݯÑÃmQÍ~_a—pm…~ç¡q“ˆu{JÅŧ·Ls}–EyÁÆcI{¤IiCfUc•ƌÃp§]웫vD@¡SÀ‘µM‚ÅwuŽYY‡¡DbÑc¡hƒ×]nkoQdaMç~eD•ÛtT‰©±@¥ù@É¡‰ZcW|WqOJmĩl«ħşvOÓ«IqăV—¥ŸD[mI~Ó¢cehiÍ]Ɠ~ĥqXŠ·eƷœn±“}v•[ěďŽŕ]_‘œ•`‰¹ƒ§ÕōI™o©b­s^}Ét±ū«³p£ÿ¥WÑxçÁ«h×u׌¥ř„‹¾dÒ{ºvĴÎêÌɊ²¶€ü¨|ÞƸµȲ‘LLúÉƎ¤ϊęĔV`„_bª‹S^|ŸdŠzY|dz¥p†ZbÆ£¶ÒK}tĦÔņƠ‚PYzn€ÍvX¶Ěn ĠÔ„zý¦ª˜÷žÑĸَUȌ¸‚dòÜJð´’ìúNM¬ŒXZ´‘¤ŊǸ_tldIš{¦ƀðĠȤ¥NehXnYG‚‡R° ƬDj¬¸|CĞ„Kq‚ºfƐiĺ©ª~ĆOQª ¤@ìǦɌ²æBŒÊ”TœĞšHƘÁĪËĖ’šĴŞ–ȀœÆÿȄlŤĒö„t”νî¼ĨXhŒ‘˜|ªM¤ÐzÞĩ҃S‰rao³"],"encodeOffsets":[[117016,41452]]},"properties":{"cp":[112.549248,37.857014],"name":"山西","childNum":1}},{"id":"150000","geometry":{"type":"MultiPolygon","coordinates":[["@@ǪƫÌÛM…Ă[`՞Cn}¶Vc…ê“sƒ–¯‹PqƒFB…‰|S•³C|kñ•H‹d‘iÄ¥sˆʼnő…PóÑÑE^‘ÅPpy_YtS™hQ·aHwsOnʼnÚs©iqj›‰€USiº]ïWš‰«gW¡A–R붛ijʕ…Œů`çõh]y»ǃŸǛҤxÒm~zf}pf|ÜroÈzrKÈĵSƧ„ż؜Ġu~è¬vîS¼™Ăh–šĖMÈÄw‚\\fŦ°W ¢¾luŸD„wŠ\\Ŗĝ","@@ƒGVu»A—ylßí¹ãe’“]Eāò³C¹ð“¾ˆ²iŒÒAdkò^P“²CǜңDŽ z¼g^èöŰ_‹‚–†IJĕꄜ}gÁnUI«m‰…„‹]j‡vV¼euhwqA„aW˜ƒ_µj…»çjioQR¹ēÃßt@r³[ÛlćË^ÍÉáG“›OUۗOB±•XŸkŇ¹£k|e]ol™ŸkVͼÕqtaÏõjgÁ£§U^Œ”RLˆËnX°Ç’Bz†^~wfvˆypV ¯„ƫĉ˭ȫƗŷɿÿĿƑ˃ĝÿÃǃßËőó©ǐȍŒĖM×ÍEyx‹þp]Évïè‘vƀnÂĴÖ@‚‰†V~Ĉ™Š³MEˆĸÅĖt—ējyÄDXÄxGQuv_›i¦aBçw‘˛wD™©{ŸtāmQ€{EJ§KPśƘƿ¥@‰sCT•É}ɃwˆƇy±ŸgÑ“}T[÷kÐ禫…SÒ¥¸ëBX½‰HáŵÀğtSÝÂa[ƣ°¯¦P]£ġ“–“Òk®G²„èQ°óMq}EŠóƐÇ\\ƒ‡@áügQ͋u¥Fƒ“T՛¿Jû‡]|mvāÎYua^WoÀa·­ząÒot×¶CLƗi¯¤mƎHNJ¤îìɾŊìTdåwsRÖgĒųúÍġäÕ}Q¶—ˆ¿A•†‹[¡Œ{d×uQAƒ›M•xV‹vMOmăl«ct[wº_šÇʊŽŸjb£ĦS_é“QZ“_lwgOiýe`YYJq¥IÁˆdz£ÙË[ÕªuƏ³ÍT—s·bÁĽäė[›b[ˆŗfãcn¥îC¿÷µ[ŏÀQ­ōšĉm¿Á^£mJVm‡—L[{Ï_£›F¥Ö{ŹA}…×Wu©ÅaųijƳhB{·TQqÙIķˑZđ©Yc|M¡…L•eVUóK_QWk’_ĥ‘¿ãZ•»X\\ĴuUƒè‡lG®ěłTĠğDє›žG‚ÆÍz]‹±…ŭ©ŸÅ’]ŒÅÐ}UË¥©Tċ™ïxgckfWgi\\ÏĒ¥HkµE˜ë{»ÏetcG±ahUiñiWsɁˆ·c–C‚Õk]wȑ|ća}w…VaĚ᠞ŒG°ùnM¬¯†{ÈˆÐÆA’¥ÄêJxÙ¢”hP¢Ûˆº€µwWOŸóFŽšÁz^ÀŗÎú´§¢T¤ǻƺSė‰ǵhÝÅQgvBHouʝl_o¿Ga{ïq{¥|ſĿHĂ÷aĝÇq‡Z‘ñiñC³ª—…»E`¨åXēÕqÉû[l•}ç@čƘóO¿¡ƒFUsA‰“ʽīccšocƒ‚ƒÇS}„“£‡IS~ălkĩXçmĈ…ŀЂoÐdxÒuL^T{r@¢‘žÍƒĝKén£kQ™‰yšÅõËXŷƏL§~}kqš»IHėDžjĝŸ»ÑÞoŸå°qTt|r©ÏS‹¯·eŨĕx«È[eMˆ¿yuˆ‘pN~¹ÏyN£{©’—g‹ħWí»Í¾s“əšDž_ÃĀɗ±ą™ijĉʍŌŷ—S›É“A‹±åǥɋ@럣R©ąP©}ĹªƏj¹erƒLDĝ·{i«ƫC½ÉshVz…GS|úþX”gp›{ÁX¿Ÿć{ƱȏñZáĔyoÁhA™}ŅĆfdʼn„_¹„Y°ėǩÑ¡H¯¶oMQqð¡Ë™|‘Ñ`ƭŁX½·óۓxğįÅcQ‡ˆ“ƒs«tȋDžF“Ÿù^i‘t«Č¯[›hAi©á¥ÇĚ×l|¹y¯Kȝqgů{ñǙµï‚ċ™Ĺz—Śȭ¶¡˜›oŽäÕG\\ďT¿Òõr¯œŸLguÏYęRƩšɷŌO\\İТæ^Ŋ IJȶȆbÜGŽĝ¬¿ĚVĎgª^íu½jÿĕęjık@Ľƒ]ėl¥Ë‡ĭûÁ„ƒėéV©±ćn©­ȇžÍq¯½•YÃÔʼn“ÉNѝÅÝy¹NqáʅDǡËñ­ƁYÅy̱os§ȋµʽǘǏƬɱà‘ưN¢ƔÊuľýľώȪƺɂļžxœZĈ}ÌʼnŪ˜ĺœŽĭFЛĽ̅ȣͽÒŵìƩÇϋÿȮǡŏçƑůĕ~Ǎ›¼ȳÐUf†dIxÿ\\G ˆzâɏÙOº·pqy£†@ŒŠqþ@Ǟ˽IBäƣzsÂZ†ÁàĻdñ°ŕzéØűzșCìDȐĴĺf®ŽÀľưø@ɜÖÞKĊŇƄ§‚͑těï͡VAġÑÑ»d³öǍÝXĉĕÖ{þĉu¸ËʅğU̎éhɹƆ̗̮ȘNJ֥ड़ࡰţાíϲäʮW¬®ҌeרūȠkɬɻ̼ãüfƠSצɩςåȈHϚÎKdzͲOðÏȆƘ¼CϚǚ࢚˼ФԂ¤ƌžĞ̪Qʤ´¼mȠJˀŸƲÀɠmɆŠDŽĜƠ´ǠN~€ʢĜ‚¶ƌĆĘźʆȬ˪ĚǏĞGȖƴƀj`ĢçĶāàŃºē̃ĖćšYŒÀŎüôQÐÂŎŞdžŞêƖš˜oˆDĤÕºÑǘÛˤ³̀gńƘĔÀ^žªƂ`ªt¾äƚêĦĀ¼Ð€Ĕǎ¨Ȕ»͠^ˮÊȦƤøxRrŜH¤¸ÂxDĝŒ|ø˂˜ƮÐ¬ɚwɲFjĔ²Äw°dždÀɞ_ĸdîàŎjʜêTĞªŌ‡ŜWÈ|tqĢUB~´°ÎFC•ŽU¼pĀēƄN¦¾O¶ŠłKĊOj“Ě”j´ĜYp˜{¦„ˆSĚÍ\\Tš×ªV–÷Ší¨ÅDK°ßtŇĔKš¨ǵÂcḷ̌ĚǣȄĽF‡lġUĵœŇ‹ȣFʉɁƒMğįʏƶɷØŭOǽ«ƽū¹Ʊő̝Ȩ§ȞʘĖiɜɶʦ}¨֪ࠜ̀ƇǬ¹ǨE˦ĥªÔêFŽxúQ„Er´W„rh¤Ɛ \\talĈDJ˜Ü|[Pll̚¸ƎGú´Pž¬W¦†^¦–H]prR“n|or¾wLVnÇIujkmon£cX^Bh`¥V”„¦U¤¸}€xRj–[^xN[~ªŠxQ„‚[`ªHÆÂExx^wšN¶Ê˜|¨ì†˜€MrœdYp‚oRzNy˜ÀDs~€bcfÌ`L–¾n‹|¾T‚°c¨È¢a‚r¤–`[|òDŞĔöxElÖdH„ÀI`„Ď\\Àì~ƎR¼tf•¦^¢ķ¶e”ÐÚMŒptgj–„ɡČÅyġLû™ŇV®ŠÄÈƀ†Ď°P|ªVV†ªj–¬ĚÒêp¬–E|ŬÂ_~¼rƐK fˆ{ĘFǜƌXưăkÃĄ}nµ–oŸ×q£ç­kX‘{uĩ«āíÓUŅÝVUŌ]€Ť¥lyň[€oi{¦‹L‡ĸ…Ħ^ôâJˆ¨^UZðڔĒL„¿Ì‹ˆfŒ£K£ʺ™oqNŸƒwğc`ue—tOj×°KJ±qƒÆġm‰Ěŗos¬…qehqsuœƒH{¸kH¡Š…ÊRǪÇƌbȆ¢´ä܍¢NìÉʖ¦â©Ɨؗ"]],"encodeOffsets":[[[128500,52752],[127089,51784]]]},"properties":{"cp":[111.670801,40.818311],"name":"内蒙古","childNum":2}},{"id":"210000","geometry":{"type":"MultiPolygon","coordinates":[["@@L–Ž@@s‘]","@@MnNm","@@d†c","@@eÀ‚C@b‚“‰","@@f‡…Xwkbr–Ä`qg","@@^jtWQ","@@~ Y[c","@@I`ĖN^_¿Z‚ÁM","@@Ïxnj{q_×^Gigp","@@iX¶B…Y","@@„Y…Z","@@L_yG`b","@@^WqCTZ","@@\\[“‹§t|”ž]","@@m`p[","@@@œé^B†‡ntˆaÊU—˜Ÿ]x ¯ÄPIJ­°h€ʙK³†VˆÕ@Y~†|EvĹsDŽ¦­L^p²ŸÒG ’Ël]„xxÄ_˜fT¤Ď¤cŽœP„–C¨¸TVjbgH²sdÎdHt`Bˆ—²¬GJję¶[ÐhjeXdlwhšðSȦªVÊπ‹Æ‘Z˜ÆŶ®²†^ŒÎyÅ‚Hœń“ĚDMħĜŁH­ˆk„çvV[ij¼W–‚YÀäĦ’‘`XlžR`žôLUVžfK–¢†{NZdĒª’YĸÌÚJRr¸SA|ƴgŴĴÆbvªØX~†źBŽ|¦ÕœEž¤Ð`\\|Kˆ˜UnnI]¤ÀÂĊnŎ™R®Ő¿¶\\ÀøíDm¦ÎbŨab‰œaĘ\\ľã‚¸a˜tÎSƐ´©v\\ÖÚÌǴ¤Â‡¨JKr€Z_Z€fjþhPkx€`Y”’RIŒjJcVf~sCN¤ ˆE‚œhæm‰–sHy¨SðÑÌ\\\\ŸĐRÊwS¥fqŒßýáЍÙÉÖ[^¯ǤŲ„ê´\\¦¬ĆPM¯£Ÿˆ»uïpùzEx€žanµyoluqe¦W^£ÊL}ñrkqWňûP™‰UP¡ôJŠoo·ŒU}£Œ„[·¨@XŒĸŸ“‹‹DXm­Ûݏº‡›GU‹CÁª½{íĂ^cj‡k“¶Ã[q¤“LÉö³cux«|Zdƒ²BWÇ®Yß½ve±ÃC•ý£W{Ú^’q^sÑ·¨‹ËMƒr“¹·C¥‡GD›rí@wÕKţ݋˜Ÿ«V·i}xËÍ÷‘i©ĝ‡ɝǡ]ƒˆ{c™±OW‹³Ya±Ÿ‰_穂Hžĕoƫ€Ňqƒr³‰Lys[„ñ³¯OS–ďOMisZ†±ÅFC¥Pq{‚Ã[Pg}\\—¿ghćO…•k^ĩÁXaĕËĥM­oEqqZûěʼn³F‘¦oĵ—hŸÕP{¯~TÍlª‰N‰ßY“Ð{Ps{ÃVU™™eĎwk±ʼnVÓ½ŽJãÇÇ»Jm°dhcÀff‘dF~ˆ€ĀeĖ€d`sx² šƒ®EĦ¦–šdQ‹Âd^~ăÔHˆ¦\\›LKpĄVez¤NP ǹӗR™ÆąJSh­a[¦´Âghwm€BÐ¨źhI|žVVŽ—Ž|p] Â¼èNä¶ÜBÖ¼“L`‚¼bØæŒKV”ŸpoœúNZÞÒKxpw|ÊEMnzEQšŽIZ”ŽZ‡NBˆčÚFÜçmĩ‚WĪñt‘ÞĵÇñZ«uD‚±|ƏlǗw·±PmÍa‰–da‡ CL‡Ǒkùó¡³Ï«QaċϑOÃ¥ÕđQȥċƭy‹³ÁA"]],"encodeOffsets":[[[123686,41445],[126019,40435],[124393,40128],[126117,39963],[125322,40140],[126686,40700],[126041,40374],[125584,40168],[125509,40217],[125453,40165],[125362,40214],[125280,40291],[125774,39997],[125976,40496],[125822,39993],[122731,40949]]]},"properties":{"cp":[123.429096,41.796767],"name":"辽宁","childNum":16}},{"id":"220000","geometry":{"type":"Polygon","coordinates":["@@ñr½ÉKāGÁ¤ia É‰™È¹`\\xs€¬dĆkNnuNUŒ–wœNx¶c¸‹|\\¢…ŒGªóĄ~RãÖÎĢù‚đŴÕhQŽxtcæëSɽʼníëlj£ƍG£nj°KƘµDsØÑpyƸ®¿bXp‚]vbÍZuĂ{nˆ^IüœÀSք”¦EŒvRÎûh@℈[‚Əȉô~FNr¯ôçR±ƒ­HÑl•’Ģ–^¤¢‚OðŸŽætxsŒ]ÞÁTĠs¶¿âƊGW¾ìA¦·TѬ†è¥€ÏÐJ¨¼ÒÖ¼ƒƦɄxÊ~S–tD@ŠĂ¼Ŵ¡jlºWžvЉˆzƦZЎ²CH— „Axiukd‹ŒGgetqmcžÛ£Ozy¥cE}|…¾cZ…k‚‰¿uŐã[oxGikfeäT@…šSUwpiÚFM©’£è^ڟ‚`@v¶eň†f h˜eP¶žt“äOlÔUgƒÞzŸU`lœ}ÔÆUvØ_Ō¬Öi^ĉi§²ÃŠB~¡Ĉ™ÚEgc|DC_Ȧm²rBx¼MÔ¦ŮdĨÃâYx‘ƘDVÇĺĿg¿cwÅ\\¹˜¥Yĭlœ¤žOv†šLjM_a W`zļMž·\\swqÝSA‡š—q‰Śij¯Š‘°kŠRē°wx^Đkǂғ„œž“œŽ„‹\\]˜nrĂ}²ĊŲÒøãh·M{yMzysěnĒġV·°“G³¼XÀ““™¤¹i´o¤ŃšŸÈ`̃DzÄUĞd\\i֚ŒˆmÈBĤÜɲDEh LG¾ƀľ{WaŒYÍȏĢĘÔRîĐj‹}Ǟ“ccj‡oUb½š{“h§Ǿ{K‹ƖµÎ÷žGĄØŜçưÌs«l›•yiē«‹`姝H¥Ae^§„GK}iã\\c]v©ģZ“mÃ|“[M}ģTɟĵ‘Â`À–çm‰‘FK¥ÚíÁbXš³ÌQґHof{‰]e€pt·GŋĜYünĎųVY^’˜ydõkÅZW„«WUa~U·Sb•wGçǑ‚“iW^q‹F‚“›uNĝ—·Ew„‹UtW·Ýďæ©PuqEzwAV•—XR‰ãQ`­©GŠY…Yhc•UGorBd}ģɇb¡·µMicF«—YƅŒ»…é\\ƒɹ~ǙG³mØ©BšuT§Ĥ½¢Ã_ý‘L¡‘ûŸsT\\rke™\\PnwAK‚y}’ywdS™efµ]UhĿD@mÿvašÙNSkCun…cÿ`l‚‰W‹„ėVâ¦÷~^fÏ~œvwHCŽį„`xqT­­ƒlW«ï¸skm‹‹ßEG“qd¯•‹R…©Ýޝ¯S†\\cZ¹iűƏCuƍÓX‡oR}“M^o•£…R}oªU­F…uuXHlEŕ‡€Ï©¤ßgXˆþ¤D–²ÄufàÀ­XXȱAc„{Yw¬dvõ´KÊ£”\\rµÄl”iˆdā]|DÂVŒœH¹ˆÞ®ÜWnŒC”Œķ W‹§@\\¸‹ƒ~¤‹Vp¸‰póIO¢ŠVOšŇürXql~òÉK]¤¥Xrfkvzpm¶bwyFoúvð‡¼¤ N°ąO¥«³[ƒéǣű]°Õ\\ÚÊĝŽôîŇÔaâŸBYlďQ[ Ë[ïÒ¥RI|‘`jž]P"],"encodeOffsets":[[126831,44503]]},"properties":{"cp":[125.3245,43.886841],"name":"吉林","childNum":1}},{"id":"230000","geometry":{"type":"MultiPolygon","coordinates":[["@@UƒµNÿ¥īè灋•HÍøƕ¶LŒǽ|g¨|”™Ža¾pViˆdd”~ÈiŒíďÓQġėǐZ΋ŽXb½|ſÃH½ŸKFgɱCģÛÇA‡n™‹jÕc[VĝDZÃ˄Ç_™ £ń³pŽj£º”š¿”»WH´¯”U¸đĢmžtĜyzzNN|g¸÷äűѱĉā~mq^—Œ[ƒ”››”ƒǁÑďlw]¯xQĔ‰¯l‰’€°řĴrŠ™˜BˆÞTxr[tޏĻN_yŸX`biN™Ku…P›£k‚ZĮ—¦[ºxÆÀdhŽĹŀUÈƗCw’áZħÄŭcÓ¥»NAw±qȥnD`{ChdÙFćš}¢‰A±Äj¨]ĊÕjŋ«×`VuÓś~_kŷVÝyh„“VkÄãPs”Oµ—fŸge‚Ň…µf@u_Ù ÙcŸªNªÙEojVx™T@†ãSefjlwH\\pŏäÀvŠŽlY†½d{†F~¦dyz¤PÜndsrhf‹HcŒvlwjFœ£G˜±DύƥY‡yϊu¹XikĿ¦ÏqƗǀOŜ¨LI|FRĂn sª|Cš˜zxAè¥bœfudTrFWÁ¹Am|˜ĔĕsķÆF‡´Nš‰}ć…UŠÕ@Áijſmužç’uð^ÊýowŒFzØÎĕNőžǏȎôªÌŒDŽàĀÄ˄ĞŀƒʀĀƘŸˮȬƬĊ°ƒUŸzou‡xe]}Ž…AyȑW¯ÌmK‡“Q]‹Īºif¸ÄX|sZt|½ÚUΠlkš^p{f¤lˆºlÆW –€A²˜PVܜPH”Êâ]ÎĈÌÜk´\\@qàsĔÄQºpRij¼èi†`¶—„bXƒrBgxfv»ŽuUiˆŒ^v~”J¬mVp´£Œ´VWrnP½ì¢BX‚¬h™ŠðX¹^TjVœŠriªj™tŊÄm€tPGx¸bgRšŽsT`ZozÆO]’ÒFô҆Oƒ‡ŊŒvŞ”p’cGŒêŠsx´DR–Œ{A†„EOr°Œ•žx|íœbˆ³Wm~DVjºéNN†Ëܲɶ­GƒxŷCStŸ}]ûō•SmtuÇÃĕN•™āg»šíT«u}ç½BĵÞʣ¥ëÊ¡Mێ³ãȅ¡ƋaǩÈÉQ‰†G¢·lG|›„tvgrrf«†ptęŘnŠÅĢr„I²¯LiØsPf˜_vĠd„xM prʹšL¤‹¤‡eˌƒÀđK“žïÙVY§]I‡óáĥ]ķ†Kˆ¥Œj|pŇ\\kzţ¦šnņäÔVĂîά|vW’®l¤èØr‚˜•xm¶ă~lÄƯĄ̈́öȄEÔ¤ØQĄ–Ą»ƢjȦOǺ¨ìSŖÆƬy”Qœv`–cwƒZSÌ®ü±DŽ]ŀç¬B¬©ńzƺŷɄeeOĨS’Œfm Ċ‚ƀP̎ēz©Ċ‚ÄÕÊmgŸÇsJ¥ƔˆŊśæ’΁Ñqv¿íUOµª‰ÂnĦÁ_½ä@ê텣P}Ġ[@gġ}g“ɊדûÏWXá¢užƻÌsNͽƎÁ§č՛AēeL³àydl›¦ĘVçŁpśdžĽĺſʃQíÜçÛġԏsĕ¬—Ǹ¯YßċġHµ ¡eå`ļƒrĉŘóƢFì“ĎWøxÊk†”ƈdƬv|–I|·©NqńRŀƒ¤é”eŊœŀ›ˆàŀU²ŕƀB‚Q£Ď}L¹Îk@©ĈuǰųǨ”Ú§ƈnTËÇéƟÊcfčŤ^Xm‡—HĊĕË«W·ċëx³ǔķÐċJā‚wİ_ĸ˜Ȁ^ôWr­°oú¬Ħ…ŨK~”ȰCĐ´Ƕ£’fNÎèâw¢XnŮeÂÆĶŽ¾¾xäLĴĘlļO¤ÒĨA¢Êɚ¨®‚ØCÔ ŬGƠ”ƦYĜ‡ĘÜƬDJ—g_ͥœ@čŅĻA“¶¯@wÎqC½Ĉ»NŸăëK™ďÍQ“Ùƫ[«Ãí•gßÔÇOÝáW‘ñuZ“¯ĥ€Ÿŕā¡ÑķJu¤E Ÿå¯°WKɱ_d_}}vyŸõu¬ï¹ÓU±½@gÏ¿rýD‰†g…Cd‰µ—°MFYxw¿CG£‹Rƛ½Õ{]L§{qqąš¿BÇƻğëšܭNJË|c²}Fµ}›ÙRsÓpg±ŠQNqǫŋRwŕnéÑÉKŸ†«SeYR…ŋ‹@{¤SJ}šD Ûǖ֍Ÿ]gr¡µŷjqWÛham³~S«“„›Ü[","@@ƨƒĶTLÇyqpÇÛqe{~oyen}s‰`q‡iXG”ù]Ëp½“©lɇÁp]Þñ´FÔ^f‘äîºkà˜z¼BUv¬D"]],"encodeOffsets":[[[134456,44547],[127123,51780]]]},"properties":{"cp":[126.642464,45.756967],"name":"黑龙江","childNum":2}},{"id":"320000","geometry":{"type":"Polygon","coordinates":["@@Õg^vÁbnÀ‹`Jnĝ¬ŽòM¶ĘšTÖŒb‚˜e¦¦€{¸ZâćNpŒ©žHp|`ˆmjhŠSEb\\afv`sz^lkŽlj‹Ätg‹¤D˜­¾Xš¿À’|ДiZ„ȀåB·î}GL¢õcßjaŸyBFµÏC^ĭ•cÙt¿sğH]j{s©HM¢ƒQnDÀ©DaÜތ·jgàiDbPufjDk`dPOîƒhw¡ĥ‡¥šG˜ŸP²ĐobºrY†„î¶aHŢ´ ]´‚rılw³r_{£DB_Ûdåuk|ˆŨ¯F Cºyr{XFy™e³Þċ‡¿Â™kĭB¿„MvÛpm`rÚã”@ƹhågËÖƿxnlč¶Åì½Ot¾dJlŠVJʜǀœŞqvnOŠ^ŸJ”Z‘ż·Q}ê͎ÅmµÒ]Žƍ¦Dq}¬R^èĂ´ŀĻĊIԒtžIJyQŐĠMNtœR®òLh‰›Ěs©»œ}OӌGZz¶A\\jĨFˆäOĤ˜HYš†JvÞHNiÜaϚɖnFQlšNM¤ˆB´ĄNöɂtp–ŬdZÅgl•muÇUšŽ“Ş‡Úb¤uŃJŴu»¹Ą•lȖħŴw̌ŵ²ǹǠ͛hĭłƕrçü±Y™rřl¥’i`ã__¢ćSÅr[Çq^ùzWmOĈaŐÝɞï²ʯʊáĘijĒǭPħ͍ôƋĝÄ͎ī‰çÛɈǥ£­ÛmY`ó£Z«§°Ó³QafusNıDž_k}¢m[ÝóDµ—¡RLčiXy‡ÅNïă¡¸iĔϑNÌķoıdōîåŤûHcs}~Ûwbù¹£¦ÓCt‹OPrƒE^ÒoŠg™ĉIµžÛÅʹK…¤½phMˆú`m”R¸¦Pƚg†ÉLRŠs`£¯ãhD„¨|³¤‰C"],"encodeOffsets":[[121451,32518]]},"properties":{"cp":[118.767413,32.041544],"name":"江苏","childNum":1}},{"id":"330000","geometry":{"type":"MultiPolygon","coordinates":[["@@jX^n…","@@sfˆdM‰","@@qP\\xz[_i","@@o\\V’zRZ}mECy","@@‘Rƒ¢‚FX}°[m]","@@Cbœ\\•}","@@e|v\\laus","@@v~s{","@@QxÂF©}","@@¹nŒvÞs©m","@@rQgYIh","@@bi«Z„X","@@p[}ILd","@@À¿|","@@¹dnb’…","@@rS}[Kl","@@g~h}","@@FlCk","@@ůTG°ĄLHm°UF‰","@@OdRe","@@v[u\\","@@FjâL~wyoo~›sµLŒZ","@@¬e¹aH‚","@@\\nÔ¡q]L³ë\\ÿ®ŒQ̆","@@ÊA­©]ª","@@KxŒv{­","@@@hlIk_","@@pWc‡rxp","@@Md|_iA","@@¢…X£½z\\ðpN","@@hlÜ[LykAvyfw^Ež ","@@fp¤MusH","@@®_ma~•LÁ¬’`","@@†@°¡mۛGĕ¨§Ianá[ýƤjfæ‡ÐNž—äGp—","@@iM„t\\","@@Zc[b","@@™X®±GrưZæĉm","@@Z~dOSo|A¿qZv","@@@`”EN£p","@@|–s—","@@@nDi","@@n…a£¾u‰YL¯‰Qª…mĉÅdMˆ•gÇjcº«•ęœ¬­K­´ƒB«Âącoċ\\xK`cįŧ«®á’[~ıxu·Å”KsËɏc¢Ù\\ĭƛëbf¹­ģSƒĜkáƉÔ­ĈZB{ŠaM‘µ‰fzʼnfÓÔŹŁƋǝÊĉ{ğč±g³ne{ç­ií´S¬‚\\ßðK¦w\\™iqªĭiAu‡A­µ”_W¥ƣO\\lċĢttC¨£t`ˆ™PZäuXßBs‡Ļyek€OđġĵHuXBšµ]׌‡­­\\›°®¬F¢¾pµ¼kŘó¬Wät’¸|@ž•L¨¸µr“ºù³Ù~§WI‹ŸZWŽ®’±Ð¨ÒÉx€`‰²pĜ•rOògtÁZ{üÙ[|˜ûŒK‚wsPlU[}¦Rvn`hsª^–nQ´ĘRWb”‚_ rtČFI֊kŠŠĦPJ¶ÖÀÖJĈĄTĚòžC ²@Pú…Øzœ©PœCÈÚœĒ±„hŖ‡l¬â~nm¨f©–iļ«m‡nt–qŒÒTÜÄj“ŠLŽ®E̜Fª²iÊxبžIÈhhst’ˆ’[Ôx†}dtüGæţŔïĬaĸpMËВj碷ðĄÆMzˆjWKĎ¢Q¶˜À_꒖_@ı€ipZ€gf€¤Nrq]§ĂN®«H±‡yƳí¾×ŊďŀĐÏŴǝĂíÀBŖÕªˆŠÁŐTFqĉ¯³ËCĕģi¨hÜ·ƒñt»¯Ï","@@ºwšZRkĕWK "]],"encodeOffsets":[[[125785,31436],[125729,31431],[125513,31380],[125329,30690],[125223,30438],[125115,30114],[124815,29155],[124419,28746],[124095,28635],[124005,28609],[125000,30713],[125111,30698],[125078,30682],[125150,30684],[124014,28103],[125008,31331],[125411,31468],[125329,31479],[125369,31139],[125626,30916],[125417,30956],[125254,30976],[125199,30997],[125095,31058],[125083,30915],[124885,31015],[125218,30798],[124867,30838],[124755,30788],[124802,30809],[125267,30657],[125218,30578],[125200,30562],[125192,30787],[124968,30474],[125167,30396],[125115,30363],[124955,29879],[124714,29781],[124762,29462],[124325,28754],[124863,30077],[125366,31477]]]},"properties":{"cp":[120.153576,30.287459],"name":"浙江","childNum":43}},{"id":"340000","geometry":{"type":"MultiPolygon","coordinates":[["@@^iuLV\\","@@‚e©Edh","@@´CEzAXœêeödK¡~H¸íæAˆȽ—d{ďő“À½W—®£ChŒÃsiŒkkly]_teu[bFa‰Tig‡n{]Gqªo‹ĈMYá|·¥f¥—őaSÕė™NµñĞ«ImŒ_m¿Âa]uĜp …Z_§{Cƒäg¤°r[_Yj‰ÆOdý“[ŽI[á·¥“Q_n‡ùgL¾mz›ˆDÜÆ¶ĊJhšp“c¹˜O]iŠ]œ¥ jtsggDÑ¡“w×jÉ©±›EFˍ­‰Ki”ÛÃÕYv…s•ˆm¬njĻª•§emná}k«ŕˆƒgđ²Ù›DǤ›í¡ªOy›†×Où±@DŸñSęćăÕIÕ¿IµĥO‰‰‰lJÕÍR›Í|JìĻÒåyķrĕq§ÄĩsWÆßŽF¶žX®¿‰mŒ™w…RIޓfßoG‘³¾©uyH‘į{Ɓħ¯AFnuP…ÍÔzšŒV—dàôº^Ðæd´€‡oG¤{S‰¬ćxã}›ŧ×Kǥĩ«žÕOEзÖdÖsƘѨ[’Û^Xr¢¼˜§xvěƵ`K”§ tÒ´Cvlo¸fzŨð¾NY´ı~ÉĔē…ßúLÃϖ_ÈÏ|]ÂÏHl’g`bšežž€n¾¢pU‚h~ƴ˶_‚r sĄ~cž”ƈ]|r c~`¼{À{ȒiJjz`îÀT¥Û³…]’u}›f…ïQl{skl“oNdŸjŸäËzDvčoQŠďHI¦rb“rHĖ~BmlNž“Ra„ĥTX\\{fÁKÁ®T‚œL‘ŠĄMt›ÊgĀD–ŠĄXœƔvDcÎJbt[¤€D@®hh~kt°ǾzÖ@¾ªdb„YhüóV´ŮŒ¨Üc”±r@J|àuYÇԋG·ĚąĐlŪÚpSJ¨ĸˆLvÞcPæķŨŽ®mАˆál‹sgd×mQ¨ųƩޖ¤IΖs’°ŒKZpĄ|XwWdĎµmkǀwÌÕæhºgBĝâqÙĊz›ÖgņtÀÁÊÆá’hEz|WzqD¹€Ÿ°E‡ŧl{ævÜcA`¤C`|´qžxIJkq^³³ŸGšµbƒíZ…¹qpa±ď OH—¦™Ħˆx¢„gPícOl_iCveaOjCh߸i݋bÛªCC¿€m„RV§¢A|tbkĜEÀtîm‚^g´fÄ"]],"encodeOffsets":[[[121722,32278],[119475,30423],[121606,33646]]]},"properties":{"cp":[117.283042,31.86119],"name":"安徽","childNum":3}},{"id":"350000","geometry":{"type":"MultiPolygon","coordinates":[["@@“zht´}[","@@aj^~ĆGå","@@edœŒH…se","@@@vˆPGsyQ","@@‰sBz‚ddW[O","@@SލQy","@@NŽVucW","@@qptB@q","@@‰’¸[iu","@@Q\\pD[_","@@jSwUappI","@@eXª~","@@AjvFoo","@@fT–›_Çí\\Ÿ™—v|ba¦jZÆy|®","@@IjLg","@@wJI€ˆxš«¼AoNe{M¥Œ","@@K‰±¡Óˆ”Č~N¾™","@@k¡¹Eh~c®uDq‰Zì¡I•~Māe£bN¨gZý¡a±Öcp©PhžI”Ÿ¢Qq…ÇGj‹|¥U™ g[Ky¬ŏ–v@OpˆtÉEŸF„\\@ åA¬ˆV{Xģ‰ĐBy…cpě…¼³Ăp·¤ƒ¥o“hqqÚ¡ŅLsƒ^ᗞ§qlŸÀhH¨MCe»åÇGD¥zPO£čÙkJA¼ß–ėu›ĕeûҍiÁŧS[¡œUŠûŗ½ùěcݧSùĩąSWó«íęACµ›eR—åǃRCÒÇZÍ¢‹ź±^dlsŒtjD¸•‚ZpužÔâÒH¾oLUêÃÔjjēò´ĄW‚ƛ…^Ñ¥‹ĦŸ@Çò–ŠmŒƒOw¡õyJ†yD}¢ďÑÈġfŠZd–a©º²z£šN–ƒjD°Ötj¶¬ZSÎ~¾c°¶Ðm˜x‚O¸¢Pl´žSL|¥žA†ȪĖM’ņIJg®áIJČĒü` ŽQF‡¬h|ÓJ@zµ |ê³È ¸UÖŬŬÀCtrĸr‚]€˜ðŽM¤ĶIJHtÏ A’†žĬkvsq‡^aÎbvŒd–™fÊòSD€´Z^’xPsÞrv‹ƞŀ˜jJd×ŘÉ ®A–ΦĤd€xĆqAŒ†ZR”ÀMźŒnĊ»ŒİÐZ— YX–æJŠyĊ²ˆ·¶q§·–K@·{s‘Xãô«lŗ¶»o½E¡­«¢±¨Yˆ®Ø‹¶^A™vWĶGĒĢžPlzfˆļŽtàAvWYãšO_‡¤sD§ssČġ[kƤPX¦Ž`¶“ž®ˆBBvĪjv©šjx[L¥àï[F…¼ÍË»ğV`«•Ip™}ccÅĥZE‹ãoP…´B@ŠD—¸m±“z«Ƴ—¿å³BRضˆœWlâþäą`“]Z£Tc— ĹGµ¶H™m@_©—kŒ‰¾xĨ‡ôȉðX«½đCIbćqK³Á‹Äš¬OAwã»aLʼn‡ËĥW[“ÂGI—ÂNxij¤D¢ŽîĎÎB§°_JGsƒ¥E@…¤uć…P‘å†cuMuw¢BI¿‡]zG¹guĮI‹"]],"encodeOffsets":[[[123250,27563],[122541,27268],[123020,27189],[122916,27125],[122887,26845],[122808,26762],[122568,25912],[122778,26197],[122515,26757],[122816,26587],[123388,27005],[122450,26243],[122578,25962],[121255,25103],[120987,24903],[122339,25802],[121042,25093],[122439,26024]]]},"properties":{"cp":[119.306239,26.075302],"name":"福建","childNum":18}},{"id":"360000","geometry":{"type":"Polygon","coordinates":["@@ÖP¬ǦĪØLœŨä~ĈwŠ«|TH£ˆp€c³Ïå¹]ĉđxe{ÎӐ†vOEm°BƂĨİ|G’vz½ª´€H’àp”eJ݆Qšxn‹ÀŠW­žEµàXÅĪt¨ÃĖrÄwÀFÎ|Ă¡”‡WÕ¸cf¥—‘XaęST±m[“r«_gŽmQu~¥V\\OkxtL E¢‹ƒ‘Ú^~ýØkbē–qo슱_Êw§Ñ²ÏƟ뼋mĉŹ‹¿NQ“…YB‹ąrwģcÍ¥B•Ÿ­ŗÊcØiI—žƝĿuŒqtāwO]‘³YCTeɕš‹caub͈]trlu€ī…B‘ПGsĵıN£ï—^ķqsq¿DūūV՟·´Ç{éĈý‰ÿ›OEˆR_ŸđûIċâJh­ŅıN‘ȩĕB…¦K{Tk³¡OP·wn—µÏd¯}½TÍ«YiµÕsC¯„iM•¤™­•¦¯P|ÿUHv“he¥oFTu‰õ\\ŽOSs‹MòđƇiaºćXŸĊĵà·çhƃ÷ǜ{‘ígu^›đg’m[ÙxiIN‘¶Õ»lđÕwZSƉv©_ÈëJbVk„ĔVÀ¤P¾ºÈMÖxlò~ªÚàGĂ¢B„±’ÌŒK˜y’ñ`w²¹€·Ÿ…`g›ŸsÙfI›ěxŕeykpŽŒudjˆuTfb·hh„¿JdŠ[\\˜„L‚áƔĨƐAĈepˆÀÂMD~ņªe^\\^§„ý©j׍cZ†Ø¨zdÒa¶ˆlҍJŒìõ`oz÷@¤u޸´†ôęöY¼‰HČƶajlÞƩ¥éZ[”|h}^U Œ ¥p„ĄžƦO lt¸Æ €Q\\€ŠaÆ|CnÂOjt­ĚĤd’ÈŒF`’¶„@Ð딠¦ōҞ¨Sêv†HĢÛ@[ƅQoxHŒ—W[ŰîÀt¦DŽ~NĠ¢l–•ĄtZoœCƞÔºCxrpČN˜pj¢{f_Y`_ƒeq’’®Aot`@o‚DXfkp¨|Šs¬\\D‘ÄSfè©Hn¬…^DhÆyøJh“ØxĢĀLʈ„ƠPżċĄwĮ”¶ž"],"encodeOffsets":[[118923,30536]]},"properties":{"cp":[115.892151,28.676493],"name":"江西","childNum":1}},{"id":"370000","geometry":{"type":"MultiPolygon","coordinates":[["@@Xjd]mE","@@itnq","@@Dl@k","@@T‚ŒG—w","@@K¬˜•‰U","@@Wd`c","@@PtMs","@@•LnXlc","@@ppVƒu]Qn","@@cdzAU_","@@udRhnCE…","@@ˆoIƒpP„","@@M{Ŀčwbxƨî’Kš–ÎMĮ]†—ZFˆ½Y]â£ph’™š¶¨râøÀ†ÎǨ¤^ºÄ”Gzˆ~grĚĜlĞÆ„LĆdž¢Îo¦–cv“Kb€gr°Wh”mZp ˆL]LºcU‰Æ­n”żĤÌǜbAnrOAœ´žȊcÀbƦUØrĆUÜøœĬƞ†ŶǬĴóò_A̈«ªdÎɜnb²ĦhņBĖ›žįĦåXćì@L¯´ywƕCéõė ƿ¸‘lµ‚Zæyj|BíÂKN„NnoƈfÈMZwšnŐNàúĂsT„JUš›‚L„îVj„ǎ¾Ē؍‚Dz²XPn±ŴPè¸ŔLƔÜƺ_T‘üÃĤBBċȉöA´fa„˜M¨{«M`‡¶d¡ô‰Ö°šmȰBÔjjŒ´PM|”c^d¤u•ƒ¤Û´Œä«ƢfPkMôlˆ]Lb„}su^ke{lC‘…M•rDŠÇ­]NÑFsmoõľH‰yGă{{çrnÓE‰‹ƕZGª¹Fj¢ÿ©}ÌCǷ돡ąuhÛ¡^Kx•C`C\\bÅxì²ĝÝ¿_N‰īCȽĿåB¥¢·IŖÕy\\‡¹kx‡Ã£ČáKµË¤ÁçFQ¡„KtŵƋ]CgÏAùSed‡cÚź—ŠuYfƒyMmhUWpSyGwMPqŀ—›Á¼zK›¶†G•­Y§Ëƒ@–´śÇµƕBmœ@Io‚g——Z¯u‹TMx}C‘‰VK‚ï{éƵP—™_K«™pÛÙqċtkkù]gŽ‹Tğwo•ɁsMõ³ă‡AN£™MRkmEʕč™ÛbMjÝGu…IZ™—GPģ‡ãħE[iµBEuŸDPԛ~ª¼ętŠœ]ŒûG§€¡QMsğNPŏįzs£Ug{đJĿļā³]ç«Qr~¥CƎÑ^n¶ÆéÎR~ݏY’I“] P‰umŝrƿ›‰›Iā‹[x‰edz‹L‘¯v¯s¬ÁY…~}…ťuٌg›ƋpÝĄ_ņī¶ÏSR´ÁP~ž¿Cyžċßdwk´Ss•X|t‰`Ä Èð€AªìÎT°¦Dd–€a^lĎDĶÚY°Ž`ĪŴǒˆ”àŠv\\ebŒZH„ŖR¬ŢƱùęO•ÑM­³Fۃaj"]],"encodeOffsets":[[[123806,39303],[123821,39266],[123742,39256],[123702,39203],[123649,39066],[123847,38933],[123580,38839],[123894,37288],[123043,36624],[123344,38676],[123522,38857],[123628,38858],[118267,36772]]]},"properties":{"cp":[117.000923,36.675807],"name":"山东","childNum":13}},{"id":"410000","geometry":{"type":"MultiPolygon","coordinates":[["@@dXD}~Hgq~ÔNŽ‹„~zkĘHVsDzßjƒŬŒŠŢ`Pûàl¢˜\\ÀœEhŽİgÞē X¼`kš„h•ÍL™ùµP³swIÓzeŠĠð†´E®žÚPt†ºIŊ–ʺ˜L«šŕQGƒ‹Yfa[şu“ßǑ‡ĩų_Z¯ĵÙčC]kbc•¥CS¯ëÍB©ïŽÇߊ_{s–WTtž³xlàcȂzÀD}ÂOQ³ÐTĬµ‚ƑпŸghœł‹Ŧv~††}ÂZž«¤lPǕ£ªÝŴÅR§ØnhcŒtâk‡nύ­ľŹUÓÝdKuķ‡I§oTũÙďkęĆH¸ÓŒ\\ăŒ¿PcnS{wBIvɘĽ[GqµuŸŇôYgûƒZcaŽ©@½Õǽys¯}lgg@­C\\£as€IdÍuCQñ[L±ęk·‹ţb¨©kK—’»›KC²‘òGKmĨS`ƒ˜UQ™nk}AGē”sqaJ¥ĐGR‰ĎpCuÌy ã iMc”plk|tRk†ðœev~^‘´†¦ÜŽSí¿_iyjI|ȑ|¿_»d}qŸ^{“Ƈdă}Ÿtqµ`ŷ飩V¡om½ZÙϋÁRD|JOÈpÀ—Rs’•I{ùÓjuµ{t}uËR‘iŸvGŠçJFjµŠåkWꖴMƒHewixGw½Yŷpµú³XU›½ġy™łå‰kÚwZXˆ·l„¢Á¢K”zO„Λ΀jc¼htoDHr…|­J“½}JZ_¯iPq{tę½ĕ¦Zpĵø«kQ…Ťƒ]MÛfaQpě±ǽ¾]u­Fu‹÷nƒ™čįADp}AjmcEǒaª³o³ÆÍSƇĈÙDIzçƒñİŸ^ˆKNœ™i—Þñ€[œƒaA²zz‰Ì÷Dœ|[šíijgf‚ÕÞd®|`ƒĆ~„oĠƑô³Ŋ‘D×°¯CsˆøÂ«ì‰UMhTº¨¸ǝêWšÔ„DruÂÇZ£Ćš”PZ„žW”~؋Øv¬gèÂÒw¦X¤Ā´oŬ¬Ž²Ês~€€]®tªašpŎJ¨Öº„_ŠŔ–f”Ő\\Ѝ\\Ĝu–”~m²Ƹ›¸fW‰ĦrƔ}Î^gjdfÔ¡J}\\n C˜¦þWxªJRÔŠu¬ĨĨmF†dM{\\d\\ŠYÊ¢ú@@¦ª²SŠÜsC–}fNècbpRmlØ^g„d¢aÒ¢CZˆZxvÆ¶N¿’¢T@€uCœ¬^ĊðÄn|žlIlŽ—Xhun€[","@@hzUq"]],"encodeOffsets":[[[116744,37216],[116480,33048]]]},"properties":{"cp":[113.665412,34.757975],"name":"河南","childNum":2}},{"id":"420000","geometry":{"type":"MultiPolygon","coordinates":[["@@ASd","@@ls{d","@@¾«}{ra®pîÃ\\™›{øCŠËyyB±„b\\›ò˜Ý˜jK›‡L ]ĎĽÌ’JyÚCƈćÎT´Å´pb©È‘dFin~BCo°BĎĚømvŒ®E^vǾ½Ĝ²Ro‚bÜeNŽ„^ĺ£R†¬lĶ÷YoĖ¥Ě¾|sOr°jY`~I”¾®I†{GqpCgyl{‡£œÍƒÍyPL“¡ƒ¡¸kW‡xYlÙæŠšŁĢzœ¾žV´W¶ùŸo¾ZHxjwfx„GNÁ•³Xéæl¶‰EièIH‰ u’jÌQ~v|sv¶Ôi|ú¢Fh˜Qsğ¦ƒSiŠBg™ÐE^ÁÐ{–čnOÂȞUÎóĔ†ÊēIJ}Z³½Mŧïeyp·uk³DsѨŸL“¶_œÅuèw»—€¡WqÜ]\\‘Ò§tƗcÕ¸ÕFÏǝĉăxŻČƟO‡ƒKÉġÿ×wg”÷IÅzCg†]m«ªGeçÃTC’«[‰t§{loWeC@ps_Bp‘­r‘„f_``Z|ei¡—oċMqow€¹DƝӛDYpûs•–‹Ykıǃ}s¥ç³[§ŸcYЧHK„«Qy‰]¢“wwö€¸ïx¼ņ¾Xv®ÇÀµRĠЋžHMž±cÏd„ƒǍũȅȷ±DSyúĝ£ŤĀàtÖÿï[îb\\}pĭÉI±Ñy…¿³x¯N‰o‰|¹H™ÏÛm‹júË~Tš•u˜ęjCöAwě¬R’đl¯ Ñb­‰ŇT†Ŀ_[Œ‘IčĄʿnM¦ğ\\É[T·™k¹œ©oĕ@A¾w•ya¥Y\\¥Âaz¯ãÁ¡k¥ne£Ûw†E©Êō¶˓uoj_Uƒ¡cF¹­[Wv“P©w—huÕyBF“ƒ`R‹qJUw\\i¡{jŸŸEPïÿ½fć…QÑÀQ{ž‚°‡fLԁ~wXg—ītêݾ–ĺ‘Hdˆ³fJd]‹HJ²…E€ƒoU¥†HhwQsƐ»Xmg±çve›]Dm͂PˆoCc¾‹_h”–høYrŊUeD°Č_N~øĹĚ·`z’]Äþp¼…äÌQŒv\\rCŒé¾TnkžŐڀÜa‡“¼ÝƆ̶Ûo…d…ĔňТJq’Pb ¾|JŒ¾fXŠƐîĨ_Z¯À}úƲ‹N_ĒĊ^„‘ĈaŐyp»CÇĕKŠšñL³ŠġMŒ²wrIÒŭxjb[œžn«øœ˜—æˆàƒ ^²­h¯Ú€ŐªÞ¸€Y²ĒVø}Ā^İ™´‚LŠÚm„¥ÀJÞ{JVŒųÞŃx×sxxƈē ģMř–ÚðòIf–Ċ“Œ\\Ʈ±ŒdʧĘD†vČ_Àæ~DŒċ´A®µ†¨ØLV¦êHÒ¤"]],"encodeOffsets":[[[113712,34000],[115612,30507],[113649,34054]]]},"properties":{"cp":[114.298572,30.584355],"name":"湖北","childNum":3}},{"id":"430000","geometry":{"type":"MultiPolygon","coordinates":[["@@—n„FZw","@@かÆá‰½ÔXr—†CO™“…ËR‘ïÿĩ­TooQyšÓ[‹ŅBE¬–ÎÓXa„į§Ã¸G °ITxp‰úxÚij¥Ïš–̾ŠedžÄ©ĸG…œàGh‚€M¤–Â_U}Ċ}¢pczfŠþg¤€’ÇôAV‘","@@ȴÚŠĖÁĐiO“Ĝ«BxDõĚiv—ž–S™Ì}iùŒžÜnšÐºGŠ{Šp°M°yŠÂÒzJ²Ì ÂcXëöüiáÿñŽőФ‚ùTz²CȆȸǎۃƑÐc°dPÎŸğ˶[Ƚu¯½WM¡­Éž“’B·rížnZŸÒ `‡¨GA¾\\pē˜XhÆRC­üWGġu…T靧Ŏѝ©êL•M}_‘‹E‘Çģc®ęisÁPDmÅ{‰b[Rşs·€kPŸŽƥƒóRo”O‹ŸVŸ~]{g\\“êYƪ¦kÝbiċƵŠGZ»Ěõ…ó·³vŝž£ø@pyö_‹ëŽIkѵ‡bcѧy…×dY؎ªiþžˆUjŸŅ³C}ÁN‡»hĻħƏâƓK—ƒA·³CQ±µ§¿AUŠƑ¹AŠtćOw™D]ŒJUÖgk¯b£‘ylƒ›ZƒFËѱH™­}˜•EbóľA–¡»Ku¦·‘³†åş¥ùBDž^{ÌC´­¦ŷJ£^[†‹—ª¿‡ğ|‹ƅ…•N… skóā‡¹¿€ï]ă~÷O§­@—Vm¡‹Qđ¦¢Ĥ{ºjԏŽŒª¥nf´•~ÕoŸž×Ûą‹Gû¥cÑ[Zœ‰¶˜ŨβSÊǔƐ˜ƀƒ’AÚŌ¦QؼrŭŽ­«}NÏürʬŒmjr€@ĘrTW ­SsdHzƓ^ÇÂyUi¯DÅYlŹu{hTœ}mĉ–¹¥ě‰Dÿë©ıÓ[Oº£ž“¥ót€ł¹MՄžƪƒ`Pš…Di–ÛUоÅ‌ìˆU’ñB“È£ýhe‰dy¡oċ€`pfmjP~‚kZa…ZsÐd°wj§ƒ@€Ĵ®w~^‚kÀÅKvNmX\\¨a“”сqvíó¿F„¤¡@ũÑVw}S@j}¾«pĂr–ªg àÀ²NJ¶¶Dô…K‚|^ª†Ž°LX¾ŴäPᜣEXd›”^¶›IJÞܓ~‘u¸ǔ˜Ž›MRhsR…e`ÄofIÔ\\Ø  i”ćymnú¨cj ¢»–GČìƊÿШXeĈ¾Oð Fi ¢|[jVxrIQŒ„_E”zAN¦zLU`œcªx”OTu RLĪpUžĪ‚ȴ^ŎµªÉžFx…Ü€f¤ºgIJèy°Áb[¦Zb¦–z½xBĖ@ªpº›˜jS´rVźOd©ʪiĎă’JP‡ž`"]],"encodeOffsets":[[[115640,30489],[112577,27316],[114113,30649]]]},"properties":{"cp":[112.982279,28.19409],"name":"湖南","childNum":3}},{"id":"440000","geometry":{"type":"MultiPolygon","coordinates":[["@@QdˆAsa","@@ƒlxDRm","@@sbhNLo","@@Ă ý","@@WltOY[","@@Krœ]‰S","@@e„~AS}","@@I|„Mym","@@ƒÛ³LSŒž²Q","@@nvºB–ë¥cÕº","@@zdšÛ›JmŠ","@@†°³","@@a yAª¸ËJIx،@€ĀHÉÕZ™o•fo…o","@@šs‰ŗÃÔėAƁ›ZšÄ ~°ČP‚‹ºb","@@‹¶Ý’Ì‚vmĞh¹Ĺ","@@HœŠdSjĒ¢D}war…“u«ZqadY{K","@@elŒ\\LqqO","@@~rMmX","@@f„^E","@@øPªoj÷ÍÝħXČx”°Q¨ıXJp","@@gÇƳˆˆ–m’Žxa†tfu","@@E–ÆC½‘","@@¸B_¶ekWvSi‡vc•}p}Ăº¾NĎyj¦Èm thœ†_®žÄ}ˆ»âUzL™Ë‹²‘Aƒā¡ßH©Ùñ}wkNÕ¹ÇO½¿£ēUlƒaUìIžÇª`ŠuTÅxYĒÖ¼k֞’µ‚MžjJÚwn\\h‘œĒv]îh|’È›Ƅøègž¸Ķß ĉĈWb¹ƀdéƌNTtP[ŠöSvrCZžžaGuœbo´ŖÒÇА~¡zCI…özx¢„Pn‹•‰Èñ @ŒĥÒ¦†]ƜŽX³ăĔñiiÄÓVépKG½Ä‘ÓávYo–C·sit‹iaÀy„ŧΡÈYDÑům}‰ý|m[węõĉZÅxUO}÷N¹³ĉo_qtă“qwµŁYلǝŕ¹tïÛUïmRCº…ˆĭ|µ›ÕÊK™½R‘ē ó]‘–GªęAx–ŸNqSF•|ām‡¡diď×YïYWªʼnOeÚtĐ«zđ¹T…ā‡úE™áÎÁWw헟HcòßÎſ¿Çdğ·ùT×Çūʄ¡XgWÀLJğ·¿ÃˆOj YÇ÷Sğ³kzőõm‰™ĝ—[³‹¡VÙæÅöM̳¹pÁaËýý©D©Ü“JŹƕģGą¤{Ùū…ǘO²«BƱéA—Ò‰ĥ‡¡«BhlmtÃPµyU¯uc“d·w_bŝcīímGOŽ€GBȅ‰ŹãĻFŷŽŕ@Óoo¿ē‹±ß}Ž}ÓF÷tIJWÈCőâUâǙI›ğʼn©I›ijEׅÁ”³AĥDĈ±ÌŒÜӔĨ£L]ĈÙƺZǾĆĖMĸĤfŒÎĵl•ŨnȈ‘ĐtF”Š–FĤ–‚êk¶œ^k°fgŠŽœ}®Fa˜f`vXŲxl˜„¦–ÔÁ²¬ÐŸ¦pqÊ̲ˆi€XŸØRDÎ}†Ä@ZĠ’s„x®AR~®ETtĄZ†–ƈfŠŠHâÒÐA†µ\\S¸„^wĖkRzŠalŽŜ|E¨ÈNĀňZTŒ’pBh£\\ŒĎƀuXĖtKL–¶G|Ž»ĺEļĞ~ÜĢÛĊrˆO˜Ùîvd]nˆ¬VœÊĜ°R֟pM††–€ƀ¬HbwžEÀˆ˜©Œž\\…¤]ŸI®¥D³|ˎ]CúAЦ…æ’´¥¸Lv¼€•¢ĽBaô–F~—š®²GÌҐEY„„œzk¤’°ahlV՞I^‹šCxĈPŽsB‰ƒºV‰ÀB¶¨R²´D","@@OŽR"]],"encodeOffsets":[[[117381,22988],[116552,22934],[116790,22617],[116973,22545],[116444,22536],[116931,22515],[116496,22490],[116453,22449],[113301,21439],[118726,21604],[118709,21486],[113210,20816],[115482,22082],[113171,21585],[113199,21590],[115232,22102],[115739,22373],[115134,22184],[113056,21175],[119573,21271],[119957,24020],[115859,22356],[116680,26053],[116561,22649]]]},"properties":{"cp":[113.280637,23.125178],"name":"广东","childNum":24}},{"id":"450000","geometry":{"type":"MultiPolygon","coordinates":[["@@H– TI¡U","@@Ɣ_LÊFZg…čP­kini«‹qǀcz͔Y®¬Ů»qR×ō©DՄ‘§ƙǃŵTÉĩ±ŸıdÑnYY›IJvNĆÌØÜ Öp–}e³¦m‹©iÓ|¹Ÿħņ›|ª¦QF¢Â¬ʖovg¿em‡^ucäāmÇÖåB¡Õçĝ}FϼĹ{µHK•sLSđƃr‹č¤[Ag‘oS‹ŇYMÿ§Ç{Fśbky‰lQxĕƒ]T·¶[B…ÑÏGáşşƇe€…•ăYSs­FQ}­Bƒw‘tYğÃ@~…C̀Q ×W‡j˱rÉ¥oÏ ±«ÓÂ¥•ƒ€k—ŽwWűŽue_b—­E›~‰µh¯ecl¯›Ïr¯‡E쉕Jƒğƒ}žw³–Ƈē`ãògK_ÛsUʝ“ćğ¶hŒöŒO¤Ǜn³Žc‘`¡yi–ę–‘[ďĵűMę§]X˜Î_‚훘Û]é’ÛUćİÕBƣ±…dƒy¹T^džûÅÑŦ·‡PĻþÙ`K€¦˜…¢ÍeœĥR¿Œ³£[~Œäu¼dl‰t‚†W¸oRM¢ď\\zœ}Æzdvň–{ÎXF¶°Â_„ÒÂÏL©Ö•TmuŸ¼ãl‰›īkiqéfA„·Êµ\\őDc¥ÝF“y›Ôć˜c€űH_hL܋êĺШc}rn`½„Ì@¸¶ªVLŒŠhŒ‹\\•Ţĺk~ŽĠið°|gŒtTĭĸ^x‘vK˜VGréAé‘bUu›MJ‰VÃO¡…qĂXËS‰ģãlýàŸ_ju‡YÛÒB†œG^˜é֊¶§ŽƒEG”ÅzěƒƯ¤Ek‡N[kdåucé¬dnYpAyČ{`]þ±X’\\’ÞÈk‚¡Ĭj†àh„ÂƄ¢H茠Ŕ⪃LƒĒ^Öm¶ħĊAǦė¸zÚGn£¾›rªŀÜt¬@֛ڈSx~øOŒ˜ŶÐÂæȠ\\„ÈÜObĖw^oބLf¬°bI lTØB̈F£Ć¹gñĤaY“t¿¤VSñœK¸¤nM†¼‚JE±„½¸šŠño‹ÜCƆæĪ^ŠĚQÖ¦^‡ˆˆf´Q†üÜʝz¯šlzUĺš@쇀pn]sxtx@„~ÒĂJb©gk‚{°‚~c°`ԙ¬rV\\“la¼¤ôá`¯¹LC†ÆbŒxEræO‚v[H­˜„[~|aB£ÖsºdAĐzNÂðsŽÞƔ…Ĥªbƒ–ab`ho¡³F«èVZs„\\\\Œ™ÔRzpp®SŽĪº¨ÖƒºN…ij„d`’a”¦¤F³¢@„`¢ĨĀìhYvlŠĆº¦Ċ•~nS›|gźv^kGƄÀè·"]],"encodeOffsets":[[[111707,21520],[113706,26955]]]},"properties":{"cp":[108.320004,22.82402],"name":"广西","childNum":2}},{"id":"460000","geometry":{"type":"Polygon","coordinates":["@@š¦Ŝil¢”XƦ‘ƞò–ïè§ŞCêɕrŧůÇąĻõ™·ĉ³œ̅kÇm@ċȧƒŧĥ‰Ľʉ­ƅſ“ȓÒ˦ŝE}ºƑ[ÍĜȋ gÎfǐÏĤ¨êƺ\\Ɔ¸ĠĎvʄȀœÐ¾jNðĀÒRŒšZdž™zМŒĊ†¢DÀɘZ"],"encodeOffsets":[[112750,20508]]},"properties":{"cp":[110.33119,20.031971],"name":"海南","childNum":1}},{"id":"510000","geometry":{"type":"MultiPolygon","coordinates":[["@@LqSn","@@ĆOìÛÐ@Ğ™ǔNY{¤Á§d…i“´ezÝúØãwŒƒIŸþËQǦÃqɞSJ»ĂéʔõÔƁİlƞ¹„§Ĭqt‘ÀƄmÀêErĒtD®ċæcQƒ”E®³^ĭ¥©l}äQto˜ŖÜqƎkµ–„ªÔĻĴ¡@Ċ°B²Èw^^RsºT£ڿœQP‘JvÄz„^Đ¹Æ¯fLà´GC²‘dt˜­ĀRt¼¤ĦOðğfÔðDŨŁĞƘïžPȆ®âbMüÀXZ ¸£@Ś›»»QÉ­™]d“sÖ×_͖_ÌêŮPrĔĐÕGĂeZÜîĘqBhtO ¤tE[h|Y‹Ô‚ZśÎs´xº±UŒ’ñˆt|O’ĩĠºNbgþŠJy^dÂY Į„]Řz¦gC‚³€R`Šz’¢AjŒ¸CL„¤RÆ»@­Ŏk\\Ç´£YW}z@Z}‰Ã¶“oû¶]´^N‡Ò}èN‚ª–P˜Íy¹`S°´†ATe€VamdUĐwʄvĮÕ\\ƒu‹Æŗ¨Yp¹àZÂm™Wh{á„}WØǍ•Éüw™ga§ßAYŸrÅÂQĀÕ¬LŐý®X˜øxª½Ű¦¦[€—þ„`ÜUÖ´òrÙŠ°²Äk„ijnDX{Uƒ~ET{ļº¦PZc”jF²Ė@Žp˜g€ˆ¨“B{ƒu¨ŦyhoÚD®¯¢˜ WòàFΤ¨GDäz¦kŮPœġq˚¥À]€Ÿ˜eŽâÚ´ªKxī„Pˆ—Ö|æ[xäJÞĥ‚s’NÖ½ž€I†¬nĨY´®Ð—ƐŠ€mD™ŝuäđđEb…e’e_™v¡}ìęNJē}q”É埁T¯µRs¡M@}ůa†a­¯wvƉåZwž\\Z{åû`Ÿ†[±oi•‘JDŦ]‘‰ĕãïrG •réÏ·~ąSfy×͂·ºſƽĵȁŗūmHQ¡Y¡®ÁÃ×t«ƒ­Tƒ¤J–JJŒyJ•ÈŠ`Ohߦ¡uËhIyCjmÿw…ZG……Ti‹SˆsO‰žB²ŸfNmsPaˆ{M{ŠõE‘^Hj}gYpaeuž¯‘oáwHjÁ½M¡pM“–uå‡mni{fk”\\oƒÎqCw†EZ¼K›ĝŠƒAy{m÷L‡wO×SimRI¯rK™õBS«sFe‡]fµ¢óY_ÆPRcue°Cbo׌bd£ŌIHgtrnyPt¦foaXďx›lBowz‹_{ÊéWiêE„GhܸºuFĈIxf®Ž•Y½ĀǙ]¤EyŸF²ċ’w¸¿@g¢§RGv»–áŸW`ÃĵJwi]t¥wO­½a[׈]`Ãi­üL€¦LabbTÀå’c}Íh™Æhˆ‹®BH€î|Ék­¤S†y£„ia©taį·Ɖ`ō¥Uh“O…ƒĝLk}©Fos‰´›Jm„µlŁu—…ø–nÑJWΪ–YÀïAetTžŅ‚ӍG™Ë«bo‰{ıwodƟ½ƒžOġܑµxàNÖ¾P²§HKv¾–]|•B‡ÆåoZ`¡Ø`ÀmºĠ~ÌЧnDž¿¤]wğ@sƒ‰rğu‰~‘Io”[é±¹ ¿žſđӉ@q‹gˆ¹zƱřaí°KtǤV»Ã[ĩǭƑ^ÇÓ@ỗs›Zϕ‹œÅĭ€Ƌ•ěpwDóÖሯneQˌq·•GCœýS]xŸ·ý‹q³•O՜Œ¶Qzßti{ř‰áÍÇWŝŭñzÇW‹pç¿JŒ™‚Xœĩè½cŒF–ÂLiVjx}\\N†ŇĖ¥Ge–“JA¼ÄHfÈu~¸Æ«dE³ÉMA|b˜Ò…˜ćhG¬CM‚õŠ„ƤąAvƒüV€éŀ‰_V̳ĐwQj´·ZeÈÁ¨X´Æ¡Qu·»Ÿ“˜ÕZ³ġqDo‰y`L¬gdp°şŠp¦ėìÅĮZްIä”h‚‘ˆzŠĵœf²å ›ĚрKp‹IN|‹„Ñz]ń……·FU×é»R³™MƒÉ»GM«€ki€™ér™}Ã`¹ăÞmȝnÁîRǀ³ĜoİzŔwǶVÚ£À]ɜ»ĆlƂ²Ġ…þTº·àUȞÏʦ¶†I’«dĽĢdĬ¿–»Ĕ׊h\\c¬†ä²GêëĤł¥ÀǿżÃÆMº}BÕĢyFVvw–ˆxBèĻĒ©Ĉ“t@Ğû¸£B¯¨ˋäߜkŽķŒ½ª“ôNԓ~t¼Ŵ„u„œ^s¼{TA¼ø°¢İªDè¾Ň¶ÝJ‘®Z´ğ~Sn|ªWÚ©òzPOȸ‚bð¢|‹øĞŠŒœŠA"]],"encodeOffsets":[[[108815,30935],[100197,35028]]]},"properties":{"cp":[104.065735,30.659462],"name":"四川","childNum":2}},{"id":"520000","geometry":{"type":"MultiPolygon","coordinates":[["@@†G\\†lY£‘cj","@@q‚|ˆ‚mc¯vωV","@@hÑ£Is‡NgßH†›HªķÃh_¹ƒ¡ĝħń¦uيùŽgS¯JHŸ|sÝÅtÁïyMDč»eÕtA¤{b\\}—ƒG®u\\åPFq‹wÅaD…žK°ºâ_£ùbµ”mÁ‹ÛœĹM[q|hlaªāI}тƒµ@swtwm^oµˆD鼊yV™ky°ÉžûÛR…³‚‡eˆ‡¥]RՋěħ[ƅåÛDpŒ”J„iV™™‰ÂF²I…»mN·£›LbÒYb—WsÀbŽ™pki™TZĄă¶HŒq`……ĥ_JŸ¯ae«ƒKpÝx]aĕÛPƒÇȟ[ÁåŵÏő—÷Pw}‡TœÙ@Õs«ĿÛq©½œm¤ÙH·yǥĘĉBµĨÕnđ]K„©„œá‹ŸG纍§Õßg‡ǗĦTèƤƺ{¶ÉHÎd¾ŚÊ·OÐjXWrãLyzÉAL¾ę¢bĶėy_qMĔąro¼hĊžw¶øV¤w”²Ĉ]ʚKx|`ź¦ÂÈdr„cȁbe¸›`I¼čTF´¼Óýȃr¹ÍJ©k_șl³´_pН`oÒh޶pa‚^ÓĔ}D»^Xyœ`d˜[Kv…JPhèhCrĂĚÂ^Êƌ wˆZL­Ġ£šÁbrzOIl’MM”ĪŐžËr×ÎeŦŽtw|Œ¢mKjSǘňĂStÎŦEtqFT†¾†E쬬ôxÌO¢Ÿ KгŀºäY†„”PVgŎ¦Ŋm޼VZwVlŒ„z¤…ž£Tl®ctĽÚó{GA‡ŒÇgeš~Αd¿æaSba¥KKûj®_ć^\\ؾbP®¦x^sxjĶI_Ä X‚⼕Hu¨Qh¡À@Ëô}ޱžGNìĎlT¸ˆ…`V~R°tbÕĊ`¸úÛtπFDu€[ƒMfqGH·¥yA‰ztMFe|R‚_Gk†ChZeÚ°to˜v`x‹b„ŒDnÐ{E}šZ˜è€x—†NEފREn˜[Pv@{~rĆAB§‚EO¿|UZ~ì„Uf¨J²ĂÝÆ€‚sª–B`„s¶œfvö¦ŠÕ~dÔq¨¸º»uù[[§´sb¤¢zþFœ¢Æ…Àhˆ™ÂˆW\\ıŽËI݊o±ĭŠ£þˆÊs}¡R]ŒěƒD‚g´VG¢‚j±®è†ºÃmpU[Á›‘Œëº°r›ÜbNu¸}Žº¼‡`ni”ºÔXĄ¤¼Ôdaµ€Á_À…†ftQQgœR—‘·Ǔ’v”}Ýלĵ]µœ“Wc¤F²›OĩųãW½¯K‚©…]€{†LóµCIµ±Mß¿hŸ•©āq¬o‚½ž~@i~TUxð´Đhw­ÀEîô‚uĶ‚’“‚b[§nWuMÆJl½]vuıµb"]],"encodeOffsets":[[[112158,27383],[112105,27474],[112095,27476]]]},"properties":{"cp":[106.713478,26.578343],"name":"贵州","childNum":3}},{"id":"530000","geometry":{"type":"Polygon","coordinates":["@@[„ùx½}ÑRH‘YīĺûsÍn‘iEoã½Ya²ė{c¬ĝg•ĂsA•ØÅwď‚õzFjw}—«Dx¿}UũlŸê™@•HÅ­F‰¨ÇoJ´Ónũuą¡Ã¢pÒŌ“Ø TF²‚xa²ËX€‚cʋlHîAßËŁkŻƑŷÉ©h™W­æßU‡“Ës¡¦}•teèÆ¶StǀÇ}Fd£j‹ĈZĆÆ‹¤T‚č\\Dƒ}O÷š£Uˆ§~ŃG™‚åŃDĝ¸œTsd¶¶Bªš¤u¢ŌĎo~t¾ÍŶÒtD¦Ú„iôö‰€z›ØX²ghįh½Û±¯€ÿm·zR¦Ɵ`ªŊÃh¢rOԍ´£Ym¼èêf¯ŪĽn„†cÚbŒw\\zlvWžªâˆ ¦g–mĿBş£¢ƹřbĥkǫßeeZkÙIKueT»sVesb‘aĕ  ¶®dNœĄÄpªyސ¼—„³BE˜®l‡ŽGœŭCœǶwêżĔÂe„pÍÀQƞpC„–¼ŲÈ­AÎô¶R„ä’Q^Øu¬°š_Èôc´¹ò¨P΢hlϦ´Ħ“Æ´sâDŽŲPnÊD^¯°’Upv†}®BP̪–jǬx–Söwlfòªv€qĸ|`H€­viļ€ndĜ­Ćhň•‚em·FyށqóžSᝑ³X_ĞçêtryvL¤§z„¦c¦¥jnŞk˜ˆlD¤øz½ĜàžĂŧMÅ|áƆàÊcðÂF܎‚áŢ¥\\\\º™İøÒÐJĴ‡„îD¦zK²ǏÎEh~’CD­hMn^ÌöÄ©ČZÀžaü„fɭyœpį´ěFűk]Ôě¢qlÅĆÙa¶~Äqššê€ljN¬¼H„ÊšNQ´ê¼VظE††^ŃÒyŒƒM{ŒJLoÒœęæŸe±Ķ›y‰’‡gã“¯JYÆĭĘëo¥Š‰o¯hcK«z_pŠrC´ĢÖY”—¼ v¸¢RŽÅW³Â§fǸYi³xR´ďUˊ`êĿU„û€uĆBƒƣö‰N€DH«Ĉg†——Ñ‚aB{ÊNF´¬c·Åv}eÇÃGB»”If•¦HňĕM…~[iwjUÁKE•Ž‹¾dĪçW›šI‹èÀŒoÈXòyŞŮÈXâÎŚŠj|àsRy‹µÖ›–Pr´þŒ ¸^wþTDŔ–Hr¸‹žRÌmf‡żÕâCôox–ĜƌÆĮŒ›Ð–œY˜tâŦÔ@]ÈǮƒ\\μģUsȯLbîƲŚºyh‡rŒŠ@ĒԝƀŸÀ²º\\êp“’JŠ}ĠvŠqt„Ġ@^xÀ£È†¨mËÏğ}n¹_¿¢×Y_æpˆÅ–A^{½•Lu¨GO±Õ½ßMw’ÁĢۂP‚›Ƣ¼pcIJxŠ|ap̬HšÐŒŊSfsðBZ¿©“XÏÒK•k†÷Eû¿‰S…rEFsÕūk”óVǥʼniTL‚¡n{‹uxţÏh™ôŝ¬ğōN“‘NJkyPaq™Âğ¤K®‡YŸxÉƋÁ]āęDqçgOg†ILu—\\_gz—]W¼ž~CÔē]bµogpў_oď`´³Țkl`IªºÎȄqÔþž»E³ĎSJ»œ_f·‚adÇqƒÇc¥Á_Źw{™L^ɱćx“U£µ÷xgĉp»ĆqNē`rĘzaĵĚ¡K½ÊBzyäKXqiWPÏɸ½řÍcÊG|µƕƣG˛÷Ÿk°_^ý|_zċBZocmø¯hhcæ\\lˆMFlư£Ĝ„ÆyH“„F¨‰µêÕ]—›HA…àӄ^it `þßäkŠĤÎT~Wlÿ¨„ÔPzUC–NVv [jâôDôď[}ž‰z¿–msSh‹¯{jïğl}šĹ[–őŒ‰gK‹©U·µË@¾ƒm_~q¡f¹…ÅË^»‘f³ø}Q•„¡Ö˳gͱ^ǁ…\\ëÃA_—¿bW›Ï[¶ƛ鏝£F{īZgm@|kHǭƁć¦UĔťƒ×ëǟ…eċ¼ȡȘÏíBə£āĘPªij¶“ʼnÿ‡y©n‰ď£G¹¡I›Š±LÉĺÑdĉ܇W¥˜‰}g˜Á†{aqÃ¥aŠıęÏZ—Á`"],"encodeOffsets":[[104636,22969]]},"properties":{"cp":[102.712251,25.040609],"name":"云南","childNum":1}},{"id":"540000","geometry":{"type":"Polygon","coordinates":["@@hžľxŽŖ‰xƒÒVކºÅâAĪÝȆµę¯Ňa±r_w~uSÕň‘qOj]ɄQ…£Z……UDûoY’»©M[‹L¼qãË{V͕çWViŽ]ë©Ä÷àyƛh›ÚU°ŒŒa”d„cQƒ~Mx¥™caŸÛcSyF—ցk­ŒuRýq¿Ôµ•QĽ³aG{¿FµëªéĜÿª@¬·–K‰·àariĕĀ«V»Ŷ™Ĵū˜gèLǴŇƶaf‹tŒèBŚ£^Šâ†ǐÝ®–šM¦ÁǞÿ¬LhŸŽJ¾óƾƺcxw‹f]Y…´ƒ¦|œQLn°aœdĊ…œ\\¨o’œǀÍŎœ´ĩĀd`tÊQŞŕ|‚¨C^©œĈ¦„¦ÎJĊ{ŽëĎjª²rЉšl`¼Ą[t|¦St辉PŒÜK¸€d˜Ƅı]s¤—î_v¹ÎVòŦj˜£Əsc—¬_Ğ´|٘¦Avަw`ăaÝaa­¢e¤ı²©ªSªšÈMĄwžÉØŔì@T‘¤—Ę™\\õª@”þo´­xA s”ÂtŎKzó²Çȵ¢rž^nĊ­Æ¬×üGž¢‚³ {âĊ]š™G‚~bÀgVjzlhǶf€žOšfdЉªB]pj„•TO–tĊ‚n¤}®¦ƒČ¥d¢¼»ddš”Y¼Žt—¢eȤJ¤}Ǿ¡°§¤AГlc@ĝ”sªćļđAç‡wx•UuzEÖġ~AN¹ÄÅȀݦ¿ģŁéì±H…ãd«g[؉¼ēÀ•cīľġ¬cJ‘µ…ÐʥVȝ¸ßS¹†ý±ğkƁ¼ą^ɛ¤Ûÿ‰b[}¬ōõÃ]ËNm®g@•Bg}ÍF±ǐyL¥íCˆƒIij€Ï÷њį[¹¦[⚍EÛïÁÉdƅß{âNÆāŨߝ¾ě÷yC£‡k­´ÓH@¹†TZ¥¢įƒ·ÌAЧ®—Zc…v½ŸZ­¹|ŕWZqgW“|ieZYVӁqdq•bc²R@†c‡¥Rã»Ge†ŸeƃīQ•}J[ғK…¬Ə|o’ėjġĠÑN¡ð¯EBnwôɍėªƒ²•CλŹġǝʅįĭạ̃ūȹ]ΓͧgšsgȽóϧµǛ†ęgſ¶ҍć`ĘąŌJޚä¤rÅň¥ÖÁUětęuůÞiĊÄÀ\\Æs¦ÓRb|Â^řÌkÄŷ¶½÷‡f±iMݑ›‰@ĥ°G¬ÃM¥n£Øą‚ğ¯ß”§aëbéüÑOčœk£{\\‘eµª×M‘šÉfm«Ƒ{Å׃Gŏǩãy³©WÑăû‚··‘Q—òı}¯ã‰I•éÕÂZ¨īès¶ZÈsŽæĔTŘvŽgÌsN@îá¾ó@‰˜ÙwU±ÉT廣TđŸWxq¹Zo‘b‹s[׌¯cĩv‡Œėŧ³BM|¹k‰ªħ—¥TzNYnݍßpęrñĠĉRS~½ŠěVVе‚õ‡«ŒM££µB•ĉ¥áºae~³AuĐh`Ü³ç@BۘïĿa©|z²Ý¼D”£à貋ŸƒIƒû›I ā€óK¥}rÝ_Á´éMaň¨€~ªSĈ½Ž½KÙóĿeƃÆBŽ·¬ën×W|Uº}LJrƳ˜lŒµ`bÔ`QˆˆÐÓ@s¬ñIŒÍ@ûws¡åQÑßÁ`ŋĴ{Ī“T•ÚÅTSij‚‹Yo|Ç[ǾµMW¢ĭiÕØ¿@˜šMh…pÕ]j†éò¿OƇĆƇp€êĉâlØw–ěsˆǩ‚ĵ¸c…bU¹ř¨WavquSMzeo_^gsÏ·¥Ó@~¯¿RiīB™Š\\”qTGªÇĜçPoŠÿfñòą¦óQīÈáP•œābß{ƒZŗĸIæÅ„hnszÁCËìñšÏ·ąĚÝUm®ó­L·ăU›Èíoù´Êj°ŁŤ_uµ^‘°Œìǖ@tĶĒ¡Æ‡M³Ģ«˜İĨÅ®ğ†RŽāð“ggheÆ¢z‚Ê©Ô\\°ÝĎz~ź¤Pn–MĪÖB£Ÿk™n鄧żćŠ˜ĆK„ǰ¼L¶è‰âz¨u¦¥LDĘz¬ýÎmĘd¾ß”Fz“hg²™Fy¦ĝ¤ċņbΛ@y‚Ąæm°NĮZRÖíŽJ²öLĸÒ¨Y®ƌÐV‰à˜tt_ڀÂyĠzž]Ţh€zĎ{†ĢX”ˆc|šÐqŽšfO¢¤ög‚ÌHNŽ„PKŖœŽ˜Uú´xx[xˆvĐCûŠìÖT¬¸^}Ìsòd´_އKgžLĴ…ÀBon|H@–Êx˜—¦BpŰˆŌ¿fµƌA¾zLjRxжF”œkĄźRzŀˆ~¶[”´Hnª–VƞuĒ­È¨ƎcƽÌm¸ÁÈM¦x͊ëÀxdžB’šú^´W†£–d„kɾĬpœw‚˂ØɦļĬIŚœÊ•n›Ŕa¸™~J°î”lɌxĤÊÈðhÌ®‚g˜T´øŽàCˆŽÀ^ªerrƘdž¢İP|Ė ŸWœªĦ^¶´ÂL„aT±üWƜ˜ǀRšŶUńšĖ[QhlLüA†‹Ü\\†qR›Ą©"],"encodeOffsets":[[90849,37210]]},"properties":{"cp":[91.132212,29.660361],"name":"西藏","childNum":1}},{"id":"610000","geometry":{"type":"Polygon","coordinates":["@@¸œÂW¢xR­—ƒFq§uF—Œ@NŸ¢XLƒŠRMº[ğȣſï|¥J™kc`sʼnǷ’£Y³‹WN«ùM‘ëï³ÛIg÷±mTșڍÒķø©—þ¥ƒy‚ÓŸğęmWµÎumZyOŅƟĥÓ~sÑL¤µaŅY¦ocyZ{‰y c]{ŒTa©ƒ`U_Ěē£ωÊƍKù’K¶ȱÝƷ§{û»ÅÁȹÍéuij|¹cÑd‘ŠìUYƒŽO‘uF–ÕÈYvÁCqӃT•Ǣí§·S¹NgŠV¬ë÷Át‡°Dد’C´ʼnƒópģ}„ąiE˅FŸŸéGU¥×K…§­¶³B‹Č}C¿åċ`wġB·¤őcƭ²ő[Å^axwQO…ñJÙïŚ•ĤNĔŸwƇˆÄŠńwĪ­Šo[_KÓª³“ÙnK‰Çƒěœÿ]ď€ă_d©·©Ýŏ°Ù®g]±„Ÿ‡ßš×¥¬÷m\\›iaǑkěX{¢|ZKlçhLt€Ňîŵ€œè[€É@ƉĄEœ‡tƇÏ˜³­ħZ«mJ…›×¾‘MtÝĦ£IwÄå\\Õ{‡˜ƒOwĬ©LÙ³ÙT“ª¿^™¦r̛ĢŭO¥lãyC§HÍ£ßEñŸX¡—­°ÙCgpťz‘ˆb`wI„vA|¥”‡—hoĕ@E±“iYd¥OÿµÇvPŒW|mCƒĴŜǂ҈W¶¸AĜh^Wx{@„¬‚­F¸¡„ķn£P|ŸªĴ@^ĠĈæb–Ôc¶l˜Yi…–^Mi˜cϰÂ[ä€vï¶gv@À“Ĭ·lJ¸sn|¼u~a]’ÆÈtŌºJp’ƒþ£KKf~ЦUbyäIšĺãn‡Ô¿^­žŵMT–hĠܤko¼Ŏìąǜh`[tŒRd²IJ_œXPrɲ‰l‘‚XžiL§àƒ–¹ŽH˜°Ȧqº®QC—bA†„ŌJ¸ĕÚ³ĺ§ `d¨YjžiZvRĺ±öVKkjGȊĐePОZmļKÀ€‚[ŠŽ`ösìh†ïÎoĬdtKÞ{¬èÒÒBŒÔpIJÇĬJŊ¦±J«ˆ[©ārH€µàåVKe§|P²ÇÓ·vUz‰gnN¾yI@oŸHĆۄķhx“e‘n¡QQ’±”ƝJ‹ǖRbzy€¸ËАl›¼EºpĤ¼Œx¼½~Ğ’”à@†ÚüdK^ˆmÌSjˆp²—ȮµšûG™Ħ}Ħšðǚ¶òƄ€jɂz°{ºØkÈęâ¦jª‚Bg‚\\œċ°s¬Ž’]jžú ‚E”Ȍdž¬s„t‡”RˆÆdĠݎwܔ¸ôW¾ƮłÒ_{’Ìšû¼„jº¹¢GǪÒ¯ĘƒZ`ºŊƒecņąš~BÂgzpâēòYƲȐπ"],"encodeOffsets":[[113634,40474]]},"properties":{"cp":[108.948024,34.263161],"name":"陕西","childNum":1}},{"id":"620000","geometry":{"type":"MultiPolygon","coordinates":[["@@Vu_^","@@ų‹EĠtt~nkh`Q‰¦ÅÄÜdw˜Ab×ĠąJˆ¤DüègĺqBqœj°lI¡Ĩ¶šĖIHdš‰ŠjΑBаaZˆ¢KJŽ’O[|A£žDx}Nì•HUnrk„ kp€¼Y kMJn[aG‚áÚÏ[½rc†}aQxOgsPMnUs‡nc‹Z…ž–sKúvA›t„Þġ’£®ĀYKdnFwš¢JE°”Latf`¼h¬we|€Æ‡šbj}GA€·~WŽ”—`†¢MC¤tL©IJ°qdf”O‚“bÞĬ¹ttu`^ZúE`Œ[@„Æsîz®¡’C„ƳƜG²“R‘¢R’m”fŽwĸg܃‚ą G@pzJM½mŠhVy¸uÈÔO±¨{LfæU¶ßGq\\ª¬‡²I‚¥IʼnÈīoı‹ÓÑAçÑ|«LÝcspīðÍg…të_õ‰\\ĉñLYnĝg’ŸRǡÁiHLlõUĹ²uQjYi§Z_c¨Ÿ´ĹĖÙ·ŋI…ƒaBD˜­R¹ȥr—¯G•ºß„K¨jWk’ɱŠOq›Wij\\a­‹Q\\sg_ĆǛōëp»£lğۀgS•ŶN®À]ˆÓäm™ĹãJaz¥V}‰Le¤L„ýo‘¹IsŋÅÇ^‘Žbz…³tmEÁ´aйcčecÇN•ĊãÁ\\蝗dNj•]j†—ZµkÓda•ćå]ğij@ ©O{¤ĸm¢ƒE·®ƒ«|@Xwg]A챝‡XǁÑdzªc›wQÚŝñsÕ³ÛV_ýƒ˜¥\\ů¥©¾÷w—Ž©WÕÊĩhÿÖÁRo¸V¬âDb¨šhûx–Ê×nj~Zâƒg|šXÁnßYoº§ZÅŘvŒ[„ĭÖʃuďxcVbnUSf…B¯³_Tzº—ΕO©çMÑ~Mˆ³]µ^püµ”ŠÄY~y@X~¤Z³€[Èōl@®Å¼£QKƒ·Di‹¡By‘ÿ‰Q_´D¥hŗyƒ^ŸĭÁZ]cIzý‰ah¹MĪğP‘s{ò‡‹‘²Vw¹t³Ŝˁ[ŽÑ}X\\gsFŸ£sPAgěp×ëfYHāďÖqēŭOÏë“dLü•\\iŒ”t^c®šRʺ¶—¢H°mˆ‘rYŸ£BŸ¹čIoľuuI]vģSQ{ƒUŻ”Å}QÂ|̋°ƅ¤ĩŪU ęĄžÌZҞ\\v˜²PĔ»ƢNHƒĂyAmƂwVmž`”]ȏb•”H`‰Ì¢²ILvĜ—H®¤Dlt_„¢JJÄämèÔDëþgºƫ™”aʎÌrêYi~ ÎݤNpÀA¾Ĕ¼b…ð÷’Žˆ‡®‚”üs”zMzÖĖQdȨý†v§Tè|ªH’þa¸|šÐ ƒwKĢx¦ivr^ÿ ¸l öæfƟĴ·PJv}n\\h¹¶v†·À|\\ƁĚN´Ĝ€çèÁz]ġ¤²¨QÒŨTIl‡ªťØ}¼˗ƦvÄùØE‹’«Fï˛Iq”ōŒTvāÜŏ‚íÛߜÛV—j³âwGăÂíNOŠˆŠPìyV³ʼnĖýZso§HіiYw[߆\\X¦¥c]ÔƩÜ·«j‡ÐqvÁ¦m^ċ±R™¦΋ƈťĚgÀ»IïĨʗƮްƝ˜ĻþÍAƉſ±tÍEÕÞāNU͗¡\\ſčåÒʻĘm ƭÌŹöʥ’ëQ¤µ­ÇcƕªoIýˆ‰Iɐ_mkl³ă‰Ɠ¦j—¡Yz•Ňi–}Msßõ–īʋ —}ƒÁVmŸ_[n}eı­Uĥ¼‘ª•I{ΧDӜƻėoj‘qYhĹT©oūĶ£]ďxĩ‹ǑMĝ‰q`B´ƃ˺Ч—ç~™²ņj@”¥@đ´ί}ĥtPńǾV¬ufӃÉC‹tÓ̻‰…¹£G³€]ƖƾŎĪŪĘ̖¨ʈĢƂlɘ۪üºňUðǜȢƢż̌ȦǼ‚ĤŊɲĖ­KqĘʼn¼ĔDzņɾªǀÞĈĂD†½ĄĎÌŗĞrôñnŽœN¼â¾ʄľԆ|DŽŽ֦ज़ȗlj̘̭ɺƅêgV̍ʆĠ·ÌĊv|ýĖÕWĊǎÞ´õ¼cÒÒBĢ͢UĜð͒s¨ňƃLĉÕÝ@ɛƯ÷¿Ľ­ĹeȏijëCȚDŲyê×Ŗyò¯ļcÂßY…tÁƤyAã˾J@ǝrý‹‰@¤…rz¸oP¹ɐÚyᐇHŸĀ[Jw…cVeȴϜ»ÈŽĖ}ƒŰŐèȭǢόĀƪÈŶë;Ñ̆ȤМľĮEŔ—ĹŊũ~ËUă{ŸĻƹɁύȩþĽvĽƓÉ@ē„ĽɲßǐƫʾǗĒpäWÐxnsÀ^ƆwW©¦cÅ¡Ji§vúF¶Ž¨c~c¼īŒeXǚ‹\\đ¾JŽwÀďksãA‹fÕ¦L}wa‚o”Z’‹D½†Ml«]eÒÅaɲáo½FõÛ]ĻÒ¡wYR£¢rvÓ®y®LF‹LzĈ„ôe]gx}•|KK}xklL]c¦£fRtív¦†PŨ£","@@Mš T‡¥"]],"encodeOffsets":[[[108619,36299],[108594,36341],[108600,36306]]]},"properties":{"cp":[103.823557,36.058039],"name":"甘肃","childNum":3}},{"id":"630000","geometry":{"type":"MultiPolygon","coordinates":[["@@InJo","@@CƒÆ½OŃĦsΰ~dz¦@@“Ņiš±è}ؘƄ˹A³r_ĞŠǒNΌĐw¤^ŬĵªpĺSZg’rpiƼĘԛ¨C|͖J’©Ħ»®VIJ~f\\m `Un„˜~ʌŸ•ĬàöNt•~ňjy–¢Zi˜Ɣ¥ĄŠk´nl`JʇŠJþ©pdƖ®È£¶ìRʦ‘źõƮËnŸʼėæÑƀĎ[‚˜¢VÎĂMÖÝÎF²sƊƀÎBļýƞ—¯ʘƭðħ¼Jh¿ŦęΌƇš¥²Q]Č¥nuÂÏriˆ¸¬ƪÛ^Ó¦d€¥[Wà…x\\ZŽjҕ¨GtpþYŊĕ´€zUO뇉P‰îMĄÁxH´á˜iÜUà›îÜՁĂÛSuŎ‹r“œJð̬EŒ‘FÁú×uÃÎkr“Ē{V}İ«O_ÌËĬ©ŽÓŧSRѱ§Ģ£^ÂyèçěM³Ƃę{[¸¿u…ºµ[gt£¸OƤĿéYŸõ·kŸq]juw¥Dĩƍ€õÇPéĽG‘ž©ã‡¤G…uȧþRcÕĕNy“yût“ˆ­‡ø‘†ï»a½ē¿BMoᣟÍj}éZËqbʍš“Ƭh¹ìÿÓAçãnIáI`ƒks£CG­ě˜Uy×Cy•…’Ÿ@¶ʡÊBnāzG„ơMē¼±O÷õJËĚăVŸĪũƆ£Œ¯{ËL½Ìzż“„VR|ĠTbuvJvµhĻĖH”Aëáa…­OÇðñęNw‡…œľ·L›mI±íĠĩPÉ×®ÿs—’cB³±JKßĊ«`…ađ»·QAmO’‘Vţéÿ¤¹SQt]]Çx€±¯A@ĉij¢Ó祖•ƒl¶ÅÛr—ŕspãRk~¦ª]Į­´“FR„åd­ČsCqđéFn¿Åƃm’Éx{W©ºƝºįkÕƂƑ¸wWūЩÈFž£\\tÈ¥ÄRÈýÌJ ƒlGr^×äùyÞ³fj”c†€¨£ÂZ|ǓMĝšÏ@ëÜőR‹›ĝ‰Œ÷¡{aïȷPu°ËXÙ{©TmĠ}Y³’­ÞIňµç½©C¡į÷¯B»|St»›]vƒųƒs»”}MÓ ÿʪƟǭA¡fs˜»PY¼c¡»¦c„ċ­¥£~msĉP•–Siƒ^o©A‰Šec‚™PeǵŽkg‚yUi¿h}aH™šĉ^|ᴟ¡HØûÅ«ĉ®]m€¡qċ¶±ÈyôōLÁst“BŸ®wn±ă¥HSò뚣˜S’ë@לÊăxÇN©™©T±ª£IJ¡fb®ÞbŽb_Ą¥xu¥B—ž{łĝ³«`d˜Ɛt—¤ťiñžÍUuºí`£˜^tƃIJc—·ÛLO‹½Šsç¥Ts{ă\\_»™kϊ±q©čiìĉ|ÍIƒ¥ć¥›€]ª§D{ŝŖÉR_sÿc³Īō›ƿΑ›§p›[ĉ†›c¯bKm›R¥{³„Z†e^ŽŒwx¹dƽŽôIg §Mĕ ƹĴ¿—ǣÜ̓]‹Ý–]snåA{‹eŒƭ`ǻŊĿ\\ijŬű”YÂÿ¬jĖqŽßbЏ•L«¸©@ěĀ©ê¶ìÀEH|´bRľž–Ó¶rÀQþ‹vl®Õ‚E˜TzÜdb ˜hw¤{LR„ƒd“c‹b¯‹ÙVgœ‚ƜßzÃô쮍^jUèXΖ|UäÌ»rKŽ\\ŒªN‘¼pZCü†VY††¤ɃRi^rPҒTÖ}|br°qňb̰ªiƶGQ¾²„x¦PœmlŜ‘[Ĥ¡ΞsĦŸÔÏâ\\ªÚŒU\\f…¢N²§x|¤§„xĔsZPòʛ²SÐqF`ª„VƒÞŜĶƨVZŒÌL`ˆ¢dŐIqr\\oäõ–F礻Ŷ×h¹]Clـ\\¦ďÌį¬řtTӺƙgQÇÓHţĒ”´ÃbEÄlbʔC”|CˆŮˆk„Ʈ[ʼ¬ňœ´KŮÈΰÌζƶlð”ļA†TUvdTŠG†º̼ŠÔ€ŒsÊDԄveMg"]],"encodeOffsets":[[[105308,37219],[95370,40081]]]},"properties":{"cp":[101.778916,36.623178],"name":"青海","childNum":2}},{"id":"640000","geometry":{"type":"Polygon","coordinates":["@@KëÀęĞ«OęȿȕŸı]ʼn¡åįÕÔ«Ǵõƪ™ĚQÐZhv K°›öqÀѐS[ÃÖHƖčË‡nL]ûc…Ùß@‚“ĝ‘¾}w»»‹oģF¹œ»kÌÏ·{zPƒ§B­¢íyÅt@ƒ@áš]Yv_ssģ¼i߁”ĻL¾ġsKD£¡N_…“˜X¸}B~Haiˆ™Åf{«x»ge_bs“KF¯¡Ix™mELcÿZ¤­Ģ‘ƒÝœsuBLù•t†ŒYdˆmVtNmtOPhRw~bd…¾qÐ\\âÙH\\bImlNZŸ»loƒŸqlVm–Gā§~QCw¤™{A\\‘PKŸNY‡¯bF‡kC¥’sk‹Šs_Ã\\ă«¢ħkJi¯r›rAhĹûç£CU‡ĕĊ_ԗBixÅُĄnªÑaM~ħpOu¥sîeQ¥¤^dkKwlL~{L~–hw^‚ófćƒKyEŒ­K­zuÔ¡qQ¤xZÑ¢^ļöܾEpž±âbÊÑÆ^fk¬…NC¾‘Œ“YpxbK~¥Že֎ŒäBlt¿Đx½I[ĒǙŒWž‹f»Ĭ}d§dµùEuj¨‚IÆ¢¥dXªƅx¿]mtÏwßR͌X¢͎vÆzƂZò®ǢÌʆCrâºMÞzžÆMҔÊÓŊZľ–r°Î®Ȉmª²ĈUªĚøºˆĮ¦ÌĘk„^FłĬhĚiĀ˾iİbjË"],"encodeOffsets":[[109366,40242]]},"properties":{"cp":[106.278179,38.46637],"name":"宁夏","childNum":1}},{"id":"650000","geometry":{"type":"Polygon","coordinates":["@@QØĔ²X¨”~ǘBºjʐߨvK”ƔX¨vĊOžÃƒ·¢i@~c—‡ĝe_«”Eš“}QxgɪëÏÃ@sÅyXoŖ{ô«ŸuX…ê•Îf`œC‚¹ÂÿÐGĮÕĞXŪōŸMźÈƺQèĽôe|¿ƸJR¤ĘEjcUóº¯Ĩ_ŘÁMª÷Ð¥Oéȇ¿ÖğǤǷÂF҇zÉx[]­Ĥĝ‰œ¦EP}ûƥé¿İƷTėƫœŕƅ™ƱB»Đ±’ēO…¦E–•}‘`cȺrĦáŖuҞª«IJ‡πdƺÏØZƴwʄ¤ĖGЙǂZ̓èH}ÚZצʥĪï|ÇĦMŔ»İĝLj‹ì¥Βœba­¯¥ǕǚkĆŵĦɑĺƯxūД̵nơʃĽá½M»›òmqóŘĝč˾ăC…ćāƿÝɽ©DZŅ»ēėŊLrÁ®ɱĕģʼnǻ̋ȥơŻǛȡVï¹Ň۩ûkɗġƁ§ʇė̕ĩũƽō^ƕŠUv£ƁQï“Ƶkŏ½ΉÃŭdzLқʻ«ƭ\\lƒ‡ŭD‡“{ʓDkaFÃÄa“³ŤđÔGRÈƚhSӹŚsİ«ĐË[¥ÚDkº^Øg¼ŵ¸£EÍö•€ůʼnT¡c_‡ËKY‹ƧUśĵ„݃U_©rETÏʜ±OñtYw獃{£¨uM³x½şL©Ùá[ÓÐĥ Νtģ¢\\‚ś’nkO›w¥±ƒT»ƷFɯàĩÞáB¹Æ…ÑUw„੍žĽw]•kE½Èå~‡Æ÷QyŠěCFmĭZī—ŵVÁ™ƿQƛ—ûXS²‰b½KϽĉS›©ŷXĕŸ{ŽĕK·¥Ɨcqq©f¿]‡ßDõU³h—­gËÇïģÉɋw“k¯í}I·šœbmœÉ–ř›īJɥĻˁ×xo›ɹī‡l•c…¤³Xù]‘™DžA¿w͉ì¥wÇN·ÂËnƾƍdǧđ®Ɲv•Um©³G\\“}µĿ‡QyŹl㓛µEw‰LJQ½yƋBe¶ŋÀů‡ož¥A—˜Éw@•{Gpm¿Aij†ŽKLhˆ³`ñcËtW‚±»ÕS‰ëüÿďD‡u\\wwwù³—V›LŕƒOMËGh£õP¡™er™Ïd{“‡ġWÁ…č|yšg^ğyÁzÙs`—s|ÉåªÇ}m¢Ń¨`x¥’ù^•}ƒÌ¥H«‰Yªƅ”Aйn~Ꝛf¤áÀz„gŠÇDIԝ´AňĀ҄¶ûEYospõD[{ù°]u›Jq•U•|Soċxţ[õÔĥkŋÞŭZ˺óYËüċrw €ÞkrťË¿XGÉbřaDü·Ē÷Aê[Ää€I®BÕИÞ_¢āĠpŠÛÄȉĖġDKwbm‡ÄNô‡ŠfœƫVÉvi†dz—H‘‹QµâFšù­Âœ³¦{YGžƒd¢ĚÜO „€{Ö¦ÞÍÀPŒ^b–ƾŠl[‚vt×ĈÍE˨¡Đ~´î¸ùÎh€uè`¸ŸHÕŔVºwĠââWò‡@{œÙNÝ´ə²ȕn{¿¥{l—÷eé^e’ďˆXj©î\\ªÑò˜Üìc\\üqˆÕ[Č¡xoÂċªbØ­Œø|€¶ȴZdÆÂšońéŒGš\\”¼C°ÌƁn´nxšÊOĨ’ہƴĸ¢¸òTxÊǪMīИÖŲÃɎOvˆʦƢ~FއRěò—¿ġ~åŊœú‰Nšžš¸qŽ’Ę[Ĕ¶ÂćnÒPĒÜvúĀÊbÖ{Äî¸~Ŕünp¤ÂH¾œĄYÒ©ÊfºmԈĘcDoĬMŬ’˜S¤„s²‚”ʘچžȂVŦ –ŽèW°ªB|IJXŔþÈJĦÆæFĚêŠYĂªĂ]øªŖNÞüA€’fɨJ€˜¯ÎrDDšĤ€`€mz\\„§~D¬{vJÂ˜«lµĂb–¤p€ŌŰNĄ¨ĊXW|ų ¿¾ɄĦƐMT”‡òP˜÷fØĶK¢ȝ˔Sô¹òEð­”`Ɩ½ǒÂň×äı–§ĤƝ§C~¡‚hlå‚ǺŦŞkâ’~}ŽFøàIJaĞ‚fƠ¥Ž„Ŕdž˜®U¸ˆźXœv¢aƆúŪtŠųƠjd•ƺŠƺÅìnrh\\ĺ¯äɝĦ]èpĄ¦´LƞĬŠ´ƤǬ˼Ēɸ¤rºǼ²¨zÌPðŀbþ¹ļD¢¹œ\\ĜÑŚŸ¶ZƄ³âjĦoâŠȴLʉȮŒĐ­ĚăŽÀêZǚŐ¤qȂ\\L¢ŌİfÆs|zºeªÙæ§΢{Ā´ƐÚ¬¨Ĵà²łhʺKÞºÖTŠiƢ¾ªì°`öøu®Ê¾ãÖ"],"encodeOffsets":[[88824,50096]]},"properties":{"cp":[87.617733,43.792818],"name":"新疆","childNum":1}},{"id":"110000","geometry":{"type":"Polygon","coordinates":["@@R„ºaY՜™QaúÍÔiþĩȨWĢ‹ü|Ėu[qb[swP@ÅğP¿{\\‡¯Y²·‘Ѩj¯ŠX\\¯œMSvU¯YIŕY{[fk­VÁ›ûtŷmiÍt_H»Ĩ±d`й­{bw…Yr“³S]§§o¹€qGtm_Sŧ€“oa›‹FLg‘QN_•dV€@Zom_ć\\ߚW´—€ÕiœRcfi…Ÿ’o§ËgToÛJíĔóu…|wP¤™XnO¢ÉŠŦ¯pNÄā¤zâŖÈRpŢZŠœÚ{GŠrFt¦Òx§ø¹RóäV¤XdˆżâºWbwڍUd®bêņ¾‘jnŎGŃŶŠnzÚScîĚZŠen¬"],"encodeOffsets":[[119421,42013]]},"properties":{"cp":[116.405285,39.904989],"name":"北京","childNum":1}},{"id":"120000","geometry":{"type":"Polygon","coordinates":["@@ŬgX§Ü«E…¶Ḟ“¬O_™ïlÁg“z±AXe™µÄĵ{¶]gitgšIj·›¥ì_iU€‰¨ÐƎk}ĕ{gB—qGf{¿a†U^fI“ư‹³õ{YƒıëNĿžk©ïËZukāA‘īlĕĥs¡bġ«@dekąI[nlPqCnp{ˆō³°`{PNdƗqSÄĻNNâyj]äžÒD ĬH°Æ]~¡HO¾ŒX}ÐxŒgp“gWˆrDGˆŒpù‚Š^L‚ˆrzWxˆZ^¨´T\\|~@I‰zƒ–bĤ‹œjeĊªz£®Ĕvě€L†mV¾Ô_ȔNW~zbĬvG†²ZmDM~”~"],"encodeOffsets":[[120237,41215]]},"properties":{"cp":[117.190182,39.125596],"name":"天津","childNum":1}},{"id":"310000","geometry":{"type":"MultiPolygon","coordinates":[["@@ɧư¬EpƸÁx]‡","@@©„²ƒ","@@”MA‹“˜","@@QpªK†WT…‰‰§¨","@@bŝՕÕEȣÚƥêImɇǦèÜĠŒÚÄÓŴ·ʌÇ","@@S‚ô¤r]ì†ƬįǜûȬɋŠŭ™×^‰sYŒɍDŋ‘ŽąñCG²«ªč@h–_p¯A{‡oloY€¬j@IJ`•gQڙpptǀ^MIJvtbe´Rh@–oj¨ž","@@ÆLH{a}Eo¦"]],"encodeOffsets":[[[124702,32062],[124547,32200],[124808,31991],[124726,32110],[124903,32376],[124065,32166],[124870,31965]]]},"properties":{"cp":[121.472644,31.231706],"name":"上海","childNum":7}},{"id":"500000","geometry":{"type":"Polygon","coordinates":["@@TÂÛ`Ùƅően½S‹êqDu[R‹å͹ˆ÷eXÍy‘¸_ĺę}÷`M¯ċfCVµqʼn÷Z•gg‘Œ^d½pDO‡ÎCnœ^uf²ènh¼WtƏxRGg¦…pV„†FI±ŽG^ŒIc´ec‡’G•ĹÞ½sëÆNä̤“Kӈe¯|‚R¸§L‘ÜkPoïƭNï¶}Gy“wdiù©nkĈzjŸ•@™Óc£»Wă¹Óf§c[µŠo·Ó|MvÛaqœ½«‡èœ’\\ÂoVnŽÓØÍ™²«‹bq¿eƒhCž„€‹Ĝ^Qž~ Évý‡ş¤²Į‰pEĶyhsŊwH‹½‡š¿gņ›¡ýE¡ya£³t\\¨\\vú¹¼©·Ñr_oÒý¥‚‘et³]—Et©uÖ¥±ă©KVeëƒ]}wVPÀFA¨ąB}qTjgRemfFm‰QF݅My˜ù•nцAmыCaƒwŒu_p—¯sfۍ_g†“I_pNysBЦzG¸rHe‚„N\\CvEsÐñÚkcD‘ÖĉsaQ¯€}_U‡†zÁēˆ}Ÿ^R •Äd^ÍĸZ¾·¶ƒ`wećJEž¹vÛ·Hgƒ‚éFXjÉê`|yŒpxkAwœWĐpb¥eOsmzwqChóUQl¥F^laf‹anòsr›EvfQdÁUVf—ÎvÜ^efˆtET¬ôA\\œ¢sJŽnQTjP؈xøK|nBz‰„œĞ»LY‚…FDxӄvr“[ehľš•vN”¢o¾NiÂxGp⬐z›bfZo~hGi’]öF|‰|Nb‡tOMn eA±ŠtPT‡LjpYQ|†SH††YĀxinzDJ€Ìg¢và¥Pg‰_–ÇzII‹€II•„£®S¬„Øsμ–¥¨^LšnGIJļIJƤjÎƀƾ¹¸ØÎezĆT¸}êЖqHŸðqĖ䒊¥^CƒIj–²p…\\_ æüY|[YxƊæuž°xb®…Űb@~¢NQt°¶‚S栓Ê~rljĔëĚ¢~šuf`‘‚†fa‚ĔJåĊ†nÔ]„jƎćÊ@Š£¾a®£Ű{ŶĕF‹ègLk{Y|¡ĜWƔtƬJÑxq‹±ĢN´‰òK‰™–LÈüD|s`ŋ’ć]ƒÃ‰`đŒMùƱ¿~Y°ħ`ƏíW‰½eI‹½{aŸ‘OIrÏ¡ĕŇa†p†µÜƃġ‰²"],"encodeOffsets":[[111728,31311]]},"properties":{"cp":[106.504962,29.533155],"name":"重庆","childNum":1}},{"id":"810000","geometry":{"type":"MultiPolygon","coordinates":[["@@AlFi","@@mŽp","@@EpHo","@@rMUw‡AS¬€]","@@ea¢pl¸Eõ¹‡hj[ƒ]ÔCΖ@lj˜¡uBXŸ…•´‹AI¹…[‹yDUˆ]W`çwZkmc–…M›žp€Åv›}I‹oJlcaƒfёKްä¬XJmРđhI®æÔtSHn€Eˆ„ÒrÄc"]],"encodeOffsets":[[[117111,23002],[117072,22876],[117045,22887],[116882,22747],[116975,23082]]]},"properties":{"cp":[114.173355,22.320048],"name":"香港","childNum":5}},{"id":"820000","geometry":{"type":"Polygon","coordinates":["@@œá—w{ÎrŽ"],"encodeOffsets":[[116285,22746]]},"properties":{"cp":[113.54909,22.198951],"name":"澳门","childNum":1}}],"UTF8Encoding":true});
}));
\ No newline at end of file
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module.
define(['exports', 'echarts'], factory);
} else if (typeof exports === 'object' && typeof exports.nodeName !== 'string') {
// CommonJS
factory(exports, require('echarts'));
} else {
// Browser globals
factory({}, root.echarts);
}
}(this, function (exports, echarts) {
var log = function (msg) {
if (typeof console !== 'undefined') {
console && console.error && console.error(msg);
}
}
if (!echarts) {
log('ECharts is not Loaded');
return;
}
if (!echarts.registerMap) {
log('ECharts Map is not loaded')
return;
}
echarts.registerMap('广东', {"type":"FeatureCollection","features":[{"id":"440100","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@EHGTANB@DAHBPHFEDDNFRPBFKFEHSLKAGDUCAA@CGA@AEAAHQCGHEDWFGDCDAHAbI@ABADCDAFGA@DB@AFJFEPFB@Dg\\EBCHBJBBNB@DAF@H@F@LCPHFDCDFJBFDIRMPSHGFEACCA@BHABEFMFKJCF@JDJ@J@DNJCFIBABAFBNHHABALREDHABEAABGbDJBFMEqC]DCBKLOLUHIFCJAFDHCD@BL@VL`@BDA@@BHFABBD@FFB@FADECGBCPADEXB@L@BDDdADg@EDCF@TFHPPTHDHAL@HBJIRQPINM@MLBNCPFDF^E\\EPEFQDADAJABQBEH@HBFABGHIBMHKNGQS@CHMO@AF@BIGKSBKCCCGCUACA@CHKBKJO@QAEEAOAMHIAOBECE@@DLNBHFBAHA@AB@TEFE@EDGHCDDBCJCDC@@HDXBDFBAHMD@CA@KJHRDDJHHJJN@DEFGBE@KIAEEEICAEA@CBCN@FCDA@GCMFS@ED@RAFEFA@CDJHGD@DBBHB@FEBDDHBAFCH@DHDBDF@DFF@FBED@BEBCJADC@ABGVGH@BBBLF@JCDCCKAEKCCG@CCIKE@CH@FFXHDFAB@DDHNBJAHD@FDPCLHHGHAF@PDHGBBEHJBBBCB@BPHFERBBFH@NGNDHHBFDFHDRBBHNLLCHHPADDHBDANHDFGJDBBBFIHDJHTERAACPGJF@HHBFAHHDCALDF@OhFFD@BGJJFBJHDJHBDHADF@FKJHJCFOLFVAHXPLANDBRJAJEF@FGB@BD@HCHBDGPDBLIPJNBHBFHJDDBBCDIDABHPJDFBDFVFJABSF@DBBXDVELBLAHBBFAN@DJ@FBBBDNDDNBDBDNHL@JLVFVFFFAF@FF@H@NBFBHBDLCNAHBHCDGHAZBPFB@HGPHH@FC@CIAFCB@@GHCNGD@PEDCCEBCHG@GACRKHAFFJCF@HELBLBFCH@DBDDFBFAFBfVCDI@HFJBXCJI@IHABABEEEBGLDNKN@@KTIBCBFNPTNEFAF@BDBBBLFFFAJFDLBJADFIHE@CF@JHDATFFD@KPLXIFCLEPMHGLAFHDDDCDE@@DB@HAZVAFDJFBBJBDJHPFDA@CHDDAF@HGHBRADCFB@JFPF@HIH@FADGHARLF@DHEFEPFFBLITGDBFFHLGBDF@DEAGB@FB@FB@D@FEF@LHB@LILHF@R\\JDFHL\\@JLFBHHBLANBFGDBJDFFVJLJPFTD\\RR@DBH@BGLEBBDD@DFHFGH@DBH@DEBCFAHBNFJDHAFBF@@EDABCD@DDH@LHNBHCLHDACEZDFGRHHAJ@FFB@DBB@@ABCD@FC@AFCBCBBD@HAD@DCFA@ABAACBCCG@GBEHC@MDA@CHCBCAEB@@G@AEI@CBCHADEBQFEAABAFGDADCACC@AIC@@G@MGAOGGKAKDIJAJGGEKCAEBCRKPADEHOCBUCEAKEEE@EOIEOC@CHCD@DAFGAGBBNJDDLI@ECAEUSKCSAME@E@MEQE@GBICKIEBGFQBCC@ECAEBQGG@OYEAQ@CG@GAOGEEKGEQGUAIC]CGGRI@EQDCQCIKAQBM@@CFILABCGOKACAEMDCBEBAB@JBR@BCAEDCHAJBbODKEKAIDEHEKGCEEK@GNEFEDMFE@IDKDEJEPCHCDEAE@EFILCDGNEFKDCHAP@FEDGDCT@LA@CKQEAKF@CDELERDPALDF@JCJBFCJIOMGAQ@KDAACQDMCMDGNOR@JCJBJFDABA@EGKFKEI@EFEVMDCBGEISIKGACBENWDODEPKBC@AGIGIG@@ACAGB@CJE@OFGBEHGAKBKCBK@GDEBG@AB@FCBYLGFFTCNGFQDIHEFGAOCcFIHE@KCCECGEI@GFEDIHAEK@KEICUCA@CFGAGIQMKCEPGHEJCDEAGACCAAIFGDMHMDEFABEAIAAI@GBCOGCCECOBE@EHOHAJBHC@ECIEEKCIBWBCAIKQACEAEKEAAAGBEEK@ECE@GA@@EC@@MGFIBcPUDYCKBIDEBoC_XSBIAMC_Q[UKCWAQIA@BLABC@GAGDQM@AFCEICA{@KGGIIESIqKK@MKK[EGQMQ[AG@IBcLyJWHKHKRo\\{NOHM@G@MG_@YNWNSx{^_¸Í‚ÓpġEMSKmKoC}DY‚e€KL]RSBWTAAEDEEGFEEEJs’GN@DNBBRcZji`MLHPiNMB]B[JfaX"],"encodeOffsets":[[116086,23320]]},"properties":{"cp":[113.280637,23.125178],"name":"广州市","childNum":1}},{"id":"440200","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@ABBHADCH@@HFRBHDHDAFMLCFLJ@TDJAFCDGBBFEBBHKBCHC@EBDFCBAHBDFJANIDEHEDC@@F@JFB@DD@BD@DFFD@@DB@BDLDBF@DHHEH@JFHJHJHLJABODEBCDI\\QN@FEFAHILQNIN@FBRDNABBJFJdRNHJHFHDBZBJBJFHF@HIRQAEDEDGTGLAFEDCBED@NADIDYEEBGLC@ECC@OJGCCIACC@KHSBCABKAACAGDCJ[EKG@EEAIDINOBEDIAGAGBCFADBFBDAB@BDHFF@HFFCDC@AAEDERCDIFBN@HEVBDDDBHEJCD@DCJ@FDBFAPIHGH@DBFJPAHLDDFABCFUF_ZUVGDBDF@TJNALBDJDN@FDFRDBPBFBBDHPR@THB@FGJAHDHAB@JFJCDGDAL@BBBNFDBJHBBB@HBBF@FCFDNLJBFJLDVBJB@FAFBDJDFHDTNHADGBAB@DBBVHF@HCJBXMH@BBA^GRMLAD@DL@HDBJADCA@ECCCBADBDJPFFHBL@TBFBBB@FE@KCG@ABBFFFLCFDEXDFVAHAFEFWJIF@TJVFLLFHBPJJVPdND@HCHOFGJED@DDBFBBD@LEHABACEHED@B@BDH@DH@HEJBFDHP@JADA@C@@MCECHKJCFQFAACAE@IFOHKAEAW@SH@FDDHFBHBFCPBZYNBNMJqFKD@HDPBB@FEDEDAVJJANCLKB[FKFEJCLOHAH@HDRPF@HGH@DDJPHBNEHAH@LDB@JERA@CGK@CFGHGDBHHJJFLF@JABADMBAH@FMRELAPEJEBCBQG]DAAMDEHBJNHFLHPBDLDCFDFADADBBCDDABDBJDDEDBBABB@BFB@CBAD@@DD@BEN@@BF@BDB@BDBADFAFFBFCBDJ@BAD@HCB@JLALFLDBXAFDHAHB@DABGD@DLAJEDB@DB@HAB@FINIDADBALFJFHHDHADCJY@KLK@IK@CABCBAJ@PBRHJAJCN@LCN@LALDDBJNJLBTHJDJHDHD\\DFBHLRHDB@DAJLNBF@DENBDBBNBDD@DCFKFAD@DFDAFAHBDDDPBRFRCDBAFB@NAJ@LELCLDBFPDLJFHVIV@RKFBFBF@FABCBECI]UKMBKHKDCNARGF@FI@KPBBCFAJHJFP@DA@EFC@AKGMAEAKIB@LATGPABCBCEAKA@ATW@EAEAAGAEDGBCC@CAEIEAE@EBEJKRALGLE@ACCKCI@OBCAKIE_EEIEE@FEBGBCFCNEDABECCAMBCFAJAD@NT@DDLDDBHJHRFFMB@DFLDNEJJVVJFNFJJF@HAHAHJFBCD@BF@JDL@BABIB@NNHDR@BAFMDAF@HDTTH@TIDGAOBAVBPAHGBBBFLBlOJ@HBFPDBbEFCAGFIRBDBGFCBCJDBHHFAHHHCBB@BAJMFAB@FBTBBH@@@GF@DRHB@NCFCZ@RITET@J@BADMLBCC@ABAD@DBHNPBLFDNPBFALBHDJHDF@BGHHBBBFRFNDTNL@DDDVDHCDACGBCH@BCHALIHAJLN@FBZNBHADEF@L@BNDDBF@D@XXHDJBHGJAPKTCLGLBBCACACG@AO@GFEJB@D@RBFJ@\\SBICGAMHABAIOBAZCLS@EDCJEBCBMTMTDFAPFPCTSLEL@DDDJDBJEFBDABIBAJDD@H@@CCG@CBALAHE@IDICE@IBAPBFAPOBG@KBGA[DEHE@ACAQAA@BOBAPHBA@COKEAEBIJGDA@YUCAGBGAECBE@ACAIA@AFG@EAEJ@@@@CKKIBKBEAAADKDCHABA@GD@AAGGACBARKL@BC@CB@ZADBL@DABKDAN@BA@EGSFC@GFKEQACK@IEMCGIGCEBWIIBGDI@YGCCAEBMWUOIKC]@WHICCPC@MK@CFG@AA@C@CHCBGDKB_@MAIKISIKAEIGACBE@KCMEIGGGCG@OHEECKASAGGCKAODK@C@AHCBCASGGAEEM@@GDWCECCGCQEe@CCAGJI@CACGA[AMCGE@EFGAGCE@ALK@CCQCCKGA@@CTQFIBIC_CGOGEIEAIAICCMGGMKAABEAAMUAIDIQCKKAGFQ@MACQEACAIFEHIDQM[CE[GKMIEMCQBICGEEECM@QCIIEQ@MEOBEACB[AiQK@CACFEBKDcCICAGBGLIFILG@C@ILGBAECGCE@@JCDE@CG@SHBJ@HHHBZBHBBILEPEJCJAVJJ@VGFMJEZ@FG@MPCDG@ICEDG@ELMFIBSBCDCHA@EDIBOCCGAQCEAKMDIAEGAUEAAACDGLGBE@QFMFGZQFKRIBCAEGEOCKCMOEOWMYUMAEEOK@EHM@IJIHGBEKY@IDYCOBAF@RFbBLENQD@@EAEIKMGOY@CBCNOBIQaGKGEAIDIACKCIEAEDCJ@P@J@BCACE@_AA@AC@CFCPGHIBEPcBCEI@C\\GNEFGBMOSAEBGDE\\SHSFIHGJCROAMBEDED@FBFVRNF@ZUHAHDJHDDBBH@FCJFTC\\ABDD@BA@IDEL@FFFADEBGHIDAJBFEREJIFBJFJED@DJFB@DKJEVSJCBNFBN@XC@GAC@CJ@FJFH@BA@IDANHDFBLFDBHDDFLB@HB\\VDD@HBBJFNJ`LRNDFLXDBB@DCJWDATIPBLCDCBKFKKQAEBGAMDGJIFE@EAGCGEEMCSAQCICIIACFWDCFAEAEG@A@EAEI@EDCFEBC@C@CGECC@CF@HBJAF@@E@EECMEIIEEIBEGG@AA@CCA@GDORABG@CC@EHMACMOIUKIMEIEM@UIEECEEEA[DEDIBG@EaAACEUA@ILED]CCA@EHGGEKCEGCIFMLGCCMF@MCG@CFMFCBEGAAACG@GFGCEGCCI@GDAAEBEDGCESCAECMDCACECIACC@AHC@IIMEAC@CAAGUJOPMGEEK@KCE@GAED@DADIFEBED@FKAECBAAACBI@IBAFC@CJG@IGK@KBKF@HHFNZHBFHCBEACDHHD@BBFAHFJBLH@HJDGBAHCBEAGBCIEEG@EEGCEBKMG@GCOBKDGFECG@IEGHK@KNBJQFG@IE@ACCG@COGKGCMAADEDKACDE@DCEEC@ICC@EBAADEGCICICIBI@IIE@CHMAIAANC@M@QJEEGKBEOYECBEEGACIFAF@HDHADBDAB@BEBCDC@GBC@AAADED@BEDC@AD@BA@CAA@EEI@GBQGEHYCDFCBKGGDMAKGG@CCC@ADCB@FE@EAGBICMEGAEBADCFG@CAG@EHEG@CCCAAKFAHG@CAQ@[QSCGAGCKIUIEEICCAEHGA@HCD@DBB@H@PCDCAABAHIJCBE@EDKBFFGH@PADEBAHCBM@CDGEGDC@GCEFEJBDCDEBE@AB@FDFADMHEJCBCDJHJBJNLJDDNXLHLAHID@PLJBFADEDCFBFD@FADBJJJP\\FBHCF@RNN@FD@FEL@DDBN@BD@LNF@D@BABK@CB@TBFD@FF@DGFAF@LDDDBTHFRF@P@FFFH@FEFABI@ADANEH@DJFDFbNXVJFHBFABAACFAXFRAFDBNABOEAPMBEBUHGH@FCB@HEFFLIFBN@JGDGDE@C@CIG@CDDL@LCBEDIDCAEGCAMJOHAD@LBDLBFDBD@DMBDJBNE\\BFHFBPIVINGBIAUHGH@JDFKF@J@BKRGDCL@DJLA^ADG@QHGJEBIAIHKBGDAF@NALSHu@ECAYCIBEGGOB_hQNELANBHABIDEJOJGBEAEBaXCDAJMDGFA@ICU@CBBJCDIEABEDAHHN@DCFEBMBEACG@QCEEBALEHKAS@OFC@GEEBEEGWEACCAWMGGKA@CBCJMPC@A@KSGEM@EDGHEBKUKKMCYCMGE@SJMBCBCBIVJN@JCBI@CA[DOCMBADBJ@DCBC@CAIMOOUM_AGBKAMM]EIIGBEFYFKFEDAROJCDALGFCH@XCDCAIMCAEAC@AHABCAGKCAKBCCGA@EEKGGAGCEICIBSLE@UIE@GDIBAAAMEEEAEFAFBDBHG@ADMBKD]`KHC@UGGECG@GIQEQKDSGO@OHEFKACHCDEBIJKFCHC@AJABBHGVQHURCD@LOTA@GAIACDEJBJINGNCBGACD@JFXGHSJKAGDKBKAE@GHA@G@EAG@OGA@@HABC@QIC@CDADAd\\`DN@FELAFJJXJDD@LKT@RGPATEN@DFFFB^APBBBCLBDF@FFHL@FIPAN@DDDJBDDZnAFEHLHHL@FIR@FGD@FPNfNDDBJHBDAXXdDFDBHDT@FEJMHAFA^EDEDAD@FDPAFADIFGL"],"encodeOffsets":[[115707,25526]]},"properties":{"cp":[113.591544,24.801322],"name":"韶关市","childNum":1}},{"id":"440300","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@ABD@AA"],["@@CEMIqakYK@MHWZMbEh@NHT@HOtEB[IEBCB@JBNFP@FCFGJ{pi‚SdKbCLMdI`ANATVl\\RZLHJDLENHHLFBFCF@DFBHEHBFFAFDFTBBFDA@HFADFDAFDFRCHBDAHGDDD@FDFFD@FH@LFFCD@DEFDBA@BFFP@@FB@CFADF@@ADFADHF@DA@BBD@CA@CD@@DBA@CDA@BABDA@DBABDABDADDEFD@@BBABBBD@ECAFA@@BCBBBCFBDDB@KMCHCABAB@@CD@CABED@@B@CD@B@CABCDDBD@CD@FBEEF@A@@CFA@AJDBABF@EC@BCFDBDBBDADDD@D@RCI@EBCAEBEA@ABAEB@CFCDABACBCABBCBCDEACBK@CFCABGBGJ@DEHBBCBDHBHAJBRBAADABAPCDGJEBAAABCACDADBBCB@HFBEBAD@BBFADADABEBAGACEFIBBAFB@@ADBACDB@BB@HF@GEB@CTB@KDI@CDIDKD@@CEGBEHADGHBDEFBFCH@BBHBFB@DBBHCBDHBBCFADFFBDFDBBABCCABCFE@CECACJCBBD@BCDABDJB@IA@ACFCFBHGAEFAFDHD@FFFDCHBFCCABALD@GDCBG@ACCFED@BADONCDDD@DGDA@CDAB@BBH@DEHADD@DNEAIDCBAAGJCFOACRIB@DCJE@ACABIGOEFE@C@CIBAACB@DH@EB@FHDICC@CH@@JFBFGACJEF@HBCDDFBFBDF@DDEJXVADE@CHBBJADL@DCBFHAJ@BCB@FNJB@DAB@FFCF@RDFB@BDFD@HGHEB@BDJ@@ID@AA@CHHB@BCDCAEDBJ@BC@CACBMEEDE@@FBBFADB@BCDEB@FCB@ABGA@CBBHADHBFHHDN@BDTDFHBFDFCBHPFBDAHF@DDBFA@GFCDQ@INCH@BABEHG@CDADDNAPNAF@BNDBB@DHDFF@FDFDAJDFE@EB@VC@BDBF@DA@CD@DBDLJCH@DBBFJ@JBFAJ@DEF@@@@CCAAGBCB@@IAEIAGIDC@CDCD@DBHABADEAQHCLFD@DANEJCJABCD@LFBLALBJRJFEFADEBABGHGAADGBBFACCGCFA@ECAG@BOCK@EKI@MA@CBA@@CFGFKACDAFDD@DAFFFGDCAA@GFIDBLBBEDAD@DBFIBGIMGAACECIABOFA@A@ECADCdJBDFFFAHCR@DABCLEDBDLXDDCT@HED@FICE@ADA`BpAZD^HZCLCHCDG@ICOScMQ[SOQKU@MBGDILMVOVGTAVAJCFMFONUBMASCIQYIGuQeIWAKCIIIUGIGCKCeCYFIDIFILKXKx@FHp@HIXEHSVKJQNEFCHGbGJIHWNYHQ@MCeOUESCc@GAIIIGMSMCKGcA_EQKYUICCB@JCDEB@BEDIAEFOACDEAA@AAG@CCCBA@IBAAEBAFABI@EDIEADA@KKG@@GC@@C@CB@BB@AEEACEAABKBGCGBCEE@CAEGG@AEECEB@LECEBKCCBGFEAGGIACCBCLG@CEEIGC@GFOAIGCOIEC@QF_DML¡@SAMGCIESKU"],["@@@DHFROEGA@QN"],["@@CD@F@BFBHGPG@KCAIDKL"]],"encodeOffsets":[[[116556,23085]],[[116684,23020]],[[116572,23039]],[[116577,23051]]]},"properties":{"cp":[114.085947,22.547],"name":"深圳市","childNum":4}},{"id":"440400","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@KF@DC@BBCDAABA@AKDADFRLB@EACBEDB@DB@DEBEBACA@CH@CG"],["@@C@AFFFFB@CEI"],["@@KHEAAB@BGAGBGDCFADDBCBB@CFFBBABB@CDBHJDBD@BADFDADEAIBADDFABEAEFCAEAC@ACC"],["@@BBBAAAA@@B"],["@@QF@HHFBB@BBBFBBBF@FHDB`F@FD@T@DFPHLBTBDBT@JHGH@BRHHBJAFA@ECGQABEAAECEABGC@HA@AAAIAKGCA[BACI@@CMAKGU@GACCOAEAGEAEEA"],["@@CBCBFDAFBFDDB@BACEBKCC"],["@@AFCAC@AAE@@BBDCB@BDFADA@G@IF@BBDLJB@ACH@BAJJH@DAD@FAAIGAEGAA@ADDDBHDLA@EDA@ACAEA@ECAE@ECEA"],["@@OBCD@NCH@FFNFBVBbCNBLGBC@ACEAID@F@D@@ACEMEcDKCGEE@"],["@@EBCFGBe@E@CDFFNHHBPAHBBBDRBBD@DADABCFAB@LJH@BADMACGEAIOEIGCA"],["@@C@IFADBFCBAHGEABAJBHGDGHAF@BD@DAB@AHBBH@FIBFBBVCADBFH@FBD@DG@EFA@CCICBDEBGMKGBAQCC"],["@@CBAB@BFHCHRXFDDAFCDBNGBAAE@CAEBCFA@AEECAAF@@QAEDCIAAK@"],["@@DEACIJBBFA"],["@@EDDH@FHDADGCADE@@@BNDF@DGAADFHHBDDHBJC@ATCHCAGL@@GIOCAAGKEE@EBEABACCGBAA"],["@@@DD@@ACA"],["@@HDDAAGGEAL"],["@@BBHBBABGFBFBBACCIACBGDAD"],["@@BDHBBACCDC@EJ@LFBAGI@AC@GGE@GBAB@FBDABBFAD"],["@@FHJFFA@EKIE@CD"],["@@BJFFAHB@HGN@BIBAD@@AACO@MECBAF"],["@@BBB@BA@CC@AD"],["@@FHLDHFN@BAGGOAGEEAC@@B"],["@@DHJJ`LDBBLBFF@DE@CGKBABAJ@HFDFBABCCCIGKEI@KBKCAA@CFIAAGDGCG@CH"],["@@DDADHACKAB@BC@@B"],["@@BBFCC@CB"],["@@@@B@A@"],["@@B@@@A@"],["@@BB@AAA@B"],["@@D@@CCB@B"],["@@BJCD@BDHD@@FD@DDFCHJHBH@@AMMQE@GGI@GICABDFDB"],["@@@DDA@EBCAAAACFBF"],["@@BBBAAAC@BB"],["@@BBBC@@CB"],["@@BBD@BAAEA@C@ADBB"],["@@@BDABCFE@AAAC@AHC@@F"],["@@HBDECAEBAD@@"],["@@ADBBJ@BAACACGD"],["@@BB@CAB@@"],["@@ICAHDDBBBCJDDEBAEOCEC@AF@FB@BH"],["@@JNBHBBHIBGAAMEE@AB"],["@@F@BD@DBBJABC@AKC@EGDAD"],["@@DA@CACCBCCGHANJ@@A@EFA"],["@@@DDCAAAB"],["@@JEBCD@@ECCE@GBCAGJBBFABBBA@FBD"],["@@ACOEIBCBBHDBBNFDBBLCFGDA@CEA@C"],["@@BA@GBA@CC@AB@NB@"],["@@BBB@@EA@AD"],["@@@BF@AAC@"],["@@@@B@A@"],["@@A@AD@BDDB@BCACAA"],["@@CH@DFBFFB@B@COGC"],["@@FDFHD@CGDABACIDADGIMA@C@EBBFFDBHABGBABBH"],["@@@BF@CCA@@B"],["@@FDBAJAGEGDAB"],["@@PBBABAFD@CD@@AAAC@CEECGAE@@DBFAF@B"],["@@B@@ACA@BBB"],["@@ADDBFACIC@@D@B"],["@@JABGFCBCACC@CDCAIFAFDFBB"],["@@DA@@CACDD@"],["@@@DD@@GBCACEA@FBBABBD"],["@@B@A@@@"],["@@DDF@BA@EACCDEAABBD"],["@@F@BAEACBBB"],["@@BA@AIDDBDA"],["@@SDAACEG@GADKAC@MMWAG@GFKFGJSJKJGDEAmBaBEVSDG@QCKIEE@eFWBEAIGMOSKQCWBIAeSKIEK@SCKMOe·a]IGEEIES@cCUK[ECQEGCGGU_MKQCICIBcLWPUTitk|KJQJONOVEPAbIP•ŠMTCNI¾BBHRJªDHDFRTGJTLJKRR|VJHJLDPDTHX@XBHPVFz@RFXED@FBFFBBLIDIT[RIHDB@JE@@TDDT@HFF@DCFEBEH[ZFJHBHBBBLDBFADCBCRBLGD@ZNFAlY˜¥HKBcBE\\{NaLUNKbSFABAFBHCDGB@HDHENQ^cRCJ@BBDDVH`LJL^LRDADEDCD@HBHHDNABDD@DAPFJFDJDD@FAB@FC@AHABI@CH@HABE@CFBLE@[`C@GJGFBDLDJBDJR@TJBD@BGH@DGD@JCBGBAF@DDBAJFF@HADGLFJ@LGHCJBJFDLFAVBDPFHFD@JIH@FHBBD@DCDBFFNB^GbAHKNGNAP@TFJJH`JZNLlBZENCHEDKAOAKi}eƒCGMIMCM@CAAAAKBIHIPKBGACGGICWEIIAKDKFIBCAEEIAEDEJEDIA[EYCGECa@ICQQCG"],["@@DBDBEGAA@F"],["@@CD@HFNFBFHLBDCBIHABEEOMIQEGMOMECAD@LFNDDJBHH@D"],["@@BBFAFBDA@CCCC@BAAAFGAEGBCFAFCDBFBB"],["@@YHIHAHMFKDCB@D@DFBD@JCDFBFFBB@DID@HDFAFGDIJKBMCAEA"],["@@ABGNC`B\\FJJ@LQJAFF@JBFHDH@HEBGDGHGF@VVJBJ@HCBGEMOKKAAIAAQACPC@GAEDKCa]COA@"],["@@OFADBDA@@HA@CAAFBDLH@RIPBDDBNBB@@IAG@EJ@@CHIDGDAACKIEGAEAC"]],"encodeOffsets":[[[116547,22689]],[[116494,22644]],[[116790,22617]],[[115800,22625]],[[116973,22545]],[[116388,22560]],[[116444,22536]],[[116931,22515]],[[116894,22503]],[[116496,22490]],[[116412,22466]],[[115851,22482]],[[116453,22449]],[[116803,22455]],[[116522,22511]],[[116537,22532]],[[116557,22530]],[[116642,22563]],[[116654,22566]],[[116748,22582]],[[116866,22489]],[[116772,22412]],[[116706,22333]],[[116957,22541]],[[116828,22426]],[[116828,22427]],[[116779,22406]],[[116757,22397]],[[116747,22378]],[[116750,22374]],[[116749,22367]],[[116724,22390]],[[116696,22345]],[[116703,22351]],[[116712,22344]],[[116710,22357]],[[116677,22335]],[[116736,22575]],[[116744,22556]],[[116752,22569]],[[116721,22587]],[[116679,22597]],[[116610,22649]],[[116636,22645]],[[116572,22656]],[[116531,22709]],[[116577,22520]],[[116459,22483]],[[116425,22560]],[[116425,22566]],[[116394,22569]],[[116367,22556]],[[116456,22697]],[[116437,22675]],[[116440,22661]],[[116431,22645]],[[116432,22633]],[[116355,22774]],[[116344,22777]],[[116331,22776]],[[116327,22782]],[[116342,22863]],[[116338,22866]],[[116285,22746]],[[115833,22417]],[[115854,22446]],[[115882,22481]],[[116552,22934]],[[115859,22356]],[[116561,22649]]]},"properties":{"cp":[113.553986,22.224979],"name":"珠海市","childNum":70}},{"id":"440500","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@CBAFBDD@DFD@BCEE@ECA"],["@@AB@DDBBECA"],["@@CDL@ACE@"],["@@B@B@@ACB"],["@@DBDACCA@AC@H"],["@@BBB@AAA@@@"],["@@BDH@BA@IGEA@AN"],["@@B@B@@AAAAD"],["@@@CC@@FDA"],["@@BBBC@ECB@F"],["@@BDD@@ACAA@"],["@@ABB@FAACABCABD"],["@@AB@BDBBAD@@GAACBAD"],["@@@DBA@AA@"],["@@CACIECAFBB@FJHDA@C"],["@@@DFBDA@@A@BCAAA@E@@B"],["@@EFFHHCBECCCEAF"],["@@BB@AAAABB@"],["@@@OTGBC@AI@CGEBGHA@GEACAEHG@E@EEC@ALCFIBGCMAGGEGCDAACKDEIC@EBCD@HGFE@MKGAADDDGFBFAD[HM@ICI@KCOGK@iLABDLCBY@aDcCWBKBEFM@KBGDAF@HDFAPBFJFVBZVPFH@PEP@DCJQHGJGLCDBNNFBFBFRDDFBFD@HFHNJNFP@HAFCFGBE@EBCLCF@VJFHFRHFP@BBBHLCFKAEDAAGGCCGBIDCDAB@RJFABE"],["@@DBBDDAEEE@BB"],["@@@BBB@AAA"],["@@FED@FCDJTEJJPEH@D@DHB@FB@BABBDFCJHBCFMBAFFJBPJGRHTDBPDDDHTCLE`GJAJCZCDBnBFFBBLHDJBBDCROPKDCDDFDFFDLD@LCL@DJD^BBFFADADG@GHCF@FGB@BKB@BABKLCDDADB@DAFHHHHCBDB@FGJABDABBHDBLD@HEB@H@BFH@F@DBFJABCHANFBDDBDA@AFADB@BDDDADABFB@BLBDI@AFEBDDADHDCF@CGDBD@DDFFBFFJ@FAFIH@JELBHEFA@CACBOLGHA@CF@LHJBBCHHTE@AAEBGHIJEBCCcDILQDQA}OEUSMSGOK@MOOAEAqAG@A@ECCECOAKGCECM_ySOcSgwGMBSF_JU@WBOFSJGR@PCHCDEBOIYGSOMQCSB]H[N_JSBSCSG[Ys{UU[I­KiIUOSYIMAE@EBEYICCGBECE@EACCEAEDECA@EF@HEBA@@EEDCCG@EFCBEACDEAOBEAGGK@AICAOCE@KDA@ACHG@ASKAOEGGCAEAACBE@CE]MCEKECGMCAAEAIACDBB@BEBE@EBABFBBDFCFB@BG@@BG@@BBDGHI@IBBB@BEBCEG@CBCACFFHABEHARCHCBBHEBGH@DIBABDHGBKCEFGBEAE@C@CE@EG@EDG@CDBDEFBFDABDADCAC@ABBDEDEC_NADCCC@@FIACFBHGDAHKLJRLHAFCBDL@FCH@JADR@DABLBDABCCAG@@C@DB@BADGCGBDFDB@BEF@FNHFDDAFFDHAFC@AA@CA@GFAVFLJJZCVTFBBFALBHHJBJAHNP@DENHHNFBD@FIJFDTJHAFEBPDLAHKLIFAHBFDDH@HDR@VABD@JJJ@FIPB`CHDRADEFANADDLLEDB@BCD@FIBACCAIHAHGFG@AFBFC@AAGA@AC@GP@JCP@HFHDCVGF@DBBDHAD@BDHDPGBDIDEHBPFH@HDHDBF@FDBNFLHF@JJCBBBBCFBBVBHAR@PXHBDEAa@IDQDIHIDAFAJDJFRXHHbRZFJ@JCJK@C@OCGO[USIMCE@EDGDATA„FVEVIVOJKHKBMPeNQ@TR^CDAFB@D@NCDHSFDLFEBFEBBDBDFBDAJFAXA@@LGFECEFAPDLDFD@HC@KDEHCHINGDGNG@CNAHEL@"]],"encodeOffsets":[[[120103,23812]],[[120062,23775]],[[119679,23977]],[[120127,23839]],[[120128,23843]],[[120133,23844]],[[120118,23836]],[[119934,23877]],[[119912,23877]],[[119894,23893]],[[119945,23914]],[[119922,23949]],[[119958,23983]],[[119921,24047]],[[119919,24041]],[[119820,24026]],[[119726,24019]],[[119609,23809]],[[119957,24020]],[[119681,24011]],[[119959,23930]],[[119430,23992]]]},"properties":{"cp":[116.708463,23.37102],"name":"汕头市","childNum":22}},{"id":"440600","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@ADAABAA@@DBBDCAA"],["@@MLCAUP[LMFONIAECG@EDEFKPENIxM‚apSNK@OEICKAk@]CQFMPQ`m^e^ICQACCCD@CDECAACC@CGABACABBFDBE@BDA@ECCDGA@DC@ABECADBFIGA@CECB@DA@CM@A@CCAACOCABADC@@BADGBAA@@IEAABAFAFG@KDA@E@G@KGAKDACMIaABCC@CCBAAGGEDEHAJE@G@CGCACDGAA@CAEA@CACBEA@CACCAAECCAA@AF@HCBA@CEIBKCA@IBCCCEC@CEACBECE@KCG@IICKCACECAACMCACECA@@CCACA@DQF@AEC@EA@GDEF@DCBA@GI@@@BAFA@EAACGECBAFCBADBDEFBBCD@HCAG@BEAECCAGEEABAFEHBBD@EBFBBABABBABE@ABFBDABB@BE@BFB@BDB@A@GAABE@@AFAI@@HBFFBACDA@CB@DDBAFA@DD@HD@HHFAJMEEHABDB@BC@@AC@FHBA@CBBDJFABF@DCLEBBJMHEEE@BDADA@@GCCB@@C@CA@ECICBEHCBC@CC@ACJBD@DA@ABBB@BAA@BCD@@CBADBBEI@KCAFEFABCBCAAEGEHCFGC@@IACC@CAFLGGCHAAADAAAFGD@CDADE@CBBD@BAAAAAD@AAGBECCJC@@RABQEADIBAKACCKA@QDAA@EAAGDEGAGCGEDAJCBCAABECE@@ACBQKA@CAIA@CLID@JE@CAECAACCAEDE@GGCM@EACDCCGA@ACCCE@EGC@ACIAACEDKCCCCAGEGFE@EHDBCDBBDFBLCF@FABDJADC@ADDDDAFDHCJH@BFADD@HBBFNA@CCCBCH@FAB@CC@CDABAFABBBGFCHC@@FKJEAEHGDE@ACKCEBACA@IJEBAAACI@EC@CEACCE@C@@AGC@AFCBECICCQD@FGD@BQGMB@CC@ACBEEC@EGIAAEI@IKGGMK@IDAAE@AHCDALG@@@AFBBCHBJ@HHDD@BDBBCFBFE@BFEFAFIBADBHKf@LDDCF@HBBADCH@DBDDFF@DEFBH@HFHBDFNBLFHBTJDHDBB@BADAHDLAHCH@JHLDJ@HF@DDNBDH@DDJBDLEFADBHBBD@FEHCTJB@FGAGDBDEB@BEF@DDAJDDBCJBBBB@@@H@B@BDDAHDHABDD@FJFEB@DLFCBFAFDB@HBBADGFADEAEFCNCAAD@DFBABCDDD@FDBHCNINEJ@FAHF@HHBHCDDBFDEB@DB@DNHBIHBDBXFAFNJBAJDF@JDPABHHAHBDDD@HDDFEDDFHBHI@C@BDDFAFFCFIFF@BDCJFABAFDD@@@@FGBELCBDDDA@ABG@FFCEFB@D@ABD@BAFCCDADD@DAABEBABDBDACDBDBABDAACBAGADAIA@@DAB@EEBABDBBDD@CDCAB@CEC@BD@@CGE@EFCHCD@FEBAAABDBCB@@DABDD@DAD@@FBD@GJJB@FAFBFAFBBEHCBA@CAAAGHKB@@CFABFDBFBB@D@FJB@LAHH@FFLAFJHDJAFK@BJCFCBDL@FLJFBDB@FD@H@BGFGDBDID@D@@FDBLNBH@@J@@FF@B@JBB@CBCA@BJ@@FDC@DBB@CBBDABCA@AACBC@@AAGBCFAF@FHJDPNVN\\JCL[€AVBTMVGFEJGTCRAzALELebAFBTAHERBPKBEB@BDH@NJDFD@BEAABAJFDL@HBHCIK@AHK@IDAPHB@ABBFANDFAFFFDABGB@BCAEFGBEACCAAC@EAGT@HbVCL@XRFLDA@HCC@DA@AFFB@DG@ACCFQHGBMM@DFLPRJDRN@LFLJHJRJHHDJnTjDVOFWAG`knODaFOIBKAIHIACECKBM@KFCD@jFHAJNJBJ@^BDNJ@HALFLHRDBBFNBZJBDDD@HHRFFHCBBAP@RHZBXSPC@MDAVEFCPDPRCNFJATJJDDA@CJADBBGHCdY@DCDLJAHFDRKFIFCBCACEQe]IS@GLEDQNYFEFAJHF@HEFA@BFADABIGMFCDHFC@CECCABEBAJ@NEHGLEBCDEFAF@FDJLCJHFJ@BGAIGMCCA@EBGCEW@EDGF@JLDDH@DDFLLBDDDC@IKEAA@AHGHUBAD@BCDIFA@AFCEAE@CEE@ACGC@CDGBEGACCFA@EGAAA@CHCIGDCB@FEBE@OBCFAR@NEHDB@DC@EDMDAB@BFJDFFBFLJH@FADCBEQWIGCCGQLIB@@DNCBGEAACCW@GD@DCDICADCHGFCF@FE@SBAB@BGEAAGKM@CF@FDPAJBNGPBFBBF@RIPALGL@DDBVBHDDDLDTAHLAJE@@BNPDGT@HRLMNGJAHGBAAE@GFGRABABIBCRCFEFOF[E]ECDOAMNKN@JMROJQAI@GBKCGSGOOEG@SDEFCh@BCCcACK@A@FWBCDOHAFDBC@EEA@EACBAGE@AB@AC_@UKK@@ADCCGBEDIJEVGPKLKDA^CrDNFAECIHaBAFBBACGQFBKBAGGAMBEBAJADEMI@C@ICI@IDELINEFEBAAGB@DDFBHETGNOJQECIACECDGEDO@K@E@GBE@CMAAAAIDGFAh[@CEAFOIEBEA@@CHBBEDCBCBAJ@BaBGDCHCXEFCHGRDBGFB@BHB@DBBVDHCLBTKFGLEAEQOMECCEFOGGACBA@BMHSFGGGCGYIGCIGMGCGBIaGWCSFM@EAGEMQIACDEFMVKHKBGCEEGYS_IKOOIA@I@EKMBIBCKAKAMHEBILAAFE@CCDAACB@ECCE@@AEBCE"]],"encodeOffsets":[[[115497,23554]],[[115878,23218]]]},"properties":{"cp":[113.122717,23.028762],"name":"佛山市","childNum":2}},{"id":"440700","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@EBOHCFADDFNNBFCDC@IIGCE@CDAFBZHNBF@DCBEEIGGAQCIHAHBHPbRVJRHDX@JBFFLT@FAFQNQHM@CBACGSCCMCKAEBGJCBQAGBOL@D@BBDFDFD@F@DEDABAFBDHJRNBJDDTLNDrNNCF@PL@DADGDAFAJFTFNBBDBFC@KDELCFBDBDNFDDBTCNFPJHBT@RIJ@JDZ@BA@CCGAAHOEMEAOOIAIBGG_AE@MOKSAMOQIYAI@IFGJCBMBGFEFGBCACCEICIMCACCGSEU@IBEJGBIBALADCDCBK@ECEOKYIWMOE"],["@@AB@DBBBCAC"],["@@ADBBDCCA"],["@@@DBAAA"],["@@CB@DFBBCCC"],["@@ADBBBAAC"],["@@@BBBB@@ACA"],["@@ABBDBAAC"],["@@A@@DFB@CCA"],["@@IBEACD@FDDHBDC@EFCAA"],["@@C@@FEBOEG@@D@H@DCBEAADJJDBNDNFhGHCBC@CCCKGEGCASA"],["@@CB@DJB@AEE"],["@@MBAB@DLJZNDBHA@KGGYK"],["@@DDDJAFED@BHD@BD@F@DDFB@DFDJ@BDH@JIB@BDFALDBDD@JCFGFBLI@ED@DGHEAABABEBABCD@B@@DBA@EFIHDEMAA@GCCEB@AIGGDECCBCCBCD@BCCIBA@EDEAKCEAADCCAFGF@HEHFDBDDLDFCBDJBBDD@FHF@DDBDB@DHCDBD@FDNHHF@FCDBBDDBBF@DIFC@KJ@DJBDBB@RLDA@BF@FDBADBDABIFCDHBHFHHCBB@FBBRCB@DLBDBLJABCRFBA@QD@DIFDHABBC@BBBBABC@AA@DCFCB@DHCBEBBBCBBDGHHEKDBD@BD@JD@EHGDHFBFDBDABAFEBELDJ@AFCAAB@DC@ADB@ABA@AA@BCBC@IABDD@@DADGDAFJDFDB@@D@DA@DD@HB@BCACF@FFNGAIFADK@CAEEBCIAA@DABEGD@@BD@@ACABAFGNFBIGE@GGCC@@CEBABCCA@@DCBBDEAAE@GJ@EB@BF@BAHBB@A@ACA@AEF@@AAACBEABAF@BAAAABABEAFAC@AAFGBEBAFFBHDDBFAFH@DB@GDCAAFEACBCDABEDAHFBDFBB@BE@A@@HJB@DA@CFEHCB@@FFD@BRE@CDBDB@DB@FDBDNDBDDBDFDBDLJJH@LDF@FDDAFB@DFDDDAD@JDBALFJ@DABGDE@@BBBDDBFDBBD@DFBDADBB@BF@DBBCHBDHD@D@HIFGBCFHFBHABDDD@ADbBNJBDLCHB@L@H@FCB@LEHEBABBBJF@@BBHABC@AD@BCBAPDBDDB@D@BDNB@@CDAPNAEBCFDBAD@@CHBDCFDB@ACF@CAAEBABDBADHD@BDDBCF@DDCDDRBJDf]n]VeJIRE^Dl@LBJDPFL@TMboNJwFMRUFCF@HDJBPMNE\\KVODBJGNOE@ACC@BCD@FKHB@MAAM@EKEY@eLGFOVWR_HkC[JGTUPKLKT_LOR[FYFKLOJQ@E@wLeYNYMC@KHQAADCDEBCAAKAAAGIGYEIbIJI@CES@CC@SF@@ICAJG\\QJSJCAKEAAE@EFCEW@QEyOUAG@WGWCSCOIKIGuSEAQQILSKHIQSGMI©GQSWƒwSUEICK@SDWRaRUFKBQCsIkSk¡ÅcYgUOG]Ee@UDOFIH]fUbkŒQH[DeAICECs{uaa‡‹KOU_cqIGOCsI]A‘BoFMDIJurgTmLaDICMUW±EGEE³iYEaBGEICMH@BIRDBHA@DCF@DDFALDFCDGTLA@BEFBDFDF@DD@FDBNBCFBDFB@FLDBDCFEFBBBD@HCHADDDAFAJFHHBDALLBDFBGNHLZTEDFFIBEFAHDDHBJDDDEDHFLFCDQJCFKBEBIFDND@BDBHCJFDCF@DFBCFE@ABDHDFBDABCJC@AECDA@@VFDCDA@CH@D@BBDAHEFCHCDAHIFEB@DCD@BCFBFCDSJCDEBCAADCBAAECI@IAKBGAAFA@C@@FA@BFB@BFCBAAED@FC@CFCAE@GFABCBABA@CAC@EBC@C@EHEBIAEDBBCD@BHDDABB@DCBE@CBCGC@CNBB@B@HABAH@BBBED@FBFB@JEDFHJBBBDBD@DCBCAE@CBABBFHDAFG@ACA@CDKDQEE@CAWDC@IN@FEDGNK@IFKPMIG@CHC@ICCB@DQ@@TAJADE@OPMJANBFYBCBC@ICBGIDIEE@AKUBHGJGFADFBDDL@NJ@DHFBHDFELCBAB@HADGDABCFADBBAJDFFD@DAJBBRLDDAZADEBCDE@IF@DAD@BBJDB@BCJOHKACFAJCBC@IBEFG@CPDDBFHLDBLCDFD@PEH@HCBBHDB@HFDDJNLHJRHNEHGFLTBF@DEDAHHJHTD@BFDDHNJBL@FCHDFCHA@CD@NPJBBIAE@GBGAEB@BAFBHZFBFCBCASZDBFDF@JBD@BIDCHHJJJBF@HNJH@BJNG@GDGBGD@BBFAHEBAFA@FERBBFBBB@FDD@J@DKBBJ@BFADBHBBFCFDBDEJ@FEHAPFPLHBNCNDALITED@NFFHRFBBHBBBHDHD@BHBB@FBBBFLV@BIJDNCNBFFBFAHBTPNAHHHCD@NDFHFR@NADCBALAB@BD@DBED@DDFFHGBADDD@HDB@HDDL@NCLAHC@GCGKKJGLEDCDBDHD@NA@AHBJCBCB@@DFBDBE@GJEDUBCB@DDFA@ADRCBARCDAJ@@IHA@AE@@ACADCDBB@FFF@CDABCBCF@BF@AFJR@DADDB@BDBCDA@@HAB@BB@FHCFDDB@BAD@DBDADBBDDBDHBB@FCD@BDB@HDDADBDNAD@CJDDBBADC@IFBJHHLHFFFB@LEDABFJDBDDJEHHBBBEJCEGE@ACLCHOBAD@DE@CCE@ECA@C@ADGIC@C@A@CHA@CC@HI@CBAAE@AJAJEH@DGJKBMD@BDB@BAF@BBFADHJFJEBABFB@ADBBHBF@DDFBH@DDJFNB@DD@BBCJBDCLBBEDAHID@DDABBCFGDABEHFF@FFFCDCNCBAAAHC@@AAD@BDDAFKFGFADBHDBAHB@AH@@E@GNG@BDEDCH"],["@@CBGDCD@H@DBDLBBBBBIL@FDLL^PTDBDABGBAD@TJVP@JADOHCDAHDHLDLHNAHFJBBBDL@DEFDHDD`R^FDABCFAFLDD`NF@FKFABBBHHBBEFIAEHOIWAAKAIG[IAAAIDYBCRM`GBAGOECEAgDEAAC@CDCACSOAECKG@IHCBGCAGC@C@IDCLC@W@KJGBE@MK]KCCAE@CBC`GDC@CAAGCG@GCC@C@GJC@E@CACIEC"],["@@@AA@ADDA"],["@@EICAAB@NGL@HIJEBAB@FLHDDJBHFVDFDN@BAN[CSGGQGIHEACACC@E"],["@@BBBAC@"],["@@BA@@A@@B"],["@@AAADDB@C"],["@@BE@EEDBD@DB@"],["@@B@@AAB"],["@@@B@@DCCA@D"],["@@D@CECDDB"],["@@D@@ECB@D"],["@@DBBACAAB"],["@@ADD@@AAA"],["@@EDBHAFBBF@JLD@@KF@@CAABGCAG@IC"],["@@@DBCA@"],["@@@BB@@AA@"],["@@AHBDBBHG@AEIABAD"],["@@EB@DDBD@BCCC"],["@@ADDFHC@AIC"],["@@ABDDBAACA@"],["@@IHBFBJD@BADADFJ@LG@ACAIDC@CE@IAAE@"],["@@BBDEE@@D"],["@@@BFBACC@"],["@@C@CFE@CB@FDFAHB@FAJBP@FAFC@CEGEAEEKA"],["@@DDHBDJHAFF@J@BH@FFBFCFBDD@HEFB@CEI@CJ@B@AGCEFE@EMGACDEAGEGCAU@GJIDAFDDCBAD"],["@@BBBAAAAB"],["@@BAC@BB"]],"encodeOffsets":[[[115482,22082]],[[115465,22266]],[[115469,22264]],[[115563,22261]],[[115283,22200]],[[115462,22200]],[[115460,22198]],[[115382,22148]],[[115584,22135]],[[115379,22130]],[[115593,22113]],[[115446,22117]],[[115509,22082]],[[115177,23249]],[[115232,22102]],[[115749,22356]],[[115739,22373]],[[115741,22297]],[[115742,22296]],[[115745,22293]],[[115740,22321]],[[115522,22227]],[[115533,22192]],[[115531,22185]],[[115531,22181]],[[115369,22236]],[[115381,22223]],[[115385,22219]],[[115385,22148]],[[115385,22150]],[[115384,22155]],[[115381,22164]],[[115344,22110]],[[115349,22109]],[[115361,22114]],[[115286,22130]],[[115279,22107]],[[115291,22105]],[[115134,22184]],[[115060,21975]],[[115057,21983]]]},"properties":{"cp":[113.094942,22.590431],"name":"江门市","childNum":41}},{"id":"440800","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@BA@DDC@BBAA@D@@B@AD@A@BCACKEC@CA@DABC@BECHACDCCDACBCC@BDCAAFCBDC@@@IAD@FABA@C@DEB@@A@CCHG@@AHEABAADA@DDCA@@AABCA@@BA@AABAABACADA@ABB@AAABAEFADABAA@ABBBACABEHA@@C@CABCDB@AE@AADAC@CHA@AA@DACC@BAB@AAEDACDACBBCCBA@DEB@BBBCAABABBBDEFDAB@ABB@BABF@CB@FAD@C@BA@ABA@@A@AADA@AGDCABAB@@B@@@AB@BA@CAFCCAABFABE@BGAFC@DGCFCADEED@CCHC@BACBBB@DC@BJCBA@EF@BB@BB@FA@@AABCF@BCFKFAAD@ECKHBDJJCDBBNDFF@BTDADHFDCV@BEDABEDCD@@ABA@FD@BA@DD@B@AADA@@@AD@@BBCFAA@D@"],["@@DK@KAMEOIIGKYyGKKIUCYA[BWFOJGNInAPHLVRPPbpJHPBPAˆYJG"],["@@BDflFJPtDBD@DGDM@KAIUWYeIIGAEBCD"],["@@FMAA@AAACBA@AACFAACDDDLH"],["@@L@LAfONGJIDG@GmÅCYA[DoAQCKGGKEOAKBKFILGXCZELOTWdKHKDS@cGIBQHKBM@_IO@iDO@OEiWeS]ImK}EQEeQMCKDEJANBNFVHXLPbPXTZ\\TPRFJJPhVfXbTDZCLSP@TB\\HdTPDPBN@PELEHIPiFGHCL@VDJDT@T@PPJFLDjF"],["@@KUk»CEEEEA{IIBEBEFKXJP@FAFCDOEEDQpEFKD[GOFULMDGDEHEH@FCF]BEDEZHDP@DDPAJBPN@NDFRBNCHFRRHBFAHEb_FEZHPDVJv@FC@EFCPBNDTTJDXBDBDABIG]_[KU"],["@@LAH@@CDAAAABBCCADAAEFBBCF@DAFFFAAAD@FGDAFAFDBHENDBBDGHBFDBBFFBBF@@ACD@FLHA@LHFDCDHLAH@@EBCDACM@EBAF@@AFAB@CDBBF@DDFCFDDFJDBCACF@BGDAFBBEJEFKCAACLGDDLBFEBBBBH@DCAFHCFB@J@D@DAFDFEABHBBFCBDD@AABABDB@AADADD@BDD@MACBEACLDDIHBABCABDCFDBADBBB@@E@BBBLCHEIADCDBFADBDCBJFABDCDBBGHABACAB@DDFEJEB@C@@EDA@ABBDAJDD@@J@^MJBPLDCCEFABDD@BICC@CC@AMCA@AJB@BDBTBPCFH@FMB@BGB@FKF@AA@@DB@BDA@ENFBHAJGDBDBCDBBAFPFCBBFCAABAD@DID@DHDABEAA@@LFH@HEHDNBDLD@FDBBDAF@BXHABBNGH@DD@@BABAAAAABDDIFA@AFCDDB@FDBABDBG@@BD@CDPJFLFDJCBF@@BADBFL@D@FDAABJAJBDGJGBCJAABB@DADCCCFABBDEDDFABBABF@CC@ACCD@HJAGCA@OCECM@CDAACF@AAC@@CDBACB@IKBCACDAACB@BEAABCCA@EB@HFDAZDBABED@BEAQJEHIGCBGAAGCCAD@BKBBDA@ACABAF@BDF@BE@AF@FCPMFC@CBABDABABH@CGJIGGDA@CFEFA@AEAAAFC@CMGD@@CABAACBGCEEJADA@EBEB@DDABEHDBDFDDD@BA@EFCBDCD@BDAFJFHDBBAD@@ACCDIH@BBDECGD@@EEGBEFAAA@ECAEGCAFCDCFBBADAFFB@HGFCFEFBAKA@@GCABD@DC@AE@ACEIEEBCABEF@HGJADCCCBGHBBC@CFABFDBDJDA@@@B@@@DD@ADBD@CJD@FBEHFHCF@CHHHFEPGTDJLDBACCC@ABADCCCBCBCD@DLABCAAB@B@FBDFB@@CG@CDABDBAAQFABC@CBEACBIJAL[uekWkMgC‘D©JWCaOuiyq‡{]Y@b@HAPA\\EPCXMDK@EBAC@AA@@CCCADA@ACEDAA@CACCCC@@EIGBGGCI@ACA@ED@BADAAMHBDCBBBCFCGA@CDDBKFAACD@BGFMDAC]R@B@FCCCB@BICMHAACFAEKDNFBHCB@BD@@LDBBAD@DDDDDHGB@@D@@BB@BDB@DDAE@@HHBA@AB@@ED@@ADABBD@B@@@DBEDDBEBB@@FBBF@BBD@FADD@BCBD@BBC@CJFHFBDLD@BFCB@BFDKLC@EFDDABC@FBADIAAECACDCCABEBADC@CDAFCDBFCBBDCD@LCFDFAD@NEJCDCEGAAHGFDBGAED@B@DC@CD@FBBA@@LC@C@AFMDBFCDC@CCEB@ABA@BB@JEACCDBAACE@@BEFC@C@DDAD@DDBF@BDBJE@@AEB@DA@AFD@BDCB@BF@DEADF@BB@DDDADDBADB@HCBDBAACB@B@@DB@BADBBABDDAJDBFFCDDCB@AAACB@DCCBFOL@FBADBAB"],["@@@TFT@T@JINIHILERD`erBLCH@H@BFFCFCBABDDBDGNC@CDDJCBD@ABGFFLB@@FEDAF@DD@BLHDFFAJDDHN@DADJJHP@FBFCBBFFF@DDBF@HEDIBMFIDMCIBGLABAD@DE@EBABDBA@CFABBJ@@HAFFPDDFA@EHAAAFAPDDEBDH@FEFBBDFA@@BNDAFDF@BDAFJ@BEJAJDHLDFFCCEHADB@@@CFEBBFD@DDCD@BAF@D@DBBBDBBD@DBBB@BDDABDBABDABBB@DBDDABDEB@FC@AAABC@DHJ@AHDDADIDC@@CABAHBJHJ@BD@BFDB@DPAFB@FAD@JADBBAFBDCBBHFFFFNABBDA@@ABDBBABDCBBDCDGB@FBBADA@@FC@ABBB@BB@DBBHDFCBACCD@DJDDFAFAD@HBBADBF@HEFDDEDBDADHH@DABFDIF@FLHAFFD@DFBALHRHFEDGAABAFDBJDPLPHBFLFB@F@FFBFF@DDBFAFLBFCHHNE@GN@BA@AFBBAAA@AFBBABCFBFAFDJCF@HGD@@CFCDCDEF@BB@DDABDDAD@B@BDHC@BB@BEBBADHDHA@DDBDA@B@F@BJ@BDABBFDD@BDHBFF@@BDB@CDECGJECCBCN@AH@HABBFJJD@BHF@@HFFAHPBDCF@BACCAEFCD@DE@CDC@GFA@B@FBBBHFDHJDADBLEDBDAHFDADBFA@FJ@DBDCBGB@HFJ@DCBFEADFHACABAFB@GDBFAHAAKDAB@DCBBBCHCD@BB@AFBBABBBCFCRBFBD@PB@ABBFA@DDB@FFDNLFBBCD@BCJ@DBDJADBDD@@DCBDD@DFFCLD@@DLGHGXGTYDAFBDCJCDCD@HBH@HDHGD@DFLAFDDCHBH@BDDAFDPGDIBAA@CEBB@CD@C@FADEA@@DE@@CDBAA@CABC@FABBB@BGBA@C@ABBBC@FB@AGBEGIAACBIIADMAAC@CABA@BCC@FL@HC@AAC@@AC@@C@HAB@D@@DC@BEDAFCDIEBJGBAGGBCEA@BA@CDGACCGD@ACA@BEAAE@@CC@@GABAACCDAC@AIAABAACAIBSAG@EFCFGBBDPLFBDBBDBHED@ACAA@@F@@EKAA@CDC@AAEFACAKHAF@F@DABCBAHBDDF@CHDFL@BA@CCKJABDDCB@FCCA@CFBAEBCCCCBEEA@EAADECAADACCBCABAABAACC@DACCB@@AEAD@FAAAAB@AA@A@BAD@FIA@CAADBBAB@A@ACBDCCA@@B@H@ACDBB@KGCFBEC@AC@ABCAG@CDAAA@GBIBA@CCGBCBGACE@CACGCB@FCA@CCABCDCC@BBEBE@DECD@EDA@AF@@ADAECAEDEBDADD@BBADB@BGC@@CDADB@AHCHM@EAAFAGA@ADBBADD@CB@DD@EDAACHA@CHABB@FDB@BBBF@B@DGAA@CDAD@DHAFD@AJDB@DDBADFEDADDACF@EEHEBKIC@DGCE@AACB@AABCACEIBEAEC@EDECAFEF@BADBBACCGA@GJ@@AB@ADFDDCFADEBDHAFFB@@E@CKC@EB@CEEBIH@BCBAAEFCA@ANC@CFBBCDIAAEAAFE@AB@DADG@DEB@FEBED@CCFBBA@AEAAB@CDBFAJFADG@@BD@@DDBHC@CAAACFAEEDC@KBAAA@C@@BDDFDC@BDAAA@EAC@C@CDA@AKEBCDABG@@@CC@AAFGHADAG@JADH@BBBAHB@EB@DDBBE@DB@@CBFF@DBDEF@FEDB@@DOH@@GE@BC@A@DCAAB@CCBC@@AC@@DCCE@BGC@DABBBACA@BC@ABA@BCDAB@FECBCABCAABCC@CFC@AAC@AAFADDFCAAABA@@C@AAAHCC@BCBB@ACABADBFCEFFACDDA@B@EB@B@DCD@BFD@@CJBBCD@@ADCB@AB@DFBACA@BA@CDDABFA@@BDBABBDAB@B@@AD@AC@EB@BD@@@CB@AHDCAEBABBB@BDBADJBBDABDB@@AB@DEABA@BCECFB@AEAJB@AACDBBDF@EAACDB@ACCDEAC@ADBCA@EEA@AAA@AAGFDBAACCCDADE@GBBBCBB@AF@BBDC@FD@DCADHBHKC@H@BABEDAACACBDD@@GDA@DDCGCAGC@@ADCE@AC@CD@AC@@@ADC@BDGE@IDCCAFACADE@ADCADEC@@CHGAABACABCCC@CAAE@BCCFE@@ADAACC@BEB@@CC@@@BA@CAAA@FOCCD@D@FE@AF@BDABDCBDIFA@@AAB@BFADDD@DCAENCBED@D@@KB@AA@EDCD@@C@AFCHBCAHEBGHBDFDCFI@MBCCEDE@KDCACDAAEDCBEDCD@BCFABADDDCDBBFJBBCEAD@BACCFED@LKEC@ADAAEC@CKEAEGDID@AAC@DA@ACCEBC@AAE@AA@EA@FACAFCCA@@A@C@AACB@BC@@FA@@BABGG@@BFCCA@ACA@@AC@@@HACGCCCCC@ABCA@KC@@ADAAGMELCBFDEBBNGJD@ADADD@E@A^QBDNCHE@ADCBBLECADCB@DHDEAADAACNGBBBC@AFCB@BDJ@HDAHJH@FD@DDBD@DBBFCBDB@BCDD@DB@@BBDFAL@NCDWFOB[BO@G@aQMGEKCÁGyMI@KDcTIBI@IAUQO@SIEI@IEGMEU@IDOLE@CEY™GSIKKIGAE@MLIDC@ECSWCKUO]IWBUC]KOOAGAEG@WUQQOQKKCK@MDMCIKIOCGJYlBZCDE@CAEGISCUDQHWEKokAMA]Gi@WDkN]dqPORAR@L@PGbWXGTLLDNB~@L@|QxaLEHEVƒFg@CU[hWJAtBbPPBJO`FSHaFsF_pµp…HQBQA[ImGMq_s}OaŸa[UKWCQ@_HIAOGw{SIWEcC[@GEAKECE@GLGHOFWDgCe@GAOQa[oQmCSBeDEDKPuzKD§EEIACCeoeWWGQAOFOJEJAN@LPž@dCbYnSPk^KNIPARBNHTLDLBTJTdFhC^ITGH¡^_ZObGZATDt@PUvS^KHSFM@kIEBCFW¬Eœe²e‚y²OtC`BtFL–T¶Mœ@RP^ž¢Œ„LRBT@vIÖGLBLPRLH`BlCz@tHNF`lLR^†BJ@JCD»BqDƒX"],["@@HF\\JNBHADCFIDGCICCE@wHEF@BDD"],["@@PHH@X@FABEAICEEGAAIDIAQBEDAFAFFF"],["@@IV@FHFH@CNHLHFNBF@POFIH[@IAEKEGBAFAFCFCAAAAIOAMD"],["@@CB@BA@@CC@EN@TDBCHF@ADBBDAD@DA@@BCDAACDAAE@BAAB@BCCA@CCADKCAAB@A@A"]],"encodeOffsets":[[[113086,22469]],[[113301,21439]],[[113210,20816]],[[113372,22044]],[[113171,21585]],[[113265,21675]],[[113161,22007]],[[112421,21972]],[[113045,21611]],[[113071,21668]],[[113056,21175]],[[113036,22282]]]},"properties":{"cp":[110.364977,21.274898],"name":"湛江市","childNum":12}},{"id":"440900","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@BACAAB@EPKAEDD@CDABB@BDAAAGBCEA@ECCBACABCAABA@ACA@BDABACGDGH@DD@CFDBBCF@BCBDBEDDJCD@AH@ACD@B@@BDC@@DBDF@"],["@@CLB@BB@DAB@@JA@BF@AIACE@CA@C"],["@@GH@NHBHJF@DDBBBBBAEE@CBICECBA@EGAEAA"],["@@BACA@CB@@BLE@EHA@ANA@EEGODMAIA@AIA@BDBBND@@DDDAJC@ACEBBFDBDEBBB@DABB@BBB"],["@@@BDAAAA@@B"],["@@BDDBJDBA@CC@CCECACAB@F"],["@@@BFCBBCECB@D"],["@@OKIA]NI@CCBIACBAB@FC@@@DFAFICE@CBABDBAHGAADCACEBAICDCAEBCACDJBGFKDAA@A@FA@AABCCADEACDBBAGACJKCBDAFBD@NCC@ACCCBBBA@ACABBBC@ACEDAAAGFBCEBE@C@C@IEAGDBECFGAAA@AGFKACCIFAB@BFDELIFAFEACBAHE@BDADICCEECEDCCE@BEGB@BE@AB@FDNCBAD@FG@KBCGCDGE@KGBEKC@BD@@AEEAAECAAEHGACCAFMAGECA@IFCFC@BBEBEECBE@ADEABFCBDBADBABBCB@DO@GD@DD@BHHDCD@CCB@HC@ACBDBDCBAFABG@D@GLGABCCDC@@ECDAAE@@BAAADAA@HCFCBDDBDABECBH@BBB@BFB@FDBCA@BBDCFDD@BCABDFBE@ACCABD@BIAFB@BEAFDADB@BACFA@@BA@ACCBAACIABACA@AAABBFCDBGA@@D@@ACA@@FBDC@@BA@A@CBAAABAC@@EBBACC@DABB@BDEA@CBAA@CD@BC@ADIA@DC@AEC@CDA@A@@F@ACBDCEBFEEDCAABDB@BAAADD@GDBB@B@DB@BABBEDCCEBBBD@BBD@DED@ADBBADDBDAEFA@CBADB@BAD@@ADBABAACBD@AHF@DD@CD@@BD@DA@DBADB@C@BADF@@HG@CP@@CAEFE@CFCAE@AE@DA@@CAFCA@CFAA@BGAA@ACGIBH@CBGBEHBBD@@D@@AHCBADLF@BCB@D@DBD@FBBCB@ACDCEAC@@@DBBAB@LCDFFEBBDBB@DGDCA@CC@@AH@BCIEEBCA@DBAFB@BABEADDC@AFEFA@CFH@BC@CBAF@BEFBBBCJADEA@DMD@BDBFEBBDA@AJGFADFA@@FLD@D@FA@EEGBACCFEBCDECBCA@@BI@@HHBDDABCAABE@EFDBCF@FFDFBJADFDBBA@BDABBF@HD@CJDALGFFFE@BDCCCBEFBCCA@CCABIC@BECGC@CB@DBBCHA@E@AA@ACA@EAAEBAB@BGBBDCB@FCCA@@DCCABCA@BHBEBBD@FGLGD@BCACB@DD@AHA@BCAAC@BCACCFBFFDCB@BE@@BCB@FDCAD@DJCAAD@CDADDB@DDB@EDADHDBF@BDAHADDH@DABAJ@HBBCB@DBHAD@BBDD@AFDELF@BHFDGD@@DB@@ABABB@BBADBCLDB@DDBADA@BB@ABHC@BDCBAD@@CBC@EDHFF@BBADBFEA@DD@@BKHACIBDL@DABK@CEDGE@CCGAABADCBE@E@GBBLBDFEBBD@DCB@LB@FE@@@BBBDC@GFCAAAACKECOAAEHED@FBHATBJBB@BABBBBJD@CBDDBBBA@HD@@DF@BBAFB@BDC@DHBDCH@DABB@DFHABHD@DAAIJFDCBEFC@ACD@@@CBA@G@DD@@BD@BBD@@GEKD@ADB@BA@DBDNBBCJJDABBHJAFBHA@@EADAA@B@DABAHA@AAEBD@BA@DBBCA@DF@@CB@CFEBD@C@@DAADFB@ABCJCBDBFFADDH@DEB@DD@BBF@DAABD@DG@DFCCFDBDECHB@B@BEAFBBD@BAAEBBDDBE@DABA@@B@@@AA@ABDBHC@BCBBBB@@@AB@BABD@C@EBA@@DAEABA@BAA@CBFEACAAABBBADAAA@CFB@DAADDACBBDFCBBA@ABD@BD@CBBB@DGD@CBBBF@@BCAADDBD@@@GBAFDBABAA@BBBBABCFEABBB@BAA@BCBDBABBBBA@BAB@@DBBA@BB@CD@CCBBBBAGF@BH@DG@D@BA@CFD@B@BA@EBC@J@@CDDABEDBACD@AB@DBBDCCDBBBBBGAFD@BA@CDBD@LFBDADB@C@@B@AC@B@AB@ACDAC@BC@B@EBAD@AC@@B@@CBBBA@C@@CABC@@EAB@BC@CDAFCBAFU@CDGEBCGACBCB@DEJMHAFCA@HCAADEBG@ADG@GDE@CDHPDD@LBB@BCBBHEJ@HJ@FCFD@B@BABGDGA@BDHCDEHADCFAFADBHEFDHFBBF@PENDBF@CHDB@FID@@DFD@HB@PADE@AFEBANDBDBDAFEFFH@@DEBABJF@BAHEBD`INO@IFCFC@ELGCCBCFDFIBED@JAJ@FFBDFF@BDDFCNFHF@@IDAB@AJBFJTF@NSBE@G@ALADEHCJMDAH@XLCRJBBF@FDB@@JCLHDJBJEHFJDBDADDFCTANEPK@IBAFAFDFCBCACDEFKPIb]JGAEIADGHCV@FCD@JDLHLBPJBDAPFHHF@HDDTP@FFFHDBDFBBBNGREPIP@ZCBEGECEAUFIJEL@HDJ@LGFIZHHJNDAHFFFBPCFDBHBBHBFAD@ETALED@HEFCHEFO@ABEFCLEJAJBJBFHH@DDFTLLAZFJDNR@DGHBJHFNFHAJDBD@FJLDLHFD@DC@CLCLOP@NGFED@LDL@^HJLAJEFYB@XOZCBEHCBGBIFANDNKXCLABYJECCIE@CDAFCBIHCJ@HBHFDAP@FEFCHAHLNDJAlEHGHYDAD@NMNERFHDBLAJENOPGPAJ@`FLR@FOZDJAJBDFDBDBPHJHBNADBQ`@FHN@FADMHCFBDXFFLCTCJ@DDDJCD@FJNCHMVMFUFGND@PBHJJHDTFPHNBTEH@NJHCFBTGJ@JBVRA@DNGP@FBHD@`EDBH@JAFCHAT@LDFBHDJLFN@HELBBN@JDLFP@FABGNID@BHHFNF@BBHLBHFD@FBFBFIHCFBBDBBVBJAJJBLAJDDB@H@DAJDFHFNJJBHDDD@@JL@RBBBAFDHDDF@DAF@F@BCFBBEAADA@CLGFGHCAEBI@GQODG@CDCBMFG@GNIDI@GAC@EPAHELARUHGVCDDF@FDDADFB@HGB@DEFA@IHCHADADE@IF@DAL@RCJFFCB@D@BFFF`HTAHADCH@B@@CDADADCH@FCBGBCECDGLE@AHCHETG@GACECUACBMCMBEAEQ@GACCCCMGCACGC@GGMAAAGBIDCBCBABABBDBBJHDDEBCBBFH@HDDVBDBHHNCDJFDBAN@LLDBB@BEFAFKB@BEFEBBBBFCFBFFZJFCBCF@DCBALHH@FBHAFFDABAD@LCBC@ICC@ECQIMCAAEBAFEB@BCCABABA@KDGAC@EDCAADGJCFBDCAAAIAA@GEC@CBCFCBED@DABDLADDDAHBAFFFJRVAJDB@BCN@HRDD@DFDBDADGBALCBBJABDJDDED@DABE@AJJHD@B@BHFBBHJDD@HG@AFABADABAH@FEB@DENGDC@CDCLALHDHD@@FHFDHHDBBCF@LBN@@ABNHTDAHA@TTBDABBBLDNJH@PHD@DCJBHABAFCBGAIAC@CDBFDHECA@ABCAA@EDCEEL@@ACUGAAADEFMFDADDFDND@JEACFEHCDBBCF@DBBEB@DBD@JBBDHAH@DBHBDCBCFCBAAIDC@CAEDEAEDE@GDEAKEG@EIIGC@EGCEEAG@@AACCGCAEA@EEAAGGCCCECEGGIG@GMEEEGGAEEBADC@G@AEA@ACGM@CBGGGEAGAGDI@SHIAIG@AIAIGIFI@AAGEICCGQFCJE@GOAKAEUOKCCKCAE@AAEFG@GA@CKBGEDGGIGSAAE@EABCFAD@DCDCB@@CA@GG@EBA@CCCAQA@@CDBBA@CAE@AICEBABK@ABSFECMAIEAEAA@C@AGA@CGCA@ABA@@CCAEEGCGAIB@GCCC@AABAACAAA@ADG@CAACABCEI@IGGK@ACKKE@CEIJQ@CEC@CBAJEBEGCAEB@@CEEEAGBA@ACKA@CE@EGDOHCDM@EEIBECA@CJMHC@E@CBA@CAC@AEC@AGDBECCQEBE@IDABAIGIA@AIQ@CJABCAAEBE@IBE@DIACAA@CCCEAACDKA@GIMA@CECDAAA@AAGHG@C@EHG@ADCRCBCFCGIBIBGACIEACICAACAGACICC@MBGFI@CEAAE@CDABG@CEA@SBGHCDQB@FCGMEI@IDABACGDKDABBDCAADCJALEBCACHALHDBBAFGFEAGPMFA@CJEDBN@JFRABEBGDABMD@JCLBR@LCBBNB@EA@BGPADABAHCBGBECCFCBQCEFGCC@GFGEGGAAEICC@AAIBA@@E@EIEAGAA@AAACCAEC@ACACGAACA@IEC@DA@CFEFAFGBCBE@@DCCGECACBECGBECE@CJ@DC@EBCFBJCLDFCDIDBFABFHEJ@HEL@BGFGBG@IDCDMKIAMIG@CDEBCMI@CCCAYCAE@AA@IAE@I@CDADECG@CFIJ@DG@ECCIEECAE@EDEJGAA@KEAAIBEDCD@HDBDADH@@ECAAGBALBHHLADGX‹BK@EMSQA¡Y[K{aWMKECKCUOCAI@C@_]IEU@MGE@C@AFBP@XO`@BFBnQF@FFBJAPPZJFBB@D@FIFODIKISKyCSEuMqB]C_GE@IDE@cCWA_EuU…ioWK\\IBAJBDAF@DADEBBRABACCB@DDH@@EAAC@E@ABADBBACKC@ADADDDCDAB@BDDBDCAIKSCOHEFGGDGE@GDGEAF@EIC@DACBCC@@C@@@A@@CBCICAAEEB@DADGAAHDDCDIBGHE@AFDBFAJFDF@BBFD@@CACDB@HB@BLEAEFEDGHA@EECBABEACDEDDBFHDB@FBDE@AFFH@FC@DF@DCDAAG@CJDD@BEBIIEICB@ADCACED@FCDEECEA@BGBABACCA@AF@FCBIBFFHDDABBBA@DC@NH@DEDBBFB@BEBEF@DCBHHIJDHG@BABAACAB@DEDONEDE@@BAFE@ACE@ABDB@BCBAAALC@DBHDBBAHHDGJIFBRAFC@AFABYCCBGEAB@DDBADBB@DABA@BDCBBDADJLA@BDCA@DD@BBE@BDCB@DDNDF@PDBBHGIA@A@DD@BDDE@BAAAEBCCCFAAEBDDCDCBA@BAIBADIHCHIAEBC@BACB@E@CEKCAAB@@AEIDECEKOIDCC@@AH@CABACA@ECADCBEB@JECCBABBBBBA@AC@@CHGAMBAWG@ABEACCA@EKCACCMFG@GEG@KB@FBBAGC@CJC@CBCBADBAEDAOEBEAABC@AEAIHGBEAOK"],["@@CC@QBEGEEABDG@A@@@DBCDDA@B@BBAAABABADBCHABC@ABB@B@@BBABBGBA@FB@BA@DDCBD@BDABBBBAADDDCBBBFDBCFBBAAABCE@DG"]],"encodeOffsets":[[[113161,22007]],[[113136,21962]],[[113854,21884]],[[113375,22037]],[[114058,21964]],[[114049,21951]],[[113891,21919]],[[113364,22038]],[[113030,22300]]]},"properties":{"cp":[110.919229,21.659751],"name":"茂名市","childNum":9}},{"id":"441200","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@@CCFD@@A"],["@@PMDI@KFCDADFHDF@PANAXDJDFDDH@DIV@LRP@XDRBBNDBDDJDHFDJB\\GDCBABGBCJMHEFEFMFALBJCFGDQFIDC^KFIDMRGNBDBDFBDAHBBP@HBFBFFTBJHHLXZBHCVBFfFHCJGD@FFJRDNAhBHDHHHEdCR@HBH`GNBZL@bEfIRALBJFLFBJCVQZDNMFKD@FIPQLCVADCFAT@FGDOFKHCRC@ODELKJEBAHBDCLQFUBANBLDL@D@HCDIJsHa@ME[CIAGAAA@EDA@BSGEGKAWCEICACHQ@CKCDGDCDI@CKKAC@KBIBCHGP@FCD@RF@CEK@ABAD@PLHBHANIL@FCDKJWGK@GBCHAFBDABEBGAGAGCIBGBELID@@QBEJODSHIACGGMGAEBEHA@GA@@CJKAKDMFCTCJCD@LBRBFHDBRABAAIFKJ@DDB@LEPOZGN@TIJGT@PED@F@NHDHJBH@HADEJEFELAFMCSPMFEBECKCEAAECCA@CFEHA@CAAEAAICCC@AAAGEC@CCC@EGA@ADEHABGACKGEGDCBSB@DGACIGOGKK@EFAN@JDJBFAPMFAb@IU@CHE@CCWIK@ILM@EBCBCL@fLH@HEJA@CII@GCGACEEGMCCGACC@EIKGCDKVHDAIUKMHEBCB@BCJABGBCFBLJFDJ@@CCCGSDGF@FJHDLADCHBBFFBD@HCPGBI@OFGCOIKaOKCEECK@YDCFCBEF@Z@FGCEBEDCLEbBB@BECE@G@EBABGIBCA@ADIDM@KAALMHBVAHFFANCBONCD@TOAWGY@QBOAAGDEEGQ@GCCACYIMAAECAGQEKBK@GMIAC@]AIMIBIEG@iDCLEN@LAFDBDGJBJALPJbEPClmH_XBPECUSiImGCIGIQIGEK@KQMICOQEK@CNNHARGDEBDH@@CEABEB@@CDD@GCBEKWQK@UDGaS@BH@FBDDBBDAFEHBFADA@AHCBEEBECEBMAEBAA@OGCB@JGL@BJLGDGAK@ECBIBAFB@AECIC@MCG@AFALAAOFQBGASBEfaFKBKByDQHSFIHENUASBU\\DK[IUMOMICEGE@EBADBH@BD@DABB@@@DCBAA@BCFAA@CBCAAGBAA@ADBDAKAA@E@@EI@@@AGKMCA@EC@C@CJCAEHAHG@C@@ECAEAKI@ECKDADEAIL@BECIIGBEEK@EGGKBA@EIC@A@ICAEC@AB@DA@GLBHBB@DABGDAFEAEBEAEBA@II@HAC@EC@CBC@ACCB@@DACABABBFA@EDCDGFEF@DH@@ACD@DFA@DBDCC@ACCABAFA@FBA@CB@BJBCBHDABBACABACDCCBCABAFABACBC@BCDCEDABC@BAC@A@FEED@EAH@BCBCCDAFKHA@E@@C@ECABEBDIACE@JEDEEEEBCC@A@DGJGACEFCCEGCC@CCGAGBAGOBICE@ICABMIBEWECAGAAJMG@CCAA@CFAECCGDGA@GGEEBI@MFMJGDCA@ECCDCBAEA@CBCFBBKFGFBBCHEBCAA@GCABEAEEDCKA@EFEIC@ACGBGCCBACA@G@@@A@AAIAADCCBICCE@AFA@CFCABHEHA@SIGDEFC@AAAGBCFECKIACCG@ACCM@CGEI@KCIGG@GDKBGCCBABA@CACGSIGAKEMACEGAGEG@CACBADA@C@CECFABGJ@HEDBDFD@BGHA@KHAEWIMCCBADG@ACDCAAA@CDGAKFMEA@ADKAGDC@@@BLF@DFBHF@BADBJ@BFDBCJC@ADCDAFKHAD@BGBKCCB@DDFADADDB@D@HCJDDADBB@DIDBDGJ@BGFC@@LCFBJFDBBCH@JBDJHDH@XCBCACBAFA@G@CAE@KEIFG@CCEAIIGBCDC@AFDDDFAHBDABC@@BFF@ND@@BAFBBED@HABG@@BDHH@DCD@BAF@ACDABCB@DFB@H@@DB@HGD@DD@HFDABADGDBFAHCDIBAB@DLF@B@BAAABBBH@BBAFBH@BF@@DDBAFBHBFD@BJBBDHBB@DI@CFGBAD@BAFHLCBBLC@BHCFA@@FBJFLFDHLBLDJ@HDHFB@CLCFBDDFB@BABDBBFFFDBDFCD@FDF@F[VANA@OBC@GFEDE@ADI@AHIKQKKCoEMCKGceic[AWBYLQDGFM@QCKA[PE@E@IGUM‰MKAKBIHCFEDqDQFGFGFCJCZCL@HINMFODMiB[JUPQFM@OISGKAoA™FaJMJSHSHQ@GAG@ePYEaDMDKLSdCFIDWFWA_@eJcRQLSJIJAFBHHLHHJBXDTJLPDF@JANCLCFOP[bevCAG@CAFKDDBA@ECA@GGEGCAIDEAECABEACC@@GE@EBGEE@@BCDCEMDCEEBKCSKADBBADCCICDEAAKLCAEHDB@DELIBC@MFC@@DD@@DDD@DGDADGFCBEFCCCD@DEDGD@AQAADIFIDCFE@AAOAAFADGCBEDCE@CAAA@E@CSJEHANF\\HLJJBHDHDNFFPHBDDZCFML@FFHADHH@NDDAHBND@FL@DEN@BDFDJFBELDBBLVAXCN@BRHJJBNPAFDDJPJCF@BHD@DD@LPR@DDJHFDFAJALDH@FBF@HBDNDFNAHEFDH@PALEH@HAFCF@DFFBL@TNBDBFCJDAFD@FEBEDABFFCVDLFNEBHPNJDJBJEGC@EFBHABDF@TNNFAGBAF@BCJDBF\\KPDBLCF@VDBBHABPNBJNCJH@JCBPXFAHFF@DAVFENDRFFABKBK@GDAGCHC@GOCDBDDBAHABGCI@KDA@GD@JGDBDFDP@B@@HCJBBBDEHDFBDCLBLCRA@BFFBCNFBPEB@AJDLDDHF@HDJEHHLHBBXHDFCFBFAJGHI@AHCBBBABBFAAABA@@HAAADA@AFB@LBBB@ANDDBHDBJBFAJBDABI@@D@@CDCDCCAHEBBLA@CB@BCBDF@DCBDFAHBBCBABAFABEH@FDBCFA@DFBBCD@ACBADBHEJFDAFCFAHD@DJJB@HGDDPMDD@HCHJVABH@HDDD@JAFDDABABBDDD@FCCE@CD@HFF@DCF@BDBBNIHC@EHBBCNDJFHB@FHBHCDDLFBDABAVB@GDBJGDBFJB@LPCDDDAF@DCF@BGF@HBFDD@JFBLEFBFMFCBBNE@DJFFFZFF@DEN@BFAFCB@DP@DDDBBDABFTDAJLBFFFHBDDALML@F@BW^BPAdADCDEDCBCAGDCBOdALEHKLABFNAF@DKFERCRBRAJHR@HL`@JAHGFIDKLADDVDLANB`DL@L@DJBVKZCN@FBDBDFBNHBDDLAJID@DBDFXDHAFAROPGFIBIBEHI"]],"encodeOffsets":[[[115497,23554]],[[114675,24787]]]},"properties":{"cp":[112.472529,23.051546],"name":"肇庆市","childNum":2}},{"id":"441300","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@FDD@@A@CGAAB@B"],["@@ABF@@@CA"],["@@AB@BB@BAAA"],["@@GHALC@CBBFCB@DBBHDDBJAHHDABGD@J@DEJFD@DCDEGE@AE@@ABE@AMBE@CAABMKE@"],["@@D@@AC@@B"],["@@@BBA@AAB"],["@@BDB@BEAACB@B"],["@@HHFBFED@F@BGACCAC@AD@@EEEAAECAAB@B@BAFBJ"],["@@DBBECCIB@BFBBB"],["@@@DFABCCACD"],["@@BB@FB@FA@CAA@GABABCD"],["@@JRNLFBHAAGGEBEIIG@GCCD"],["@@BAA@@B"],["@@EAIHBHADDB@DFABCBIDC@AAA"],["@@B@BAA@AB"],["@@BBBAAIABBDCDB@"],["@@BAAACA@FD@"],["@@@AC@@DDA"],["@@DDB@BC@GAAC@AD@F"],["@@EBMC@FABAFCBDDAFDABBBDDBDIACBAFADB@EJADA@GDE@EAKCBEF@HCD@FAB"],["@@B@BAAAAACB@BDB"],["@@DDB@F@DAIECBAB"],["@@AACDB@DA"],["@@@BBB@CA@"],["@@B@@EAD@B"],["@@BBDCACCCCDBDBB"],["@@BACABD"],["@@BC@AC@ABBB@BB@"],["@@B@@EA@EFF@"],["@@@BBBHBCCEA"],["@@@BB@BCA@AB"],["@@D@@CC@ADB@"],["@@D@BA@EDE@G@AKB@B@HD@AH@D"],["@@@DDBFA@KACGD@H"],["@@BAEDDA"],["@@H@BAACC@ABC@@DB@"],["@@@DB@DCJ@@ECAEICBAEC@EB@BHPBA@D"],["@@EGAKDCJID@D@ACECCBMCMK@EMI@K@MGODSC@HMDMRADGCCBIF@FIBGAESW@EHUBACG@GJELAJ@DABC@GEECCDCB@BEDCHADED@DPPXHE@CL@VgDKACLGJ@HDDDJEDKBMAGJ@BDNKHALDHHXHXLNCFBDEDAHBFAHGJ@JGLAAABCHIBGCCBCFKJBFADCB@@IDCLQBSDC@CDCDGD@FGDBDIFA@KAC@GCEGEFAACJKCEAEFAJOF@FCACBMFEDEHADEJFDABCDAXIDCB@JIFG@GE@AGHEFALGH@FF@BE@CBDB@FB@AJABDDAD@BDBHADAH@DBAFDBBHD@DD@BHDBCDBBDJBFUB[DEHEHCPAXFF@FCFEDGAEKMMKEOAIBCHSX[BGAGCCQEWCSOqIGKABGD@BAACBABBHA@EDCRC@FCHBJDFD@BCD@BABABCACBAFBDD@DDFDAJDBABDFBDCF@FDLEBAFEL@LEKACEEA@CC@ACACBAJCFGCC@CFCCGDEACF@BCCCG@CADEJABBDBFCBEHBJC@A@ICECC@CFABCFCAA@CBADDDA@K@@@GBABDBABDFDDDDC@AAEDCDDLDFEJBBAACBAHABADIAEJAFDB@DCJAACBC@ABCBACA@ADAHAEMC@AEGEEOAADIDAHDDACIFGFADBD@DCCE@CBCAAJK@EDOCCE@CCACDEAEGGJKCIBIAAB@BALBFABAJ@DKDABAFAFC@CFCJ@DEDGBABBBEDAACFC@AFGACP@FE@CHBD@DBLPAFHJD@HF@DDB@DEDBFBBABBBKDAD@DDDCBAJD@BFDBD@DBDHJFBPFDBDAF@FNDDBBADDF@JDGRFHD@BHDBBFFBBDABBBHFDJ@HCB@FBFAFBDABDF@HBDDBADBB@BFJEBA@@VABBHENFBFAJ@BDJFFDFAJJD@DDBEB@DAHABEB@AKIOH@BAJAC@AC@BFB@BHC@IBAF@BABEBADCAANH@EGKAKNOD@D@JBDADDDBBHDB@HHFEJBBJLDBABHD@PNEFBFAL@DAL@NCHGDBDEFBDAF@HHAFBFBBLBFCDFDJ@FJHNCDBBBDFDADBFJHDABHBTFBBBDLDBB@FHCBAD@NABCHCFBHC@BD@JDDAHFBB@DPBEF@DDHPHDAD@FAF@BAFC@CBDFBBDDBF@@ALCDBBBFDFCDFJBBBHCPFD@AKHCDADDD@JFL@DAH@BFFBDEFAAAFCLCDC@CBED@@BDABA@EF@FEB@@CB@DELBJFDAAECA@C@ACEFAEEBCF@Gc@CF@FCCC@CBAAADEACDGHBHDLJFBBDNHHEF@DCDAFQHBLEJAFIP@HFAKPODDFEDADBD@BC@CLOGC@EF@BA@KAADGD@AA@ICADEJABAHGJABBD@FA@ABEACD@@EMDAAQD@EEEGABIBEAABCCEK@QFEG@EAC@AA@CCCBEC@CGAG@C@EACGOA@CEBCCA@@@KCBOEEC@@CBEEE@ADECAG@EAAEECBGAAGDIDIKO@CBCDCBGAECOABMEKB@@IDC@CBAGE@GAABED@BEBADEACFGBCCABEFEEGBGYE@BIACBQCBEDABGMECEKGEI@CEE@CGEG@CEQCKBGIEACBECGC@CCAA@GDI@CAACE@OCAECAMKAEGAAE@GBACE@GOGACGECEDEAG@AACC@EFMJIBEHC@OFGF@FIDAABGCAAGMI@CACCDCFUPMG@CGEBGK@IGCDC@AGBCACCACKECCGAC@ECAIFKEBACCE@IEC@MKS@ACCACDKIBCAG@ACGGAACKAIHC@G@AGSQWDEEECAE@AI@WBAECAACKGACCADCFADEDAAOBEFAFCBEFKJAAEBCCECDECGDC@EE@ABIB@F@DG@CEG@AACBIFC@EHCJHBCPK@CBEEGBA@E@CDC@CEECBAE@CLECG@CB@DA@GBAFBDGJAHBJGBBDAAE@CDCFGFCFADBNGNFBA@EACEGBGCCAGLOH@FKDBDABECG@IHIH@FE@CDCAGDGDAAE@CBCI@[GIICIEIOK_QYS_[OOS_GUAmH}@ECGECOGU@]MC@GDAJ@LBJFJAPG\\EJEFQBY@UAcEgES@£ECBC^IP@BHTBZ@HELWZCNH\\NVBHIx@LL^PdHJBFAFCDeNIJMNSJS@ECACCQCGEGECë…IEEE@GDCNGDCHYAIGEYEYCWCQEIGKI]QMAG@OGEJC@GFS@CDWCCKCAKFADCBQ@GDEBEEACcICDDB@F@BEBAPJBFDBDHBJNAHEJCAC@CBAFKACAEJ@HBBCDEHEECBC@ECCBBDELEH@DB@DAB@@NLJ@FDLAPH@DB@FEBHDDBCDC@@ACHBBGF@HGJEBEFOGCKBKAKKEC@ADIBIDMFCBC@KEEDABBF@JCFABGBCAC@CD@DCDHJJBBNCFBHDB@DE@CFI@EBIAI@AECAG@IDCKCAC@@DCBE@CA@AUDA@@FEFICCBCE@EEEGC@CAAMC@ABEOMMBCAC@@DGHAFABG@MD@JANADED@B@FHFDFBLCD@FDF@PEDBHCFBFB@BABFCDBRCJCDAFBB@JHJDBFA@CJEDBBDJBBDBFHH@DDJALGBCAGAGJ@DGAIDADK@KJGDCFEDEFATAHBFD@BDELE@CDJ@FHD@FFHB@JBD@HCB@LC@ABA@CHGDCAABUACBDD@BCBAACBCCGDABC@CHIM@AOIC@AGC@EBECAAEDBDABG@@AC@CFSDKPAECCCBCDAF@DHHADJBDDCDFDADFJFRVM@BCJA@@DEAEF@DCFKJA@CD@@EB@F@HO@[NKJGHK\\@RCPCDEBWDMDQAMEiYUCQBEBEFUJSX]TM@]ESEEA{PI@KG@HCBG@IDGFEFCBECIIIE]D@HAHEB@HDF@FFLAHDHLFBFDFRBJLDBXAJALDFFDJ@FGDIAGBGP@FAFDPDFHDDPHAJ@BBBJAFEBCFGNCNEHBJDBBDBHCFIDGFOHDFNLJRBHEH@DDBDVFJ@LFLGBCJEF@HFJDHDFLDF@JGdEPDHBFEJGRCHEDMESHEZKDA@EBAH@FAHCL@DAALBLGHAFEH@PIF@DHADB@BH@HJHJ@BADOLCFCPMXAFBDLHPHHFBHCHUNGH@FFJELHL@FABCBIEIAIDQ@MPCHDNCNDRBBLCR@HBPNIJEDIAMDA@KCOBQCGBEFAHLEFBLR@DKBS@CDCHEFO@GBCDELMFCHKDEJ@FBFCFGDODIFCFCL@JEFCNEFKDAD@FHPNJGFCFBJFLAF@DED]NIAGBCDBFADQ@IAA@CHCDDLFDLBHPADKBEJ@DN@RALBDJDRRC@FQJHH^DJDVBRHHFFLHFBP@HDHR@FBPZH@RHFADB@FDDRAHEFALJJDHAF@FR@N@FNFTBLDVTBFFDJ@CKICAMHAHBBE@CDCDGD@FPPJ@FFFLFFBVDDAGPCFOBQL@JLDHFIHIBCJFRDFPHHB@N@HD@BJD@BDCDCBEHABBBEFARCFGBAD@DFJ@B@HA@BFADGD@DCD@B@JBABDFHAFFDPZAFHLFFRIN@D@BMJBNBDGF@JJJ@JAJDJDHDCFBBFAD@JDD@FFCDF@DCLBFCBCNBHDHLDPH@DD@BJFH@REAILML@HGJFH@FDHELCPAHDH@LNFAHDFFH@FFDJHAFBDABGHAIC@GKGIAGEEBAAC@GGDCFBDAEGGAMYGE@GLELAL@JHH@DID@BEJAJ@DABBABFDLB@EFCFAJEBC@CFCHBF@LDL@FFNHPOVI"],["@@@B@FF@@EECA@BB"]],"encodeOffsets":[[[117482,23278]],[[117398,23197]],[[117793,23091]],[[117381,22988]],[[117842,23195]],[[117860,23175]],[[117593,23050]],[[117597,23053]],[[117422,22943]],[[117392,22989]],[[117397,22987]],[[117393,22968]],[[117484,23117]],[[117481,23120]],[[117486,23168]],[[117489,23169]],[[117397,23112]],[[117390,23108]],[[117412,23115]],[[117403,23116]],[[117402,23133]],[[117382,23154]],[[117387,23173]],[[117394,23162]],[[117397,23167]],[[117399,23178]],[[117400,23182]],[[117386,23263]],[[117390,23260]],[[117365,23236]],[[117392,23235]],[[117400,23225]],[[117401,23220]],[[117401,23206]],[[117393,23200]],[[117378,23206]],[[117361,23215]],[[117095,24462]],[[117602,23069]]]},"properties":{"cp":[114.412599,23.079404],"name":"惠州市","childNum":39}},{"id":"441400","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@HDFP@NDN@HAFHFPTHDHEJ@BDAH@BD@FDXBHABA@CGACCJGCMBGFEFANBBKJ@JK@CEEWIMGI@ECIAECGGBGEQBENKAIFEJ@F@LHD@BCDMDIDEJEPO@CDGE@EG@AJIGACEBEFCRCBABGJ@FCDGBMDKHEJAJ@\\LRCHFF@HEFOTUDE@KCG@EBUDGDEJIBIHADEAGGE@CAE@IEKBGGGHKJEJCLKH@PHLFTBBDDBJBBFRDBF@FBFJFTHJNBLHJHATMF@FBHCFGLADAB@BHDHH@FFRBD@BFFBVFR@RAJDVGFDBFBFDDJ@HBLCLFJ@N@DABEHING@@RTNLRRHBTCJBJARYDKFICQAAICEEEAECAIDQCCCCOIAGEGCGiiAEFGJWMGGEAC@IDG\\WN@DAAK@EHMJMPQJG`M@AGG@EFBdXPSPOJQNOAGMIAAODC@@EBGGE@CP]BAPGDELUBAJA@SDEDGLHFBF@DKVQLU@AMSAK@EZSBWBCNGDEKMAGDm@AHED@RFLCDABCCG@C@AD@B@@E@EEEBUCMFKBEAQ@@E@CI@GURIDICEGMCKKAEPUBEACGGIBUG@WACCOEIC@IGI@EDCFCREFEDKBKGKKIWWFCBGFGBQOECCEC@I@CACA@GKG[m@aFQFI@KI[A@QPAAO]IIKECIAAMBGDIHMDMIAEGEAADGBKLMCEDK@E@EEKQUIHAAHOBKKEHEBIAAKBAD@JCDWCAA@CA@IDADO@MLIAIGBMCCBMEIG@CDIFGAEGCAE@I@AAAMPKBAAAJAHCCEE@UFGDA@AABGFI@MGE@EBI@I@QAAMEGIEAQJI@CB@D@BKBUEAGDE@CEEWMIBEG@CAEE@MEEHCA@EKO@EAAKBK@KDAE@EFIdYT]EKGCA@AFCDEBCA@AFWAECC@CHAFKEEGAGICK@K@gIEAGCEEAQ@aHE@OLKPQHE@@HGHMAEBGCKAKOM@COKMIMGACIGC@EICGJEGAGGDADED@FADEAEBEHAJKDABBBEBED@FCD@BBHDBGHOAQF@GAAUAAECEIIMBCDCBKAIEE@GEBG@KMGUKECDACCEAIIICKKC@EDJFFBBHEBK@GCCECCACE@CADS@ECGIGCCAACGACCDECCGCAWBEA@CB@BCBMEKG@BCHCGMHOJBBBB@DC@KDCEIKDECCE@KMIIIAEGDUAACA@EHOBEBCHIAC@IECBCAACCACF@FA@CFEDIIEACBCFM@CCA@ABBFEFEFIDCNIDM@IB@ABEAEOFKJEBMCECQBAFQJ@BLPENON_@EBE@CCECSUUIAADE@CGIqWMKC@GDCBEAOEAA@E@CEEE@CBCLABIBEHUFIHEDCHED@HGPABKCE@CBEJEAGAG@GIC@EIBIA@G@EAISCCAECCEAAIGGAEBGDGJADGACACECM@AAHMRGAGHEEG@IEKE@CI@CLE@AGEEMMBC@GIFI@ACA@CHIMQEBGDGJI@I@EEGBOJKEQBC@AE@MICK@SJGPONCJIXIHCFC@GEIAOIAEEIGCCKMBAEC@CBOEDK@C@OIDCAA@AEGCMCEEAEBCFGBKCKCKGEQEM@GAAEDIKCCGCGEGMEC@KGAGCCOESBKDOCQK@MQ@CIECIAACBAJI@A@CGG@KDKEGEC@GMEIAKBABQAECABSBORBPBDDLABIHBRAJGDAJGBCAC@ADC@CDCB@BHBBFEJDBBFAB@DDBEDDBEFCPE@DFAJMACDADF@@FB@BJEDBB@BG@@CKDCLBFFFD@DAJD@CJBJHD@DBCD@DBBADCB@FEB@DCD@L@DFBBBCHBJDADIDABDADADBFEFHHBABDHJFN[LADBDCDFH@BEDEHEFB^BD@DEDCJJF@JBBABBHCHBFJFEPRJ@FJJAF@DDJBDHBBJCJFH@BEDDH@JDD@JD@CPBDEBK@ADABACAGECGCE@AAA@CDACDGEAIFEAGHE@GBCFBFFBDNARG@EBC@CAE@@FBBIJC@CDEBCJDDINDDBADB@DAD@DD@@DFB@DDB@BJLA@@FABCBCFGBC@@AACC@AACBAAGGAACAC@AEFCAGECGFECCAABE@CACCIAADG@G@GBKAGBKACAAD@B@B@DPJJHDDTLHJH@HPBBH@BBCBKN@DDBFEH@@DB@DDGDDBCHBFCBI@EB@FDD@BDBBFDDABEHBJ@JHBDFJDP@FBBDGNAH@FHBBBDBBFAHBHFDH@FCDBBFABBFCDBFDBD@AFEDFBBD@BFBF@DDADDHA@ADBBAHDBCD@HBDABADBDJH@DBBHFEFBJAFJFJ@BBFAF@HGD@FPBBF@PHFD@BJDCLBFCHDHCF@DGJLHEFADBJ@JIHADFXAH@JMHKNMJCPMLDJFFNBBBFTFN@PDDRJDB@FKRAFBBD@DB@HD@JIJFFAJBEDDFJLFFPBHCAGCCCIBGFEPCFBHPDCJ]DABC@KDGHCR@FCHBFJJL@DILABBJCDCBG@CDAB@RCBM@EB@B@FBBPAD@ITKHDLIFADHPENGB@JD@HFL@LOVM@ELBLGD@ABBFAFCDG@ADAHDPBDDBTFLPFEHEJBFFD`@NGBADBHBDDBJ@@LD@NBFAFD@F@PADABKBMPAFBHFHBDADEFBFAFIHIBCF@DJDBD@LCBKDBHKPDDADKFCDDPEFBPCHBHFN@XFNNHHAFDJLNTBL@LAJEFKFAPFLNFJFDFCFLL@DABCBQGI@AFBREJEDEAGBC@CAAOCBKA@BAJHTCBQ@IGCBADAHIFMBMDI@KAQBEFAVKJ@FFFDH@FAJIR@DDH@FEL@FCLBBN@JEF@DBCFBBABGBADNDPBLH@DEL@JIT@DLRHFJL@F@NHDLJNDL@FBDFNDFBBADENODK@GBEFEJCP@P@NHJNFBLCJEF@NCDIFCFANFL@HEHG\\EHILWHEBCBK@MMGCC@IJQDA@EDCF@PBHCN@LADEFAF@FDP@FDP@RFNHNLRLTJRBZILDH@JGH@NBNDF@DAD@FFBHEFEBCDADBNKLUPEH@DGACHADMNEHIFAHEFEBGAED@FFVCJGHAPEDS@QJ@BBBL@JDJHDBNADAT@BDCJHFLDGPJF@FADKFMGGAGDKAILC@GBABDHDTAFCDYPAF@RBDNL@B@HBFVPBD@DQ\\EDADBBLJFJ@BATFFFFBDARDJNCJFADKPADBFLHIBEDCDBFFBL@JIN@HDC`BJFH@PFJHDHNJFNCPCVKDIHEPADA@GGG@AFIIU@ADAD@PJ^@NDNHNLBDAFEFGDKBKHGLAF@TATGRDHFBD@DGD@FHHBBAROBCBEBAFBH@VGJ@HAJ@J@DABEDDFADDNE@AHCFBBFDEB@JDB@D@@EBGDCDMD@H@NGLBB@TRB@HAHENORMDEBODAACCA@AF@HFBABACGFGDELCJ@DCFOFBBFXAB@DEBK@GFCB@HLAJDBH@FCDDD@JAHDJC`CJEPBHBRTHFXVHLNFHAHWJOPCDCFKJCBCBCBWBANGDBFDNDLAHC@C@GICMMIMAG@CPIJCL@\\NNAZ@ZFHBJLPHHJTJJH@IBAFJDBH@"],"encodeOffsets":[[119135,25423]]},"properties":{"cp":[116.117582,24.299112],"name":"梅州市","childNum":1}},{"id":"441500","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@BNAFBFHBHABC@AIECOCAAD"],["@@DHFBF@DABMA@CBEAABEBAB"],["@@BDD@JAAAEAA@C@AB"],["@@HHDACKC@CF"],["@@B@B@AAAB"],["@@AD@DBFCBCHBHCD@DEFG@GJ@JDHAFCBCAELG@KPBHDDAHFHBD@FABMEMHCAEBEDEHCD@DBFCBAAIHGAIBCHEAAB@HCBA@@DDHKF@DBFDAFF@DCD@D@FABFHAF@DOLADIGGD@FEDAJBD@BFH@DCHE@A@AJ@BFFD@HCFDDCDFADBFIBELAFEDEBAFBPCBCFEBCDDBBDLHBDDBBFXAJ@@BBFFDFFXCTRBHH@D@JGLBBDHBDH@BBHADLJDCDBBDT@NLD@JFF@DDABLFJEDB@FBDDHFDDLDBBDADBHD@DCJHL@AHHF@DNHVODEDCBD@DNJBHDBAHBBJC@EHEPED@FGJANIFED@BD@BBHCFDFHFBDPH@HDFAB@HBFHBBFNLDBBFPDF@BDDBJ@HCB@DB@DHDFDDAFBHJLARDDFH@HF@DFF@DFJLHDFNFAHCBAFRDDAJB@AZFAHFHEFAFDBADEHBDCFABAFC@AFBB@HHFAB@DCD@JA@FLANPBFDHBDADCDAP@JLJCHCBBAHFDBFFBH@DBCF@BFFAF@DD@FFAPLD@@B@DDFA@DPBDHFBD@H@HB@DFDDADDB@@BBD@FFHREL@DFADBBAFAJHBFF@FRCBBNC@FC@BDAHEBC@@AA@CJ@FDB@FJHADFFDB@DHHCHGAAD@BHDBBRDDAH@DAVLFFABE@EHPNBJAFCBADBBHBDCH@bHLHF@JDADWFC@@AAAI@CFABGAJNED@DC@BDDD@BEXDRCHABBBBFLHRBBALAJBNF@HFDFHCL@LHH@D@BIJABBDJBFDDJR@@NRLPDLCTAPFDDBHLHD@NFFHDHDHLDCJ@BHFP@DGBBDDFARUDOHEXIJGDSHILIv[AEEGMG@ABKEE@A@CLGEGDKB]DAHAJ@LDLH@LFHJBLBZAH@HFLNJCD@VJR@JDNADABCFEHQDAHEBEHCFITORWEAACEKEAOAAC@CBG@CIK@EBGCGFKCKBEFANBJEJENK@CACNMBEKCCEECMC_@OEWBUEIDICMKCCAG@EDGNS@GEG@E@SCCCDMXIHCAEEEK@EFE@EMKCCBANKjUHIFCFAXBHADADKLMFMPKRCRGHBTGFCAUHITMJA\\fTFRAJBJFLLHCLCLMBKBANACOAEBCNKLMH@DA@CIQBKNENBBIHEH@LIAEHEKKA@CCEAAEBGIOGFGBCDEBEEE@AAEKAACLEC@CBGJGFAFEFGDAFBHRFGDLHB@B@FB@FADA@EEKACGCMWHE@EA@E@ACGA@KD@BCDABEDC@GEIBCDAMAAAFELATDHOFABB@JFFCDFBBJDDADDBF@BAAC@GGB@@@CDCAEDCAADEGECAGB@CAA@DA@BGDEHAFFFC@CCG@EDCHIHFJHNDFDBBDHBJH@DADCAGHIHBHHF@FADCJADIPKJEHAN@NEXCHGDSBARCJCFGFCF@^BRRD@LEDCBCAEBAXGH@DBNAB@BJHLENBBAFEF@FJHPRJDZHNALIJAPDDCBUUWCGUKKQIOOISYSISSOAGIEESGQCKGMKIEO@KDEFMZILEDEB]BUCMCaOQGEAS@KCeYUYKGEAI@CBONO@ICg[[@YCUKSQck_]KEIAMBMDIFGFCJCRBRFl@PCPKVidWTaH™DCBADEVCHKFKBmBSCWGƒcYUEEAEAQAWEOEIGK]YSMGKAEBIBCFCP@HBLFJCJDLKLEF@JHTLF@FCAQBOAGGGWAEES]W[EIBMDAHITIDCAEAEICAEDEBCEIC@GBGJG@CBENABKBQGG@OLWJKPGBQAKDQN]PeESAUQCAqBO@UCG@EVMFMBIPMFIHCNEFCFAPBHHL@REbAJGHWJaDsAuG_@EAGCCAGDAJ@LH\\HJVJVJBDCBYJOBq@[EKCEACGGaBCDALGDEBG@KCEEEU@IBELMHGFITAFADEBSAQAiOMC{C_IKI@UGGAIBGAE@GACSACEC@CDA@QOACAE@IDAVGBC@GHE@EICCIMC"],["@@@BB@@AA@"],["@@D@AACBB@"],["@@@BBCA@@B"],["@@B@@AAB"],["@@B@A@"],["@@B@A@"],["@@D@@AA@A@@B"],["@@BBBAAAAB"],["@@@BF@DAACE@CBBB"],["@@@A@B"],["@@BACAA@@BDB"],["@@ABD@AE@D"],["@@DDBABEKACBBBB@DB"],["@@@BBBBCCA@B"],["@@B@A@"]],"encodeOffsets":[[[117871,23318]],[[117951,23284]],[[118250,23170]],[[118392,23248]],[[118691,23333]],[[117787,23247]],[[118896,23362]],[[118891,23360]],[[118753,23339]],[[118614,23269]],[[118615,23269]],[[118615,23268]],[[118399,23252]],[[118350,23224]],[[118346,23193]],[[118318,23199]],[[118261,23179]],[[118258,23180]],[[118203,23201]],[[118201,23206]],[[118199,23210]]]},"properties":{"cp":[115.364238,22.774485],"name":"汕尾市","childNum":21}},{"id":"441600","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@PDPHHGHBNNF@FADEBIB@FFAFEDAFFFHDF@@@CK@CD@FBF@DADIJADAHG@GBEDCF@PBD@I]DE@Q@E^KFUG[AKFALJDCDEPADEJODBDDTTDBNBNHHHPDJXHNDBLBLHJAF@BHFHPBVNHFFJDDD@HER[HAZGLHFB`IJ@FHHTRZbXFBJIHCDBNHTFVLFEHIAEAADIFIFOP]DAP@HAFKFKHNFRJL@LBBH@JIFPBFDFF@DD@JGFADFREHEJBFDJERBDDDF@P@F@LHJCROFAHBJ@FH@BDBF@NIBC@CFCF@DFF@ZWTIDBBFFHLFPFF@TIBCKYJKFSFEHC^NFXLBBBBVJTFJGXBFBHHFDFEH@DLLAL@LDLHFLFdCAUBEFCLBJDJFFFHNTHNHNBLAVLDADIDARBFABCHADDBFFHZNFHBDCFADBDNH@LBDB@BEFEDARDJ@@IBCDBBBH@DB@GJIAGJO@CB@BBFD@ACG@CJ@HABKFBDFD@HADCBEDAFBJL@B@BGEA@@B@D@DHBCJBBDCH@DDJAFDJLBBPAFBBBNDDDfAHCH@CHIBGT@H@BN@RDZLHBPLJBHCBCDBFFJFHDHAPCFFLTDPHFJDZBFDL@NBFAROFAH@NDNAb[FAD@DDBFAP@TTdD@FEHAHBHDXbLFLAvcDCFANKPANDXIDAHWNCLKJA@EGGFGNGBOBCHAF@PDDAFGIS@ADCPG@EDAPCJEPEBA@KAKJUAMAGBMABEAMCCEEAK@MCKIGC@M@EIKGEKQ@CJS@IFK@CKGOAMCBCHABAAADECAE@IFM@AADK@EFK@ECG@CJQBI@ECGEE@ELIBUFERALBJ@NCNAJEBGBCDAJHR@DAGSBI@ALBDABPDBD@HAFBFCFIAQBEJ@RHDABA@CKKDECEIEMEEKBOLEFEBI@KAKMSIKECGBMGEM@WEMAGDGAOFECODCLEBCCCLOAGLCDA@KACIC@CDEJAJGBEAEFEBCACEGAGBENOLABABC@O@EECEBMAC@@KI@CAACAGBCHA@MC_EEIAGFEFKOSECAACCOBGBCH@DCBEAEBAC@KHKA@FUNKPK@GEC@@IHAFMGOBCJECKLGJSC@OBAA@E@AFAN@DA@QBADCH@DADCAIBAJK@CIKEIGAEDQ@GDCH@LADCBI^CDGOEAODEFAHDJDDBHGDOAEEIKCEFCIAEBIEIJC@@GCAC@AABELQ@ECAQICC@OEMESAAMAEECINKDONILMNG@IBGEWBCJG@IAIBCFEKGHI@CDECGDGAEDKIC@AECOGE@AAEOC@GHE@EBAAI@IEBEAIFEGEAA@CIGACBCBAAC@GDCCABGAABCB@CGBCCCE@EA@AACEAFCBEC@CAAEDCAEBAAECAEDG@ECAGBGAECAAAGA@EBGHMACEAO@ICCEGA@IAIFGBACCAECA@ACC@EFAJ@DAAEDGCAHCCCA@@CG@EFCA@CLMDAAAG@AAGOG@GISKCCIGOI@C@A@ABCDBLBHALBHAH@H@BCJBDDDBF@BADBFDHEFDBHEDBFD@DBBBHHBBDABBD@BD@BD@HADEDABA@EB@IK@ACA@CEA@CC@@CBC@CCAABCCJMCCDIFADCD@JIAA@EF@DBD@FAH@BQCMEAAEDEHAF@HGFBJEFBCHBDDCB@BBF@HDFDBHBDBABCL@FCAADOC@@ICC@ICGFC@AEGDIAIGAACCI@CBEII@EQIFOIEAEDGAGBAAA@IIEDIFC@CACA]FEFGFC@AEGDCACBC\\KEMGIACABGGFEAEBCBCACCBCJCBAIDGAAEA@C@KDC@CFA@EDABCAA@CDCCAC@IGIA@DICCBC@EEAEBEDEJC@DHAAAFCAIA@@EE@BCDCNBBICEF@DOFECAFCCA@CBAAECAFIAEGA@ADADCD@BCD@DBHABIJE@GAQJGBACKACAOPQTABAECAEAABADGCQFW@ACCACD@@CFCIMHBBADEJ@BB@BD@XEBCICE@KGaGG@CDGAAABCDABEAIOMFGF@BAEEUKCBG@CBQCAAGC@ABCHBDGGG@CCAEEBCIG@ECA@EDIB@KBGHABIBCFDB@JBBC@CHBB@LABE@@FHDKP@DADC@CACBEFCCOPBLGEO@EJIBKFGAERCBCDE@GFMGACEAKIGCGACHBDCFBBAB@DDDEDE@@DHdE@ADFFEBDF@B@DDBBFCBIEKACFA@@DA@EFE@@FABCB@AC@AF@DCDKDEDBBEBCFEAAEG@CBK@IEC@CCCBGDBLC@OEGDAAIACEEDECAACAEBC@ADC@EAACEAAC@DEDABE@EBC@CBOGCG@CFEOA@CAAEA@AE@ICC@@AGDEAGDADMBC@ABGD@EAAKCACAASEGABAGCEICACBCEAACAMDIG@ECICEEDKAAAAEBEGGE@CBEACFCAGHMDK@CBK@EBEAMF@OGCBACAIKAAFIGE@GCAAGCACCCBIAC@C@MPBLHL@FMGBBCDABAFABE@AB@JGD@AEA@ABDD@IBABG@JPBLA@AFGBCBA@AFCCC@IIEBECIEACI@EBEAFMAGBA@UB@FAEI@AAABCCAAC@GCEBAACBEAE@EDA@G@CCEECCCBAACEAAECAAGC@EGHQICE@CCABCAMC@EBEACECAOIECGCAC@CAAEC@BIDACC@CBCLCAABAAAAEFC@CCA@CGEC@GIBEKOCAC@GA@DEFO@BDEH@BEDBDCBAFAAABCHCFI@ED@DEDEBABCBCLI@ABEBM@A@BBAJDJILHHBFCFBDDDF@DDCP@FILBBAD@DDFCDC@CAEBEHDJCBGCCBCJBBFPHFBFD@FNGBCB@BDBABAD@BADBDIBCDA@ECIBBFCJABGBABBDABIAEFKCCCCDBF@BCDCCECACABACAB@H@@@LCBCCAB@DBBEDADEB@DDDDF@J@BIDGAAFEDCAAAMF@BDBH@DDADE@BDCFDHED@DDDEHIDABBDBDD@@DFBDFLBKFK@EFABKFECE@CDEAACABICCBCE@CCCEAABBDADABABC@CDCA@AAAAIDG@EQDCD@FGBAAABBDABC@AHLBJHr€TPXDRFDDBHAHW\\GTADBJFPNLLNBFCHEFEDE@WEOBGDGFCFA\\EVIAACCAADGC@ACCC@AGCABECAG@CBGBCA@ABCCCBABIA@@ECADAF@@AEEG@KHEBGFBHF@@HEHIJA@CDWJCBADCBIECFGBCFEFANBDEDE@IPEBBFDFILBDEBHFDF@HBD@LEBCJCAEHC@CHCD@DCDATKRCD@JA@CDEBIAELADDDAHGJADBBKBIHI@GHEBGACBCFEAMDWKWGGGKCGBMLACI@BHANCLIFCCGCI@KHBDCLUhK@@DGFOWCOC@CFGBCDAFA@CDDDFF@HADCBI@KBIF@HDHABGV@FTXBLGLE@AJDDCHQBCNGND@CTHP@N@LNJ@FNLNDDAFDBDC@C@IJCDBLFHBHDBD@FBJN@JGD@BDDJBFDBDCDDNBFTDDFCHAFBFCB@HDJHDDFEH@HDHBBHBAFEDEN@DDH@NNEDDKHENDJFHLDHFGH@FDB^DFCJKB@FVBDbB@FAHCJCFB\\FFDFFFVJN@JFNFLJJVNPBDGN@FDDH@BAPQHCB@DDB@@BHHAFFJJFFJDNFFF@@@BEAI@GDED@FDDHD@D@FADEFCJ@BF@F@BFHFBEBCDEXBDJJJDRDTBNDFFFP@FEFIJCHBNAHBFLRELALCDEBEBOASJCBIXCDEAKWCEQM_KMIIEAA@GCC[UGAA@EKCCAGECAKCEMGCB@JABG@IE@EDID@HBD@@WAMMEDATIFULI@CEAAGCAKFIEEAIJQFEFIACBGJAHCFEBEEK@CF@JABC@AC[BSDIEEDG@AACCIGGCGBYVE@QMEUEAC@CFAFBNQPIDGHEJGT[TCFAHBFPTANEHMF[H@DFJADOdAFGJOHED@DBDB@`BF@BDADI@O@I@CDBFJFLDBDCJBJHFHLRbAJMPAD@DPZNHJLBF@FC@MRKFaAQEE@ABDPCZ@JLZAFGHIJ@JGN@FPLFFNBZVXNFPNPLDPDHFBFADQJELYREHEN@RAFKHCHBDBBVFHBBFCJLNFBRDHBDDAPCJ@F"],"encodeOffsets":[[117052,25164]]},"properties":{"cp":[114.697802,23.746266],"name":"河源市","childNum":1}},{"id":"441700","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@@BBFCDBFH@BFDBHABC@ECAGIKA"],["@@BDB@DECACD"],["@@B@@CCGBCAE@CL@FCLADALCBCJKDAD@B@@IJEFALFFC@C@CJGDMJADSDGBAD@LEnEFGDBH@DCPCFBFCHNJF@AHE@CDALAFGLGAIBGAEFABCAIG@MI@GAEIIGIDGJC@AAC@ICEAEYCBTADEDEAGYEAABA@BFAH@HBFAJIAMOC@@DGBEDGCEDK@IAGMCCAEC@GSGIBGFC@CAEKSHEFGGMIQKGIMCCGEA@GCAAGDG@ABQDCEIBE@GKAECC@CDKH@FEJAD@DABIDELBPGDI@ACAAI@ABC@CJEF@DCFABCBYCCQKAABI@CECCEBIAABCDEBAHCBC@GBADAFKCEAGGE@CMIK@CCEABCHEHIAGŽVBLF@JFJCAHJDD@DAZAAEBMNIPOF@BCBI@SR@@CDAJDD@DGH@NJLOJEL@HMFC@EJMD@XCDBF@RFLCDCB@BDH@BEGCAEBADAF@DBDA@CACACAAGICEIFA@AE@EFCAA@ABGBA@G@AAADMD@DHDAF@DA@CAACBGC@ADCAAFCJBFAFGD@D@FAD@DBB@BADABAHEF@DBDED@@EFCBBDAAEA@AEB@@ED@B@BEHBLAJBJ@FDBBDABCDBFADCTIDCAEDE@ADC@CFAJEBGDCDGFEBGAC@A@CDGB@DCEC@UB@DCBFD@DIBAACCECGBAF@DEEA@CDEECDIAGACC@CMJEFALADERIDCKEGEFCCCICGACCBGFEJAEEFCYSGKHMEAACKKCBGAEGBIBECCBCDG@GACAAFEDEACKC@EEAACDEMACA@ECCE@ECACFE@AKBHSDCCEBKCE@CDE@CGBCAJQ@AGCECIAcBIAMKG@CDADiHEJ@H@BHH@BIVADEBWEE@CFINC@SACBADEJAR@JHNBNARAHELEFIHIDO@aAeG…UWuS‡egYugCGG_B_@EHId[DAF@LFLBR@HAVMJ@FAFGBC@IFGACUYIEGAGFE@w]IAI@EBC@SEABBLCBGAiOOEQKcWWUMQGCC@MHALGBGAcQGBOEIDCDAHBHDFDBF@BHFDFBLADDCFCDIBCNWZ_LQDwBYAQEyW]OKKGEKWCG@GBMB_DEEMOEQCMKCC@GAAG@GD@BBDBDILC@CAA@SFSFK@G@_MUIcWKAIEIBEDCBAFBRCBG@K@OCKCk[[CMB[VOHNT@FALWŒCFADI@GGKAABBHDB@FG@BCACGCC@CDAFBJFB@LBBKJAD@FFHPL@FCHI@CFAFDJCFCB@NBF@JBBHBBBBXDD@DNJADCF@DJHBNLJCNCD@JAHEHAHK@GFI@GFAEEBCACJEDKCIDEAAD@FCDI@@DDFAFDHAFBDFDDHCD@@AFADEHEBEF@DCBD@JFB@BDHBBDBDD@BFDDBB@BBBBHJF@F@FB@JABBD@JDBFHBFHEH@HDDEHDFAREDDDCNGDABCBOBAHB@@FMAAAKDQ@KAIDC@ANCBAHAFQBIEM@CAIF@DEBONBHEFEHABCAKGGBBDADKFIBCDBBCDAACBCLDHABCB@JFJHNEDA@CRGDAH@TFB@DAHCB@DBFFB@DEJAH@NDDDJHBDBBBJDBDJFBDAHAJHJEDADQDCD@BGH@F@DGHBH@BBBCBFD@DNBHJB@CLBDFBDD@DBBBDCJF@JAF@FABBADIB@DJR@BJBJHABCB@JAFRFDDAFHC@BFD@BBD@DAB@D@FGDIN@DDBAFFJ@FCNGDCPFHF@@DLBBDB@HAFBFF@DA@BFHDAFIFAB@DFD@DIRFJ@DLFDL@BHLJHJ@DFBABDDBH@BCB@BBBDABBBD@DD@HJAHBHDFFDB@DB@BAB@HD@DHB@B@DBBBFHFPBFDTEBAL@BAFAJD@BBF@DABCA@DB@BRDD@DAB@FHHB@@DA@CDCDC@EBADFBF@BBHTHJCHHFLA@DHBH@FEBBF@DBDLLDVPBFBLHPF@DIREDHJDHFBBJ@JEJHJB@BJHJBTGJ@HCHBLHBBAH@DHNBDB@BFL@BCFABFHHFFNF@HJHHHDFDFDDHHBBFFB@BFHDDDBB@@BHFFHD@FHDJJ@FFHBLCF@HCFBFV@NJLTJHDJFA@HBDBFFJFFAB@FBBAJBLCHNH@LHL@FBBBB@DFHFHNHF@BBFBLFDAJH@LF@BDB@DDTHBJFNF@BDBFHBBFJJDHNDJHDH@BEDAJC@CD@BBD@FBFDBADDDD@NP@FC@BHDBAB@D@ADDBDFBHCDBFRBBH@DCAG@ID@DBFGF@@CD@BIF@@KHGDAJDFABIBGAEBABGEE@CAADGMAM@AIEAD@@AEA@AD@DGFABC@MCICBKDGHGAAABECAKB@BGBCC@CMEAE@ARGHDBE@CCADGLAB@ABJB@CAADCFAHDF@HGBGJCHCD@DDALB@DCJEH@FDBEFEDABBBBFEBD@DDDAFBHFBJH@FBDHDJABB@FFBBBADJFFFBHBFHJDD@BDDD@NHNNBBFEBCJC@IFCDMHA@CDABKHCHK@EDCDBREBAACBG@KAAGG@EIGKEOBAE@EIOAEFI@IHEDI@IFABCBEBEFABAEKAA@AJMH@@EDABCFCFCB@@FB@LAAKHABB"],["@@@FBBAJDDB@BCHFDAB@@CAG@AD@BCHHFCFDB@BAAECCIB@AICG@EAIF"],["@@@DFDAH@DBDD@DEBIFA@CAACACBGACB"],["@@BDJABAAAEAED"],["@@BB@AA@"],["@@EHBDD@D@@ICA"],["@@@FFABAGA"],["@@CDD@BAB@BAAACB"],["@@DHB@BAAGEB"],["@@FDD@ACEAA@@B"],["@@JBB@@CECA@CD@B"],["@@FDD@BA@ACAE@AB"],["@@@BBBBFD@BABACEABACCB"],["@@FBDADGACC@EDAACBADFD"]],"encodeOffsets":[[[114809,22153]],[[114855,22121]],[[114702,23025]],[[114874,22064]],[[114832,22121]],[[114806,22071]],[[114802,22046]],[[114922,22241]],[[114665,22174]],[[114700,22170]],[[114706,22135]],[[114625,22113]],[[114372,22058]],[[114377,22061]],[[114316,22024]],[[114143,21998]]]},"properties":{"cp":[111.975107,21.859222],"name":"阳江市","childNum":16}},{"id":"441800","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@Z`FNALDHXVD@FCNUCY@AHEDITAV@NCJIJDJ@HEBIDA^@HEV@XGJETER@DBRAJFRAHBBBFDF@LFXBHLDBXEHGP@LCHEHMBQBAJ@FAFCJKTQFIBC\\IBADGF_BS@IGmJQJKRGBMFCH@@GHW@CEG@_DGHCVALGRAJEHGDG@OEQJU@EKWFCJELATAJFNARFLCF@RHTBN@RCH@DBLVVLTHFFFDdGRFF@DADGFAbPTGLALHBAF@@@LFBFB@BADBHKJEDICO@EBCFCFCB]BENGFI@MCOEGA@cCWWCBGAAICCeMOM@EHC@EJQ@EGKKGFGBEYmCCIACC@CBMJO@EGKEEE@ACDKAAOA]BEAEE@CFMBSHO@QLS@KCCWIIIBEFK@ECM[_BcBCDCD@RJD@BA@GB@PHH@FBH@B@HGF@LBLAHCLBTIHGEW@IDCHBDAHMJMAIFIDCJBHBB@PS@KDCVQRGHUAGBABID@DGLEJIFADCDGLBFEPGP@THLCFRJR@HDHHFVHD@LG^_LCNABCH@AGACBEFEFBFFBNBBJAHCF@VJF@TKJAJDDFBHHHFL@FHBDDLADBHLDBBABGD@FBDBJNDBDC@WDGHEBKDCPIBQFCLEZEFEHAJJ^FNNLBHA`BVNPPJNDBD@DA@CAIBCNAPD\\CDBJ@DA@IIMJUDADANATIF@NHZDNDLLLVFAHGFCN@HFLTB@B@JGFGBGHCJLLHBXDDFBFRBFDDBBFAHFD@PET@LBFGBKFADF@RBDBDFBNAFADE@CGMBGFCBAJFDCAIDAV@JDB@HENCBIDCbWFAFBHAPIFIJCBAAGBMFKRM`gPAHHAFDJBZFDv@TGBK@MBEHCLAJGJBFAHIRGH@BCB]IK@CDKHCLQ@A@ILECE@IHGVGJBHAJMJUAOGEAEF[AMCINA@CACECKAAC@KBCPGNIDBFHDBJCFCDA@KCKDCH@DJD@F@HCHC@IAMJEEKFE@GDA@EHGVGFANABOPFBCAKECQBWEEBBDABEBGAIEWUaMCEIE@CFGBMBCJ@BAFE@EEGEEO@E@EQSGCACC@KBEHE@CEEC@AE@SDAL@BA@A@CME@KACM@CA@CFK@EECM@QME@GDEAO[IIAIBC@EECEACDCFEBIAOKC@GJKBKGMWCCKIIMIAIGDCDAFINGBCCE@EBAF@FADCACFIFEHDD@HCHFDCN@DABGFABC@OHGEELAFCF@DAJIBGBADBDC@O@GAA@CDC@GI@GBGAAGKE@IK[EGICQ[E@KGKJA@KGE@EFC@A@@EEAA@BHCFE@ACKHACCCAEHCJSAKEEFOFECGE@QKGBCHEBG@GJE@EO@IEACDQBGAGHE@CBGC@DCBOEIGACAIEACIBEYUGBA@@CF@DCCCGCBEHKNGFODKJEKWLOC@EEBSGC@IDEF@JGCEIBKAECBIEEKEAACA@ABEFESMGGEG@EA@ADABQH@LM@MLKCAHFFAFABGB@JIJWDIAGEJ@DCeUEAEBEACCCAG@EDKAKAGFE@IDEEGBQLBD@HGHADDFCDOFC@MHGD@HA@EDJB@DEDG@OGGHA@OEYAGBCHGDGAMBKDACAGAE@M@GEEE@EBEEEUKU@IGKCMCAMACCCMAAEAI@@CBMAEGAKBKAUFWCAA@CTEBAEIEUACCEOIAGCBCJADCAICEGGAMAOIKJCAHOACDG@GACA@EHE@IFIBAQMCKBWOBGEUPKDEGILI@ECEGBACIGGCAIIEHI@AECgE@PCEBKCDGGEBGA@GIEOHBDQBSFIGGCEJAACAHICEMGCBGACCOBGGKDMKAGQAGCCEAEGGMCMHG@AEQAEFOG@ADAAAIAFGAAGHOCE@GBGHKGODECM@GEDICEEEECE@IHADKFGHMFI@ABAFDBFD@DEDCGEDHNAJCBEB@AEBGFE@IGEBEFMZCRKF@HJTf^DJDNMPQLECBGKIDC@CcZGDAHCAIB@DCBICSIIBMEQDCODOFE@EMDEBGEUBGAKNBB@LCNCJ@BDBJAAHAB@F@HDFAFA@aAKFCDAFDFEHY@E@AFEDCD@ZDLFFLDbPJLDPEH@PAJOHGDC@EAAEGACDKBGCEIE@CHHTDD@DI@ECKIEAADAHIBADA@ADGFLNJVCBUGCLHDJL@FDDHBDDHNFFBDDH@HJJ@DIBGFG@eKK@ADAD@FKN@JJLDX@DGF@DJVa@EBONEBIAICM@EB@FLLPHJHBDCHA@ATCDFHLHBDAHGBCF@BHB@FDD@DFDBHBBD@DDBJFBBB@DGBEF@DDBFDBBDFDLAFEFONDTENKBEFIFCFGBG@IACGMGE@C@OFS@IHSJM@YHOPKFA@CCI@ELBJABQBCAEGQAKAC@IDSDEDCNBLIL@DB@@HGBAFBFNHHHBDGJCTIPAF@RC@KJAFAHDJBHBHAHAFCBEAGBAD@HHLIXCLEDK@MJGBGAOKC@AB@BFL@DQEC@EDO@GHADAJ@LBDLL@DCJCDCHLD@DGRBDJDDFBXHLHFATB@FCB@BBBHDJF\\@NGbItCJGDC@K@KCMAABEVKRCDGAABIFKLCF@PQDGDELCPEHS@EBCDUBKDOREJC@ELMNYCURIDEAEKAIBKJQFe@aYKMA_HAG@GDQFcGGCGAGBgCMIQEEC@IHGDeEAEDUAGWYGKIGSAEEEAGAO@AABGACCECAMAQHCNEJ]LCDEJCREHIDKAEBENEFGFINADAHABCD[HIAECCGCIACMCES@WQO@KBGFIBGCGECICWCMBSBGAAAAEEBED@LCJONGJAFAJEJOHQPEBGBWCAJCHBDPDHHDFDLDFHDNAJODAF@NDDDFL@HARBDFBJADBJFHLNJLBH@DBDDBFAJBHFFPJHFBJDJVR@PDPALDNE`AHQDEBEFEH@HDTCDAHKPCDAHKH@JCFQJGBQBCDAJCHOHEF@FFFCRNVFFLBJJD@@DGNDZCLDNITINKBACMRG@ABADBHEJ@FGB@HABG@GBGHIDEJ@HADCABCCCCDIAGF@BBB@XKXIPBFLTR@VJMZ@NABK@ABBFFBBD@DGJAJJHRNFJLhHFPFP@H@NHPDTEJDNLRLFNBL@^NJLNLHDDJDCHBFBDXHZDZX@FAHBDjPHFHJP@PHBARMH@FJJFBBCFBBD@FH@JJHADKHFLCRDJBFAFDJFXDF@FDNAHSDOHM@CFGDE@GPSJCHCNID@DFLA\\BLXJDFhzMR@B@FJLCVJRJDDFDP@PN^JNARBP@DEHJLJNANHP@JFFFPKR@DHDNDHAL@‚BNCJSHC@G@QBA\\JHCJDF@FIDA`CFBDBBBCHBBPVRCRBHDfZJDJBLIHURKJKJC@EKOJMPGFAN@JF"],"encodeOffsets":[[115113,25747]]},"properties":{"cp":[113.051227,23.685022],"name":"清远市","childNum":1}},{"id":"441900","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@EBCA@CGECBEAGODACEAEEGSCACM@GCEGGABCAGDAB@AH@BDA@EFADC@ACAEBAA@EF@FCNFDADBD@@AAIFCDBDC@AGADGB@@BJC@@CI@AFAHG@GECACA@CE@QDEEEA@CBA@MI@EDA@ABIEGDA@CCKIBAADGF@BCWUFICCE@GODCGAE@GDABBDEHEA@IG@@DDDCJEGA@@FCGA@BDABDJD@F@FEHPAJDB@BIFCDA@QJBDEPIDBHABCDBJMF@CCCGBCFG@AAA@CB@DCBCHC@CCMDCPABC@EFDD@BAHCD@HKCABDBEDGACDEE@EGCECEBBFGHEAEDBDB@@JIAACCBADC@AAIDBDFD@DEFADDBADABCACEEACEEBADGAACGDAA@CEAGAAAG@EDEACFGACHGBAFFH@DC@CLCJ@DCJ@LSA@DFA@HGEA@@ACABDCA@BA@BEAAEJDFHBABAFCBCBEBAAC@ABAFGEA@ADCACBBDADBBABIFCHODABCBBBQAIAGBGAACADGACFI@AHAHDBDEL@DAFBDCDAAADBDAABCBED@DFAAB@BFBFADBFAJ@QDC@C@CCCBAAACECADD@@FAEABIC@BEB@DB@E@FFEAC@@DACCCADDBA@C@@D@AC@AFDBC@@DA@ABDBDGLNA@CCEAADAAAD@@EBDB@FACAAAB@AC@FECCCBBAACAB@CCBBA@ACB@DAB@CC@@DDBC@AAB@@CGEBCCE@BE@BCDEA@@EO@EE@AABECCFC@EDKEG@@EECCE@ECCHCBGACDGEQECCBCEEB@GCBAESACEBEEEGAGFC@ACDGAEKEGGFMAGEIGEUI[QUkKVMPIFSDS@aAgW©¼]`w|MTMX@ZH`@N@HGNMP[|QpGLGLIXKzAdBRR\\RNFHL\\NLL@rLTJJFHJLH|@DBFJED@BRNHCHBD@BAAKB@RJXBLD\\V`RXFTA`WpDFAJCLAZDVCdOJAHE@ND@@FHABG@E@A^CJFLLFBPMJCH@DA@GLHJ@|OFBTF^FN@^STWVIFEFARAVDjZNFRBNCXCJEDO@QL[HGLI\\MP@@G@EFA@@DCB@LIDE@CFEFB@CB@DI@AUNEQEIBCECDCCCIABCGG@EFGDADDBFLOTCDED@@BH@BAACFCBBFDFAD@BHD@PJ@BJNDGD@BAHCDDDABBDCCCDAVBBADBHCDGB@BAD@@KDA@GACBIIAEEC@EGI@DCF@FKACC@AEBGBSFEFCDEHCLIL@BCJCHB@CHIHBDBHABKCI@CGGAECCGAAEC@IF@DEBCAGI@IAABEDCDIAQDCAEABA@AEDEAGFC@OCE@EDCAKCEGE"],"encodeOffsets":[[116971,23361]]},"properties":{"cp":[113.746262,23.046237],"name":"东莞市","childNum":1}},{"id":"442000","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@aB]HG@EAEECACDEAEGG@IJC@GEOEACBUKEECAIDIHG@KEIHKBC@GEEBICA@CBEHADA@IHC@CHG@AACSIQ@CIIAKCACHEHID@\\_F@AKDEF@BA@GDGJ@BABGD@@EBA@ECCCIIEOECBC@ACMBGCAG@GDCFCBCQC]KIK_KUGCCKAQD]dMRGFGCA@CHGDEAABEBaTMLKVMb[|AFAdGL—¦WNKf@x@FIRKPELEZQ\\KPS`KLOLSVIHD\\GlQ`UXEPKH@fFZFLN@BB@NGAELC@ADD@BDF@ILDFFA@BF@DD@FDABBDC@DEFBBJKFANGLBLBADAJLN@F@JJBPPJLT`HZFFHDLALGNUFEDCJBNRHFFBN@TEXDbHAJDHNHJHHDZJDHHHbW€e\\I^ANAjMGONKj_€idYAQMA@CHMt‘FIFFHEFFFCBBXSTA^QLKfZ~CTBo‡‹Gk}‰…I@"],"encodeOffsets":[[116295,22950]]},"properties":{"cp":[113.382391,22.521113],"name":"中山市","childNum":1}},{"id":"445100","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@B@@AAB"],["@@B@@CA@@D"],["@@BBBAC@"],["@@A@BBB@AA"],["@@@BBA@AAB"],["@@A@B@"],["@@BACD@@BA"],["@@@AAB@@B@"],["@@@DBBBCAAAA@B"],["@@B~CRKRCJDdADIFGJAHBF@BSFGGADIAKGE@@DGBKHAPBD@DEBGFKAIFG@EJEBI@EEEACE@CACHC@DDEGCBCCCFABEJ@ACAKA@AECBCBCC@ACAEB@BCBCAACMEGBADIBAE@C@EEG@A@GFA@GKCCAAGBAACIBEHA@ACGDGGEGCBA@BCCCKDALABA@ALA@EHE@GD@HCHCBEBAE]AIC@CDK@KKCECCECEDCLCPODQACIAGCAKEAAEAmDCDYBIHIF_DKGSCCOCCAGSHQOIIAEEABENADIGEDACBA@AEAA@CGC@G@OFIISFCIEDC@EFBFCFBBHLEJDHAFIDCJKLC@ECG@iTGBKAQHGFEAEBCBCJERQJCF@`@L@FDFLDDDBFCHNDFAFHF@DDEFELBBDTABC@EFC@ABEBAFEB@DEEAABEG@EBGLEDC@AJBHCBECEB@BDRAB@DNF@XEBIPBPIXGACBADAPEBEAGBK@GBKAGDGCG@EAG\\OE@DFHADWFGBCCCMC@EDKRCJALCBEBY@SDOL@FEFOPI@ECA@IJBLGTBHFHHIJD@FHDDJHBJNLNDPN@LPLBHDFANBHG@GF@RGLOPKF@bGR@FBDFBHJF@h@LDLHJHBFFELGB@DDDBFEX@BDBFADCBEB@HDFLS^cZEJ@FBFLCL@LABB@FLP@FDBFGNFF@BF@DFHJAXNFF@DCFBHVFLA@A@CDAJ@RIFBHJNFBB@R@JAJ@FHF@NEJAHBBB@HCVEF@DFGDIBBBABOLBNBBJ@F@DBFHHBJEDCH@FJANDDANJHJBNKP@BCJCB@@DBBXDDC@IBCLABBAJGFLFALGPBBJGRVFL@F@FCLDFKNALCHBBHFBFNJNCJGHCNABBDJLFJJP^BBROB@J\\@LEJER@b\\nLH@HHDJ@D@DFFDRPHAHEDAXEJXLLLHLALIDQDEFCJ@JHD@FJDPBD@XVHJAJJAHMRADBFLLNDFHJDJCVQBCBCPCFBV@@GPIDIHILBDAHIXKHIBEACIICICCQGGGAGCAQ@ECIKGEGMCAIACEIIAGEYGKAEBIDIAQDW@IJIDMBAH@NFHAAECABKAKCEOC@C@AFEF@@@HGLI@ECM@CBCFEFALHHBNEJIAEKKAMACBEAI@EDEPQGMDIAMEEAMEGKGIAEBGAACDGFCBE@GACCEBC^KDGCE@CBAJABA@AECAIAEDEYBCACCAAFIFEPER@FJNDFAJEZGBABGFCDIFIDUFOQO@ADKAEJITOFMFGF]JKDI@WDI@CAEBICEBEDEAI@CFEAE@MDIFCREHDF@FEFOLKFIBAJBJGVBLALUFQBBPJH@DBD@BCJFNQLIHCL@HGJDJAFBJEDGAIB¿ãgYIOAM@_L_@SEMEKIUkEIGCGAƒF[D]HOHUZCDEDGBGA"]],"encodeOffsets":[[[119794,24064]],[[119799,24057]],[[119800,24057]],[[119797,24062]],[[119797,24067]],[[119721,24077]],[[119723,24072]],[[119725,24071]],[[119877,24103]],[[119724,24097]]]},"properties":{"cp":[116.632301,23.661701],"name":"潮州市","childNum":10}},{"id":"445200","type":"Feature","geometry":{"type":"MultiPolygon","coordinates":[["@@HSAKJIB@FDJ@POFE@EPKTCZ@FADABKDILQFCD@DNDDHAXEBCEG@CPFH[FBH@HDHCLBHAL@HAFBFABOBCDAHBJWAOJOFA@WME@CBACQ@AFAFDDAAGBID@FCHKFAH@AFBBFF@CFABEFABAD@FED@BACSAAFKFECCE@EGEBMCDGAECCKCCE@E@K@_DERIFQDIDAFAFBHERGLBHAjSH@FDD@LKDIJCBC@CCEFIGKAADEAEK@GFMB@DMHCHMHGJGDCF@LGDC@CECKBOFEFDHE@KB@BWIECBEAACACFAAEEFCKTECGMDC@A@BEDCQ]@SMROfANGLILUPUJUFƒESBCBCH@FDFJNVTP\\DH@P@DILIDI@YEaQGGQWIEICEBCBGJCJCR@JBbCFGAOWQ@GBUAAADEAAAAID@IGEEKAMECE@CACG@GEGAOFGJCACOHGCACC@GBACCAE@UHCDEG@GDO@IHOD@@BHBBBD@AEBEH@HEBGJGDBBDJA@EDC@ACAKFCKBCBMFEBCCQDGA_JO@EII@IACUBQ@GCG@CCAEBGJELKBGCKAOEFGBSIECJI@EACMEGGFM@CMOBGAIGIAGBKAEEAUSYDIIEKBUHEB@@DBBD@BECGEECBECMG@EFE@ACACEHAHDBC@ACAD@@@BHDDBAACAKCBQ@BC@IDG@ECKDABEKGIQLKBGHCAGBCLB@GBAFFBC`MFDFCACBAD@DBBCACCBAEFEACDCH@FCH@@FDFD@F@FBHAFELDHACGBAJA@CHGFAAGDADGBQFGBAEGDEDBDAH@DFFA@AAAJAJ@HGAC@AH@@AH@@AEAEDACEAFCH@FA@AAADCNBBBBBNDDHLFDFZJDDDFF@DABBBFHDFHBPTL@BGHBDB@LCF@PDDBBJL@HHFBPAFBDCFBDAFEH@DDFC@FB@FA@GFEB@FDFCFBDDFBF@FDHADDZJXYDI@IMaCUBMFO@QBCBIPKJEBEA@MCKGAADIACQCAAEGCBCDC@GCIIEICMAYCOGMOWIIKEUAI@_PUBYCgMiGYIMCQ@eNqTGF[XIDMBMC…[•oAVABQAIBKJMBYGICOQIG@EFEBEAAFMGKAIA@MBCAG@WHABBFADCDKFC@QQ]AE@EDEHIDQDABCTGHWDMFM@GBIFOLCJIBCDEBE@GGGAGJBHCDCBG@AICGAAECMCIGGEGJCD@FDH@DEDEEGBCFAHB@@CBB@DHADBHFCFBBCDBFCD@D@@HA@HBFG@CABCCCAIEADCEE@IAAEBGPSCI@ABEFBDN@CBADFJ@D@DCDAFCBADC@@LHBBDF@B@@FGFNXHDBDFL@FCBEBA@@E@AGACKEHGQEACBEHEFEBIHAHBFDBDKBBFLBBF@FFFADCHAHEJPAHBFFBDDB@LLGFBFKJG@GFAJMAMFALJR@DCBG@KNMLADBFDPMBABALKNKDGDKKIEIAQBSE[eIBSNGJBVEDSHGAQHQDOLENKNCLCBGBWAEBEDGJiVMLABDDNL@FEF@FFLFFDBJGNWDCDD@T@FFH@HMTCH@FBHDDNLJDJCVFXAPF`@NDFDDFLDAFMNBD@DMLIFIFMAEBAFDLELDHAH@FJL@DAH@DBDPBFBFLBDFBQXSPEJGDAFGFCBGREFADCBMBICQ@UIC@IDKMGEG@YBKAIAEG@KKGKCI@GBCBA^CLFHKH@D@BFFAL@BNHFHBFu\\KJGJCTIHWJGFCPQVEBCCAAADADRFHFDLDLAF@FEHADBFFFNDHDBFB@DBJC@P@DCLPFDAD@BFNADLHDFJBFPJJBJFDABCJGJWDIPMHOTIL@JD@NBFD@RALFPIHAFFJ@J@HIHCFANRGJ@DDB@BEJHJD@NAFNHF@BKF@DDJF@FL@JFHGFBHQHGNBBN@FDBDBDCHIBCHAHBFHHBJFBDDBFDDJTFBH@B@AJFJD@HJH@HBFBFIDAF@LDBAHO@GFCDGFCJGVEFGJABADKDAF@FF@D@FBBPFFBDAHCD@NLrXHJ@DCFBBVJTVFDDDF@FA`@PMFMKO@ARIBERAFDNDFALIPEBFAF@BJAN@JCDMJCFEFEAEBAB@DDN@DEDAFBJJFCDEB@@EDEDBBDDBDAJFD@JBDGFAPAFGB@BDVBHCBFJJNJ@LDFFDLCFJCD@LCDA@AAIAGPHNGDADH@FLANADA@@DFBXADBDHFDDCBDDHBBDDJHDH@FCTDBF@BDDDDFHDL@FAAGEAIEFCD@LLJDJJFBDDCBFDVLNH@LAF@DHDF@JFLBDADCHAF@JJDFBFVBBB@HREPBHGCAAG@ADC@EFCFAAABALCBIFGFAFBBC@EFCBCHC"],["@@@@BCFCC@CH"],["@@@BBA@AAB"],["@@ABF@BAE@"]],"encodeOffsets":[[[119162,24303]],[[119360,23597]],[[119261,23474]],[[119244,23482]]]},"properties":{"cp":[116.355733,23.543778],"name":"揭阳市","childNum":4}},{"id":"445300","type":"Feature","geometry":{"type":"Polygon","coordinates":["@@@D@FBBDBF@CDAFHDBCBEPBBBF@DEJCJEBCRB@BHCFC@CDCDDFEDAHEBCHC@CCC@CC@@CD@NED@JAFK@CCAFGDBLKBBCFJDDDBCAABCTLLDFADFNCDFDC@AF@HFFAF@@HD@BDAFDBBFCFBJHDHF@HDB@FABCCELDBH@DBfu\\aPODEDKBM@ICEKOSIWCIAGGGKAGBEJITIRKdQfI`@XBXEJCDETcLKNCbCZFfOH@HBR@TGTGNIbIšEpBLBTHPJN@REVO\\IjAŽNPCNEJM@GDKDYDIHEHERErCFCDEJGLALBŠNVNJHF@F@\\OLBRDN@HERCZKXA\\BjddfLHNDpFLDRLJLBGJ@BCF@FCHED@RABM\\U@ECE@EDCCECAEEAECABA@AEACCEAKD@DEACG@GCIAKGKECEKAI@EB@DEAGD@AKDAGKBE@ABCHADEJ@@CAACGAAAIC@AEAGBECA@CE@@AAGBEAAG@AABABB@A@AKE@CBAJADCBGAEHCBCBAEC@GCCC@GHA@@CG@A@CEA@ADCBBDA@C@ABC@CDE@CAAGH@BA@GFCAABE@AC@@MEE@AD@BAACBGCECC@AJGHAJJFBDDH@JELFF@DBH@B@BEDADBDA@WCGIGAC@IDGAAECAIDE@KD@HE@AHIACJC@CAABCCCDI@G@CCABCBCCE@CDALDHA@ABCLGBEDCBCD@DICAAEI@CAABE@AGCEE@AK@@D@HCLBBCB@NFLEHBDCB@BBCDBDH@BCDANDXJBFLGB@HG@AECACDABIHIBADA@CAC@CDGBCAA@GDECC@KLeAGBCJABEFEAEF@AEDEAAACC@GC@GAIDGAABEH@BKDCBGF@BBJCL@HNLH@JFJBBHJ@FFDAFBDD@@DNAHDDBDBB@@AHC@ERCDGFCACH@HMF@BC@KCAAGBCHELEBECCBC@A@BD@BGBBDADMDCEE@EEEFGBAHCDEAACB@CJCBGFCAADKACDIAAC@@CMAIECCG@EACCE@GAAABCA@AEABIFIECGEBAAE@ABA@ACC@ANILCHG@IFIB@BBFAB@DGJD@@DGB@D@B@DJDCH@B@DDB@FDF@DCFC@ABGPKDBDF@FHIDAFAAGGIFCCCAEIBAFC@KEAEEKGGGAIJED@BCAACCDIC@MBACBCCC@GCA@ADC@EAACGCAACCACBCAC@ABA@CCDEEGA@@ABA@GB@DCCA@ACABC@CIQBEE@@ADEDABADCE@EEA@CACDDB@BF@@BGB@JI@CBQDABQDBCB@CE@CDAVAFCHIF@CAEA@CA@ADIDGA@BMBC@CGCACDKFIHLLDH@HGDKBMDK@CC@GCA@GCCBCHAEGCE@CFCCAC@@ABABKDABC@MEQEGMCC@GDGGMBSOGAEBEAAEDMCMJI@AKUAEAA@EAAAGC@CGAGAAAGEAGQEE@MFCJSBKMCMDGAOKOEGBEFI@CFCADEAEGACAEB@AAILA@C@ICC@EAAEAAAFQ@EA@MJEBAAC@AHCH@HMHADEBBFAHBJKHEHKBCB@DGF@BIEGMEDEAODCDG@CAEHmFKFC@ABCHCTIBCNIH@D@DEDKEEBIF@JA@C@CBILADKDCBKBEDK@@DBFADDLCAGBBLKBA@@EA@EDEDADC@@HG@IN@BBBFLABEBAFAFADEB@JCJGF@JCDAJFLFF@FBFPALFJH@FHHBB@LAHBDABQFCACD@FGLGDALCB@DGBCNED@JIDADEFAAMMMGC@CC@ACCGIAEAGEEIEBCAAEA@EAAIBGCAC@EIGEAAGBECC@CACEFAAAACBEFAFECG@IFCDA@BKCCC@GDIDAHGHE@GCEBCDBB@DIABAA@KBCHDB@DAFGCQH@BBFNF@DDDHA@ALADBAFBBHBHGLCDADJ@NADEBCHC@@BFB@BC@FBBJN@NBCHBB@DFFAHABBFAH@JGBICCBGH@LE@AJC@@DE@EHCAC@@JBHCDIAEQCAGDEAACCC@B@CBACAAGD@@EMOC@CCBCCAAE@EAC@ADCD@BIFC@EEGGCMCCGIIAEGAAEACE@EMAISGCCA@ACE@@KIGCBKEEAAAE@MGEGEG@CAAAA@EGK@KMGDGAKBIAA@EBAEEEIAEAC@GEBCIIGKSMIU@CFBF@DCDBJGFADCDGACAG@GBACIAC@CAA@AFCAE@ADCAGDEFBDIFC@CMCEBCECENCFBBHBDV@BK@FFCD@FBBAD@BDBGFECCA@DBDBJAHEDABGBIACDKCGCG@MIKCAABAACSSB@BGSCMGBA@@AM@KDEAAGCCGGE@EC@CGKGKBCD@DCDMHCFA@EFG@ABCBABEB@BGHC@ICAGEAAGA@C@IGBIF@BA@CFCCCCIBAAIDABKHA@GEC@CCCGQM@ADA@ICW@GOEEBEAAE@CBCCKBACCBC@AFEDAD@DFD@HBBBJBBCDEAIDCHBBCD@FBDCH@LABABDBADA@EFABBFDBJNDR@FDD@JADKDC@ABCBEEGBEAG@KGABCDE@ADEDYIEEEAEDAAAAEFAFA@ELEBAFA@CAKKM@ABECCIMDGGCAUACC@GEGAAADCFGCAICAAAABABADCDAJBHBBHN@HHDBDHDDNDDBD@HFRFBNANDDAVBFDBD@HSHGFGD@BKFCHFDADAHEDG@CDCBCB@DI@EDYDWGC@GCCGC@A@EDIEQDK@CBE@@JCFCBGBGD@JEBCFA@GHA@CECBECE@CCUDGHQVKBGFKBCBBH@HCJMJ@HEHANCD@DCHRP@HAJBFGDEHKH@DCBBBAFEAADE@E@CBE@CCCGBEAAQAK@@DKJAJBFIHEBEHGDIBEDAJE@@BBDDDTADAB@BDNADAF@HBBDJB@JBDFBHEDDDHHGLBCFDBDADCB@FAH@BEFABB@DDFDC@CBAHCFB@@D@DHDB@EBAB@@FB@FB@ENBLAFBB@BADGD@D@BDB@FCLBFFBA@CNF@BBLBFBBHCFDBCF@F@DDTLDF@H@BJD@DDBCHBFFF@F^JBFBHBBF@HCHGDBBBBRB@VJHABBDLAFEB@DHHDLG@@FLBHBDHDBBDDDEJH@BAFDDDADDFLAFFBFFFBDCF@DJAFDLBDD@FDFFAFDBBADFFADPHDJAVFFADFBDFHDBPFDBF@HCDBDAFGJE@CHBDHB@BABAB@NEF@FCDBBJ@JCDBDJJBFFF@DDNDFJFDBHSL@DILNHBHT@BHLAFFE@FNRPHAJH@DCDBNKJADDDAJFBBJDBBHABMEBEGCC@AHGCEBWCABKBc^CHAL@fFFBHADEDFA@BFDABABAC@FH@AABCBFABEAAFA@BPAJSBADVFLJP@NJDDCLIHEEIB@vBPDJDD@DCDKBGD@HDDQXIHAFBDD@@HDDBFB\\CBQLIGC@BDC@AGA@APFND@DHCBC@@HH@DDHNTHHFDJ@FADCB"],"encodeOffsets":[[114049,23875]]},"properties":{"cp":[112.044439,22.929801],"name":"云浮市","childNum":1}}],"UTF8Encoding":true});
}));
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
/*! jQuery v3.3.1 | (c) JS Foundation and other contributors | jquery.org/license */
!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){"use strict";var n=[],r=e.document,i=Object.getPrototypeOf,o=n.slice,a=n.concat,s=n.push,u=n.indexOf,l={},c=l.toString,f=l.hasOwnProperty,p=f.toString,d=p.call(Object),h={},g=function e(t){return"function"==typeof t&&"number"!=typeof t.nodeType},y=function e(t){return null!=t&&t===t.window},v={type:!0,src:!0,noModule:!0};function m(e,t,n){var i,o=(t=t||r).createElement("script");if(o.text=e,n)for(i in v)n[i]&&(o[i]=n[i]);t.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[c.call(e)]||"object":typeof e}var b="3.3.1",w=function(e,t){return new w.fn.init(e,t)},T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;w.fn=w.prototype={jquery:"3.3.1",constructor:w,length:0,toArray:function(){return o.call(this)},get:function(e){return null==e?o.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=w.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return w.each(this,e)},map:function(e){return this.pushStack(w.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(o.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:s,sort:n.sort,splice:n.splice},w.extend=w.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||g(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)n=a[t],a!==(r=e[t])&&(l&&r&&(w.isPlainObject(r)||(i=Array.isArray(r)))?(i?(i=!1,o=n&&Array.isArray(n)?n:[]):o=n&&w.isPlainObject(n)?n:{},a[t]=w.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},w.extend({expando:"jQuery"+("3.3.1"+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==c.call(e))&&(!(t=i(e))||"function"==typeof(n=f.call(t,"constructor")&&t.constructor)&&p.call(n)===d)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e){m(e)},each:function(e,t){var n,r=0;if(C(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},trim:function(e){return null==e?"":(e+"").replace(T,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(C(Object(e))?w.merge(n,"string"==typeof e?[e]:e):s.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:u.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r,i=[],o=0,a=e.length,s=!n;o<a;o++)(r=!t(e[o],o))!==s&&i.push(e[o]);return i},map:function(e,t,n){var r,i,o=0,s=[];if(C(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&s.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&s.push(i);return a.apply([],s)},guid:1,support:h}),"function"==typeof Symbol&&(w.fn[Symbol.iterator]=n[Symbol.iterator]),w.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){l["[object "+t+"]"]=t.toLowerCase()});function C(e){var t=!!e&&"length"in e&&e.length,n=x(e);return!g(e)&&!y(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}var E=function(e){var t,n,r,i,o,a,s,u,l,c,f,p,d,h,g,y,v,m,x,b="sizzle"+1*new Date,w=e.document,T=0,C=0,E=ae(),k=ae(),S=ae(),D=function(e,t){return e===t&&(f=!0),0},N={}.hasOwnProperty,A=[],j=A.pop,q=A.push,L=A.push,H=A.slice,O=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},P="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",R="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",I="\\["+M+"*("+R+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+R+"))|)"+M+"*\\]",W=":("+R+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+I+")*)|.*)\\)|)",$=new RegExp(M+"+","g"),B=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),F=new RegExp("^"+M+"*,"+M+"*"),_=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),z=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),X=new RegExp(W),U=new RegExp("^"+R+"$"),V={ID:new RegExp("^#("+R+")"),CLASS:new RegExp("^\\.("+R+")"),TAG:new RegExp("^("+R+"|[*])"),ATTR:new RegExp("^"+I),PSEUDO:new RegExp("^"+W),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+P+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},G=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Q=/^[^{]+\{\s*\[native \w/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,K=/[+~]/,Z=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ee=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},te=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ne=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},re=function(){p()},ie=me(function(e){return!0===e.disabled&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{L.apply(A=H.call(w.childNodes),w.childNodes),A[w.childNodes.length].nodeType}catch(e){L={apply:A.length?function(e,t){q.apply(e,H.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function oe(e,t,r,i){var o,s,l,c,f,h,v,m=t&&t.ownerDocument,T=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==T&&9!==T&&11!==T)return r;if(!i&&((t?t.ownerDocument||t:w)!==d&&p(t),t=t||d,g)){if(11!==T&&(f=J.exec(e)))if(o=f[1]){if(9===T){if(!(l=t.getElementById(o)))return r;if(l.id===o)return r.push(l),r}else if(m&&(l=m.getElementById(o))&&x(t,l)&&l.id===o)return r.push(l),r}else{if(f[2])return L.apply(r,t.getElementsByTagName(e)),r;if((o=f[3])&&n.getElementsByClassName&&t.getElementsByClassName)return L.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!S[e+" "]&&(!y||!y.test(e))){if(1!==T)m=t,v=e;else if("object"!==t.nodeName.toLowerCase()){(c=t.getAttribute("id"))?c=c.replace(te,ne):t.setAttribute("id",c=b),s=(h=a(e)).length;while(s--)h[s]="#"+c+" "+ve(h[s]);v=h.join(","),m=K.test(e)&&ge(t.parentNode)||t}if(v)try{return L.apply(r,m.querySelectorAll(v)),r}catch(e){}finally{c===b&&t.removeAttribute("id")}}}return u(e.replace(B,"$1"),t,r,i)}function ae(){var e=[];function t(n,i){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=i}return t}function se(e){return e[b]=!0,e}function ue(e){var t=d.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function le(e,t){var n=e.split("|"),i=n.length;while(i--)r.attrHandle[n[i]]=t}function ce(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function fe(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function pe(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function de(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ie(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function he(e){return se(function(t){return t=+t,se(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function ge(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}n=oe.support={},o=oe.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},p=oe.setDocument=function(e){var t,i,a=e?e.ownerDocument||e:w;return a!==d&&9===a.nodeType&&a.documentElement?(d=a,h=d.documentElement,g=!o(d),w!==d&&(i=d.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",re,!1):i.attachEvent&&i.attachEvent("onunload",re)),n.attributes=ue(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=ue(function(e){return e.appendChild(d.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=Q.test(d.getElementsByClassName),n.getById=ue(function(e){return h.appendChild(e).id=b,!d.getElementsByName||!d.getElementsByName(b).length}),n.getById?(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&g)return t.getElementsByClassName(e)},v=[],y=[],(n.qsa=Q.test(d.querySelectorAll))&&(ue(function(e){h.appendChild(e).innerHTML="<a id='"+b+"'></a><select id='"+b+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&y.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||y.push("\\["+M+"*(?:value|"+P+")"),e.querySelectorAll("[id~="+b+"-]").length||y.push("~="),e.querySelectorAll(":checked").length||y.push(":checked"),e.querySelectorAll("a#"+b+"+*").length||y.push(".#.+[+~]")}),ue(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=d.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&y.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&y.push(":enabled",":disabled"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&y.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),y.push(",.*:")})),(n.matchesSelector=Q.test(m=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&ue(function(e){n.disconnectedMatch=m.call(e,"*"),m.call(e,"[s!='']:x"),v.push("!=",W)}),y=y.length&&new RegExp(y.join("|")),v=v.length&&new RegExp(v.join("|")),t=Q.test(h.compareDocumentPosition),x=t||Q.test(h.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return f=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e===d||e.ownerDocument===w&&x(w,e)?-1:t===d||t.ownerDocument===w&&x(w,t)?1:c?O(c,e)-O(c,t):0:4&r?-1:1)}:function(e,t){if(e===t)return f=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===d?-1:t===d?1:i?-1:o?1:c?O(c,e)-O(c,t):0;if(i===o)return ce(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?ce(a[r],s[r]):a[r]===w?-1:s[r]===w?1:0},d):d},oe.matches=function(e,t){return oe(e,null,null,t)},oe.matchesSelector=function(e,t){if((e.ownerDocument||e)!==d&&p(e),t=t.replace(z,"='$1']"),n.matchesSelector&&g&&!S[t+" "]&&(!v||!v.test(t))&&(!y||!y.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return oe(t,d,null,[e]).length>0},oe.contains=function(e,t){return(e.ownerDocument||e)!==d&&p(e),x(e,t)},oe.attr=function(e,t){(e.ownerDocument||e)!==d&&p(e);var i=r.attrHandle[t.toLowerCase()],o=i&&N.call(r.attrHandle,t.toLowerCase())?i(e,t,!g):void 0;return void 0!==o?o:n.attributes||!g?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},oe.escape=function(e){return(e+"").replace(te,ne)},oe.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},oe.uniqueSort=function(e){var t,r=[],i=0,o=0;if(f=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(D),f){while(t=e[o++])t===e[o]&&(i=r.push(o));while(i--)e.splice(r[i],1)}return c=null,e},i=oe.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else while(t=e[r++])n+=i(t);return n},(r=oe.selectors={cacheLength:50,createPseudo:se,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(Z,ee),e[3]=(e[3]||e[4]||e[5]||"").replace(Z,ee),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||oe.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&oe.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return V.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=a(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(Z,ee).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=E[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&E(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=oe.attr(r,e);return null==i?"!="===t:!t||(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i.replace($," ")+" ").indexOf(n)>-1:"|="===t&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,p,d,h,g=o!==a?"nextSibling":"previousSibling",y=t.parentNode,v=s&&t.nodeName.toLowerCase(),m=!u&&!s,x=!1;if(y){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===v:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?y.firstChild:y.lastChild],a&&m){x=(d=(l=(c=(f=(p=y)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1])&&l[2],p=d&&y.childNodes[d];while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if(1===p.nodeType&&++x&&p===t){c[e]=[T,d,x];break}}else if(m&&(x=d=(l=(c=(f=(p=t)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1]),!1===x)while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===v:1===p.nodeType)&&++x&&(m&&((c=(f=p[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]=[T,x]),p===t))break;return(x-=i)===r||x%r==0&&x/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||oe.error("unsupported pseudo: "+e);return i[b]?i(t):i.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?se(function(e,n){var r,o=i(e,t),a=o.length;while(a--)e[r=O(e,o[a])]=!(n[r]=o[a])}):function(e){return i(e,0,n)}):i}},pseudos:{not:se(function(e){var t=[],n=[],r=s(e.replace(B,"$1"));return r[b]?se(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}}),has:se(function(e){return function(t){return oe(e,t).length>0}}),contains:se(function(e){return e=e.replace(Z,ee),function(t){return(t.textContent||t.innerText||i(t)).indexOf(e)>-1}}),lang:se(function(e){return U.test(e||"")||oe.error("unsupported lang: "+e),e=e.replace(Z,ee).toLowerCase(),function(t){var n;do{if(n=g?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===d.activeElement&&(!d.hasFocus||d.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:de(!1),disabled:de(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return Y.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:he(function(){return[0]}),last:he(function(e,t){return[t-1]}),eq:he(function(e,t,n){return[n<0?n+t:n]}),even:he(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:he(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:he(function(e,t,n){for(var r=n<0?n+t:n;--r>=0;)e.push(r);return e}),gt:he(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=r.pseudos.eq;for(t in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})r.pseudos[t]=fe(t);for(t in{submit:!0,reset:!0})r.pseudos[t]=pe(t);function ye(){}ye.prototype=r.filters=r.pseudos,r.setFilters=new ye,a=oe.tokenize=function(e,t){var n,i,o,a,s,u,l,c=k[e+" "];if(c)return t?0:c.slice(0);s=e,u=[],l=r.preFilter;while(s){n&&!(i=F.exec(s))||(i&&(s=s.slice(i[0].length)||s),u.push(o=[])),n=!1,(i=_.exec(s))&&(n=i.shift(),o.push({value:n,type:i[0].replace(B," ")}),s=s.slice(n.length));for(a in r.filter)!(i=V[a].exec(s))||l[a]&&!(i=l[a](i))||(n=i.shift(),o.push({value:n,type:a,matches:i}),s=s.slice(n.length));if(!n)break}return t?s.length:s?oe.error(e):k(e,u).slice(0)};function ve(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function me(e,t,n){var r=t.dir,i=t.next,o=i||r,a=n&&"parentNode"===o,s=C++;return t.first?function(t,n,i){while(t=t[r])if(1===t.nodeType||a)return e(t,n,i);return!1}:function(t,n,u){var l,c,f,p=[T,s];if(u){while(t=t[r])if((1===t.nodeType||a)&&e(t,n,u))return!0}else while(t=t[r])if(1===t.nodeType||a)if(f=t[b]||(t[b]={}),c=f[t.uniqueID]||(f[t.uniqueID]={}),i&&i===t.nodeName.toLowerCase())t=t[r]||t;else{if((l=c[o])&&l[0]===T&&l[1]===s)return p[2]=l[2];if(c[o]=p,p[2]=e(t,n,u))return!0}return!1}}function xe(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function be(e,t,n){for(var r=0,i=t.length;r<i;r++)oe(e,t[r],n);return n}function we(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Te(e,t,n,r,i,o){return r&&!r[b]&&(r=Te(r)),i&&!i[b]&&(i=Te(i,o)),se(function(o,a,s,u){var l,c,f,p=[],d=[],h=a.length,g=o||be(t||"*",s.nodeType?[s]:s,[]),y=!e||!o&&t?g:we(g,p,e,s,u),v=n?i||(o?e:h||r)?[]:a:y;if(n&&n(y,v,s,u),r){l=we(v,d),r(l,[],s,u),c=l.length;while(c--)(f=l[c])&&(v[d[c]]=!(y[d[c]]=f))}if(o){if(i||e){if(i){l=[],c=v.length;while(c--)(f=v[c])&&l.push(y[c]=f);i(null,v=[],l,u)}c=v.length;while(c--)(f=v[c])&&(l=i?O(o,f):p[c])>-1&&(o[l]=!(a[l]=f))}}else v=we(v===a?v.splice(h,v.length):v),i?i(null,a,v,u):L.apply(a,v)})}function Ce(e){for(var t,n,i,o=e.length,a=r.relative[e[0].type],s=a||r.relative[" "],u=a?1:0,c=me(function(e){return e===t},s,!0),f=me(function(e){return O(t,e)>-1},s,!0),p=[function(e,n,r){var i=!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):f(e,n,r));return t=null,i}];u<o;u++)if(n=r.relative[e[u].type])p=[me(xe(p),n)];else{if((n=r.filter[e[u].type].apply(null,e[u].matches))[b]){for(i=++u;i<o;i++)if(r.relative[e[i].type])break;return Te(u>1&&xe(p),u>1&&ve(e.slice(0,u-1).concat({value:" "===e[u-2].type?"*":""})).replace(B,"$1"),n,u<i&&Ce(e.slice(u,i)),i<o&&Ce(e=e.slice(i)),i<o&&ve(e))}p.push(n)}return xe(p)}function Ee(e,t){var n=t.length>0,i=e.length>0,o=function(o,a,s,u,c){var f,h,y,v=0,m="0",x=o&&[],b=[],w=l,C=o||i&&r.find.TAG("*",c),E=T+=null==w?1:Math.random()||.1,k=C.length;for(c&&(l=a===d||a||c);m!==k&&null!=(f=C[m]);m++){if(i&&f){h=0,a||f.ownerDocument===d||(p(f),s=!g);while(y=e[h++])if(y(f,a||d,s)){u.push(f);break}c&&(T=E)}n&&((f=!y&&f)&&v--,o&&x.push(f))}if(v+=m,n&&m!==v){h=0;while(y=t[h++])y(x,b,a,s);if(o){if(v>0)while(m--)x[m]||b[m]||(b[m]=j.call(u));b=we(b)}L.apply(u,b),c&&!o&&b.length>0&&v+t.length>1&&oe.uniqueSort(u)}return c&&(T=E,l=w),x};return n?se(o):o}return s=oe.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=a(e)),n=t.length;while(n--)(o=Ce(t[n]))[b]?r.push(o):i.push(o);(o=S(e,Ee(i,r))).selector=e}return o},u=oe.select=function(e,t,n,i){var o,u,l,c,f,p="function"==typeof e&&e,d=!i&&a(e=p.selector||e);if(n=n||[],1===d.length){if((u=d[0]=d[0].slice(0)).length>2&&"ID"===(l=u[0]).type&&9===t.nodeType&&g&&r.relative[u[1].type]){if(!(t=(r.find.ID(l.matches[0].replace(Z,ee),t)||[])[0]))return n;p&&(t=t.parentNode),e=e.slice(u.shift().value.length)}o=V.needsContext.test(e)?0:u.length;while(o--){if(l=u[o],r.relative[c=l.type])break;if((f=r.find[c])&&(i=f(l.matches[0].replace(Z,ee),K.test(u[0].type)&&ge(t.parentNode)||t))){if(u.splice(o,1),!(e=i.length&&ve(u)))return L.apply(n,i),n;break}}}return(p||s(e,d))(i,t,!g,n,!t||K.test(e)&&ge(t.parentNode)||t),n},n.sortStable=b.split("").sort(D).join("")===b,n.detectDuplicates=!!f,p(),n.sortDetached=ue(function(e){return 1&e.compareDocumentPosition(d.createElement("fieldset"))}),ue(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||le("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&ue(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||le("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ue(function(e){return null==e.getAttribute("disabled")})||le(P,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),oe}(e);w.find=E,w.expr=E.selectors,w.expr[":"]=w.expr.pseudos,w.uniqueSort=w.unique=E.uniqueSort,w.text=E.getText,w.isXMLDoc=E.isXML,w.contains=E.contains,w.escapeSelector=E.escape;var k=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&w(e).is(n))break;r.push(e)}return r},S=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},D=w.expr.match.needsContext;function N(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var A=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,t,n){return g(t)?w.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?w.grep(e,function(e){return e===t!==n}):"string"!=typeof t?w.grep(e,function(e){return u.call(t,e)>-1!==n}):w.filter(t,e,n)}w.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?w.find.matchesSelector(r,e)?[r]:[]:w.find.matches(e,w.grep(t,function(e){return 1===e.nodeType}))},w.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(w(e).filter(function(){for(t=0;t<r;t++)if(w.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)w.find(e,i[t],n);return r>1?w.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&D.test(e)?w(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(w.fn.init=function(e,t,n){var i,o;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(i="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:L.exec(e))||!i[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(i[1]){if(t=t instanceof w?t[0]:t,w.merge(this,w.parseHTML(i[1],t&&t.nodeType?t.ownerDocument||t:r,!0)),A.test(i[1])&&w.isPlainObject(t))for(i in t)g(this[i])?this[i](t[i]):this.attr(i,t[i]);return this}return(o=r.getElementById(i[2]))&&(this[0]=o,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):g(e)?void 0!==n.ready?n.ready(e):e(w):w.makeArray(e,this)}).prototype=w.fn,q=w(r);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};w.fn.extend({has:function(e){var t=w(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(w.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&w(e);if(!D.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?a.index(n)>-1:1===n.nodeType&&w.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?w.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?u.call(w(e),this[0]):u.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(w.uniqueSort(w.merge(this.get(),w(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}w.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return k(e,"parentNode")},parentsUntil:function(e,t,n){return k(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return k(e,"nextSibling")},prevAll:function(e){return k(e,"previousSibling")},nextUntil:function(e,t,n){return k(e,"nextSibling",n)},prevUntil:function(e,t,n){return k(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return N(e,"iframe")?e.contentDocument:(N(e,"template")&&(e=e.content||e),w.merge([],e.childNodes))}},function(e,t){w.fn[e]=function(n,r){var i=w.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=w.filter(r,i)),this.length>1&&(O[e]||w.uniqueSort(i),H.test(e)&&i.reverse()),this.pushStack(i)}});var M=/[^\x20\t\r\n\f]+/g;function R(e){var t={};return w.each(e.match(M)||[],function(e,n){t[n]=!0}),t}w.Callbacks=function(e){e="string"==typeof e?R(e):w.extend({},e);var t,n,r,i,o=[],a=[],s=-1,u=function(){for(i=i||e.once,r=t=!0;a.length;s=-1){n=a.shift();while(++s<o.length)!1===o[s].apply(n[0],n[1])&&e.stopOnFalse&&(s=o.length,n=!1)}e.memory||(n=!1),t=!1,i&&(o=n?[]:"")},l={add:function(){return o&&(n&&!t&&(s=o.length-1,a.push(n)),function t(n){w.each(n,function(n,r){g(r)?e.unique&&l.has(r)||o.push(r):r&&r.length&&"string"!==x(r)&&t(r)})}(arguments),n&&!t&&u()),this},remove:function(){return w.each(arguments,function(e,t){var n;while((n=w.inArray(t,o,n))>-1)o.splice(n,1),n<=s&&s--}),this},has:function(e){return e?w.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=a=[],n||t||(o=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||u()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l};function I(e){return e}function W(e){throw e}function $(e,t,n,r){var i;try{e&&g(i=e.promise)?i.call(e).done(t).fail(n):e&&g(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}w.extend({Deferred:function(t){var n=[["notify","progress",w.Callbacks("memory"),w.Callbacks("memory"),2],["resolve","done",w.Callbacks("once memory"),w.Callbacks("once memory"),0,"resolved"],["reject","fail",w.Callbacks("once memory"),w.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},"catch":function(e){return i.then(null,e)},pipe:function(){var e=arguments;return w.Deferred(function(t){w.each(n,function(n,r){var i=g(e[r[4]])&&e[r[4]];o[r[1]](function(){var e=i&&i.apply(this,arguments);e&&g(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(t,r,i){var o=0;function a(t,n,r,i){return function(){var s=this,u=arguments,l=function(){var e,l;if(!(t<o)){if((e=r.apply(s,u))===n.promise())throw new TypeError("Thenable self-resolution");l=e&&("object"==typeof e||"function"==typeof e)&&e.then,g(l)?i?l.call(e,a(o,n,I,i),a(o,n,W,i)):(o++,l.call(e,a(o,n,I,i),a(o,n,W,i),a(o,n,I,n.notifyWith))):(r!==I&&(s=void 0,u=[e]),(i||n.resolveWith)(s,u))}},c=i?l:function(){try{l()}catch(e){w.Deferred.exceptionHook&&w.Deferred.exceptionHook(e,c.stackTrace),t+1>=o&&(r!==W&&(s=void 0,u=[e]),n.rejectWith(s,u))}};t?c():(w.Deferred.getStackHook&&(c.stackTrace=w.Deferred.getStackHook()),e.setTimeout(c))}}return w.Deferred(function(e){n[0][3].add(a(0,e,g(i)?i:I,e.notifyWith)),n[1][3].add(a(0,e,g(t)?t:I)),n[2][3].add(a(0,e,g(r)?r:W))}).promise()},promise:function(e){return null!=e?w.extend(e,i):i}},o={};return w.each(n,function(e,t){var a=t[2],s=t[5];i[t[1]]=a.add,s&&a.add(function(){r=s},n[3-e][2].disable,n[3-e][3].disable,n[0][2].lock,n[0][3].lock),a.add(t[3].fire),o[t[0]]=function(){return o[t[0]+"With"](this===o?void 0:this,arguments),this},o[t[0]+"With"]=a.fireWith}),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),i=o.call(arguments),a=w.Deferred(),s=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?o.call(arguments):n,--t||a.resolveWith(r,i)}};if(t<=1&&($(e,a.done(s(n)).resolve,a.reject,!t),"pending"===a.state()||g(i[n]&&i[n].then)))return a.then();while(n--)$(i[n],s(n),a.reject);return a.promise()}});var B=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;w.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&B.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},w.readyException=function(t){e.setTimeout(function(){throw t})};var F=w.Deferred();w.fn.ready=function(e){return F.then(e)["catch"](function(e){w.readyException(e)}),this},w.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--w.readyWait:w.isReady)||(w.isReady=!0,!0!==e&&--w.readyWait>0||F.resolveWith(r,[w]))}}),w.ready.then=F.then;function _(){r.removeEventListener("DOMContentLoaded",_),e.removeEventListener("load",_),w.ready()}"complete"===r.readyState||"loading"!==r.readyState&&!r.documentElement.doScroll?e.setTimeout(w.ready):(r.addEventListener("DOMContentLoaded",_),e.addEventListener("load",_));var z=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===x(n)){i=!0;for(s in n)z(e,t,s,n[s],!0,o,a)}else if(void 0!==r&&(i=!0,g(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(w(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},X=/^-ms-/,U=/-([a-z])/g;function V(e,t){return t.toUpperCase()}function G(e){return e.replace(X,"ms-").replace(U,V)}var Y=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function Q(){this.expando=w.expando+Q.uid++}Q.uid=1,Q.prototype={cache:function(e){var t=e[this.expando];return t||(t={},Y(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[G(t)]=n;else for(r in t)i[G(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][G(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(G):(t=G(t))in r?[t]:t.match(M)||[]).length;while(n--)delete r[t[n]]}(void 0===t||w.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!w.isEmptyObject(t)}};var J=new Q,K=new Q,Z=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,ee=/[A-Z]/g;function te(e){return"true"===e||"false"!==e&&("null"===e?null:e===+e+""?+e:Z.test(e)?JSON.parse(e):e)}function ne(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(ee,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n=te(n)}catch(e){}K.set(e,t,n)}else n=void 0;return n}w.extend({hasData:function(e){return K.hasData(e)||J.hasData(e)},data:function(e,t,n){return K.access(e,t,n)},removeData:function(e,t){K.remove(e,t)},_data:function(e,t,n){return J.access(e,t,n)},_removeData:function(e,t){J.remove(e,t)}}),w.fn.extend({data:function(e,t){var n,r,i,o=this[0],a=o&&o.attributes;if(void 0===e){if(this.length&&(i=K.get(o),1===o.nodeType&&!J.get(o,"hasDataAttrs"))){n=a.length;while(n--)a[n]&&0===(r=a[n].name).indexOf("data-")&&(r=G(r.slice(5)),ne(o,r,i[r]));J.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof e?this.each(function(){K.set(this,e)}):z(this,function(t){var n;if(o&&void 0===t){if(void 0!==(n=K.get(o,e)))return n;if(void 0!==(n=ne(o,e)))return n}else this.each(function(){K.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){K.remove(this,e)})}}),w.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=J.get(e,t),n&&(!r||Array.isArray(n)?r=J.access(e,t,w.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=w.queue(e,t),r=n.length,i=n.shift(),o=w._queueHooks(e,t),a=function(){w.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return J.get(e,n)||J.access(e,n,{empty:w.Callbacks("once memory").add(function(){J.remove(e,[t+"queue",n])})})}}),w.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length<n?w.queue(this[0],e):void 0===t?this:this.each(function(){var n=w.queue(this,e,t);w._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&w.dequeue(this,e)})},dequeue:function(e){return this.each(function(){w.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=w.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=J.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var re=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ie=new RegExp("^(?:([+-])=|)("+re+")([a-z%]*)$","i"),oe=["Top","Right","Bottom","Left"],ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&w.contains(e.ownerDocument,e)&&"none"===w.css(e,"display")},se=function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i};function ue(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return w.css(e,t,"")},u=s(),l=n&&n[3]||(w.cssNumber[t]?"":"px"),c=(w.cssNumber[t]||"px"!==l&&+u)&&ie.exec(w.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)w.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,w.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var le={};function ce(e){var t,n=e.ownerDocument,r=e.nodeName,i=le[r];return i||(t=n.body.appendChild(n.createElement(r)),i=w.css(t,"display"),t.parentNode.removeChild(t),"none"===i&&(i="block"),le[r]=i,i)}function fe(e,t){for(var n,r,i=[],o=0,a=e.length;o<a;o++)(r=e[o]).style&&(n=r.style.display,t?("none"===n&&(i[o]=J.get(r,"display")||null,i[o]||(r.style.display="")),""===r.style.display&&ae(r)&&(i[o]=ce(r))):"none"!==n&&(i[o]="none",J.set(r,"display",n)));for(o=0;o<a;o++)null!=i[o]&&(e[o].style.display=i[o]);return e}w.fn.extend({show:function(){return fe(this,!0)},hide:function(){return fe(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?w(this).show():w(this).hide()})}});var pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;function ye(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&N(e,t)?w.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n<r;n++)J.set(e[n],"globalEval",!t||J.get(t[n],"globalEval"))}var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===x(o))w.merge(p,o.nodeType?[o]:o);else if(me.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+w.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;w.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&w.inArray(o,r)>-1)i&&i.push(o);else if(l=w.contains(o.ownerDocument,o),a=ye(f.appendChild(o),"script"),l&&ve(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}!function(){var e=r.createDocumentFragment().appendChild(r.createElement("div")),t=r.createElement("input");t.setAttribute("type","radio"),t.setAttribute("checked","checked"),t.setAttribute("name","t"),e.appendChild(t),h.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,e.innerHTML="<textarea>x</textarea>",h.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue}();var be=r.documentElement,we=/^key/,Te=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ce=/^([^.]*)(?:\.(.+)|)/;function Ee(){return!0}function ke(){return!1}function Se(){try{return r.activeElement}catch(e){}}function De(e,t,n,r,i,o){var a,s;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(s in t)De(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=ke;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return w().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=w.guid++)),e.each(function(){w.event.add(this,t,i,r,n)})}w.event={global:{},add:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.get(e);if(y){n.handler&&(n=(o=n).handler,i=o.selector),i&&w.find.matchesSelector(be,i),n.guid||(n.guid=w.guid++),(u=y.events)||(u=y.events={}),(a=y.handle)||(a=y.handle=function(t){return"undefined"!=typeof w&&w.event.triggered!==t.type?w.event.dispatch.apply(e,arguments):void 0}),l=(t=(t||"").match(M)||[""]).length;while(l--)d=g=(s=Ce.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=w.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=w.event.special[d]||{},c=w.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&w.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,a)||e.addEventListener&&e.addEventListener(d,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),w.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.hasData(e)&&J.get(e);if(y&&(u=y.events)){l=(t=(t||"").match(M)||[""]).length;while(l--)if(s=Ce.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){f=w.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,y.handle)||w.removeEvent(e,d,y.handle),delete u[d])}else for(d in u)w.event.remove(e,d+t[l],n,r,!0);w.isEmptyObject(u)&&J.remove(e,"handle events")}},dispatch:function(e){var t=w.event.fix(e),n,r,i,o,a,s,u=new Array(arguments.length),l=(J.get(this,"events")||{})[t.type]||[],c=w.event.special[t.type]||{};for(u[0]=t,n=1;n<arguments.length;n++)u[n]=arguments[n];if(t.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,t)){s=w.event.handlers.call(this,t,l),n=0;while((o=s[n++])&&!t.isPropagationStopped()){t.currentTarget=o.elem,r=0;while((a=o.handlers[r++])&&!t.isImmediatePropagationStopped())t.rnamespace&&!t.rnamespace.test(a.namespace)||(t.handleObj=a,t.data=a.data,void 0!==(i=((w.event.special[a.origType]||{}).handle||a.handler).apply(o.elem,u))&&!1===(t.result=i)&&(t.preventDefault(),t.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,t),t.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&e.button>=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?w(i,this).index(l)>-1:w.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(e,t){Object.defineProperty(w.Event.prototype,e,{enumerable:!0,configurable:!0,get:g(t)?function(){if(this.originalEvent)return t(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[e]},set:function(t){Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:t})}})},fix:function(e){return e[w.expando]?e:new w.Event(e)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==Se()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===Se()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&N(this,"input"))return this.click(),!1},_default:function(e){return N(e.target,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},w.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},w.Event=function(e,t){if(!(this instanceof w.Event))return new w.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?Ee:ke,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&w.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[w.expando]=!0},w.Event.prototype={constructor:w.Event,isDefaultPrevented:ke,isPropagationStopped:ke,isImmediatePropagationStopped:ke,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=Ee,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=Ee,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=Ee,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},w.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&we.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Te.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},w.event.addProp),w.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,t){w.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return i&&(i===r||w.contains(r,i))||(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),w.fn.extend({on:function(e,t,n,r){return De(this,e,t,n,r)},one:function(e,t,n,r){return De(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,w(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=ke),this.each(function(){w.event.remove(this,e,n,t)})}});var Ne=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,Ae=/<script|<style|<link/i,je=/checked\s*(?:[^=]|=\s*.checked.)/i,qe=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Le(e,t){return N(e,"table")&&N(11!==t.nodeType?t:t.firstChild,"tr")?w(e).children("tbody")[0]||e:e}function He(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Oe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Pe(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(J.hasData(e)&&(o=J.access(e),a=J.set(t,o),l=o.events)){delete a.handle,a.events={};for(i in l)for(n=0,r=l[i].length;n<r;n++)w.event.add(t,i,l[i][n])}K.hasData(e)&&(s=K.access(e),u=w.extend({},s),K.set(t,u))}}function Me(e,t){var n=t.nodeName.toLowerCase();"input"===n&&pe.test(e.type)?t.checked=e.checked:"input"!==n&&"textarea"!==n||(t.defaultValue=e.defaultValue)}function Re(e,t,n,r){t=a.apply([],t);var i,o,s,u,l,c,f=0,p=e.length,d=p-1,y=t[0],v=g(y);if(v||p>1&&"string"==typeof y&&!h.checkClone&&je.test(y))return e.each(function(i){var o=e.eq(i);v&&(t[0]=y.call(this,i,o.html())),Re(o,t,n,r)});if(p&&(i=xe(t,e[0].ownerDocument,!1,e,r),o=i.firstChild,1===i.childNodes.length&&(i=o),o||r)){for(u=(s=w.map(ye(i,"script"),He)).length;f<p;f++)l=i,f!==d&&(l=w.clone(l,!0,!0),u&&w.merge(s,ye(l,"script"))),n.call(e[f],l,f);if(u)for(c=s[s.length-1].ownerDocument,w.map(s,Oe),f=0;f<u;f++)l=s[f],he.test(l.type||"")&&!J.access(l,"globalEval")&&w.contains(c,l)&&(l.src&&"module"!==(l.type||"").toLowerCase()?w._evalUrl&&w._evalUrl(l.src):m(l.textContent.replace(qe,""),c,l))}return e}function Ie(e,t,n){for(var r,i=t?w.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||w.cleanData(ye(r)),r.parentNode&&(n&&w.contains(r.ownerDocument,r)&&ve(ye(r,"script")),r.parentNode.removeChild(r));return e}w.extend({htmlPrefilter:function(e){return e.replace(Ne,"<$1></$2>")},clone:function(e,t,n){var r,i,o,a,s=e.cloneNode(!0),u=w.contains(e.ownerDocument,e);if(!(h.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||w.isXMLDoc(e)))for(a=ye(s),r=0,i=(o=ye(e)).length;r<i;r++)Me(o[r],a[r]);if(t)if(n)for(o=o||ye(e),a=a||ye(s),r=0,i=o.length;r<i;r++)Pe(o[r],a[r]);else Pe(e,s);return(a=ye(s,"script")).length>0&&ve(a,!u&&ye(e,"script")),s},cleanData:function(e){for(var t,n,r,i=w.event.special,o=0;void 0!==(n=e[o]);o++)if(Y(n)){if(t=n[J.expando]){if(t.events)for(r in t.events)i[r]?w.event.remove(n,r):w.removeEvent(n,r,t.handle);n[J.expando]=void 0}n[K.expando]&&(n[K.expando]=void 0)}}}),w.fn.extend({detach:function(e){return Ie(this,e,!0)},remove:function(e){return Ie(this,e)},text:function(e){return z(this,function(e){return void 0===e?w.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Re(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Le(this,e).appendChild(e)})},prepend:function(){return Re(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Le(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(w.cleanData(ye(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return w.clone(this,e,t)})},html:function(e){return z(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Ae.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=w.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(w.cleanData(ye(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=[];return Re(this,arguments,function(t){var n=this.parentNode;w.inArray(this,e)<0&&(w.cleanData(ye(this)),n&&n.replaceChild(t,this))},e)}}),w.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){w.fn[e]=function(e){for(var n,r=[],i=w(e),o=i.length-1,a=0;a<=o;a++)n=a===o?this:this.clone(!0),w(i[a])[t](n),s.apply(r,n.get());return this.pushStack(r)}});var We=new RegExp("^("+re+")(?!px)[a-z%]+$","i"),$e=function(t){var n=t.ownerDocument.defaultView;return n&&n.opener||(n=e),n.getComputedStyle(t)},Be=new RegExp(oe.join("|"),"i");!function(){function t(){if(c){l.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",c.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",be.appendChild(l).appendChild(c);var t=e.getComputedStyle(c);i="1%"!==t.top,u=12===n(t.marginLeft),c.style.right="60%",s=36===n(t.right),o=36===n(t.width),c.style.position="absolute",a=36===c.offsetWidth||"absolute",be.removeChild(l),c=null}}function n(e){return Math.round(parseFloat(e))}var i,o,a,s,u,l=r.createElement("div"),c=r.createElement("div");c.style&&(c.style.backgroundClip="content-box",c.cloneNode(!0).style.backgroundClip="",h.clearCloneStyle="content-box"===c.style.backgroundClip,w.extend(h,{boxSizingReliable:function(){return t(),o},pixelBoxStyles:function(){return t(),s},pixelPosition:function(){return t(),i},reliableMarginLeft:function(){return t(),u},scrollboxSize:function(){return t(),a}}))}();function Fe(e,t,n){var r,i,o,a,s=e.style;return(n=n||$e(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||w.contains(e.ownerDocument,e)||(a=w.style(e,t)),!h.pixelBoxStyles()&&We.test(a)&&Be.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function _e(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}var ze=/^(none|table(?!-c[ea]).+)/,Xe=/^--/,Ue={position:"absolute",visibility:"hidden",display:"block"},Ve={letterSpacing:"0",fontWeight:"400"},Ge=["Webkit","Moz","ms"],Ye=r.createElement("div").style;function Qe(e){if(e in Ye)return e;var t=e[0].toUpperCase()+e.slice(1),n=Ge.length;while(n--)if((e=Ge[n]+t)in Ye)return e}function Je(e){var t=w.cssProps[e];return t||(t=w.cssProps[e]=Qe(e)||e),t}function Ke(e,t,n){var r=ie.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Ze(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=w.css(e,n+oe[a],!0,i)),r?("content"===n&&(u-=w.css(e,"padding"+oe[a],!0,i)),"margin"!==n&&(u-=w.css(e,"border"+oe[a]+"Width",!0,i))):(u+=w.css(e,"padding"+oe[a],!0,i),"padding"!==n?u+=w.css(e,"border"+oe[a]+"Width",!0,i):s+=w.css(e,"border"+oe[a]+"Width",!0,i));return!r&&o>=0&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))),u}function et(e,t,n){var r=$e(e),i=Fe(e,t,r),o="border-box"===w.css(e,"boxSizing",!1,r),a=o;if(We.test(i)){if(!n)return i;i="auto"}return a=a&&(h.boxSizingReliable()||i===e.style[t]),("auto"===i||!parseFloat(i)&&"inline"===w.css(e,"display",!1,r))&&(i=e["offset"+t[0].toUpperCase()+t.slice(1)],a=!0),(i=parseFloat(i)||0)+Ze(e,t,n||(o?"border":"content"),a,r,i)+"px"}w.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Fe(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=G(t),u=Xe.test(t),l=e.style;if(u||(t=Je(s)),a=w.cssHooks[t]||w.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"==(o=typeof n)&&(i=ie.exec(n))&&i[1]&&(n=ue(e,t,i),o="number"),null!=n&&n===n&&("number"===o&&(n+=i&&i[3]||(w.cssNumber[s]?"":"px")),h.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=G(t);return Xe.test(t)||(t=Je(s)),(a=w.cssHooks[t]||w.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Fe(e,t,r)),"normal"===i&&t in Ve&&(i=Ve[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),w.each(["height","width"],function(e,t){w.cssHooks[t]={get:function(e,n,r){if(n)return!ze.test(w.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?et(e,t,r):se(e,Ue,function(){return et(e,t,r)})},set:function(e,n,r){var i,o=$e(e),a="border-box"===w.css(e,"boxSizing",!1,o),s=r&&Ze(e,t,r,a,o);return a&&h.scrollboxSize()===o.position&&(s-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-Ze(e,t,"border",!1,o)-.5)),s&&(i=ie.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=w.css(e,t)),Ke(e,n,s)}}}),w.cssHooks.marginLeft=_e(h.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Fe(e,"marginLeft"))||e.getBoundingClientRect().left-se(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),w.each({margin:"",padding:"",border:"Width"},function(e,t){w.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+oe[r]+t]=o[r]||o[r-2]||o[0];return i}},"margin"!==e&&(w.cssHooks[e+t].set=Ke)}),w.fn.extend({css:function(e,t){return z(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=$e(e),i=t.length;a<i;a++)o[t[a]]=w.css(e,t[a],!1,r);return o}return void 0!==n?w.style(e,t,n):w.css(e,t)},e,t,arguments.length>1)}});function tt(e,t,n,r,i){return new tt.prototype.init(e,t,n,r,i)}w.Tween=tt,tt.prototype={constructor:tt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||w.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(w.cssNumber[n]?"":"px")},cur:function(){var e=tt.propHooks[this.prop];return e&&e.get?e.get(this):tt.propHooks._default.get(this)},run:function(e){var t,n=tt.propHooks[this.prop];return this.options.duration?this.pos=t=w.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):tt.propHooks._default.set(this),this}},tt.prototype.init.prototype=tt.prototype,tt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=w.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){w.fx.step[e.prop]?w.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[w.cssProps[e.prop]]&&!w.cssHooks[e.prop]?e.elem[e.prop]=e.now:w.style(e.elem,e.prop,e.now+e.unit)}}},tt.propHooks.scrollTop=tt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},w.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},w.fx=tt.prototype.init,w.fx.step={};var nt,rt,it=/^(?:toggle|show|hide)$/,ot=/queueHooks$/;function at(){rt&&(!1===r.hidden&&e.requestAnimationFrame?e.requestAnimationFrame(at):e.setTimeout(at,w.fx.interval),w.fx.tick())}function st(){return e.setTimeout(function(){nt=void 0}),nt=Date.now()}function ut(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=oe[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function lt(e,t,n){for(var r,i=(pt.tweeners[t]||[]).concat(pt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function ct(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ae(e),y=J.get(e,"fxshow");n.queue||(null==(a=w._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,w.queue(e,"fx").length||a.empty.fire()})}));for(r in t)if(i=t[r],it.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!y||void 0===y[r])continue;g=!0}d[r]=y&&y[r]||w.style(e,r)}if((u=!w.isEmptyObject(t))||!w.isEmptyObject(d)){f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=y&&y.display)&&(l=J.get(e,"display")),"none"===(c=w.css(e,"display"))&&(l?c=l:(fe([e],!0),l=e.style.display||l,c=w.css(e,"display"),fe([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===w.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1;for(r in d)u||(y?"hidden"in y&&(g=y.hidden):y=J.access(e,"fxshow",{display:l}),o&&(y.hidden=!g),g&&fe([e],!0),p.done(function(){g||fe([e]),J.remove(e,"fxshow");for(r in d)w.style(e,r,d[r])})),u=lt(g?y[r]:0,r,p),r in y||(y[r]=u.start,g&&(u.end=u.start,u.start=0))}}function ft(e,t){var n,r,i,o,a;for(n in e)if(r=G(n),i=t[r],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=w.cssHooks[r])&&"expand"in a){o=a.expand(o),delete e[r];for(n in o)n in e||(e[n]=o[n],t[n]=i)}else t[r]=i}function pt(e,t,n){var r,i,o=0,a=pt.prefilters.length,s=w.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;for(var t=nt||st(),n=Math.max(0,l.startTime+l.duration-t),r=1-(n/l.duration||0),o=0,a=l.tweens.length;o<a;o++)l.tweens[o].run(r);return s.notifyWith(e,[l,r,n]),r<1&&a?n:(a||s.notifyWith(e,[l,1,0]),s.resolveWith(e,[l]),!1)},l=s.promise({elem:e,props:w.extend({},t),opts:w.extend(!0,{specialEasing:{},easing:w.easing._default},n),originalProperties:t,originalOptions:n,startTime:nt||st(),duration:n.duration,tweens:[],createTween:function(t,n){var r=w.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(i)return this;for(i=!0;n<r;n++)l.tweens[n].run(1);return t?(s.notifyWith(e,[l,1,0]),s.resolveWith(e,[l,t])):s.rejectWith(e,[l,t]),this}}),c=l.props;for(ft(c,l.opts.specialEasing);o<a;o++)if(r=pt.prefilters[o].call(l,e,c,l.opts))return g(r.stop)&&(w._queueHooks(l.elem,l.opts.queue).stop=r.stop.bind(r)),r;return w.map(c,lt,l),g(l.opts.start)&&l.opts.start.call(e,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),w.fx.timer(w.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l}w.Animation=w.extend(pt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return ue(n.elem,e,ie.exec(t),n),n}]},tweener:function(e,t){g(e)?(t=e,e=["*"]):e=e.match(M);for(var n,r=0,i=e.length;r<i;r++)n=e[r],pt.tweeners[n]=pt.tweeners[n]||[],pt.tweeners[n].unshift(t)},prefilters:[ct],prefilter:function(e,t){t?pt.prefilters.unshift(e):pt.prefilters.push(e)}}),w.speed=function(e,t,n){var r=e&&"object"==typeof e?w.extend({},e):{complete:n||!n&&t||g(e)&&e,duration:e,easing:n&&t||t&&!g(t)&&t};return w.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in w.fx.speeds?r.duration=w.fx.speeds[r.duration]:r.duration=w.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){g(r.old)&&r.old.call(this),r.queue&&w.dequeue(this,r.queue)},r},w.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=w.isEmptyObject(e),o=w.speed(t,n,r),a=function(){var t=pt(this,w.extend({},e),o);(i||J.get(this,"finish"))&&t.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(e,t,n){var r=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=void 0),t&&!1!==e&&this.queue(e||"fx",[]),this.each(function(){var t=!0,i=null!=e&&e+"queueHooks",o=w.timers,a=J.get(this);if(i)a[i]&&a[i].stop&&r(a[i]);else for(i in a)a[i]&&a[i].stop&&ot.test(i)&&r(a[i]);for(i=o.length;i--;)o[i].elem!==this||null!=e&&o[i].queue!==e||(o[i].anim.stop(n),t=!1,o.splice(i,1));!t&&n||w.dequeue(this,e)})},finish:function(e){return!1!==e&&(e=e||"fx"),this.each(function(){var t,n=J.get(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=w.timers,a=r?r.length:0;for(n.finish=!0,w.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;t<a;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}}),w.each(["toggle","show","hide"],function(e,t){var n=w.fn[t];w.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(ut(t,!0),e,r,i)}}),w.each({slideDown:ut("show"),slideUp:ut("hide"),slideToggle:ut("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){w.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),w.timers=[],w.fx.tick=function(){var e,t=0,n=w.timers;for(nt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||w.fx.stop(),nt=void 0},w.fx.timer=function(e){w.timers.push(e),w.fx.start()},w.fx.interval=13,w.fx.start=function(){rt||(rt=!0,at())},w.fx.stop=function(){rt=null},w.fx.speeds={slow:600,fast:200,_default:400},w.fn.delay=function(t,n){return t=w.fx?w.fx.speeds[t]||t:t,n=n||"fx",this.queue(n,function(n,r){var i=e.setTimeout(n,t);r.stop=function(){e.clearTimeout(i)}})},function(){var e=r.createElement("input"),t=r.createElement("select").appendChild(r.createElement("option"));e.type="checkbox",h.checkOn=""!==e.value,h.optSelected=t.selected,(e=r.createElement("input")).value="t",e.type="radio",h.radioValue="t"===e.value}();var dt,ht=w.expr.attrHandle;w.fn.extend({attr:function(e,t){return z(this,w.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){w.removeAttr(this,e)})}}),w.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?w.prop(e,t,n):(1===o&&w.isXMLDoc(e)||(i=w.attrHooks[t.toLowerCase()]||(w.expr.match.bool.test(t)?dt:void 0)),void 0!==n?null===n?void w.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=w.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!h.radioValue&&"radio"===t&&N(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(M);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),dt={set:function(e,t,n){return!1===t?w.removeAttr(e,n):e.setAttribute(n,n),n}},w.each(w.expr.match.bool.source.match(/\w+/g),function(e,t){var n=ht[t]||w.find.attr;ht[t]=function(e,t,r){var i,o,a=t.toLowerCase();return r||(o=ht[a],ht[a]=i,i=null!=n(e,t,r)?a:null,ht[a]=o),i}});var gt=/^(?:input|select|textarea|button)$/i,yt=/^(?:a|area)$/i;w.fn.extend({prop:function(e,t){return z(this,w.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[w.propFix[e]||e]})}}),w.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&w.isXMLDoc(e)||(t=w.propFix[t]||t,i=w.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=w.find.attr(e,"tabindex");return t?parseInt(t,10):gt.test(e.nodeName)||yt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),h.optSelected||(w.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),w.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){w.propFix[this.toLowerCase()]=this});function vt(e){return(e.match(M)||[]).join(" ")}function mt(e){return e.getAttribute&&e.getAttribute("class")||""}function xt(e){return Array.isArray(e)?e:"string"==typeof e?e.match(M)||[]:[]}w.fn.extend({addClass:function(e){var t,n,r,i,o,a,s,u=0;if(g(e))return this.each(function(t){w(this).addClass(e.call(this,t,mt(this)))});if((t=xt(e)).length)while(n=this[u++])if(i=mt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=t[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,r,i,o,a,s,u=0;if(g(e))return this.each(function(t){w(this).removeClass(e.call(this,t,mt(this)))});if(!arguments.length)return this.attr("class","");if((t=xt(e)).length)while(n=this[u++])if(i=mt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=t[a++])while(r.indexOf(" "+o+" ")>-1)r=r.replace(" "+o+" "," ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=typeof e,r="string"===n||Array.isArray(e);return"boolean"==typeof t&&r?t?this.addClass(e):this.removeClass(e):g(e)?this.each(function(n){w(this).toggleClass(e.call(this,n,mt(this),t),t)}):this.each(function(){var t,i,o,a;if(r){i=0,o=w(this),a=xt(e);while(t=a[i++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else void 0!==e&&"boolean"!==n||((t=mt(this))&&J.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":J.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&(" "+vt(mt(n))+" ").indexOf(t)>-1)return!0;return!1}});var bt=/\r/g;w.fn.extend({val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=g(e),this.each(function(n){var i;1===this.nodeType&&(null==(i=r?e.call(this,n,w(this).val()):e)?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=w.map(i,function(e){return null==e?"":e+""})),(t=w.valHooks[this.type]||w.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))});if(i)return(t=w.valHooks[i.type]||w.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:"string"==typeof(n=i.value)?n.replace(bt,""):null==n?"":n}}}),w.extend({valHooks:{option:{get:function(e){var t=w.find.attr(e,"value");return null!=t?t:vt(w.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!N(n.parentNode,"optgroup"))){if(t=w(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=w.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=w.inArray(w.valHooks.option.get(r),o)>-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),w.each(["radio","checkbox"],function(){w.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=w.inArray(w(e).val(),t)>-1}},h.checkOn||(w.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),h.focusin="onfocusin"in e;var wt=/^(?:focusinfocus|focusoutblur)$/,Tt=function(e){e.stopPropagation()};w.extend(w.event,{trigger:function(t,n,i,o){var a,s,u,l,c,p,d,h,v=[i||r],m=f.call(t,"type")?t.type:t,x=f.call(t,"namespace")?t.namespace.split("."):[];if(s=h=u=i=i||r,3!==i.nodeType&&8!==i.nodeType&&!wt.test(m+w.event.triggered)&&(m.indexOf(".")>-1&&(m=(x=m.split(".")).shift(),x.sort()),c=m.indexOf(":")<0&&"on"+m,t=t[w.expando]?t:new w.Event(m,"object"==typeof t&&t),t.isTrigger=o?2:3,t.namespace=x.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+x.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=i),n=null==n?[t]:w.makeArray(n,[t]),d=w.event.special[m]||{},o||!d.trigger||!1!==d.trigger.apply(i,n))){if(!o&&!d.noBubble&&!y(i)){for(l=d.delegateType||m,wt.test(l+m)||(s=s.parentNode);s;s=s.parentNode)v.push(s),u=s;u===(i.ownerDocument||r)&&v.push(u.defaultView||u.parentWindow||e)}a=0;while((s=v[a++])&&!t.isPropagationStopped())h=s,t.type=a>1?l:d.bindType||m,(p=(J.get(s,"events")||{})[t.type]&&J.get(s,"handle"))&&p.apply(s,n),(p=c&&s[c])&&p.apply&&Y(s)&&(t.result=p.apply(s,n),!1===t.result&&t.preventDefault());return t.type=m,o||t.isDefaultPrevented()||d._default&&!1!==d._default.apply(v.pop(),n)||!Y(i)||c&&g(i[m])&&!y(i)&&((u=i[c])&&(i[c]=null),w.event.triggered=m,t.isPropagationStopped()&&h.addEventListener(m,Tt),i[m](),t.isPropagationStopped()&&h.removeEventListener(m,Tt),w.event.triggered=void 0,u&&(i[c]=u)),t.result}},simulate:function(e,t,n){var r=w.extend(new w.Event,n,{type:e,isSimulated:!0});w.event.trigger(r,null,t)}}),w.fn.extend({trigger:function(e,t){return this.each(function(){w.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return w.event.trigger(e,t,n,!0)}}),h.focusin||w.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){w.event.simulate(t,e.target,w.event.fix(e))};w.event.special[t]={setup:function(){var r=this.ownerDocument||this,i=J.access(r,t);i||r.addEventListener(e,n,!0),J.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=J.access(r,t)-1;i?J.access(r,t,i):(r.removeEventListener(e,n,!0),J.remove(r,t))}}});var Ct=e.location,Et=Date.now(),kt=/\?/;w.parseXML=function(t){var n;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){n=void 0}return n&&!n.getElementsByTagName("parsererror").length||w.error("Invalid XML: "+t),n};var St=/\[\]$/,Dt=/\r?\n/g,Nt=/^(?:submit|button|image|reset|file)$/i,At=/^(?:input|select|textarea|keygen)/i;function jt(e,t,n,r){var i;if(Array.isArray(t))w.each(t,function(t,i){n||St.test(e)?r(e,i):jt(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)});else if(n||"object"!==x(t))r(e,t);else for(i in t)jt(e+"["+i+"]",t[i],n,r)}w.param=function(e,t){var n,r=[],i=function(e,t){var n=g(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(Array.isArray(e)||e.jquery&&!w.isPlainObject(e))w.each(e,function(){i(this.name,this.value)});else for(n in e)jt(n,e[n],t,i);return r.join("&")},w.fn.extend({serialize:function(){return w.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=w.prop(this,"elements");return e?w.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!w(this).is(":disabled")&&At.test(this.nodeName)&&!Nt.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=w(this).val();return null==n?null:Array.isArray(n)?w.map(n,function(e){return{name:t.name,value:e.replace(Dt,"\r\n")}}):{name:t.name,value:n.replace(Dt,"\r\n")}}).get()}});var qt=/%20/g,Lt=/#.*$/,Ht=/([?&])_=[^&]*/,Ot=/^(.*?):[ \t]*([^\r\n]*)$/gm,Pt=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Mt=/^(?:GET|HEAD)$/,Rt=/^\/\//,It={},Wt={},$t="*/".concat("*"),Bt=r.createElement("a");Bt.href=Ct.href;function Ft(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(M)||[];if(g(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function _t(e,t,n,r){var i={},o=e===Wt;function a(s){var u;return i[s]=!0,w.each(e[s]||[],function(e,s){var l=s(t,n,r);return"string"!=typeof l||o||i[l]?o?!(u=l):void 0:(t.dataTypes.unshift(l),a(l),!1)}),u}return a(t.dataTypes[0])||!i["*"]&&a("*")}function zt(e,t){var n,r,i=w.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&w.extend(!0,e,r),e}function Xt(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}function Ut(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}w.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ct.href,type:"GET",isLocal:Pt.test(Ct.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":w.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,w.ajaxSettings),t):zt(w.ajaxSettings,e)},ajaxPrefilter:Ft(It),ajaxTransport:Ft(Wt),ajax:function(t,n){"object"==typeof t&&(n=t,t=void 0),n=n||{};var i,o,a,s,u,l,c,f,p,d,h=w.ajaxSetup({},n),g=h.context||h,y=h.context&&(g.nodeType||g.jquery)?w(g):w.event,v=w.Deferred(),m=w.Callbacks("once memory"),x=h.statusCode||{},b={},T={},C="canceled",E={readyState:0,getResponseHeader:function(e){var t;if(c){if(!s){s={};while(t=Ot.exec(a))s[t[1].toLowerCase()]=t[2]}t=s[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return c?a:null},setRequestHeader:function(e,t){return null==c&&(e=T[e.toLowerCase()]=T[e.toLowerCase()]||e,b[e]=t),this},overrideMimeType:function(e){return null==c&&(h.mimeType=e),this},statusCode:function(e){var t;if(e)if(c)E.always(e[E.status]);else for(t in e)x[t]=[x[t],e[t]];return this},abort:function(e){var t=e||C;return i&&i.abort(t),k(0,t),this}};if(v.promise(E),h.url=((t||h.url||Ct.href)+"").replace(Rt,Ct.protocol+"//"),h.type=n.method||n.type||h.method||h.type,h.dataTypes=(h.dataType||"*").toLowerCase().match(M)||[""],null==h.crossDomain){l=r.createElement("a");try{l.href=h.url,l.href=l.href,h.crossDomain=Bt.protocol+"//"+Bt.host!=l.protocol+"//"+l.host}catch(e){h.crossDomain=!0}}if(h.data&&h.processData&&"string"!=typeof h.data&&(h.data=w.param(h.data,h.traditional)),_t(It,h,n,E),c)return E;(f=w.event&&h.global)&&0==w.active++&&w.event.trigger("ajaxStart"),h.type=h.type.toUpperCase(),h.hasContent=!Mt.test(h.type),o=h.url.replace(Lt,""),h.hasContent?h.data&&h.processData&&0===(h.contentType||"").indexOf("application/x-www-form-urlencoded")&&(h.data=h.data.replace(qt,"+")):(d=h.url.slice(o.length),h.data&&(h.processData||"string"==typeof h.data)&&(o+=(kt.test(o)?"&":"?")+h.data,delete h.data),!1===h.cache&&(o=o.replace(Ht,"$1"),d=(kt.test(o)?"&":"?")+"_="+Et+++d),h.url=o+d),h.ifModified&&(w.lastModified[o]&&E.setRequestHeader("If-Modified-Since",w.lastModified[o]),w.etag[o]&&E.setRequestHeader("If-None-Match",w.etag[o])),(h.data&&h.hasContent&&!1!==h.contentType||n.contentType)&&E.setRequestHeader("Content-Type",h.contentType),E.setRequestHeader("Accept",h.dataTypes[0]&&h.accepts[h.dataTypes[0]]?h.accepts[h.dataTypes[0]]+("*"!==h.dataTypes[0]?", "+$t+"; q=0.01":""):h.accepts["*"]);for(p in h.headers)E.setRequestHeader(p,h.headers[p]);if(h.beforeSend&&(!1===h.beforeSend.call(g,E,h)||c))return E.abort();if(C="abort",m.add(h.complete),E.done(h.success),E.fail(h.error),i=_t(Wt,h,n,E)){if(E.readyState=1,f&&y.trigger("ajaxSend",[E,h]),c)return E;h.async&&h.timeout>0&&(u=e.setTimeout(function(){E.abort("timeout")},h.timeout));try{c=!1,i.send(b,k)}catch(e){if(c)throw e;k(-1,e)}}else k(-1,"No Transport");function k(t,n,r,s){var l,p,d,b,T,C=n;c||(c=!0,u&&e.clearTimeout(u),i=void 0,a=s||"",E.readyState=t>0?4:0,l=t>=200&&t<300||304===t,r&&(b=Xt(h,E,r)),b=Ut(h,b,E,l),l?(h.ifModified&&((T=E.getResponseHeader("Last-Modified"))&&(w.lastModified[o]=T),(T=E.getResponseHeader("etag"))&&(w.etag[o]=T)),204===t||"HEAD"===h.type?C="nocontent":304===t?C="notmodified":(C=b.state,p=b.data,l=!(d=b.error))):(d=C,!t&&C||(C="error",t<0&&(t=0))),E.status=t,E.statusText=(n||C)+"",l?v.resolveWith(g,[p,C,E]):v.rejectWith(g,[E,C,d]),E.statusCode(x),x=void 0,f&&y.trigger(l?"ajaxSuccess":"ajaxError",[E,h,l?p:d]),m.fireWith(g,[E,C]),f&&(y.trigger("ajaxComplete",[E,h]),--w.active||w.event.trigger("ajaxStop")))}return E},getJSON:function(e,t,n){return w.get(e,t,n,"json")},getScript:function(e,t){return w.get(e,void 0,t,"script")}}),w.each(["get","post"],function(e,t){w[t]=function(e,n,r,i){return g(n)&&(i=i||r,r=n,n=void 0),w.ajax(w.extend({url:e,type:t,dataType:i,data:n,success:r},w.isPlainObject(e)&&e))}}),w._evalUrl=function(e){return w.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},w.fn.extend({wrapAll:function(e){var t;return this[0]&&(g(e)&&(e=e.call(this[0])),t=w(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return g(e)?this.each(function(t){w(this).wrapInner(e.call(this,t))}):this.each(function(){var t=w(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=g(e);return this.each(function(n){w(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){w(this).replaceWith(this.childNodes)}),this}}),w.expr.pseudos.hidden=function(e){return!w.expr.pseudos.visible(e)},w.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},w.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var Vt={0:200,1223:204},Gt=w.ajaxSettings.xhr();h.cors=!!Gt&&"withCredentials"in Gt,h.ajax=Gt=!!Gt,w.ajaxTransport(function(t){var n,r;if(h.cors||Gt&&!t.crossDomain)return{send:function(i,o){var a,s=t.xhr();if(s.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(a in t.xhrFields)s[a]=t.xhrFields[a];t.mimeType&&s.overrideMimeType&&s.overrideMimeType(t.mimeType),t.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");for(a in i)s.setRequestHeader(a,i[a]);n=function(e){return function(){n&&(n=r=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?o(0,"error"):o(s.status,s.statusText):o(Vt[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=n(),r=s.onerror=s.ontimeout=n("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&e.setTimeout(function(){n&&r()})},n=n("abort");try{s.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),w.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),w.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return w.globalEval(e),e}}}),w.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),w.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(i,o){t=w("<script>").prop({charset:e.scriptCharset,src:e.url}).on("load error",n=function(e){t.remove(),n=null,e&&o("error"===e.type?404:200,e.type)}),r.head.appendChild(t[0])},abort:function(){n&&n()}}}});var Yt=[],Qt=/(=)\?(?=&|$)|\?\?/;w.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Yt.pop()||w.expando+"_"+Et++;return this[e]=!0,e}}),w.ajaxPrefilter("json jsonp",function(t,n,r){var i,o,a,s=!1!==t.jsonp&&(Qt.test(t.url)?"url":"string"==typeof t.data&&0===(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&Qt.test(t.data)&&"data");if(s||"jsonp"===t.dataTypes[0])return i=t.jsonpCallback=g(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,s?t[s]=t[s].replace(Qt,"$1"+i):!1!==t.jsonp&&(t.url+=(kt.test(t.url)?"&":"?")+t.jsonp+"="+i),t.converters["script json"]=function(){return a||w.error(i+" was not called"),a[0]},t.dataTypes[0]="json",o=e[i],e[i]=function(){a=arguments},r.always(function(){void 0===o?w(e).removeProp(i):e[i]=o,t[i]&&(t.jsonpCallback=n.jsonpCallback,Yt.push(i)),a&&g(o)&&o(a[0]),a=o=void 0}),"script"}),h.createHTMLDocument=function(){var e=r.implementation.createHTMLDocument("").body;return e.innerHTML="<form></form><form></form>",2===e.childNodes.length}(),w.parseHTML=function(e,t,n){if("string"!=typeof e)return[];"boolean"==typeof t&&(n=t,t=!1);var i,o,a;return t||(h.createHTMLDocument?((i=(t=r.implementation.createHTMLDocument("")).createElement("base")).href=r.location.href,t.head.appendChild(i)):t=r),o=A.exec(e),a=!n&&[],o?[t.createElement(o[1])]:(o=xe([e],t,a),a&&a.length&&w(a).remove(),w.merge([],o.childNodes))},w.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return s>-1&&(r=vt(e.slice(s)),e=e.slice(0,s)),g(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),a.length>0&&w.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?w("<div>").append(w.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},w.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){w.fn[t]=function(e){return this.on(t,e)}}),w.expr.pseudos.animated=function(e){return w.grep(w.timers,function(t){return e===t.elem}).length},w.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l,c=w.css(e,"position"),f=w(e),p={};"static"===c&&(e.style.position="relative"),s=f.offset(),o=w.css(e,"top"),u=w.css(e,"left"),(l=("absolute"===c||"fixed"===c)&&(o+u).indexOf("auto")>-1)?(a=(r=f.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),g(t)&&(t=t.call(e,n,w.extend({},s))),null!=t.top&&(p.top=t.top-s.top+a),null!=t.left&&(p.left=t.left-s.left+i),"using"in t?t.using.call(e,p):f.css(p)}},w.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){w.offset.setOffset(this,e,t)});var t,n,r=this[0];if(r)return r.getClientRects().length?(t=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:t.top+n.pageYOffset,left:t.left+n.pageXOffset}):{top:0,left:0}},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===w.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===w.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=w(e).offset()).top+=w.css(e,"borderTopWidth",!0),i.left+=w.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-w.css(r,"marginTop",!0),left:t.left-i.left-w.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===w.css(e,"position"))e=e.offsetParent;return e||be})}}),w.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,t){var n="pageYOffset"===t;w.fn[e]=function(r){return z(this,function(e,r,i){var o;if(y(e)?o=e:9===e.nodeType&&(o=e.defaultView),void 0===i)return o?o[t]:e[r];o?o.scrollTo(n?o.pageXOffset:i,n?i:o.pageYOffset):e[r]=i},e,r,arguments.length)}}),w.each(["top","left"],function(e,t){w.cssHooks[t]=_e(h.pixelPosition,function(e,n){if(n)return n=Fe(e,t),We.test(n)?w(e).position()[t]+"px":n})}),w.each({Height:"height",Width:"width"},function(e,t){w.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,r){w.fn[r]=function(i,o){var a=arguments.length&&(n||"boolean"!=typeof i),s=n||(!0===i||!0===o?"margin":"border");return z(this,function(t,n,i){var o;return y(t)?0===r.indexOf("outer")?t["inner"+e]:t.document.documentElement["client"+e]:9===t.nodeType?(o=t.documentElement,Math.max(t.body["scroll"+e],o["scroll"+e],t.body["offset"+e],o["offset"+e],o["client"+e])):void 0===i?w.css(t,n,s):w.style(t,n,i,s)},t,a?i:void 0,a)}})}),w.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,t){w.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),w.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),w.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),w.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),g(e))return r=o.call(arguments,2),i=function(){return e.apply(t||this,r.concat(o.call(arguments)))},i.guid=e.guid=e.guid||w.guid++,i},w.holdReady=function(e){e?w.readyWait++:w.ready(!0)},w.isArray=Array.isArray,w.parseJSON=JSON.parse,w.nodeName=N,w.isFunction=g,w.isWindow=y,w.camelCase=G,w.type=x,w.now=Date.now,w.isNumeric=function(e){var t=w.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},"function"==typeof define&&define.amd&&define("jquery",[],function(){return w});var Jt=e.jQuery,Kt=e.$;return w.noConflict=function(t){return e.$===w&&(e.$=Kt),t&&e.jQuery===w&&(e.jQuery=Jt),w},t||(e.jQuery=e.$=w),w});
\ No newline at end of file
/*! layer弹层组件拓展类 */
;!function(){layer.use("skin/layer.ext.css",function(){layer.layui_layer_extendlayerextjs=!0});var a=layer.cache||{},b=function(b){return a.skin?" "+a.skin+" "+a.skin+"-"+b:""};layer.prompt=function(a,c){a=a||{},"function"==typeof a&&(c=a);var d,e=2==a.formType?'<textarea class="layui-layer-input">'+(a.value||"")+"</textarea>":function(){return'<input type="'+(1==a.formType?"password":"text")+'" class="layui-layer-input" value="'+(a.value||"")+'">'}();return layer.open($.extend({btn:["&#x786E;&#x5B9A;","&#x53D6;&#x6D88;"],content:e,skin:"layui-layer-prompt"+b("prompt"),success:function(a){d=a.find(".layui-layer-input"),d.focus()},yes:function(b){var e=d.val();""===e?d.focus():e.length>(a.maxlength||500)?layer.tips("&#x6700;&#x591A;&#x8F93;&#x5165;"+(a.maxlength||500)+"&#x4E2A;&#x5B57;&#x6570;",d,{tips:1}):c&&c(e,b,d)}},a))},layer.tab=function(a){a=a||{};var c=a.tab||{};return layer.open($.extend({type:1,skin:"layui-layer-tab"+b("tab"),title:function(){var a=c.length,b=1,d="";if(a>0)for(d='<span class="layui-layer-tabnow">'+c[0].title+"</span>";a>b;b++)d+="<span>"+c[b].title+"</span>";return d}(),content:'<ul class="layui-layer-tabmain">'+function(){var a=c.length,b=1,d="";if(a>0)for(d='<li class="layui-layer-tabli xubox_tab_layer">'+(c[0].content||"no content")+"</li>";a>b;b++)d+='<li class="layui-layer-tabli">'+(c[b].content||"no content")+"</li>";return d}()+"</ul>",success:function(a){var b=a.find(".layui-layer-title").children(),c=a.find(".layui-layer-tabmain").children();b.on("mousedown",function(a){a.stopPropagation?a.stopPropagation():a.cancelBubble=!0;var b=$(this),d=b.index();b.addClass("layui-layer-tabnow").siblings().removeClass("layui-layer-tabnow"),c.eq(d).show().siblings().hide()})}},a))},layer.photos=function(a,c,d){function e(a,b,c){var d=new Image;d.onload=function(){d.onload=null,b(d)},d.onerror=function(a){d.onerror=null,c(a)},d.src=a}var f={};if(a=a||{},a.photos){var g=a.photos.constructor===Object,h=g?a.photos:{},i=h.data||[],j=h.start||0;if(f.imgIndex=j+1,g){if(0===i.length)return void layer.msg("&#x6CA1;&#x6709;&#x56FE;&#x7247;")}else{var k=$(a.photos),l=k.find(a.img||"img");if(0===l.length)return;if(c||k.find(h.img||"img").each(function(b){var c=$(this);i.push({alt:c.attr("alt"),pid:c.attr("layer-pid"),src:c.attr("layer-src")||c.attr("src"),thumb:c.attr("src")}),c.on("click",function(){layer.photos($.extend(a,{photos:{start:b,data:i,tab:a.tab},full:a.full}),!0)})}),!c)return}f.imgprev=function(a){f.imgIndex--,f.imgIndex<1&&(f.imgIndex=i.length),f.tabimg(a)},f.imgnext=function(a,b){f.imgIndex++,f.imgIndex>i.length&&(f.imgIndex=1,b)||f.tabimg(a)},f.keyup=function(a){if(!f.end){var b=a.keyCode;a.preventDefault(),37===b?f.imgprev(!0):39===b?f.imgnext(!0):27===b&&layer.close(f.index)}},f.tabimg=function(b){i.length<=1||(h.start=f.imgIndex-1,layer.close(f.index),layer.photos(a,!0,b))},f.event=function(){f.bigimg.hover(function(){f.imgsee.show()},function(){f.imgsee.hide()}),f.bigimg.find(".layui-layer-imgprev").on("click",function(a){a.preventDefault(),f.imgprev()}),f.bigimg.find(".layui-layer-imgnext").on("click",function(a){a.preventDefault(),f.imgnext()}),$(document).on("keyup",f.keyup)},f.loadi=layer.load(1,{shade:"shade"in a?!1:.9,scrollbar:!1}),e(i[j].src,function(c){layer.close(f.loadi),f.index=layer.open($.extend({type:1,area:function(){var b=[c.width,c.height],d=[$(window).width()-100,$(window).height()-100];return!a.full&&b[0]>d[0]&&(b[0]=d[0],b[1]=b[0]*d[1]/b[0]),[b[0]+"px",b[1]+"px"]}(),title:!1,shade:.9,shadeClose:!0,closeBtn:!1,move:".layui-layer-phimg img",moveType:1,scrollbar:!1,moveOut:!0,shift:5*Math.random()|0,skin:"layui-layer-photos"+b("photos"),content:'<div class="layui-layer-phimg"><img src="'+i[j].src+'" alt="'+(i[j].alt||"")+'" layer-pid="'+i[j].pid+'"><div class="layui-layer-imgsee">'+(i.length>1?'<span class="layui-layer-imguide"><a href="javascript:;" class="layui-layer-iconext layui-layer-imgprev"></a><a href="javascript:;" class="layui-layer-iconext layui-layer-imgnext"></a></span>':"")+'<div class="layui-layer-imgbar" style="display:'+(d?"block":"")+'"><span class="layui-layer-imgtit"><a href="javascript:;">'+(i[j].alt||"")+"</a><em>"+f.imgIndex+"/"+i.length+"</em></span></div></div></div>",success:function(b,c){f.bigimg=b.find(".layui-layer-phimg"),f.imgsee=b.find(".layui-layer-imguide,.layui-layer-imgbar"),f.event(b),a.tab&&a.tab(i[j],b)},end:function(){f.end=!0,$(document).off("keyup",f.keyup)}},a))},function(){layer.close(f.loadi),layer.msg("&#x5F53;&#x524D;&#x56FE;&#x7247;&#x5730;&#x5740;&#x5F02;&#x5E38;<br>&#x662F;&#x5426;&#x7EE7;&#x7EED;&#x67E5;&#x770B;&#x4E0B;&#x4E00;&#x5F20;&#xFF1F;",{time:3e4,btn:["下一张","不看了"],yes:function(){i.length>1&&f.imgnext(!0,!0)}})})}}}();
/**
@Name : layDate v1.1 日期控件
@Author: 贤心
@Date: 2014-06-25
@QQ群:176047195
@Site:http://sentsin.com/layui/laydate
*/
;!function(a){var b={path:"",defSkin:"default",format:"YYYY-MM-DD",min:"1900-01-01 00:00:00",max:"2099-12-31 23:59:59",isv:!1},c={},d=document,e="createElement",f="getElementById",g="getElementsByTagName",h=["laydate_box","laydate_void","laydate_click","LayDateSkin","skins/","/laydate.css"];a.laydate=function(b){b=b||{};try{h.event=a.event?a.event:laydate.caller.arguments[0]}catch(d){}return c.run(b),laydate},laydate.v="1.1",c.getPath=function(){var a=document.scripts,c=a[a.length-1].src;return b.path?b.path:c.substring(0,c.lastIndexOf("/")+1)}(),c.use=function(a,b){var f=d[e]("link");f.type="text/css",f.rel="stylesheet",f.href=c.getPath+a+h[5],b&&(f.id=b),d[g]("head")[0].appendChild(f),f=null},c.trim=function(a){return a=a||"",a.replace(/^\s|\s$/g,"").replace(/\s+/g," ")},c.digit=function(a){return 10>a?"0"+(0|a):a},c.stopmp=function(b){return b=b||a.event,b.stopPropagation?b.stopPropagation():b.cancelBubble=!0,this},c.each=function(a,b){for(var c=0,d=a.length;d>c&&b(c,a[c])!==!1;c++);},c.hasClass=function(a,b){return a=a||{},new RegExp("\\b"+b+"\\b").test(a.className)},c.addClass=function(a,b){return a=a||{},c.hasClass(a,b)||(a.className+=" "+b),a.className=c.trim(a.className),this},c.removeClass=function(a,b){if(a=a||{},c.hasClass(a,b)){var d=new RegExp("\\b"+b+"\\b");a.className=a.className.replace(d,"")}return this},c.removeCssAttr=function(a,b){var c=a.style;c.removeProperty?c.removeProperty(b):c.removeAttribute(b)},c.shde=function(a,b){a.style.display=b?"none":"block"},c.query=function(a){var e,b,h,i,j;return a=c.trim(a).split(" "),b=d[f](a[0].substr(1)),b?a[1]?/^\./.test(a[1])?(i=a[1].substr(1),j=new RegExp("\\b"+i+"\\b"),e=[],h=d.getElementsByClassName?b.getElementsByClassName(i):b[g]("*"),c.each(h,function(a,b){j.test(b.className)&&e.push(b)}),e[0]?e:""):(e=b[g](a[1]),e[0]?b[g](a[1]):""):b:void 0},c.on=function(b,d,e){return b.attachEvent?b.attachEvent("on"+d,function(){e.call(b,a.even)}):b.addEventListener(d,e,!1),c},c.stopMosup=function(a,b){"mouseup"!==a&&c.on(b,"mouseup",function(a){c.stopmp(a)})},c.run=function(a){var d,e,g,b=c.query,f=h.event;try{g=f.target||f.srcElement||{}}catch(i){g={}}if(d=a.elem?b(a.elem):g,f&&g.tagName){if(!d||d===c.elem)return;c.stopMosup(f.type,d),c.stopmp(f),c.view(d,a),c.reshow()}else e=a.event||"click",c.each((0|d.length)>0?d:[d],function(b,d){c.stopMosup(e,d),c.on(d,e,function(b){c.stopmp(b),d!==c.elem&&(c.view(d,a),c.reshow())})})},c.scroll=function(a){return a=a?"scrollLeft":"scrollTop",d.body[a]|d.documentElement[a]},c.winarea=function(a){return document.documentElement[a?"clientWidth":"clientHeight"]},c.isleap=function(a){return 0===a%4&&0!==a%100||0===a%400},c.checkVoid=function(a,b,d){var e=[];return a=0|a,b=0|b,d=0|d,a<c.mins[0]?e=["y"]:a>c.maxs[0]?e=["y",1]:a>=c.mins[0]&&a<=c.maxs[0]&&(a==c.mins[0]&&(b<c.mins[1]?e=["m"]:b==c.mins[1]&&d<c.mins[2]&&(e=["d"])),a==c.maxs[0]&&(b>c.maxs[1]?e=["m",1]:b==c.maxs[1]&&d>c.maxs[2]&&(e=["d",1]))),e},c.timeVoid=function(a,b){if(c.ymd[1]+1==c.mins[1]&&c.ymd[2]==c.mins[2]){if(0===b&&a<c.mins[3])return 1;if(1===b&&a<c.mins[4])return 1;if(2===b&&a<c.mins[5])return 1}else if(c.ymd[1]+1==c.maxs[1]&&c.ymd[2]==c.maxs[2]){if(0===b&&a>c.maxs[3])return 1;if(1===b&&a>c.maxs[4])return 1;if(2===b&&a>c.maxs[5])return 1}return a>(b?59:23)?1:void 0},c.check=function(){var a=c.options.format.replace(/YYYY|MM|DD|hh|mm|ss/g,"\\d+\\").replace(/\\$/g,""),b=new RegExp(a),d=c.elem[h.elemv],e=d.match(/\d+/g)||[],f=c.checkVoid(e[0],e[1],e[2]);if(""!==d.replace(/\s/g,"")){if(!b.test(d))return c.elem[h.elemv]="",c.msg("日期不符合格式,请重新选择。"),1;if(f[0])return c.elem[h.elemv]="",c.msg("日期不在有效期内,请重新选择。"),1;f.value=c.elem[h.elemv].match(b).join(),e=f.value.match(/\d+/g),e[1]<1?(e[1]=1,f.auto=1):e[1]>12?(e[1]=12,f.auto=1):e[1].length<2&&(f.auto=1),e[2]<1?(e[2]=1,f.auto=1):e[2]>c.months[(0|e[1])-1]?(e[2]=31,f.auto=1):e[2].length<2&&(f.auto=1),e.length>3&&(c.timeVoid(e[3],0)&&(f.auto=1),c.timeVoid(e[4],1)&&(f.auto=1),c.timeVoid(e[5],2)&&(f.auto=1)),f.auto?c.creation([e[0],0|e[1],0|e[2]],1):f.value!==c.elem[h.elemv]&&(c.elem[h.elemv]=f.value)}},c.months=[31,null,31,30,31,30,31,31,30,31,30,31],c.viewDate=function(a,b,d){var f=(c.query,{}),g=new Date;a<(0|c.mins[0])&&(a=0|c.mins[0]),a>(0|c.maxs[0])&&(a=0|c.maxs[0]),g.setFullYear(a,b,d),f.ymd=[g.getFullYear(),g.getMonth(),g.getDate()],c.months[1]=c.isleap(f.ymd[0])?29:28,g.setFullYear(f.ymd[0],f.ymd[1],1),f.FDay=g.getDay(),f.PDay=c.months[0===b?11:b-1]-f.FDay+1,f.NDay=1,c.each(h.tds,function(a,b){var g,d=f.ymd[0],e=f.ymd[1]+1;b.className="",a<f.FDay?(b.innerHTML=g=a+f.PDay,c.addClass(b,"laydate_nothis"),1===e&&(d-=1),e=1===e?12:e-1):a>=f.FDay&&a<f.FDay+c.months[f.ymd[1]]?(b.innerHTML=g=a-f.FDay+1,a-f.FDay+1===f.ymd[2]&&(c.addClass(b,h[2]),f.thisDay=b)):(b.innerHTML=g=f.NDay++,c.addClass(b,"laydate_nothis"),12===e&&(d+=1),e=12===e?1:e+1),c.checkVoid(d,e,g)[0]&&c.addClass(b,h[1]),c.options.festival&&c.festival(b,e+"."+g),b.setAttribute("y",d),b.setAttribute("m",e),b.setAttribute("d",g),d=e=g=null}),c.valid=!c.hasClass(f.thisDay,h[1]),c.ymd=f.ymd,h.year.value=c.ymd[0]+"",h.month.value=c.digit(c.ymd[1]+1)+"",c.each(h.mms,function(a,b){var d=c.checkVoid(c.ymd[0],(0|b.getAttribute("m"))+1);"y"===d[0]||"m"===d[0]?c.addClass(b,h[1]):c.removeClass(b,h[1]),c.removeClass(b,h[2]),d=null}),c.addClass(h.mms[c.ymd[1]],h[2]),f.times=[0|c.inymd[3]||0,0|c.inymd[4]||0,0|c.inymd[5]||0],c.each(new Array(3),function(a){c.hmsin[a].value=c.digit(c.timeVoid(f.times[a],a)?0|c.mins[a+3]:0|f.times[a])}),c[c.valid?"removeClass":"addClass"](h.ok,h[1])},c.festival=function(a,b){var c;switch(b){case"1.1":c="元旦";break;case"3.8":c="妇女";break;case"4.5":c="清明";break;case"5.1":c="劳动";break;case"6.1":c="儿童";break;case"9.10":c="教师";break;case"10.1":c="国庆"}c&&(a.innerHTML=c),c=null},c.viewYears=function(a){var b=c.query,d="";c.each(new Array(14),function(b){d+=7===b?"<li "+(parseInt(h.year.value)===a?'class="'+h[2]+'"':"")+' y="'+a+'">'+a+"</li>":'<li y="'+(a-7+b)+'">'+(a-7+b)+"年</li>"}),b("#laydate_ys").innerHTML=d,c.each(b("#laydate_ys li"),function(a,b){"y"===c.checkVoid(b.getAttribute("y"))[0]?c.addClass(b,h[1]):c.on(b,"click",function(a){c.stopmp(a).reshow(),c.viewDate(0|this.getAttribute("y"),c.ymd[1],c.ymd[2])})})},c.initDate=function(){var d=(c.query,new Date),e=c.elem[h.elemv].match(/\d+/g)||[];e.length<3&&(e=c.options.start.match(/\d+/g)||[],e.length<3&&(e=[d.getFullYear(),d.getMonth()+1,d.getDate()])),c.inymd=e,c.viewDate(e[0],e[1]-1,e[2])},c.iswrite=function(){var a=c.query,b={time:a("#laydate_hms")};c.shde(b.time,!c.options.istime),c.shde(h.oclear,!("isclear"in c.options?c.options.isclear:1)),c.shde(h.otoday,!("istoday"in c.options?c.options.istoday:1)),c.shde(h.ok,!("issure"in c.options?c.options.issure:1))},c.orien=function(a,b){var d,e=c.elem.getBoundingClientRect();a.style.left=e.left+(b?0:c.scroll(1))+"px",d=e.bottom+a.offsetHeight/1.5<=c.winarea()?e.bottom-1:e.top>a.offsetHeight/1.5?e.top-a.offsetHeight+1:c.winarea()-a.offsetHeight,a.style.top=d+(b?0:c.scroll())+"px"},c.follow=function(a){c.options.fixed?(a.style.position="fixed",c.orien(a,1)):(a.style.position="absolute",c.orien(a))},c.viewtb=function(){var a,b=[],f=["","","","","","",""],h={},i=d[e]("table"),j=d[e]("thead");return j.appendChild(d[e]("tr")),h.creath=function(a){var b=d[e]("th");b.innerHTML=f[a],j[g]("tr")[0].appendChild(b),b=null},c.each(new Array(6),function(d){b.push([]),a=i.insertRow(0),c.each(new Array(7),function(c){b[d][c]=0,0===d&&h.creath(c),a.insertCell(c)})}),i.insertBefore(j,i.children[0]),i.id=i.className="laydate_table",a=b=null,i.outerHTML.toLowerCase()}(),c.view=function(a,f){var i,g=c.query,j={};f=f||a,c.elem=a,c.options=f,c.options.format||(c.options.format=b.format),c.options.start=c.options.start||"",c.mm=j.mm=[c.options.min||b.min,c.options.max||b.max],c.mins=j.mm[0].match(/\d+/g),c.maxs=j.mm[1].match(/\d+/g),h.elemv=/textarea|input/.test(c.elem.tagName.toLocaleLowerCase())?"value":"innerHTML",c.box?c.shde(c.box):(i=d[e]("div"),i.id=h[0],i.className=h[0],i.style.cssText="position: absolute;",i.setAttribute("name","laydate-v"+laydate.v),i.innerHTML=j.html='<div class="laydate_top"><div class="laydate_ym laydate_y" id="laydate_YY"><a class="laydate_choose laydate_chprev laydate_tab"><cite></cite></a><input id="laydate_y" readonly><label></label><a class="laydate_choose laydate_chnext laydate_tab"><cite></cite></a><div class="laydate_yms"><a class="laydate_tab laydate_chtop"><cite></cite></a><ul id="laydate_ys"></ul><a class="laydate_tab laydate_chdown"><cite></cite></a></div></div><div class="laydate_ym laydate_m" id="laydate_MM"><a class="laydate_choose laydate_chprev laydate_tab"><cite></cite></a><input id="laydate_m" readonly><label></label><a class="laydate_choose laydate_chnext laydate_tab"><cite></cite></a><div class="laydate_yms" id="laydate_ms">'+function(){var a="";return c.each(new Array(12),function(b){a+='<span m="'+b+'">'+c.digit(b+1)+"</span>"}),a}()+"</div>"+"</div>"+"</div>"+c.viewtb+'<div class="laydate_bottom">'+'<ul id="laydate_hms">'+'<li class="laydate_sj">时间</li>'+"<li><input readonly>:</li>"+"<li><input readonly>:</li>"+"<li><input readonly></li>"+"</ul>"+'<div class="laydate_time" id="laydate_time"></div>'+'<div class="laydate_btn">'+'<a id="laydate_clear">清空</a>'+'<a id="laydate_today">今天</a>'+'<a id="laydate_ok">确认</a>'+"</div>"+(b.isv?'<a href="http://sentsin.com/layui/laydate/" class="laydate_v" target="_blank">laydate-v'+laydate.v+"</a>":"")+"</div>",d.body.appendChild(i),c.box=g("#"+h[0]),c.events(),i=null),c.follow(c.box),f.zIndex?c.box.style.zIndex=f.zIndex:c.removeCssAttr(c.box,"z-index"),c.stopMosup("click",c.box),c.initDate(),c.iswrite(),c.check()},c.reshow=function(){return c.each(c.query("#"+h[0]+" .laydate_show"),function(a,b){c.removeClass(b,"laydate_show")}),this},c.close=function(){c.reshow(),c.shde(c.query("#"+h[0]),1),c.elem=null},c.parse=function(a,d,e){return a=a.concat(d),e=e||(c.options?c.options.format:b.format),e.replace(/YYYY|MM|DD|hh|mm|ss/g,function(){return a.index=0|++a.index,c.digit(a[a.index])})},c.creation=function(a,b){var e=(c.query,c.hmsin),f=c.parse(a,[e[0].value,e[1].value,e[2].value]);c.elem[h.elemv]=f,b||(c.close(),"function"==typeof c.options.choose&&c.options.choose(f))},c.events=function(){var b=c.query,e={box:"#"+h[0]};c.addClass(d.body,"laydate_body"),h.tds=b("#laydate_table td"),h.mms=b("#laydate_ms span"),h.year=b("#laydate_y"),h.month=b("#laydate_m"),c.each(b(e.box+" .laydate_ym"),function(a,b){c.on(b,"click",function(b){c.stopmp(b).reshow(),c.addClass(this[g]("div")[0],"laydate_show"),a||(e.YY=parseInt(h.year.value),c.viewYears(e.YY))})}),c.on(b(e.box),"click",function(){c.reshow()}),e.tabYear=function(a){0===a?c.ymd[0]--:1===a?c.ymd[0]++:2===a?e.YY-=14:e.YY+=14,2>a?(c.viewDate(c.ymd[0],c.ymd[1],c.ymd[2]),c.reshow()):c.viewYears(e.YY)},c.each(b("#laydate_YY .laydate_tab"),function(a,b){c.on(b,"click",function(b){c.stopmp(b),e.tabYear(a)})}),e.tabMonth=function(a){a?(c.ymd[1]++,12===c.ymd[1]&&(c.ymd[0]++,c.ymd[1]=0)):(c.ymd[1]--,-1===c.ymd[1]&&(c.ymd[0]--,c.ymd[1]=11)),c.viewDate(c.ymd[0],c.ymd[1],c.ymd[2])},c.each(b("#laydate_MM .laydate_tab"),function(a,b){c.on(b,"click",function(b){c.stopmp(b).reshow(),e.tabMonth(a)})}),c.each(b("#laydate_ms span"),function(a,b){c.on(b,"click",function(a){c.stopmp(a).reshow(),c.hasClass(this,h[1])||c.viewDate(c.ymd[0],0|this.getAttribute("m"),c.ymd[2])})}),c.each(b("#laydate_table td"),function(a,b){c.on(b,"click",function(a){c.hasClass(this,h[1])||(c.stopmp(a),c.creation([0|this.getAttribute("y"),0|this.getAttribute("m"),0|this.getAttribute("d")]))})}),h.oclear=b("#laydate_clear"),c.on(h.oclear,"click",function(){c.elem[h.elemv]="",c.close()}),h.otoday=b("#laydate_today"),c.on(h.otoday,"click",function(){c.elem[h.elemv]=laydate.now(0,c.options.format),c.close()}),h.ok=b("#laydate_ok"),c.on(h.ok,"click",function(){c.valid&&c.creation([c.ymd[0],c.ymd[1]+1,c.ymd[2]])}),e.times=b("#laydate_time"),c.hmsin=e.hmsin=b("#laydate_hms input"),e.hmss=["小时","分钟","秒数"],e.hmsarr=[],c.msg=function(a,d){var f='<div class="laydte_hsmtex">'+(d||"提示")+"<span>×</span></div>";"string"==typeof a?(f+="<p>"+a+"</p>",c.shde(b("#"+h[0])),c.removeClass(e.times,"laydate_time1").addClass(e.times,"laydate_msg")):(e.hmsarr[a]?f=e.hmsarr[a]:(f+='<div id="laydate_hmsno" class="laydate_hmsno">',c.each(new Array(0===a?24:60),function(a){f+="<span>"+a+"</span>"}),f+="</div>",e.hmsarr[a]=f),c.removeClass(e.times,"laydate_msg"),c[0===a?"removeClass":"addClass"](e.times,"laydate_time1")),c.addClass(e.times,"laydate_show"),e.times.innerHTML=f},e.hmson=function(a,d){var e=b("#laydate_hmsno span"),f=c.valid?null:1;c.each(e,function(b,e){f?c.addClass(e,h[1]):c.timeVoid(b,d)?c.addClass(e,h[1]):c.on(e,"click",function(){c.hasClass(this,h[1])||(a.value=c.digit(0|this.innerHTML))})}),c.addClass(e[0|a.value],"laydate_click")},c.each(e.hmsin,function(a,b){c.on(b,"click",function(b){c.stopmp(b).reshow(),c.msg(a,e.hmss[a]),e.hmson(this,a)})}),c.on(d,"mouseup",function(){var a=b("#"+h[0]);a&&"none"!==a.style.display&&(c.check()||c.close())}).on(d,"keydown",function(b){b=b||a.event;var d=b.keyCode;13===d&&c.creation([c.ymd[0],c.ymd[1]+1,c.ymd[2]])})},c.init=function(){c.use("need"),c.use(h[4]+b.defSkin,h[3]),c.skinLink=c.query("#"+h[3])}(),laydate.reset=function(){c.box&&c.elem&&c.follow(c.box)},laydate.now=function(a,b){var d=new Date(0|a?function(a){return 864e5>a?+new Date+864e5*a:a}(parseInt(a)):+new Date);return c.parse([d.getFullYear(),d.getMonth()+1,d.getDate()],[d.getHours(),d.getMinutes(),d.getSeconds()],b)},laydate.skin=function(a){c.skinLink.href=c.getPath+h[4]+a+h[5]}}(window);
/**
@Name: laydate 核心样式
@Author:贤心
@Site:http://sentsin.com/layui/laydate
**/
html{_background-image:url(about:blank); _background-attachment:fixed;}
.layer-date{display: inline-block!important;vertical-align:text-top;max-width:240px;}
.laydate_body .laydate_box, .laydate_body .laydate_box *{margin:0; padding:0;}
.laydate-icon,
.laydate-icon-default,
.laydate-icon-danlan,
.laydate-icon-dahong,
.laydate-icon-molv{height:34px; padding-right:20px;min-width:34px;vertical-align: text-top;border:1px solid #C6C6C6; background-repeat:no-repeat; background-position:right center; background-color:#fff; outline:0;}
.laydate-icon-default{ background-image:url(../skins/default/icon.png)}
.laydate-icon-danlan{border:1px solid #B1D2EC; background-image:url(../skins/danlan/icon.png)}
.laydate-icon-dahong{background-image:url(../skins/dahong/icon.png)}
.laydate-icon-molv{background-image:url(../skins/molv/icon.png)}
.laydate_body .laydate_box{width:240px; font:12px '\5B8B\4F53'; z-index:99999999; *margin:-2px 0 0 -2px; *overflow:hidden; _margin:0; _position:absolute!important; background-color:#fff;}
.laydate_body .laydate_box li{list-style:none;}
.laydate_body .laydate_box .laydate_void{cursor:text!important;}
.laydate_body .laydate_box a, .laydate_body .laydate_box a:hover{text-decoration:none; blr:expression(this.onFocus=this.blur()); cursor:pointer;}
.laydate_body .laydate_box a:hover{text-decoration:none;}
.laydate_body .laydate_box cite, .laydate_body .laydate_box label{position:absolute; width:0; height:0; border-width:5px; border-style:dashed; border-color:transparent; overflow:hidden; cursor:pointer;}
.laydate_body .laydate_box .laydate_yms, .laydate_body .laydate_box .laydate_time{display:none;}
.laydate_body .laydate_box .laydate_show{display:block;}
.laydate_body .laydate_box input{outline:0; font-size:14px; background-color:#fff;}
.laydate_body .laydate_top{position:relative; height:26px; padding:5px; *width:100%; z-index:99;}
.laydate_body .laydate_ym{position:relative; float:left; height:24px; cursor:pointer;}
.laydate_body .laydate_ym input{float:left; height:24px; line-height:24px; text-align:center; border:none; cursor:pointer;}
.laydate_body .laydate_ym .laydate_yms{position:absolute; left: -1px; top: 24px; height:181px;}
.laydate_body .laydate_y{width:121px;}
.laydate_body .laydate_y input{width:64px; margin-right:15px;}
.laydate_body .laydate_y .laydate_yms{width:121px; text-align:center;}
.laydate_body .laydate_y .laydate_yms a{position:relative; display:block; height:20px;}
.laydate_body .laydate_y .laydate_yms ul{height:139px; padding:0; *overflow:hidden;}
.laydate_body .laydate_y .laydate_yms ul li{float:left; width:60px; height:20px; line-height: 20px; text-overflow: ellipsis; overflow: hidden; white-space: nowrap;}
.laydate_box *{box-sizing:content-box!important;}
.laydate_body .laydate_m{width:99px;float: right;margin-right:-2px;}
.laydate_body .laydate_m .laydate_yms{width:99px; padding:0;}
.laydate_body .laydate_m input{width:42px; margin-right:15px;}
.laydate_body .laydate_m .laydate_yms span{display:block; float:left; width:42px; margin: 5px 0 0 5px; line-height:24px; text-align:center; _display:inline;}
.laydate_body .laydate_choose{display:block; float:left; position:relative; width:20px; height:24px;}
.laydate_body .laydate_choose cite, .laydate_body .laydate_tab cite{left:50%; top:50%;}
.laydate_body .laydate_chtop cite{margin:-7px 0 0 -5px; border-bottom-style:solid;}
.laydate_body .laydate_chdown cite, .laydate_body .laydate_ym label{top:50%; margin:-2px 0 0 -5px; border-top-style:solid;}
.laydate_body .laydate_chprev cite{margin:-5px 0 0 -7px;}
.laydate_body .laydate_chnext cite{margin:-5px 0 0 -2px;}
.laydate_body .laydate_ym label{right:28px;}
.laydate_body .laydate_table{ width:230px; margin:0 5px; border-collapse:collapse; border-spacing:0px; }
.laydate_body .laydate_table td{width:31px; height:19px; line-height:19px; text-align: center; cursor:pointer; font-size: 12px;}
.laydate_body .laydate_table thead{height:22px; line-height:22px;}
.laydate_body .laydate_table thead th{font-weight:400; font-size:12px; text-align:center;}
.laydate_body .laydate_bottom{position:relative; height:22px; line-height:20px; padding:5px; font-size:12px;}
.laydate_body .laydate_bottom #laydate_hms{position: relative; z-index: 1; float:left; }
.laydate_body .laydate_time{ position:absolute; left:5px; bottom: 26px; width:129px; height:125px; *overflow:hidden;}
.laydate_body .laydate_time .laydate_hmsno{ padding:5px 0 0 5px;}
.laydate_body .laydate_time .laydate_hmsno span{display:block; float:left; width:24px; height:19px; line-height:19px; text-align:center; cursor:pointer; *margin-bottom:-5px;}
.laydate_body .laydate_time1{width:228px; height:154px;}
.laydate_body .laydate_time1 .laydate_hmsno{padding: 6px 0 0 8px;}
.laydate_body .laydate_time1 .laydate_hmsno span{width:21px; height:20px; line-height:20px;}
.laydate_body .laydate_msg{left:49px; bottom:67px; width:141px; height:auto; overflow: hidden;}
.laydate_body .laydate_msg p{padding:5px 10px;}
.laydate_body .laydate_bottom li{float:left; height:20px; line-height:20px; border-right:none; font-weight:900;}
.laydate_body .laydate_bottom .laydate_sj{width:33px; text-align:center; font-weight:400;}
.laydate_body .laydate_bottom input{float:left; width:21px; height:20px; line-height:20px; border:none; text-align:center; cursor:pointer; font-size:12px; font-weight:400;}
.laydate_body .laydate_bottom .laydte_hsmtex{height:20px; line-height:20px; text-align:center;}
.laydate_body .laydate_bottom .laydte_hsmtex span{position:absolute; width:20px; top:0; right:0px; cursor:pointer;}
.laydate_body .laydate_bottom .laydte_hsmtex span:hover{font-size:14px;}
.laydate_body .laydate_bottom .laydate_btn{position:absolute; right:5px; top:5px;}
.laydate_body .laydate_bottom .laydate_btn a{float:left; height:20px; padding:0 6px; _padding:0 5px;}
.laydate_body .laydate_bottom .laydate_v{position:absolute; left:10px; top:6px; font-family:Courier; z-index:0;}
/**
@Name: laydate皮肤:淡蓝
@Author:贤心
@Site:http://sentsin.com/layui/laydate
**/
.laydate-icon{border:1px solid #B1D2EC; background-image:url(icon.png)}
.laydate_body .laydate_box,
.laydate_body .laydate_ym,
.laydate_body .laydate_ym .laydate_yms,
.laydate_body .laydate_table,
.laydate_body .laydate_table td,
.laydate_body .laydate_bottom #laydate_hms,
.laydate_body .laydate_time,
.laydate_body .laydate_bottom .laydate_btn a{border:1px solid #B1D2EC;}
.laydate_body .laydate_y .laydate_yms a,
.laydate_body .laydate_choose,
.laydate_body .laydate_table thead{background-color:#DEECF8;}
.laydate_body .laydate_box,
.laydate_body .laydate_ym .laydate_yms,
.laydate_body .laydate_time{box-shadow: 2px 2px 5px rgba(0,0,0,.1);}
.laydate_body .laydate_box{border-top:none; border-bottom:none; background-color:#fff; color:#1F547E;}
.laydate_body .laydate_box input{color:#1F547E;}
.laydate_body .laydate_box .laydate_void{color:#BDD8EE!important;}
.laydate_body .laydate_box .laydate_void:hover{background-color:#fff!important}
.laydate_body .laydate_box a, .laydate_body .laydate_box a:hover{color:#1F547E;}
.laydate_body .laydate_click{background-color:#DEECF8!important;}
.laydate_body .laydate_top{border-top:1px solid #B1D2EC;}
.laydate_body .laydate_ym .laydate_yms{background-color:#fff;}
.laydate_body .laydate_y .laydate_yms a{border-bottom:1px solid #B1D2EC;}
.laydate_body .laydate_y .laydate_yms .laydate_chdown{border-top:1px solid #B1D2EC; border-bottom:none;}
.laydate_body .laydate_y .laydate_yms ul li:hover,
.laydate_body .laydate_m .laydate_yms span:hover{color:#000;}
.laydate_body .laydate_choose{border-left:1px solid #B1D2EC;}
.laydate_body .laydate_chprev{border-left:none; border-right:1px solid #B1D2EC;}
.laydate_body .laydate_chtop cite{border-bottom-color:#3081C2;}
.laydate_body .laydate_chdown cite, .laydate_body .laydate_ym label{border-top-color:#3081C2;}
.laydate_body .laydate_chprev cite{border-right-style:solid; border-right-color:#3081C2;}
.laydate_body .laydate_chnext cite{border-left-style:solid; border-left-color:#3081C2;}
.laydate_body .laydate_table td{background-color:#fff; color:#1F547E;}
.laydate_body .laydate_table .laydate_nothis{color:#60A2D7;}
.laydate_body .laydate_table thead{color:#163A58;}
.laydate_body .laydate_bottom{border-bottom:1px solid #B1D2EC;}
.laydate_body .laydate_bottom #laydate_hms{background-color:#fff;}
.laydate_body .laydate_time{background-color:#fff;}
.laydate_body .laydate_bottom .laydate_sj{border-right:1px solid #B1D2EC; background-color:#ECF4FB;}
.laydate_body .laydate_bottom input{background-color:#fff;}
.laydate_body .laydate_bottom .laydte_hsmtex{border-bottom:1px solid #B1D2EC;}
.laydate_body .laydate_bottom .laydate_btn{border-right:1px solid #B1D2EC;}
.laydate_body .laydate_bottom .laydate_v{color:#75AEDD}
.laydate_body .laydate_bottom .laydate_btn a{ border-right:none; background-color:#ECF4FB;}
.laydate_body .laydate_bottom .laydate_btn a:hover{ background-color:#fff;}
.laydate_body .laydate_y .laydate_yms ul li:hover,
.laydate_body .laydate_m .laydate_yms span:hover,
.laydate_body .laydate_choose:hover,
.laydate_body .laydate_y .laydate_yms a:hover,
.laydate_body .laydate_table td:hover,
.laydate_body .laydate_bottom .laydate_time span:hover,
.laydate_body .laydate_bottom .laydte_hsmtex{background-color:#ECF4FB}
/**
@Name: laydate皮肤:墨绿
@Author:贤心
@Site:http://sentsin.com/layui/laydate
**/
.laydate-icon{border:1px solid #ccc; background-image:url(icon.png)}
.laydate_body .laydate_bottom #laydate_hms,
.laydate_body .laydate_time{border:1px solid #ccc;}
.laydate_body .laydate_box,
.laydate_body .laydate_ym .laydate_yms,
.laydate_body .laydate_time{box-shadow: 2px 2px 5px rgba(0,0,0,.1);}
.laydate_body .laydate_box{border-top:none; border-bottom:none; background-color:#fff; color:#00625A;}
.laydate_body .laydate_box input{background:none!important; color:#fff;}
.laydate_body .laydate_box .laydate_void{color:#00E8D7!important;}
.laydate_body .laydate_box a, .laydate_body .laydate_box a:hover{color:#00625A;}
.laydate_body .laydate_box a:hover{color:#666;}
.laydate_body .laydate_click{background-color:#009F95!important; color:#fff!important;}
.laydate_body .laydate_top{border-top:1px solid #009F95; background-color:#009F95}
.laydate_body .laydate_ym{border:1px solid #009F95; background-color:#009F95;}
.laydate_body .laydate_ym .laydate_yms{border:1px solid #009F95; background-color:#009F95; color:#fff;}
.laydate_body .laydate_y .laydate_yms a{border-bottom:1px solid #009F95;}
.laydate_body .laydate_y .laydate_yms .laydate_chdown{border-top:1px solid #009F95; border-bottom:none;}
.laydate_body .laydate_choose{border-left:1px solid #009F95;}
.laydate_body .laydate_chprev{border-left:none; border-right:1px solid #009F95;}
.laydate_body .laydate_choose:hover,
.laydate_body .laydate_y .laydate_yms a:hover{background-color:#00C1B3;}
.laydate_body .laydate_chtop cite{border-bottom-color:#fff;}
.laydate_body .laydate_chdown cite, .laydate_body .laydate_ym label{border-top-color:#fff;}
.laydate_body .laydate_chprev cite{border-right-style:solid; border-right-color:#fff;}
.laydate_body .laydate_chnext cite{border-left-style:solid; border-left-color:#fff;}
.laydate_body .laydate_table{width: 240px!important; margin: 0!important; border:1px solid #ccc; border-top:none; border-bottom:none;}
.laydate_body .laydate_table td{border:none; height:21px!important; line-height:21px!important; background-color:#fff; color:#00625A;}
.laydate_body .laydate_table .laydate_nothis{color:#999;}
.laydate_body .laydate_table thead{border-bottom:1px solid #ccc; height:21px!important; line-height:21px!important;}
.laydate_body .laydate_table thead th{}
.laydate_body .laydate_bottom{border:1px solid #ccc; border-top:none;}
.laydate_body .laydate_bottom #laydate_hms{background-color:#fff;}
.laydate_body .laydate_time{background-color:#fff;}
.laydate_body .laydate_time1{width: 226px!important; height: 152px!important;}
.laydate_body .laydate_bottom .laydate_sj{width:31px!important; border-right:1px solid #ccc; background-color:#fff;}
.laydate_body .laydate_bottom input{background-color:#fff; color:#00625A;}
.laydate_body .laydate_bottom .laydte_hsmtex{border-bottom:1px solid #ccc;}
.laydate_body .laydate_bottom .laydate_btn{border-right:1px solid #ccc;}
.laydate_body .laydate_bottom .laydate_v{color:#999}
.laydate_body .laydate_bottom .laydate_btn a{border: 1px solid #ccc; border-right:none; background-color:#fff;}
.laydate_body .laydate_bottom .laydate_btn a:hover{background-color:#F6F6F6; color:#00625A;}
.laydate_body .laydate_m .laydate_yms span:hover,
.laydate_body .laydate_time .laydate_hmsno span:hover,
.laydate_body .laydate_y .laydate_yms ul li:hover,
.laydate_body .laydate_table td:hover{background-color:#00C1B3; color:#fff;}
/*! layer-v2.1 弹层组件 License LGPL http://layer.layui.com/ By 贤心 */
;!function(a,b){"use strict";var c,d,e={getPath:function(){var a=document.scripts,b=a[a.length-1],c=b.src;if(!b.getAttribute("merge"))return c.substring(0,c.lastIndexOf("/")+1)}(),enter:function(a){13===a.keyCode&&a.preventDefault()},config:{},end:{},btn:["&#x786E;&#x5B9A;","&#x53D6;&#x6D88;"],type:["dialog","page","iframe","loading","tips"]},f={v:"2.1",ie6:!!a.ActiveXObject&&!a.XMLHttpRequest,index:0,path:e.getPath,config:function(a,b){var d=0;return a=a||{},f.cache=e.config=c.extend(e.config,a),f.path=e.config.path||f.path,"string"==typeof a.extend&&(a.extend=[a.extend]),f.use("skin/layer.css",a.extend&&a.extend.length>0?function g(){var c=a.extend;f.use(c[c[d]?d:d-1],d<c.length?function(){return++d,g}():b)}():b),this},use:function(a,b,d){var e=c("head")[0],a=a.replace(/\s/g,""),g=/\.css$/.test(a),h=document.createElement(g?"link":"script"),i="layui_layer_"+a.replace(/\.|\//g,"");return f.path?(g&&(h.rel="stylesheet"),h[g?"href":"src"]=/^http:\/\//.test(a)?a:f.path+a,h.id=i,c("#"+i)[0]||e.appendChild(h),function j(){(g?1989===parseInt(c("#"+i).css("width")):f[d||i])?function(){b&&b();try{g||e.removeChild(h)}catch(a){}}():setTimeout(j,100)}(),this):void 0},ready:function(a,b){var d="function"==typeof a;return d&&(b=a),f.config(c.extend(e.config,function(){return d?{}:{path:a}}()),b),this},alert:function(a,b,d){var e="function"==typeof b;return e&&(d=b),f.open(c.extend({content:a,yes:d},e?{}:b))},confirm:function(a,b,d,g){var h="function"==typeof b;return h&&(g=d,d=b),f.open(c.extend({content:a,btn:e.btn,yes:d,cancel:g},h?{}:b))},msg:function(a,d,g){var i="function"==typeof d,j=e.config.skin,k=(j?j+" "+j+"-msg":"")||"layui-layer-msg",l=h.anim.length-1;return i&&(g=d),f.open(c.extend({content:a,time:3e3,shade:!1,skin:k,title:!1,closeBtn:!1,btn:!1,end:g},i&&!e.config.skin?{skin:k+" layui-layer-hui",shift:l}:function(){return d=d||{},(-1===d.icon||d.icon===b&&!e.config.skin)&&(d.skin=k+" "+(d.skin||"layui-layer-hui")),d}()))},load:function(a,b){return f.open(c.extend({type:3,icon:a||0,shade:.01},b))},tips:function(a,b,d){return f.open(c.extend({type:4,content:[a,b],closeBtn:!1,time:3e3,maxWidth:210},d))}},g=function(a){var b=this;b.index=++f.index,b.config=c.extend({},b.config,e.config,a),b.creat()};g.pt=g.prototype;var h=["layui-layer",".layui-layer-title",".layui-layer-main",".layui-layer-dialog","layui-layer-iframe","layui-layer-content","layui-layer-btn","layui-layer-close"];h.anim=["layui-anim","layui-anim-01","layui-anim-02","layui-anim-03","layui-anim-04","layui-anim-05","layui-anim-06"],g.pt.config={type:0,shade:.3,fix:!0,move:h[1],title:"&#x4FE1;&#x606F;",offset:"auto",area:"auto",closeBtn:1,time:0,zIndex:19891014,maxWidth:360,shift:0,icon:-1,scrollbar:!0,tips:2},g.pt.vessel=function(a,b){var c=this,d=c.index,f=c.config,g=f.zIndex+d,i="object"==typeof f.title,j=f.maxmin&&(1===f.type||2===f.type),k=f.title?'<div class="layui-layer-title" style="'+(i?f.title[1]:"")+'">'+(i?f.title[0]:f.title)+"</div>":"";return f.zIndex=g,b([f.shade?'<div class="layui-layer-shade" id="layui-layer-shade'+d+'" times="'+d+'" style="'+("z-index:"+(g-1)+"; background-color:"+(f.shade[1]||"#000")+"; opacity:"+(f.shade[0]||f.shade)+"; filter:alpha(opacity="+(100*f.shade[0]||100*f.shade)+");")+'"></div>':"",'<div class="'+h[0]+" "+(h.anim[f.shift]||"")+(" layui-layer-"+e.type[f.type])+(0!=f.type&&2!=f.type||f.shade?"":" layui-layer-border")+" "+(f.skin||"")+'" id="'+h[0]+d+'" type="'+e.type[f.type]+'" times="'+d+'" showtime="'+f.time+'" conType="'+(a?"object":"string")+'" style="z-index: '+g+"; width:"+f.area[0]+";height:"+f.area[1]+(f.fix?"":";position:absolute;")+'">'+(a&&2!=f.type?"":k)+'<div class="layui-layer-content'+(0==f.type&&-1!==f.icon?" layui-layer-padding":"")+(3==f.type?" layui-layer-loading"+f.icon:"")+'">'+(0==f.type&&-1!==f.icon?'<i class="layui-layer-ico layui-layer-ico'+f.icon+'"></i>':"")+(1==f.type&&a?"":f.content||"")+'</div><span class="layui-layer-setwin">'+function(){var a=j?'<a class="layui-layer-min" href="javascript:;"><cite></cite></a><a class="layui-layer-ico layui-layer-max" href="javascript:;"></a>':"";return f.closeBtn&&(a+='<a class="layui-layer-ico '+h[7]+" "+h[7]+(f.title?f.closeBtn:4==f.type?"1":"2")+'" href="javascript:;"></a>'),a}()+"</span>"+(f.btn?function(){var a="";"string"==typeof f.btn&&(f.btn=[f.btn]);for(var b=0,c=f.btn.length;c>b;b++)a+='<a class="'+h[6]+b+'">'+f.btn[b]+"</a>";return'<div class="'+h[6]+'">'+a+"</div>"}():"")+"</div>"],k),c},g.pt.creat=function(){var a=this,b=a.config,g=a.index,i=b.content,j="object"==typeof i;switch("string"==typeof b.area&&(b.area="auto"===b.area?["",""]:[b.area,""]),b.type){case 0:b.btn="btn"in b?b.btn:e.btn[0],f.closeAll("dialog");break;case 2:var i=b.content=j?b.content:[b.content||"http://layer.layui.com","auto"];b.content='<iframe scrolling="'+(b.content[1]||"auto")+'" allowtransparency="true" id="'+h[4]+g+'" name="'+h[4]+g+'" onload="this.className=\'\';" class="layui-layer-load" frameborder="0" src="'+b.content[0]+'"></iframe>';break;case 3:b.title=!1,b.closeBtn=!1,-1===b.icon&&0===b.icon,f.closeAll("loading");break;case 4:j||(b.content=[b.content,"body"]),b.follow=b.content[1],b.content=b.content[0]+'<i class="layui-layer-TipsG"></i>',b.title=!1,b.shade=!1,b.fix=!1,b.tips="object"==typeof b.tips?b.tips:[b.tips,!0],b.tipsMore||f.closeAll("tips")}a.vessel(j,function(d,e){c("body").append(d[0]),j?function(){2==b.type||4==b.type?function(){c("body").append(d[1])}():function(){i.parents("."+h[0])[0]||(i.show().addClass("layui-layer-wrap").wrap(d[1]),c("#"+h[0]+g).find("."+h[5]).before(e))}()}():c("body").append(d[1]),a.layero=c("#"+h[0]+g),b.scrollbar||h.html.css("overflow","hidden").attr("layer-full",g)}).auto(g),2==b.type&&f.ie6&&a.layero.find("iframe").attr("src",i[0]),c(document).off("keydown",e.enter).on("keydown",e.enter),a.layero.on("keydown",function(a){c(document).off("keydown",e.enter)}),4==b.type?a.tips():a.offset(),b.fix&&d.on("resize",function(){a.offset(),(/^\d+%$/.test(b.area[0])||/^\d+%$/.test(b.area[1]))&&a.auto(g),4==b.type&&a.tips()}),b.time<=0||setTimeout(function(){f.close(a.index)},b.time),a.move().callback()},g.pt.auto=function(a){function b(a){a=g.find(a),a.height(i[1]-j-k-2*(0|parseFloat(a.css("padding"))))}var e=this,f=e.config,g=c("#"+h[0]+a);""===f.area[0]&&f.maxWidth>0&&(/MSIE 7/.test(navigator.userAgent)&&f.btn&&g.width(g.innerWidth()),g.outerWidth()>f.maxWidth&&g.width(f.maxWidth));var i=[g.innerWidth(),g.innerHeight()],j=g.find(h[1]).outerHeight()||0,k=g.find("."+h[6]).outerHeight()||0;switch(f.type){case 2:b("iframe");break;default:""===f.area[1]?f.fix&&i[1]>=d.height()&&(i[1]=d.height(),b("."+h[5])):b("."+h[5])}return e},g.pt.offset=function(){var a=this,b=a.config,c=a.layero,e=[c.outerWidth(),c.outerHeight()],f="object"==typeof b.offset;a.offsetTop=(d.height()-e[1])/2,a.offsetLeft=(d.width()-e[0])/2,f?(a.offsetTop=b.offset[0],a.offsetLeft=b.offset[1]||a.offsetLeft):"auto"!==b.offset&&(a.offsetTop=b.offset,"rb"===b.offset&&(a.offsetTop=d.height()-e[1],a.offsetLeft=d.width()-e[0])),b.fix||(a.offsetTop=/%$/.test(a.offsetTop)?d.height()*parseFloat(a.offsetTop)/100:parseFloat(a.offsetTop),a.offsetLeft=/%$/.test(a.offsetLeft)?d.width()*parseFloat(a.offsetLeft)/100:parseFloat(a.offsetLeft),a.offsetTop+=d.scrollTop(),a.offsetLeft+=d.scrollLeft()),c.css({top:a.offsetTop,left:a.offsetLeft})},g.pt.tips=function(){var a=this,b=a.config,e=a.layero,f=[e.outerWidth(),e.outerHeight()],g=c(b.follow);g[0]||(g=c("body"));var i={width:g.outerWidth(),height:g.outerHeight(),top:g.offset().top,left:g.offset().left},j=e.find(".layui-layer-TipsG"),k=b.tips[0];b.tips[1]||j.remove(),i.autoLeft=function(){i.left+f[0]-d.width()>0?(i.tipLeft=i.left+i.width-f[0],j.css({right:12,left:"auto"})):i.tipLeft=i.left},i.where=[function(){i.autoLeft(),i.tipTop=i.top-f[1]-10,j.removeClass("layui-layer-TipsB").addClass("layui-layer-TipsT").css("border-right-color",b.tips[1])},function(){i.tipLeft=i.left+i.width+10,i.tipTop=i.top,j.removeClass("layui-layer-TipsL").addClass("layui-layer-TipsR").css("border-bottom-color",b.tips[1])},function(){i.autoLeft(),i.tipTop=i.top+i.height+10,j.removeClass("layui-layer-TipsT").addClass("layui-layer-TipsB").css("border-right-color",b.tips[1])},function(){i.tipLeft=i.left-f[0]-10,i.tipTop=i.top,j.removeClass("layui-layer-TipsR").addClass("layui-layer-TipsL").css("border-bottom-color",b.tips[1])}],i.where[k-1](),1===k?i.top-(d.scrollTop()+f[1]+16)<0&&i.where[2]():2===k?d.width()-(i.left+i.width+f[0]+16)>0||i.where[3]():3===k?i.top-d.scrollTop()+i.height+f[1]+16-d.height()>0&&i.where[0]():4===k&&f[0]+16-i.left>0&&i.where[1](),e.find("."+h[5]).css({"background-color":b.tips[1],"padding-right":b.closeBtn?"30px":""}),e.css({left:i.tipLeft,top:i.tipTop})},g.pt.move=function(){var a=this,b=a.config,e={setY:0,moveLayer:function(){var a=e.layero,b=parseInt(a.css("margin-left")),c=parseInt(e.move.css("left"));0===b||(c-=b),"fixed"!==a.css("position")&&(c-=a.parent().offset().left,e.setY=0),a.css({left:c,top:parseInt(e.move.css("top"))-e.setY})}},f=a.layero.find(b.move);return b.move&&f.attr("move","ok"),f.css({cursor:b.move?"move":"auto"}),c(b.move).on("mousedown",function(a){if(a.preventDefault(),"ok"===c(this).attr("move")){e.ismove=!0,e.layero=c(this).parents("."+h[0]);var f=e.layero.offset().left,g=e.layero.offset().top,i=e.layero.outerWidth()-6,j=e.layero.outerHeight()-6;c("#layui-layer-moves")[0]||c("body").append('<div id="layui-layer-moves" class="layui-layer-moves" style="left:'+f+"px; top:"+g+"px; width:"+i+"px; height:"+j+'px; z-index:2147483584"></div>'),e.move=c("#layui-layer-moves"),b.moveType&&e.move.css({visibility:"hidden"}),e.moveX=a.pageX-e.move.position().left,e.moveY=a.pageY-e.move.position().top,"fixed"!==e.layero.css("position")||(e.setY=d.scrollTop())}}),c(document).mousemove(function(a){if(e.ismove){var c=a.pageX-e.moveX,f=a.pageY-e.moveY;if(a.preventDefault(),!b.moveOut){e.setY=d.scrollTop();var g=d.width()-e.move.outerWidth(),h=e.setY;0>c&&(c=0),c>g&&(c=g),h>f&&(f=h),f>d.height()-e.move.outerHeight()+e.setY&&(f=d.height()-e.move.outerHeight()+e.setY)}e.move.css({left:c,top:f}),b.moveType&&e.moveLayer(),c=f=g=h=null}}).mouseup(function(){try{e.ismove&&(e.moveLayer(),e.move.remove(),b.moveEnd&&b.moveEnd()),e.ismove=!1}catch(a){e.ismove=!1}}),a},g.pt.callback=function(){function a(){var a=g.cancel&&g.cancel(b.index);a===!1||f.close(b.index)}var b=this,d=b.layero,g=b.config;b.openLayer(),g.success&&(2==g.type?d.find("iframe").on("load",function(){g.success(d,b.index)}):g.success(d,b.index)),f.ie6&&b.IE6(d),d.find("."+h[6]).children("a").on("click",function(){var e=c(this).index();g["btn"+(e+1)]&&g["btn"+(e+1)](b.index,d),0===e?g.yes?g.yes(b.index,d):f.close(b.index):1===e?a():g["btn"+(e+1)]||f.close(b.index)}),d.find("."+h[7]).on("click",a),g.shadeClose&&c("#layui-layer-shade"+b.index).on("click",function(){f.close(b.index)}),d.find(".layui-layer-min").on("click",function(){f.min(b.index,g),g.min&&g.min(d)}),d.find(".layui-layer-max").on("click",function(){c(this).hasClass("layui-layer-maxmin")?(f.restore(b.index),g.restore&&g.restore(d)):(f.full(b.index,g),g.full&&g.full(d))}),g.end&&(e.end[b.index]=g.end)},e.reselect=function(){c.each(c("select"),function(a,b){var d=c(this);d.parents("."+h[0])[0]||1==d.attr("layer")&&c("."+h[0]).length<1&&d.removeAttr("layer").show(),d=null})},g.pt.IE6=function(a){function b(){a.css({top:f+(e.config.fix?d.scrollTop():0)})}var e=this,f=a.offset().top;b(),d.scroll(b),c("select").each(function(a,b){var d=c(this);d.parents("."+h[0])[0]||"none"===d.css("display")||d.attr({layer:"1"}).hide(),d=null})},g.pt.openLayer=function(){var a=this;f.zIndex=a.config.zIndex,f.setTop=function(a){var b=function(){f.zIndex++,a.css("z-index",f.zIndex+1)};return f.zIndex=parseInt(a[0].style.zIndex),a.on("mousedown",b),f.zIndex}},e.record=function(a){var b=[a.outerWidth(),a.outerHeight(),a.position().top,a.position().left+parseFloat(a.css("margin-left"))];a.find(".layui-layer-max").addClass("layui-layer-maxmin"),a.attr({area:b})},e.rescollbar=function(a){h.html.attr("layer-full")==a&&(h.html[0].style.removeProperty?h.html[0].style.removeProperty("overflow"):h.html[0].style.removeAttribute("overflow"),h.html.removeAttr("layer-full"))},a.layer=f,f.getChildFrame=function(a,b){return b=b||c("."+h[4]).attr("times"),c("#"+h[0]+b).find("iframe").contents().find(a)},f.getFrameIndex=function(a){return c("#"+a).parents("."+h[4]).attr("times")},f.iframeAuto=function(a){if(a){var b=f.getChildFrame("html",a).outerHeight(),d=c("#"+h[0]+a),e=d.find(h[1]).outerHeight()||0,g=d.find("."+h[6]).outerHeight()||0;d.css({height:b+e+g}),d.find("iframe").css({height:b})}},f.iframeSrc=function(a,b){c("#"+h[0]+a).find("iframe").attr("src",b)},f.style=function(a,b){var d=c("#"+h[0]+a),f=d.attr("type"),g=d.find(h[1]).outerHeight()||0,i=d.find("."+h[6]).outerHeight()||0;(f===e.type[1]||f===e.type[2])&&(d.css(b),f===e.type[2]&&d.find("iframe").css({height:parseFloat(b.height)-g-i}))},f.min=function(a,b){var d=c("#"+h[0]+a),g=d.find(h[1]).outerHeight()||0;e.record(d),f.style(a,{width:180,height:g,overflow:"hidden"}),d.find(".layui-layer-min").hide(),"page"===d.attr("type")&&d.find(h[4]).hide(),e.rescollbar(a)},f.restore=function(a){var b=c("#"+h[0]+a),d=b.attr("area").split(",");b.attr("type");f.style(a,{width:parseFloat(d[0]),height:parseFloat(d[1]),top:parseFloat(d[2]),left:parseFloat(d[3]),overflow:"visible"}),b.find(".layui-layer-max").removeClass("layui-layer-maxmin"),b.find(".layui-layer-min").show(),"page"===b.attr("type")&&b.find(h[4]).show(),e.rescollbar(a)},f.full=function(a){var b,g=c("#"+h[0]+a);e.record(g),h.html.attr("layer-full")||h.html.css("overflow","hidden").attr("layer-full",a),clearTimeout(b),b=setTimeout(function(){var b="fixed"===g.css("position");f.style(a,{top:b?0:d.scrollTop(),left:b?0:d.scrollLeft(),width:d.width(),height:d.height()}),g.find(".layui-layer-min").hide()},100)},f.title=function(a,b){var d=c("#"+h[0]+(b||f.index)).find(h[1]);d.html(a)},f.close=function(a){var b=c("#"+h[0]+a),d=b.attr("type");if(b[0]){if(d===e.type[1]&&"object"===b.attr("conType")){b.children(":not(."+h[5]+")").remove();for(var g=0;2>g;g++)b.find(".layui-layer-wrap").unwrap().hide()}else{if(d===e.type[2])try{var i=c("#"+h[4]+a)[0];i.contentWindow.document.write(""),i.contentWindow.close(),b.find("."+h[5])[0].removeChild(i)}catch(j){}b[0].innerHTML="",b.remove()}c("#layui-layer-moves, #layui-layer-shade"+a).remove(),f.ie6&&e.reselect(),e.rescollbar(a),c(document).off("keydown",e.enter),"function"==typeof e.end[a]&&e.end[a](),delete e.end[a]}},f.closeAll=function(a){c.each(c("."+h[0]),function(){var b=c(this),d=a?b.attr("type")===a:1;d&&f.close(b.attr("times")),d=null})},e.run=function(){c=jQuery,d=c(a),h.html=c("html"),f.open=function(a){var b=new g(a);return b.index}},"function"==typeof define?define(function(){return e.run(),f}):function(){e.run(),f.use("skin/layer.css")}()}(window);
{
"status": 1,
"msg": "ok",
"data": [
{
"id": "100001",
"name": "Beaut-zihan",
"time": "10:23",
"face": "img/a1.jpg"
},
{
"id": "100002",
"name": "慕容晓晓",
"time": "昨天",
"face": "img/a2.jpg"
},
{
"id": "1000033",
"name": "乔峰",
"time": "2014-4.22",
"face": "img/a3.jpg"
},
{
"id": "10000333",
"name": "高圆圆",
"time": "2014-4.21",
"face": "img/a4.jpg"
}
]
}
{
"status": 1,
"msg": "ok",
"data": [
{
"name": "销售部",
"nums": 36,
"id": 1,
"item": [
{
"id": "100001",
"name": "郭敬明",
"face": "img/a5.jpg"
},
{
"id": "100002",
"name": "作家崔成浩",
"face": "img/a6.jpg"
},
{
"id": "1000022",
"name": "韩寒",
"face": "img/a7.jpg"
},
{
"id": "10000222",
"name": "范爷",
"face": "img/a8.jpg"
},
{
"id": "100002222",
"name": "小马哥",
"face": "img/a9.jpg"
}
]
},
{
"name": "大学同窗",
"nums": 16,
"id": 2,
"item": [
{
"id": "1000033",
"name": "苏醒",
"face": "img/a9.jpg"
},
{
"id": "10000333",
"name": "马云",
"face": "img/a8.jpg"
},
{
"id": "100003",
"name": "鬼脚七",
"face": "img/a7.jpg"
},
{
"id": "100004",
"name": "谢楠",
"face": "img/a6.jpg"
},
{
"id": "100005",
"name": "徐峥",
"face": "img/a5.jpg"
}
]
},
{
"name": "H+后台主题",
"nums": 38,
"id": 3,
"item": [
{
"id": "100006",
"name": "柏雪近在它香",
"face": "img/a4.jpg"
},
{
"id": "100007",
"name": "罗昌平",
"face": "img/a3.jpg"
},
{
"id": "100008",
"name": "Crystal影子",
"face": "img/a2.jpg"
},
{
"id": "100009",
"name": "艺小想",
"face": "img/a1.jpg"
},
{
"id": "100010",
"name": "天猫",
"face": "img/a8.jpg"
},
{
"id": "100011",
"name": "张泉灵",
"face": "img/a7.jpg"
}
]
}
]
}
{
"status": 1,
"msg": "ok",
"data": [
{
"name": "H+交流群",
"nums": 36,
"id": 1,
"item": [
{
"id": "101",
"name": "H+ Bug反馈",
"face": "http://tp2.sinaimg.cn/2211874245/180/40050524279/0"
},
{
"id": "102",
"name": "H+ 技术交流",
"face": "http://tp3.sinaimg.cn/1820711170/180/1286855219/1"
}
]
},
{
"name": "Bootstrap",
"nums": 16,
"id": 2,
"item": [
{
"id": "103",
"name": "Bootstrap中文",
"face": "http://tp2.sinaimg.cn/2211874245/180/40050524279/0"
},
{
"id": "104",
"name": "Bootstrap资源",
"face": "http://tp3.sinaimg.cn/1820711170/180/1286855219/1"
}
]
},
{
"name": "WebApp",
"nums": 106,
"id": 3,
"item": [
{
"id": "105",
"name": "移动开发",
"face": "http://tp2.sinaimg.cn/2211874245/180/40050524279/0"
},
{
"id": "106",
"name": "H5前言",
"face": "http://tp3.sinaimg.cn/1820711170/180/1286855219/1"
}
]
}
]
}
{
"status": 1,
"msg": "ok",
"data": [
{
"id": "100001",
"name": "無言的蒁説",
"face": "img/a1.jpg"
},
{
"id": "100002",
"name": "婷宝奢侈品",
"face": "img/a2.jpg"
},
{
"id": "100003",
"name": "忆恨思爱",
"face": "img/a3.jpg"
},
{
"id": "100004",
"name": "天涯奥拓慢",
"face": "img/a4.jpg"
},
{
"id": "100005",
"name": "雨落无声的天空",
"face": "img/a5.jpg"
},
{
"id": "100006",
"name": "李越LycorisRadiate",
"face": "img/a6.jpg"
},
{
"id": "100007",
"name": "冯胖妞张直丑",
"face": "img/a7.jpg"
},
{
"id": "100008",
"name": "陈龙hmmm",
"face": "img/a8.jpg"
},
{
"id": "100009",
"name": "别闹哥胆儿小",
"face": "img/a9.jpg"
},
{
"id": "100010",
"name": "锅锅锅锅萌哒哒 ",
"face": "img/a10.jpg"
}
]
}
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,input,button,textarea,p,blockquote,th,td,form{margin:0; padding:0;}
input,button,textarea,select,optgroup,option{font-family:inherit; font-size:inherit; font-style:inherit; font-weight:inherit; outline: 0;}
li{list-style:none;}
.xxim_icon, .xxim_main i, .layim_chatbox i{position:absolute;}
.loading{background:url(loading.gif) no-repeat center center;}
.layim_chatbox a, .layim_chatbox a:hover{color:#343434; text-decoration:none; }
.layim_zero{position:absolute; width:0; height:0; border-style:dashed; border-color:transparent; overflow:hidden;}
.xxim_main{position:fixed; right:1px; bottom:1px; width:230px; border:1px solid #BEBEBE; background-color:#fff; font-size:12px; box-shadow: 0 0 10px rgba(0,0,0,.2); z-index:99999999}
.layim_chatbox textarea{resize:none;}
.xxim_main em, .xxim_main i, .layim_chatbox em, .layim_chatbox i{font-style:normal; font-weight:400;}
.xxim_main h5{font-size:100%; font-weight:400;}
/* 搜索栏 */
.xxim_search{position:relative; padding-left:40px; height:40px; border-bottom:1px solid #DCDCDC; background-color:#fff;}
.xxim_search i{left:10px; top:12px; width:16px; height:16px;font-size: 16px;color:#999;}
.xxim_search input{border:none; background:none; width: 180px; margin-top:10px; line-height:20px;}
.xxim_search span{display:none; position:absolute; right:10px; top:10px; height:18px; line-height:18px;width:18px;text-align: center;background-color:#AFAFAF; color:#fff; cursor:pointer; border-radius:2px; font-size:12px; font-weight:900;}
.xxim_search span:hover{background-color:#FCBE00;}
/* 主面板tab */
.xxim_tabs{height:45px; border-bottom:1px solid #DBDBDB; background-color:#F4F4F4; font-size:0;}
.xxim_tabs span{position:relative; display:inline-block; *display:inline; *zoom:1; vertical-align:top; width:76px; height:45px; border-right:1px solid #DBDBDB; cursor:pointer; font-size:12px;}
.xxim_tabs span i{top:12px; left:50%; width:20px; margin-left:-10px; height:20px;font-size:20px;color:#ccc;}
.xxim_tabs .xxim_tabnow{height:46px; background-color:#fff;}
.xxim_tabs .xxim_tabnow i{color:#1ab394;}
.xxim_tabs .xxim_latechat{border-right:none;}
.xxim_tabs .xxim_tabfriend i{width:14px; margin-left:-7px;}
/* 主面板列表 */
.xxim_list{display:none; height:350px; padding:5px 0; overflow:hidden;}
.xxim_list:hover{ overflow-y:auto;}
.xxim_list h5{position:relative; padding-left:32px; height:26px; line-height:26px; cursor:pointer; color:#000; font-size:0;}
.xxim_list h5 span{display:inline-block; *display:inline; *zoom:1; vertical-align:top; max-width:140px; overflow:hidden; text-overflow: ellipsis; white-space:nowrap; font-size:12px;}
.xxim_list h5 i{left:15px; top:8px; width:10px; height:10px;font-size:10px;color:#666;}
.xxim_list h5 *{font-size:12px;}
.xxim_list .xxim_chatlist{display:none;}
.xxim_list .xxim_liston h5 i{width:8px; height:7px;}
.xxim_list .xxim_liston .xxim_chatlist{display:block;}
.xxim_chatlist {}
.xxim_chatlist li{position:relative; height:40px; line-height:30px; padding:5px 10px; font-size:0; cursor:pointer;}
.xxim_chatlist li:hover{background-color:#F2F4F8}
.xxim_chatlist li *{display:inline-block; *display:inline; *zoom:1; vertical-align:top; font-size:12px;}
.xxim_chatlist li span{padding-left:10px; max-width:120px; overflow:hidden; text-overflow: ellipsis; white-space:nowrap;}
.xxim_chatlist li img{width:30px; height:30px;}
.xxim_chatlist li .xxim_time{position:absolute; right:10px; color:#999;}
.xxim_list .xxim_errormsg{text-align:center; margin:50px 0; color:#999;}
.xxim_searchmain{position:absolute; width:230px; height:491px; left:0; top:41px; z-index:10; background-color:#fff;}
/* 主面板底部 */
.xxim_bottom{height:34px; border-top:1px solid #D0DCF3; background-color:#F2F4F8;}
.xxim_expend{border-left:1px solid #D0DCF3; border-bottom:1px solid #D0DCF3;}
.xxim_bottom li{position:relative; width:50px; height:32px; line-height:32px; float:left; border-right:1px solid #D0DCF3; cursor:pointer;}
.xxim_bottom li i{ top:9px;}
.xxim_bottom .xxim_hide{border-right:none;}
.xxim_bottom .xxim_online{width:72px; padding-left:35px;}
.xxim_online i{left:13px; width:14px; height:14px;font-size:14px;color:#FFA00A;}
.xxim_setonline{display:none; position:absolute; left:-79px; bottom:-1px; border:1px solid #DCDCDC; background-color:#fff;}
.xxim_setonline span{position:relative; display:block; width:32px;width: 77px; padding:0 10px 0 35px;}
.xxim_setonline span:hover{background-color:#F2F4F8;}
.xxim_offline .xxim_nowstate, .xxim_setoffline i{color:#999;}
.xxim_mymsg i{left:18px; width:14px; height:14px;font-size: 14px;}
.xxim_mymsg a{position:absolute; left:0; top:0; width:50px; height:32px;}
.xxim_seter i{left:18px; width:14px; height:14px;font-size: 14px;}
.xxim_hide i{left:18px; width:14px; height:14px;font-size: 14px;}
.xxim_show i{}
.xxim_bottom .xxim_on{position:absolute; left:-17px; top:50%; width:16px;text-align: center;color:#999;line-height: 97px; height:97px; margin-top:-49px;border:solid 1px #BEBEBE;border-right: none; background:#F2F4F8;}
.xxim_bottom .xxim_off{}
/* 聊天窗口 */
.layim_chatbox{width:620px; border:1px solid #BEBEBE; background-color:#fff; font-size:12px; box-shadow: 0 0 10px rgba(0,0,0,.2);}
.layim_chatbox h6{position:relative; height:40px; border-bottom:1px solid #D9D9D9; background-color:#FCFDFA}
.layim_move{position:absolute; height:40px; width: 620px; z-index:0;}
.layim_face{position:absolute; bottom:-1px; left:10px; width:64px; height:64px;padding:1px;background: #fff; border:1px solid #ccc;}
.layim_face img{width:60px; height:60px;}
.layim_names{position:absolute; left:90px; max-width:300px; line-height:40px; color:#000; overflow:hidden; text-overflow: ellipsis; white-space:nowrap; font-size:14px;}
.layim_rightbtn{position:absolute; right:15px; top:12px; font-size:20px;}
.layim_rightbtn i{position:relative; width:16px; height:16px; display:inline-block; *display:inline; *zoom:1; vertical-align:top; cursor:pointer; transition: all .3s;text-align: center;line-height: 16px;}
.layim_rightbtn .layim_close{background: #FFA00A;color:#fff;}
.layim_rightbtn .layim_close:hover{-webkit-transform: rotate(180deg); -moz-transform: rotate(180deg);}
.layim_rightbtn .layer_setmin{margin-right:5px;color:#999;font-size:14px;font-weight: 700;}
.layim_chat, .layim_chatmore,.layim_groups{height:450px; overflow:hidden;}
.layim_chatmore{display:none; float:left; width:135px; border-right:1px solid #BEBEBE; background-color:#F2F2F2}
.layim_chatlist li, .layim_groups li{position:relative; height:30px; line-height:30px; padding:0 10px; overflow:hidden; text-overflow: ellipsis; white-space:nowrap; cursor:pointer;}
.layim_chatlist li{padding:0 20px 0 10px;}
.layim_chatlist li:hover{background-color:#E3E3E3;}
.layim_chatlist li span{display:inline-block; *display:inline; *zoom:1; vertical-align:top; width:90px; overflow:hidden; text-overflow: ellipsis; white-space:nowrap;}
.layim_chatlist li em{display:none; position:absolute; top:6px; right:10px; height:18px; line-height:18px;width:18px;text-align: center;font-size:14px;font-weight:900; border-radius:3px;}
.layim_chatlist li em:hover{background-color: #FCBE00; color:#fff;}
.layim_chatlist .layim_chatnow,.layim_chatlist .layim_chatnow:hover{/*border-top:1px solid #D9D9D9; border-bottom:1px solid #D9D9D9;*/ background-color:#fff;}
.layim_chat{}
.layim_chatarea{height:280px;}
.layim_chatview{display:none; height:280px; overflow:hidden;}
.layim_chatmore:hover, .layim_groups:hover, .layim_chatview:hover{overflow-y:auto;}
.layim_chatview li{margin-bottom:10px; clear:both; *zoom:1;}
.layim_chatview li:after{content:'\20'; clear:both; *zoom:1; display:block; height:0;}
.layim_chatthis{display:block;}
.layim_chatuser{float:left; padding:15px; font-size:0;}
.layim_chatuser *{display:inline-block; *display:inline; *zoom:1; vertical-align:top; line-height:30px; font-size:12px; padding-right:10px;}
.layim_chatuser img{width:30px; height:30px;padding-right: 0;margin-right: 15px;}
.layim_chatuser .layim_chatname{max-width:230px; overflow:hidden; text-overflow: ellipsis; white-space:nowrap;}
.layim_chatuser .layim_chattime{color:#999; padding-left:10px;}
.layim_chatsay{position:relative; float:left; margin:0 15px; padding:10px; line-height:20px; background-color:#F3F3F3; border-radius:3px; clear:both;}
.layim_chatsay .layim_zero{left:5px; top:-8px; border-width:8px; border-right-style:solid; border-right-color:#F3F3F3;}
.layim_chateme .layim_chatuser{float:right;}
.layim_chateme .layim_chatuser *{padding-right:0; padding-left:10px;}
.layim_chateme .layim_chatuser img{margin-left:15px;padding-left: 0;}
.layim_chateme .layim_chatsay .layim_zero{left:auto; right:10px;}
.layim_chateme .layim_chatuser .layim_chattime{padding-left:0; padding-right:10px;}
.layim_chateme .layim_chatsay{float:right; background-color:#EBFBE3}
.layim_chateme .layim_zero{border-right-color:#EBFBE3;}
.layim_groups{display:none; float:right; width:130px; border-left:1px solid #D9D9D9; background-color:#fff;}
.layim_groups ul{display:none;}
.layim_groups ul.layim_groupthis{display:block;}
.layim_groups li *{display:inline-block; *display:inline; *zoom:1; vertical-align:top; margin-right:10px;}
.layim_groups li img{width:20px; height:20px; margin-top:5px;}
.layim_groups li span{max-width:80px; overflow:hidden; text-overflow: ellipsis; white-space:nowrap;}
.layim_groups li:hover{background-color:#F3F3F3;}
.layim_groups .layim_errors{text-align:center; color:#999;}
.layim_tool{position:relative; height:35px; line-height:35px; padding-left:10px; background-color:#F3F3F3;}
.layim_tool i{position:relative; top:10px; display:inline-block; *display:inline; *zoom:1; vertical-align:top; width:16px; height:16px; margin-right:10px; cursor:pointer;font-size:16px;color:#999;font-weight: 700;}
.layim_tool i:hover{color:#FFA00A;}
.layim_tool .layim_seechatlog{position:absolute; right:15px;}
.layim_tool .layim_seechatlog i{}
.layim_write{display:block; border:none; width:98%; height:90px; line-height:20px; margin:5px auto 0;}
.layim_send{position:relative; height:40px; background-color:#F3F3F3;}
.layim_sendbtn{position:absolute; height:26px; line-height:26px; right:10px; top:8px; padding:0 40px 0 20px; background-color:#FFA00A; color:#fff; border-radius:3px; cursor:pointer;}
.layim_enter{position:absolute; right:0; border-left:1px solid #FFB94F; width:24px; height:26px;}
.layim_enter:hover{background-color:#E68A00; border-radius:0 3px 3px 0;}
.layim_enter .layim_zero{left:7px; top:11px; border-width:5px; border-top-style:solid; border-top-color:#FFE0B3;}
.layim_sendtype{display:none; position:absolute; right:10px; bottom:37px; border:1px solid #D9D9D9; background-color:#fff; text-align:left;}
.layim_sendtype span{display:block; line-height:24px; padding:0 10px 0 25px; cursor:pointer;}
.layim_sendtype span:hover{background-color:#F3F3F3;}
.layim_sendtype span i{left:5px;}
.layim_min{display:none; position:absolute; left:-190px; bottom:-1px; width:160px; height:32px; line-height:32px; padding:0 10px; overflow:hidden; text-overflow: ellipsis; white-space:nowrap; border:1px solid #ccc; box-shadow: 0 0 5px rgba(0,0,75,.2); background-color:#FCFDFA; cursor:pointer;}
/*
@Name: layui WebIM 1.0.0
@Author:贤心
@Date: 2014-04-25
@Blog: http://sentsin.com
*/
;!function(win, undefined){
var config = {
msgurl: 'mailbox.html?msg=',
chatlogurl: 'mailbox.html?user=',
aniTime: 200,
right: -232,
api: {
friend: 'js/plugins/layer/layim/data/friend.json', //好友列表接口
group: 'js/plugins/layer/layim/data/group.json', //群组列表接口
chatlog: 'js/plugins/layer/layim/data/chatlog.json', //聊天记录接口
groups: 'js/plugins/layer/layim/data/groups.json', //群组成员接口
sendurl: '' //发送消息接口
},
user: { //当前用户信息
name: '游客',
face: 'img/a1.jpg'
},
//自动回复内置文案,也可动态读取数据库配置
autoReplay: [
'您好,我现在有事不在,一会再和您联系。',
'你没发错吧?',
'洗澡中,请勿打扰,偷窥请购票,个体四十,团体八折,订票电话:一般人我不告诉他!',
'你好,我是主人的美女秘书,有什么事就跟我说吧,等他回来我会转告他的。',
'我正在拉磨,没法招呼您,因为我们家毛驴去动物保护协会把我告了,说我剥夺它休产假的权利。',
'<(@ ̄︶ ̄@)>',
'你要和我说话?你真的要和我说话?你确定自己想说吗?你一定非说不可吗?那你说吧,这是自动回复。',
'主人正在开机自检,键盘鼠标看好机会出去凉快去了,我是他的电冰箱,我打字比较慢,你慢慢说,别急……',
'(*^__^*) 嘻嘻,是贤心吗?'
],
chating: {},
hosts: (function(){
var dk = location.href.match(/\:\d+/);
dk = dk ? dk[0] : '';
return 'http://' + document.domain + dk + '/';
})(),
json: function(url, data, callback, error){
return $.ajax({
type: 'POST',
url: url,
data: data,
dataType: 'json',
success: callback,
error: error
});
},
stopMP: function(e){
e ? e.stopPropagation() : e.cancelBubble = true;
}
}, dom = [$(window), $(document), $('html'), $('body')], xxim = {};
//主界面tab
xxim.tabs = function(index){
var node = xxim.node;
node.tabs.eq(index).addClass('xxim_tabnow').siblings().removeClass('xxim_tabnow');
node.list.eq(index).show().siblings('.xxim_list').hide();
if(node.list.eq(index).find('li').length === 0){
xxim.getDates(index);
}
};
//节点
xxim.renode = function(){
var node = xxim.node = {
tabs: $('#xxim_tabs>span'),
list: $('.xxim_list'),
online: $('.xxim_online'),
setonline: $('.xxim_setonline'),
onlinetex: $('#xxim_onlinetex'),
xximon: $('#xxim_on'),
layimFooter: $('#xxim_bottom'),
xximHide: $('#xxim_hide'),
xximSearch: $('#xxim_searchkey'),
searchMian: $('#xxim_searchmain'),
closeSearch: $('#xxim_closesearch'),
layimMin: $('#layim_min')
};
};
//主界面缩放
xxim.expend = function(){
var node = xxim.node;
if(xxim.layimNode.attr('state') !== '1'){
xxim.layimNode.stop().animate({right: config.right}, config.aniTime, function(){
node.xximon.addClass('xxim_off');
try{
localStorage.layimState = 1;
}catch(e){}
xxim.layimNode.attr({state: 1});
node.layimFooter.addClass('xxim_expend').stop().animate({marginLeft: config.right}, config.aniTime/2);
node.xximHide.addClass('xxim_show');
});
} else {
xxim.layimNode.stop().animate({right: 1}, config.aniTime, function(){
node.xximon.removeClass('xxim_off');
try{
localStorage.layimState = 2;
}catch(e){}
xxim.layimNode.removeAttr('state');
node.layimFooter.removeClass('xxim_expend');
node.xximHide.removeClass('xxim_show');
});
node.layimFooter.stop().animate({marginLeft: 0}, config.aniTime);
}
};
//初始化窗口格局
xxim.layinit = function(){
var node = xxim.node;
//主界面
try{
/*
if(!localStorage.layimState){
config.aniTime = 0;
localStorage.layimState = 1;
}
*/
if(localStorage.layimState === '1'){
xxim.layimNode.attr({state: 1}).css({right: config.right});
node.xximon.addClass('xxim_off');
node.layimFooter.addClass('xxim_expend').css({marginLeft: config.right});
node.xximHide.addClass('xxim_show');
}
}catch(e){
//layer.msg(e.message, 5, -1);
}
};
//聊天窗口
xxim.popchat = function(param){
var node = xxim.node, log = {};
log.success = function(layero){
layer.setMove();
xxim.chatbox = layero.find('#layim_chatbox');
log.chatlist = xxim.chatbox.find('.layim_chatmore>ul');
log.chatlist.html('<li data-id="'+ param.id +'" type="'+ param.type +'" id="layim_user'+ param.type + param.id +'"><span>'+ param.name +'</span><em>×</em></li>')
xxim.tabchat(param, xxim.chatbox);
//最小化聊天窗
xxim.chatbox.find('.layer_setmin').on('click', function(){
var indexs = layero.attr('times');
layero.hide();
node.layimMin.text(xxim.nowchat.name).show();
});
//关闭窗口
xxim.chatbox.find('.layim_close').on('click', function(){
var indexs = layero.attr('times');
layer.close(indexs);
xxim.chatbox = null;
config.chating = {};
config.chatings = 0;
});
//关闭某个聊天
log.chatlist.on('mouseenter', 'li', function(){
$(this).find('em').show();
}).on('mouseleave', 'li', function(){
$(this).find('em').hide();
});
log.chatlist.on('click', 'li em', function(e){
var parents = $(this).parent(), dataType = parents.attr('type');
var dataId = parents.attr('data-id'), index = parents.index();
var chatlist = log.chatlist.find('li'), indexs;
config.stopMP(e);
delete config.chating[dataType + dataId];
config.chatings--;
parents.remove();
$('#layim_area'+ dataType + dataId).remove();
if(dataType === 'group'){
$('#layim_group'+ dataType + dataId).remove();
}
if(parents.hasClass('layim_chatnow')){
if(index === config.chatings){
indexs = index - 1;
} else {
indexs = index + 1;
}
xxim.tabchat(config.chating[chatlist.eq(indexs).attr('type') + chatlist.eq(indexs).attr('data-id')]);
}
if(log.chatlist.find('li').length === 1){
log.chatlist.parent().hide();
}
});
//聊天选项卡
log.chatlist.on('click', 'li', function(){
var othis = $(this), dataType = othis.attr('type'), dataId = othis.attr('data-id');
xxim.tabchat(config.chating[dataType + dataId]);
});
//发送热键切换
log.sendType = $('#layim_sendtype'), log.sendTypes = log.sendType.find('span');
$('#layim_enter').on('click', function(e){
config.stopMP(e);
log.sendType.show();
});
log.sendTypes.on('click', function(){
log.sendTypes.find('i').text('')
$(this).find('i').text('√');
});
xxim.transmit();
};
log.html = '<div class="layim_chatbox" id="layim_chatbox">'
+'<h6>'
+'<span class="layim_move"></span>'
+' <a href="'+ param.url +'" class="layim_face" target="_blank"><img src="'+ param.face +'" ></a>'
+' <a href="'+ param.url +'" class="layim_names" target="_blank">'+ param.name +'</a>'
+' <span class="layim_rightbtn">'
+' <i class="layer_setmin">—</i>'
+' <i class="layim_close">&times;</i>'
+' </span>'
+'</h6>'
+'<div class="layim_chatmore" id="layim_chatmore">'
+' <ul class="layim_chatlist"></ul>'
+'</div>'
+'<div class="layim_groups" id="layim_groups"></div>'
+'<div class="layim_chat">'
+' <div class="layim_chatarea" id="layim_chatarea">'
+' <ul class="layim_chatview layim_chatthis" id="layim_area'+ param.type + param.id +'"></ul>'
+' </div>'
+' <div class="layim_tool">'
+' <i class="layim_addface fa fa-meh-o" title="发送表情"></i>'
+' <a href="javascript:;"><i class="layim_addimage fa fa-picture-o" title="上传图片"></i></a>'
+' <a href="javascript:;"><i class="layim_addfile fa fa-paperclip" title="上传附件"></i></a>'
+' <a href="" target="_blank" class="layim_seechatlog"><i class="fa fa-comment-o"></i>聊天记录</a>'
+' </div>'
+' <textarea class="layim_write" id="layim_write"></textarea>'
+' <div class="layim_send">'
+' <div class="layim_sendbtn" id="layim_sendbtn">发送<span class="layim_enter" id="layim_enter"><em class="layim_zero"></em></span></div>'
+' <div class="layim_sendtype" id="layim_sendtype">'
+' <span><i>√</i>按Enter键发送</span>'
+' <span><i></i>按Ctrl+Enter键发送</span>'
+' </div>'
+' </div>'
+'</div>'
+'</div>';
if(config.chatings < 1){
$.layer({
type: 1,
border: [0],
title: false,
shade: [0],
area: ['620px', '493px'],
move: '.layim_chatbox .layim_move',
moveType: 1,
closeBtn: false,
offset: [(($(window).height() - 493)/2)+'px', ''],
page: {
html: log.html
}, success: function(layero){
log.success(layero);
}
})
} else {
log.chatmore = xxim.chatbox.find('#layim_chatmore');
log.chatarea = xxim.chatbox.find('#layim_chatarea');
log.chatmore.show();
log.chatmore.find('ul>li').removeClass('layim_chatnow');
log.chatmore.find('ul').append('<li data-id="'+ param.id +'" type="'+ param.type +'" id="layim_user'+ param.type + param.id +'" class="layim_chatnow"><span>'+ param.name +'</span><em>×</em></li>');
log.chatarea.find('.layim_chatview').removeClass('layim_chatthis');
log.chatarea.append('<ul class="layim_chatview layim_chatthis" id="layim_area'+ param.type + param.id +'"></ul>');
xxim.tabchat(param);
}
//群组
log.chatgroup = xxim.chatbox.find('#layim_groups');
if(param.type === 'group'){
log.chatgroup.find('ul').removeClass('layim_groupthis');
log.chatgroup.append('<ul class="layim_groupthis" id="layim_group'+ param.type + param.id +'"></ul>');
xxim.getGroups(param);
}
//点击群员切换聊天窗
log.chatgroup.on('click', 'ul>li', function(){
xxim.popchatbox($(this));
});
};
//定位到某个聊天队列
xxim.tabchat = function(param){
var node = xxim.node, log = {}, keys = param.type + param.id;
xxim.nowchat = param;
xxim.chatbox.find('#layim_user'+ keys).addClass('layim_chatnow').siblings().removeClass('layim_chatnow');
xxim.chatbox.find('#layim_area'+ keys).addClass('layim_chatthis').siblings().removeClass('layim_chatthis');
xxim.chatbox.find('#layim_group'+ keys).addClass('layim_groupthis').siblings().removeClass('layim_groupthis');
xxim.chatbox.find('.layim_face>img').attr('src', param.face);
xxim.chatbox.find('.layim_face, .layim_names').attr('href', param.href);
xxim.chatbox.find('.layim_names').text(param.name);
xxim.chatbox.find('.layim_seechatlog').attr('href', config.chatlogurl + param.id);
log.groups = xxim.chatbox.find('.layim_groups');
if(param.type === 'group'){
log.groups.show();
} else {
log.groups.hide();
}
$('#layim_write').focus();
};
//弹出聊天窗
xxim.popchatbox = function(othis){
var node = xxim.node, dataId = othis.attr('data-id'), param = {
id: dataId, //用户ID
type: othis.attr('type'),
name: othis.find('.xxim_onename').text(), //用户名
face: othis.find('.xxim_oneface').attr('src'), //用户头像
href: 'profile.html?user=' + dataId //用户主页
}, key = param.type + dataId;
if(!config.chating[key]){
xxim.popchat(param);
config.chatings++;
} else {
xxim.tabchat(param);
}
config.chating[key] = param;
var chatbox = $('#layim_chatbox');
if(chatbox[0]){
node.layimMin.hide();
chatbox.parents('.xubox_layer').show();
}
};
//请求群员
xxim.getGroups = function(param){
var keys = param.type + param.id, str = '',
groupss = xxim.chatbox.find('#layim_group'+ keys);
groupss.addClass('loading');
config.json(config.api.groups, {}, function(datas){
if(datas.status === 1){
var ii = 0, lens = datas.data.length;
if(lens > 0){
for(; ii < lens; ii++){
str += '<li data-id="'+ datas.data[ii].id +'" type="one"><img src="'+ datas.data[ii].face +'" class="xxim_oneface"><span class="xxim_onename">'+ datas.data[ii].name +'</span></li>';
}
} else {
str = '<li class="layim_errors">没有群员</li>';
}
} else {
str = '<li class="layim_errors">'+ datas.msg +'</li>';
}
groupss.removeClass('loading');
groupss.html(str);
}, function(){
groupss.removeClass('loading');
groupss.html('<li class="layim_errors">请求异常</li>');
});
};
//消息传输
xxim.transmit = function(){
var node = xxim.node, log = {};
node.sendbtn = $('#layim_sendbtn');
node.imwrite = $('#layim_write');
//发送
log.send = function(){
var data = {
content: node.imwrite.val(),
id: xxim.nowchat.id,
sign_key: '', //密匙
_: +new Date
};
if(data.content.replace(/\s/g, '') === ''){
layer.tips('说点啥呗!', '#layim_write', 2);
node.imwrite.focus();
} else {
//此处皆为模拟
var keys = xxim.nowchat.type + xxim.nowchat.id;
//聊天模版
log.html = function(param, type){
return '<li class="'+ (type === 'me' ? 'layim_chateme' : '') +'">'
+'<div class="layim_chatuser">'
+ function(){
if(type === 'me'){
return '<span class="layim_chattime">'+ param.time +'</span>'
+'<span class="layim_chatname">'+ param.name +'</span>'
+'<img src="'+ param.face +'" >';
} else {
return '<img src="'+ param.face +'" >'
+'<span class="layim_chatname">'+ param.name +'</span>'
+'<span class="layim_chattime">'+ param.time +'</span>';
}
}()
+'</div>'
+'<div class="layim_chatsay">'+ param.content +'<em class="layim_zero"></em></div>'
+'</li>';
};
log.imarea = xxim.chatbox.find('#layim_area'+ keys);
log.imarea.append(log.html({
time: '2014-04-26 0:37',
name: config.user.name,
face: config.user.face,
content: data.content
}, 'me'));
node.imwrite.val('').focus();
log.imarea.scrollTop(log.imarea[0].scrollHeight);
setTimeout(function(){
log.imarea.append(log.html({
time: '2014-04-26 0:38',
name: xxim.nowchat.name,
face: xxim.nowchat.face,
content: config.autoReplay[(Math.random()*config.autoReplay.length) | 0]
}));
log.imarea.scrollTop(log.imarea[0].scrollHeight);
}, 500);
/*
that.json(config.api.sendurl, data, function(datas){
});
*/
}
};
node.sendbtn.on('click', log.send);
node.imwrite.keyup(function(e){
if(e.keyCode === 13){
log.send();
}
});
};
//事件
xxim.event = function(){
var node = xxim.node;
//主界面tab
node.tabs.eq(0).addClass('xxim_tabnow');
node.tabs.on('click', function(){
var othis = $(this), index = othis.index();
xxim.tabs(index);
});
//列表展收
node.list.on('click', 'h5', function(){
var othis = $(this), chat = othis.siblings('.xxim_chatlist'), parentss = othis.find("i");
if(parentss.hasClass('fa-caret-down')){
chat.hide();
parentss.attr('class','fa fa-caret-right');
} else {
chat.show();
parentss.attr('class','fa fa-caret-down');
}
});
//设置在线隐身
node.online.on('click', function(e){
config.stopMP(e);
node.setonline.show();
});
node.setonline.find('span').on('click', function(e){
var index = $(this).index();
config.stopMP(e);
if(index === 0){
node.onlinetex.html('在线');
node.online.removeClass('xxim_offline');
} else if(index === 1) {
node.onlinetex.html('隐身');
node.online.addClass('xxim_offline');
}
node.setonline.hide();
});
node.xximon.on('click', xxim.expend);
node.xximHide.on('click', xxim.expend);
//搜索
node.xximSearch.keyup(function(){
var val = $(this).val().replace(/\s/g, '');
if(val !== ''){
node.searchMian.show();
node.closeSearch.show();
//此处的搜索ajax参考xxim.getDates
node.list.eq(3).html('<li class="xxim_errormsg">没有符合条件的结果</li>');
} else {
node.searchMian.hide();
node.closeSearch.hide();
}
});
node.closeSearch.on('click', function(){
$(this).hide();
node.searchMian.hide();
node.xximSearch.val('').focus();
});
//弹出聊天窗
config.chatings = 0;
node.list.on('click', '.xxim_childnode', function(){
var othis = $(this);
xxim.popchatbox(othis);
});
//点击最小化栏
node.layimMin.on('click', function(){
$(this).hide();
$('#layim_chatbox').parents('.xubox_layer').show();
});
//document事件
dom[1].on('click', function(){
node.setonline.hide();
$('#layim_sendtype').hide();
});
};
//请求列表数据
xxim.getDates = function(index){
var api = [config.api.friend, config.api.group, config.api.chatlog],
node = xxim.node, myf = node.list.eq(index);
myf.addClass('loading');
config.json(api[index], {}, function(datas){
if(datas.status === 1){
var i = 0, myflen = datas.data.length, str = '', item;
if(myflen > 1){
if(index !== 2){
for(; i < myflen; i++){
str += '<li data-id="'+ datas.data[i].id +'" class="xxim_parentnode">'
+'<h5><i class="fa fa-caret-right"></i><span class="xxim_parentname">'+ datas.data[i].name +'</span><em class="xxim_nums">('+ datas.data[i].nums +')</em></h5>'
+'<ul class="xxim_chatlist">';
item = datas.data[i].item;
for(var j = 0; j < item.length; j++){
str += '<li data-id="'+ item[j].id +'" class="xxim_childnode" type="'+ (index === 0 ? 'one' : 'group') +'"><img src="'+ item[j].face +'" class="xxim_oneface"><span class="xxim_onename">'+ item[j].name +'</span></li>';
}
str += '</ul></li>';
}
} else {
str += '<li class="xxim_liston">'
+'<ul class="xxim_chatlist">';
for(; i < myflen; i++){
str += '<li data-id="'+ datas.data[i].id +'" class="xxim_childnode" type="one"><img src="'+ datas.data[i].face +'" class="xxim_oneface"><span class="xxim_onename">'+ datas.data[i].name +'</span><em class="xxim_time">'+ datas.data[i].time +'</em></li>';
}
str += '</ul></li>';
}
myf.html(str);
} else {
myf.html('<li class="xxim_errormsg">没有任何数据</li>');
}
myf.removeClass('loading');
} else {
myf.html('<li class="xxim_errormsg">'+ datas.msg +'</li>');
}
}, function(){
myf.html('<li class="xxim_errormsg">请求失败</li>');
myf.removeClass('loading');
});
};
//渲染骨架
xxim.view = (function(){
var xximNode = xxim.layimNode = $('<div id="xximmm" class="xxim_main">'
+'<div class="xxim_top" id="xxim_top">'
+' <div class="xxim_search"><i class="fa fa-search"></i><input id="xxim_searchkey" /><span id="xxim_closesearch">×</span></div>'
+' <div class="xxim_tabs" id="xxim_tabs"><span class="xxim_tabfriend" title="好友"><i class="fa fa-user"></i></span><span class="xxim_tabgroup" title="群组"><i class="fa fa-users"></i></span><span class="xxim_latechat" title="最近聊天"><i class="fa fa-clock-o"></i></span></div>'
+' <ul class="xxim_list" style="display:block"></ul>'
+' <ul class="xxim_list"></ul>'
+' <ul class="xxim_list"></ul>'
+' <ul class="xxim_list xxim_searchmain" id="xxim_searchmain"></ul>'
+'</div>'
+'<ul class="xxim_bottom" id="xxim_bottom">'
+'<li class="xxim_online" id="xxim_online">'
+'<i class="xxim_nowstate fa fa-check-circle"></i><span id="xxim_onlinetex">在线</span>'
+'<div class="xxim_setonline">'
+'<span><i class="fa fa-check-circle"></i>在线</span>'
+'<span class="xxim_setoffline"><i class="fa fa-check-circle"></i>隐身</span>'
+'</div>'
+'</li>'
+'<li class="xxim_mymsg" id="xxim_mymsg" title="我的私信"><i class="fa fa-comment"></i><a href="'+ config.msgurl +'" target="_blank"></a></li>'
+'<li class="xxim_seter" id="xxim_seter" title="设置">'
+'<i class="fa fa-gear"></i>'
+'<div>'
+'</div>'
+'</li>'
+'<li class="xxim_hide" id="xxim_hide"><i class="fa fa-exchange"></i></li>'
+'<li id="xxim_on" class="xxim_icon xxim_on fa fa-ellipsis-v"></li>'
+'<div class="layim_min" id="layim_min"></div>'
+'</ul>'
+'</div>');
dom[3].append(xximNode);
xxim.renode();
xxim.getDates(0);
xxim.event();
xxim.layinit();
}());
}(window);
/*!
@Name: layer's style
@Author: 贤心
@Blog: sentsin.com
*/*html{background-image:url(about:blank);background-attachment:fixed}html #layui_layer_skinlayercss{display:none;position:absolute;width:1989px}.layui-layer,.layui-layer-shade{position:fixed;_position:absolute;pointer-events:auto}.layui-layer-shade{top:0;left:0;width:100%;height:100%;_height:expression(document.body.offsetHeight+"px")}.layui-layer{top:150px;left:50%;margin:0;padding:0;background-color:#fff;-webkit-background-clip:content;box-shadow:1px 1px 50px rgba(0,0,0,.3);border-radius:2px;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.3s;animation-duration:.3s}.layui-layer-close{position:absolute}.layui-layer-content{position:relative}.layui-layer-border{border:1px solid #B2B2B2;border:1px solid rgba(0,0,0,.3);box-shadow:1px 1px 5px rgba(0,0,0,.2)}.layui-layer-moves{position:absolute;border:3px solid #666;border:3px solid rgba(0,0,0,.5);cursor:move;background-color:#fff;background-color:rgba(255,255,255,.3);filter:alpha(opacity=50)}.layui-layer-load{background:url(default/loading-0.gif) center center no-repeat #fff}.layui-layer-ico{background:url(default/icon.png) no-repeat}.layui-layer-btn a,.layui-layer-dialog .layui-layer-ico,.layui-layer-setwin a{display:inline-block;*display:inline;*zoom:1;vertical-align:top}@-webkit-keyframes bounceIn{0%{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes bounceIn{0%{opacity:0;-webkit-transform:scale(.5);-ms-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.layui-anim{-webkit-animation-name:bounceIn;animation-name:bounceIn}@-webkit-keyframes bounceOut{100%{opacity:0;-webkit-transform:scale(.7);transform:scale(.7)}30%{-webkit-transform:scale(1.03);transform:scale(1.03)}0%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes bounceOut{100%{opacity:0;-webkit-transform:scale(.7);-ms-transform:scale(.7);transform:scale(.7)}30%{-webkit-transform:scale(1.03);-ms-transform:scale(1.03);transform:scale(1.03)}0%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.layui-anim-close{-webkit-animation-name:bounceOut;animation-name:bounceOut;-webkit-animation-duration:.2s;animation-duration:.2s}@-webkit-keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale(.1) translateY(-2000px);transform:scale(.1) translateY(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateY(60px);transform:scale(.475) translateY(60px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}@keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale(.1) translateY(-2000px);-ms-transform:scale(.1) translateY(-2000px);transform:scale(.1) translateY(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateY(60px);-ms-transform:scale(.475) translateY(60px);transform:scale(.475) translateY(60px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}.layui-anim-01{-webkit-animation-name:zoomInDown;animation-name:zoomInDown}@-webkit-keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px);transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px);-ms-transform:translateY(2000px);transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.layui-anim-02{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale(.1) translateX(-2000px);transform:scale(.1) translateX(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateX(48px);transform:scale(.475) translateX(48px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}@keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale(.1) translateX(-2000px);-ms-transform:scale(.1) translateX(-2000px);transform:scale(.1) translateX(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateX(48px);-ms-transform:scale(.475) translateX(48px);transform:scale(.475) translateX(48px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}.layui-anim-03{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}@-webkit-keyframes rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg);transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0) rotate(0);transform:translateX(0) rotate(0)}}@keyframes rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg);-ms-transform:translateX(-100%) rotate(-120deg);transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0) rotate(0);-ms-transform:translateX(0) rotate(0);transform:translateX(0) rotate(0)}}.layui-anim-04{-webkit-animation-name:rollIn;animation-name:rollIn}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.layui-anim-05{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes shake{0%,100%{-webkit-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);transform:translateX(10px)}}@keyframes shake{0%,100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);-ms-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);-ms-transform:translateX(10px);transform:translateX(10px)}}.layui-anim-06{-webkit-animation-name:shake;animation-name:shake}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.layui-layer-title{padding:0 80px 0 20px;height:42px;line-height:42px;border-bottom:1px solid #eee;font-size:14px;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background-color:#F8F8F8}.layui-layer-setwin{position:absolute;right:15px;*right:0;top:15px;font-size:0;line-height:initial}.layui-layer-setwin a{position:relative;width:16px;height:16px;margin-left:10px;font-size:12px;_overflow:hidden}.layui-layer-setwin .layui-layer-min cite{position:absolute;width:14px;height:2px;left:0;top:50%;margin-top:-1px;background-color:#2E2D3C;cursor:pointer;_overflow:hidden}.layui-layer-setwin .layui-layer-min:hover cite{background-color:#2D93CA}.layui-layer-setwin .layui-layer-max{background-position:-32px -40px}.layui-layer-setwin .layui-layer-max:hover{background-position:-16px -40px}.layui-layer-setwin .layui-layer-maxmin{background-position:-65px -40px}.layui-layer-setwin .layui-layer-maxmin:hover{background-position:-49px -40px}.layui-layer-setwin .layui-layer-close1{background-position:0 -40px;cursor:pointer}.layui-layer-setwin .layui-layer-close1:hover{opacity:.7}.layui-layer-setwin .layui-layer-close2{position:absolute;right:-28px;top:-28px;width:30px;height:30px;margin-left:0;background-position:-150px -31px;*right:-18px;_display:none}.layui-layer-setwin .layui-layer-close2:hover{background-position:-181px -31px}.layui-layer-btn{text-align:right;padding:0 10px 12px;pointer-events:auto}.layui-layer-btn a{height:28px;line-height:28px;margin:0 6px;padding:0 15px;border:1px solid #dedede;background-color:#f1f1f1;color:#333;border-radius:2px;font-weight:400;cursor:pointer;text-decoration:none}.layui-layer-btn a:hover{opacity:.9;text-decoration:none}.layui-layer-btn a:active{opacity:.7}.layui-layer-btn .layui-layer-btn0{border-color:#4898d5;background-color:#2e8ded;color:#fff}.layui-layer-dialog{min-width:260px}.layui-layer-dialog .layui-layer-content{position:relative;padding:20px;line-height:24px;word-break:break-all;font-size:14px;overflow:auto}.layui-layer-dialog .layui-layer-content .layui-layer-ico{position:absolute;top:16px;left:15px;_left:-40px;width:30px;height:30px}.layui-layer-ico1{background-position:-30px 0}.layui-layer-ico2{background-position:-60px 0}.layui-layer-ico3{background-position:-90px 0}.layui-layer-ico4{background-position:-120px 0}.layui-layer-ico5{background-position:-150px 0}.layui-layer-ico6{background-position:-180px 0}.layui-layer-rim{border:6px solid #8D8D8D;border:6px solid rgba(0,0,0,.3);border-radius:5px;box-shadow:none}.layui-layer-msg{min-width:180px;border:1px solid #D3D4D3;box-shadow:none}.layui-layer-hui{min-width:100px;background-color:#000;filter:alpha(opacity=60);background-color:rgba(0,0,0,.6);color:#fff;border:none}.layui-layer-hui .layui-layer-content{padding:12px 25px;text-align:center}.layui-layer-dialog .layui-layer-padding{padding:20px 20px 20px 55px;text-align:left}.layui-layer-page .layui-layer-content{position:relative;overflow:auto}.layui-layer-iframe .layui-layer-btn,.layui-layer-page .layui-layer-btn{padding-top:10px}.layui-layer-nobg{background:0 0}.layui-layer-iframe .layui-layer-content{overflow:hidden}.layui-layer-iframe iframe{display:block;width:100%}.layui-layer-loading{border-radius:100%;background:0 0;box-shadow:none;border:none}.layui-layer-loading .layui-layer-content{width:60px;height:24px;background:url(default/loading-0.gif) no-repeat}.layui-layer-loading .layui-layer-loading1{width:37px;height:37px;background:url(default/loading-1.gif) no-repeat}.layui-layer-ico16,.layui-layer-loading .layui-layer-loading2{width:32px;height:32px;background:url(default/loading-2.gif) no-repeat}.layui-layer-tips{background:0 0;box-shadow:none;border:none}.layui-layer-tips .layui-layer-content{position:relative;line-height:22px;min-width:12px;padding:5px 10px;font-size:12px;_float:left;border-radius:3px;box-shadow:1px 1px 3px rgba(0,0,0,.3);background-color:#F90;color:#fff}.layui-layer-tips .layui-layer-close{right:-2px;top:-1px}.layui-layer-tips i.layui-layer-TipsG{position:absolute;width:0;height:0;border-width:8px;border-color:transparent;border-style:dashed;*overflow:hidden}.layui-layer-tips i.layui-layer-TipsB,.layui-layer-tips i.layui-layer-TipsT{left:5px;border-right-style:solid;border-right-color:#F90}.layui-layer-tips i.layui-layer-TipsT{bottom:-8px}.layui-layer-tips i.layui-layer-TipsB{top:-8px}.layui-layer-tips i.layui-layer-TipsL,.layui-layer-tips i.layui-layer-TipsR{top:1px;border-bottom-style:solid;border-bottom-color:#F90}.layui-layer-tips i.layui-layer-TipsR{left:-8px}.layui-layer-tips i.layui-layer-TipsL{right:-8px}.layui-layer-lan[type=dialog]{min-width:280px}.layui-layer-lan .layui-layer-title{background:#4476A7;color:#fff;border:none}.layui-layer-lan .layui-layer-lan .layui-layer-btn{padding:10px;text-align:right;border-top:1px solid #E9E7E7}.layui-layer-lan .layui-layer-btn a{background:#BBB5B5;border:none}.layui-layer-lan .layui-layer-btn .layui-layer-btn1{background:#C9C5C5}.layui-layer-molv .layui-layer-title{background:#009f95;color:#fff;border:none}.layui-layer-molv .layui-layer-btn a{background:#009f95}.layui-layer-molv .layui-layer-btn .layui-layer-btn1{background:#92B8B1}
/*!
@Name: layer拓展样式
@Date: 2012.12.13
@Author: 贤心
@blog: sentsin.com
*/.layui-layer-imgbar,.layui-layer-imgtit a,.layui-layer-tab .layui-layer-title span{text-overflow:ellipsis;white-space:nowrap}.layui-layer-iconext{background:url(default/icon-ext.png) no-repeat}html #layui_layer_skinlayerextcss{display:none;position:absolute;width:1989px}.layui-layer-prompt .layui-layer-input{display:block;width:220px;height:30px;margin:0 auto;line-height:30px;padding:0 5px;border:1px solid #ccc;box-shadow:1px 1px 5px rgba(0,0,0,.1) inset;color:#333}.layui-layer-prompt textarea.layui-layer-input{width:300px;height:100px;line-height:20px}.layui-layer-tab{box-shadow:1px 1px 50px rgba(0,0,0,.4)}.layui-layer-tab .layui-layer-title{padding-left:0;border-bottom:1px solid #ccc;background-color:#eee;overflow:visible}.layui-layer-tab .layui-layer-title span{position:relative;float:left;min-width:80px;max-width:260px;padding:0 20px;text-align:center;cursor:default;overflow:hidden}.layui-layer-tab .layui-layer-title span.layui-layer-tabnow{height:43px;border-left:1px solid #ccc;border-right:1px solid #ccc;background-color:#fff;z-index:10}.layui-layer-tab .layui-layer-title span:first-child{border-left:none}.layui-layer-tabmain{line-height:24px;clear:both}.layui-layer-tabmain .layui-layer-tabli{display:none}.layui-layer-tabmain .layui-layer-tabli.xubox_tab_layer{display:block}.xubox_tabclose{position:absolute;right:10px;top:5px;cursor:pointer}.layui-layer-photos{-webkit-animation-duration:1s;animation-duration:1s;background:url(default/xubox_loading1.gif) center center no-repeat #000}.layui-layer-photos .layui-layer-content{overflow:hidden;text-align:center}.layui-layer-photos .layui-layer-phimg img{position:relative;width:100%;display:inline-block;*display:inline;*zoom:1;vertical-align:top}.layui-layer-imgbar,.layui-layer-imguide{display:none}.layui-layer-imgnext,.layui-layer-imgprev{position:absolute;top:50%;width:27px;_width:44px;height:44px;margin-top:-22px;outline:0;blr:expression(this.onFocus=this.blur())}.layui-layer-imgprev{left:10px;background-position:-5px -5px;_background-position:-70px -5px}.layui-layer-imgprev:hover{background-position:-33px -5px;_background-position:-120px -5px}.layui-layer-imgnext{right:10px;_right:8px;background-position:-5px -50px;_background-position:-70px -50px}.layui-layer-imgnext:hover{background-position:-33px -50px;_background-position:-120px -50px}.layui-layer-imgbar{position:absolute;left:0;bottom:0;width:100%;height:32px;line-height:32px;background-color:rgba(0,0,0,.8);background-color:#000\9;filter:Alpha(opacity=80);color:#fff;overflow:hidden;font-size:0}.layui-layer-imgtit *{display:inline-block;*display:inline;*zoom:1;vertical-align:top;font-size:12px}.layui-layer-imgtit a{max-width:65%;overflow:hidden;color:#fff}.layui-layer-imgtit a:hover{color:#fff;text-decoration:underline}.layui-layer-imgtit em{padding-left:10px;font-style:normal}
/*
* layer皮肤
* 作者:一☆隐☆一
* QQ:9073194
* 请保留这里的信息 谢谢!虽然你不保留我也不能把你怎么样!
*/
html #layui_layer_skinmoonstylecss {
display: none;
position: absolute;
width: 1989px;
}
body .layer-ext-moon[type="dialog"] {
min-width: 320px;
}
body .layer-ext-moon-msg[type="dialog"]{min-width:200px;}
body .layer-ext-moon .layui-layer-title {
background: #f6f6f6;
color: #212a31;
font-size: 16px;
font-weight: bold;
height: 46px;
line-height: 46px;
}
body .layer-ext-moon .layui-layer-content .layui-layer-ico {
height: 32px;
width: 32px;
top:18.5px;
}
body .layer-ext-moon .layui-layer-ico0 {
background: url(default.png) no-repeat -96px 0;
;
}
body .layer-ext-moon .layui-layer-ico1 {
background: url(default.png) no-repeat -224px 0;
;
}
body .layer-ext-moon .layui-layer-ico2 {
background: url(default.png) no-repeat -192px 0;
}
body .layer-ext-moon .layui-layer-ico3 {
background: url(default.png) no-repeat -160px 0;
}
body .layer-ext-moon .layui-layer-ico4 {
background: url(default.png) no-repeat -320px 0;
}
body .layer-ext-moon .layui-layer-ico5 {
background: url(default.png) no-repeat -288px 0;
}
body .layer-ext-moon .layui-layer-ico6 {
background: url(default.png) -256px 0;
}
body .layer-ext-moon .layui-layer-ico7 {
background: url(default.png) no-repeat -128px 0;
}
body .layer-ext-moon .layui-layer-setwin {
top: 15px;
right: 15px;
}
body .layer-ext-moon .layui-layer-setwin a {
width: 16px;
height: 16px;
}
body .layer-ext-moon .layui-layer-setwin .layui-layer-min cite:hover {
background-color: #56abe4;
}
body .layer-ext-moon .layui-layer-setwin .layui-layer-max {
background: url(default.png) no-repeat -80px 0;
}
body .layer-ext-moon .layui-layer-setwin .layui-layer-max:hover {
background: url(default.png) no-repeat -64px 0;
}
body .layer-ext-moon .layui-layer-setwin .layui-layer-maxmin {
background: url(default.png) no-repeat -32px 0;
}
body .layer-ext-moon .layui-layer-setwin .layui-layer-maxmin:hover {
background: url(default.png) no-repeat -16px 0;
}
body .layer-ext-moon .layui-layer-setwin .layui-layer-close1,body .layer-ext-moon .layui-layer-setwin .layui-layer-close2 {
background: url(default.png) 0 0;
}
body .layer-ext-moon .layui-layer-setwin .layui-layer-close1:hover,body .layer-ext-moon .layui-layer-setwin .layui-layer-close2:hover {
background: url(default.png) -48px 0;
}
body .layer-ext-moon .layui-layer-padding{padding-top: 24px;}
body .layer-ext-moon .layui-layer-btn {
padding: 15px 0;
background: #f0f4f7;
border-top: 1px #c7c7c7 solid;
}
body .layer-ext-moon .layui-layer-btn a {
font-size: 12px;
font-weight: normal;
margin: 0 3px;
margin-right: 7px;
margin-left: 7px;
padding: 6px 20px;
color: #fff;
border: 1px solid #0064b6;
background: #0071ce;
border-radius: 3px;
display: inline-block;
height: 20px;
line-height: 20px;
text-align: center;
vertical-align: middle;
background-repeat: no-repeat;
text-decoration: none;
outline: none;
-moz-box-sizing: content-box;
-webkit-box-sizing: content-box;
box-sizing: content-box;
}
body .layer-ext-moon .layui-layer-btn .layui-layer-btn0 {
background: #0071ce;
}
body .layer-ext-moon .layui-layer-btn .layui-layer-btn1 {
background: #fff;
color: #404a58;
border: 1px solid #c0c4cd;
border-radius: 3px;
}
body .layer-ext-moon .layui-layer-btn .layui-layer-btn2 {
background: #f60;
color: #fff;
border: 1px solid #f60;
border-radius: 3px;
}
body .layer-ext-moon .layui-layer-btn .layui-layer-btn3 {
background: #f00;
color: #fff;
border: 1px solid #f00;
border-radius: 3px;
}
body .layer-ext-moon .layui-layer-title span.layui-layer-tabnow{
height:46px;
}
(function (doc, win) {
var docEl = doc.documentElement,
resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',
recalc = function () {
var clientWidth = docEl.clientWidth;
if (!clientWidth) return;
if (clientWidth >= 1920) {
docEl.style.fontSize = '100px'; //1rem = 100px
} else {
docEl.style.fontSize = 100 * (clientWidth / 1920) + 'px';
}
};
if (!doc.addEventListener) return;
win.addEventListener(resizeEvt, recalc, false);
doc.addEventListener('DOMContentLoaded', recalc, false);
})(document, window);
\ No newline at end of file
<#assign base=springMacroRequestContext.getContextUrl("")>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>JEECG-boot大屏指挥室</title>
<link href="${base}/bigscreen/template1/css/easyui.css" rel="stylesheet" type="text/css">
<link href="${base}/bigscreen/template1/css/room.css" rel="stylesheet" type="text/css" />
<script language="javascript" type="text/javascript" src="${base}/bigscreen/template1/js/jquery.min.js"></script>
<script language="javascript" type="text/javascript" src="${base}/bigscreen/template1/js/jquery.easyui.min.js"></script>
<script language="javascript" type="text/javascript" src="${base}/bigscreen/template1/js/echarts.min.js"></script>
<script language="javascript" type="text/javascript" src="${base}/bigscreen/template1/js/echarts-wordcloud.js"></script>
<script language="javascript" type="text/javascript" src="${base}/bigscreen/template1/js/china.js"></script>
<script language="javascript" type="text/javascript" src="${base}/bigscreen/template1/js/geoCoord.js"></script>
<script language="javascript" type="text/javascript" src="${base}/bigscreen/template1/js/room.js"></script>
</head>
<body>
<div id="main">
<!-- 刷新 -->
<div id="refresh">
<span id="refreshTime">最后刷新时间:2018-05-06 23:13.24</span>
</div>
<!-- 刷新结束 -->
<!-- 进度条区域开始-->
<div id="y_gauge1"></div>
<div id="y_gauge2"></div>
<div id="y_gauge3"></div>
<div id="y_gauge4"></div>
<!-- 进度条区域结束-->
<!-- 螺旋图开始 -->
<div id="orderStatus"></div>
<div class="contentButton" style="top:822px;left:453px">
<a class="a1" href="javascript:void(0);" onclick="javascript:openDialog('modalDlg');">&nbsp;</a>
</div>
<!-- 螺旋图结束 -->
<!-- 地图开始 -->
<div id="map"></div>
<!-- 地图结束 -->
<!-- 产品饼图开始 -->
<div id="productPie"></div>
<!-- 产品饼图结束 -->
<!-- 业务进展图开始 -->
<div id="businessProgress"></div>
<div class="contentButton" style="top:822px;left:3679px">
<a class="a1" href="javascript:void(0);">&nbsp;</a>
</div>
<!-- 业务进展图结束 -->
<!-- 生产计划展示开始-->
<div id="plan"></div>
<div class="contentButton" style="top:1402px;left:453px">
<a href="javascript:void(0);">&nbsp;</a>
</div>
<!-- 生产计划展示结束-->
<!-- 生产质量展示开始-->
<div id="quality"></div>
<div class="contentButton" style="top:1402px;left:1532px">
<a href="javascript:void(0);">&nbsp;</a>
</div>
<!-- 生产质量展示结束-->
<!-- 客服及投诉展示开始-->
<div id="produce">
<table width="100%" cellpadding="6" cellspacing="0">
<tr class="row1">
<td rowspan="2"><span id="currentDate">2018/04/25</span></td>
<td colspan="2">产品投诉</td>
<td colspan="2">物流投诉</td>
<td colspan="2">售后投诉</td>
</tr>
<tr class="row1">
<td>质量</td>
<td>服务</td>
<td>质量</td>
<td>服务</td>
<td>质量</td>
<td>服务</td>
</tr>
<tr class="row2">
<td>已处理</td>
<td>48</td>
<td>48</td>
<td>48</td>
<td>48</td>
<td>48</td>
<td>48</td>
</tr>
<tr class="row1">
<td>处理中</td>
<td>34</td>
<td>34</td>
<td>34</td>
<td>34</td>
<td>34</td>
<td>34</td>
</tr>
<tr class="row2">
<td>未处理</td>
<td>30</td>
<td>28</td>
<td>28</td>
<td>26</td>
<td>25</td>
<td>8</td>
</tr>
<tr class="row2">
<td>合计</td>
<td>30</td>
<td>28</td>
<td>28</td>
<td>26</td>
<td>25</td>
<td>8</td>
</tr>
<tr class="row1">
<td>总计</td>
<td colspan="2">22</td>
<td colspan="2">65</td>
<td colspan="2">44</td>
</tr>
</table>
</div>
<div class="contentButton" style="top:1402px;left:2598px">
<a href="javascript:void(0);">&nbsp;</a>
</div>
<!-- 客服及投诉展示结束-->
<!-- 词云展示开始-->
<div id="wordCloud"></div>
<div class="contentButton" style="top:1402px;left:3679px">
<a href="javascript:void(0);">&nbsp;</a>
</div>
<!-- 词云结束-->
<!-- 仪表盘区域开始-->
<!-- <div id="gauge1"></div>
<div class="gaugeTitle" style="left:2200px;top:480px;"><sapn id="vg1">32</sapn>&nbsp;m<sup>3</sup>/d</div>
<div id="gauge2"></div>
<div class="gaugeTitle" style="left:2550px;top:480px;"><sapn id="vg2">32</sapn>&nbsp;KVA</div>
<div id="gauge3"></div>
<div class="gaugeTitle" style="left:2910px;top:480px;"><sapn id="vg3">32</sapn>&nbsp;Nm<sup>3</sup>/h</div>
<div id="gauge4"></div>
<div class="gaugeTitle" style="left:2380px;top:750px;"><sapn id="vg4">32</sapn>&nbsp;m<sup>3</sup>/m</div>
<div id="gauge5"></div>
<div class="gaugeTitle" style="left:2730px;top:750px;"><sapn id="vg5">32</sapn>&nbsp;t/h</div> -->
<!-- 仪表盘区域结束-->
<!--弹出窗口-->
<!--<div id="popWindow">
<div style="padding:20px;font-size:32px; background-color:#051E3C;color:#B7E1FF; border-bottom:1px solid #09F">弹出窗口标题</div>
</div>-->
<!--弹出窗口结束---->
</div>>
<!--编辑系统用户的弹出窗口-->
<div id="modalDlg" class="easyui-dialog" title="弹出窗口" data-options="modal:true,closed:true,buttons:
[{
text:'确定',
iconCls:'icon-ok',
handler:function(){
$('#modalDlg').dialog('close');
}
},{
text:'取消',
handler:function(){
$('#modalDlg').dialog('close');
}
}]"
style="padding:10px">
<table width="100%" cellpadding="5">
<tr>
<td width="80" align="center">用户名称:</td>
<td><input type="text" name="updateUsername" id="updateUsername" value=""></td>
</tr>
<tr>
<td align="center">登录密码:</td>
<td><input type="text" name="updateUserpass" id="updateUserpass" value=""></td>
</tr>
<tr>
<td align="center">&nbsp;</td>
<td height="30">如无需修改密码,请留空</td>
</tr>
<tr>
<td align="center">用户类型:</td>
<td>
<select name="updateUserType" id="updateUserType">
<option value="">--请选择--</option>
<option value="administrator">管理员</option>
<option value="user">系统用户</option>
</select>
</td>
</tr>
<tr>
<td align="center">用户状态:</td>
<td>
<input type="radio" name="updateUserStatus" id="updateUserStatus1" value="0"><label for="updateUserStatus1">启用</label>&nbsp;&nbsp;
<input type="radio" name="updateUserStatus" id="updateUserStatus2" value="1"><label for="updateUserStatus2">禁用</label>
</td>
</tr>
<tr>
<td align="center">用户说明:</td>
<td>
<input type="text" name="updateUserDescription" id="updateUserDescription" value="">
</td>
</tr>
</table>
</div>
<!--编辑系统用户的弹出窗口结束-->
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<#assign base=springMacroRequestContext.getContextUrl("")>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="renderer" content="webkit">
<meta name="viewport" content="width=device-width,initial-scale=1.0,user-scalable=no">
<script type="text/javascript" src="${base}/bigscreen/template2/js/rem.js"></script>
<link rel="stylesheet" href="${base}/bigscreen/template2/css/style.css">
<title>智慧物流服务中心-首页</title>
</head>
<body style="visibility: hidden;">
<div class="container-flex" tabindex="0" hidefocus="true">
<div class="box-left">
<div class="left-top">
<div class="current-num">
<div>当前到件量</div>
<p>123,456,789</p>
</div>
</div>
<div class="left-center">
<div class="title-box">
<h6>派件入库量占比</h6>
</div>
<div class="chart-box pie-chart">
<div id="pie"></div>
<div>
<div class="pie-data">
</div>
</div>
</div>
</div>
<div class="left-bottom" class="select">
<div class="title-box">
<h6>广东省寄派件数据</h6>
<img class="line-img" src="${base}/bigscreen/template2/images/line-blue.png" alt="">
<button id="filBtn"><img src="${base}/bigscreen/template2/images/select_icon.png" alt="">筛选</button>
</div>
<div class="chart-box">
<div class="filter-con" id="filCon" data-type="1">
<div class="select" tabindex="0" hidefocus="true">
<div class="select-div">
派件
</div>
<ul class="select-ul">
<li class="active" data-value="1">派件</li>
<li data-value="2">寄件</li>
</ul>
</div>
<div class="select" tabindex="0" hidefocus="true">
<div class="select-div">
公司
</div>
<ul class="select-ul company">
<li class="active" data-value="">公司</li>
<li data-value="1">顺丰</li>
<li data-value="2">京东</li>
<li data-value="2">EMS</li>
</ul>
</div>
<div class="select" tabindex="0" hidefocus="true">
<div class="select-div">
快件类型
</div>
<ul class="select-ul">
<li class="active" data-value="">快件类型</li>
<li data-value="0">文件</li>
<li data-value="1">物品</li>
</ul>
</div>
</div>
<div id="gdMap" class="gd-map"></div>
</div>
</div>
</div>
<div class="box-center">
<div class="center-top">
<h1>智慧物流服务中心</h1>
</div>
<div class="center-center">
<div class="weather-box">
<div class="data">
<p class="time" id="time">00:00:00</p>
<p id="date"></p>
</div>
<div class="weather">
<img id="weatherImg" src="${base}/bigscreen/template2/images/weather/weather_img01.png" alt="">
<div id="weather">
<p class="active">多云</p>
<p>16-22℃</p>
<p>深圳市南山区</p>
</div>
</div>
</div>
<img src="${base}/bigscreen/template2/images/line_bg.png" alt="">
<div class="select-box">
<ul id="barType">
<li class="active" data-value="1">派件</li>
<li data-value="2">寄件</li>
</ul>
<div data-type="2">
<div class="select" tabindex="0" hidefocus="true">
<div class="select-div">
公司
</div>
<ul class="select-ul company">
<li class="active" data-value="">公司</li>
<li data-value="1">顺丰</li>
<li data-value="2">京东</li>
<li data-value="2">EMS</li>
</ul>
</div>
<div class="select" tabindex="0" hidefocus="true">
<div class="select-div">
快件类型
</div>
<ul class="select-ul">
<li class="active" data-value="">快件类型</li>
<li data-value="0">文件</li>
<li data-value="1">物品</li>
</ul>
</div>
</div>
</div>
</div>
<div class="center-bottom">
<div class="chart-box">
<div id="chart4" style="width:100%;height:95%;"></div>
</div>
<div class="city-data">
<div class="city-box">
<p id="titleQ"><span>全网</span>到珠海</p>
<ul class="city-btn" data-city="1">
<li class="active">全网</li>
<li>ABCDE</li>
<li>FGHIJ</li>
<li>KLMNO</li>
<li>PQRST</li>
<li>UVWXYZ</li>
</ul>
<ul class="city-div" id="city">
</ul>
</div>
<ul class="ranking-box">
<li><span></span>
<p>城市</p>
<p>派件</p>
</li>
<!-- <li><span>1</span><p>上海</p><p>1sss25(万件)</p></li>-->
</ul>
<div class="enlarge-box">
<button class="enlarge-btn" id="fangda"></button>
<ul class="modal-btn">
<li>
<div></div>1</li>
<li>
<div></div>2</li>
<li>
<div></div>3</li>
<li>
<div></div>4</li>
<li>
<div></div>5</li>
<li>
<div></div>6</li>
</ul>
</div>
</div>
</div>
</div>
<div class="box-right">
<div class="right-top">
<div class="title-box">
<h6 id="barTitle">派件数据</h6>
<img class="line-img" src="${base}/bigscreen/template2/images/line-blue.png" alt="">
<button data-state=1 id="tabBtn"><img src="${base}/bigscreen/template2/images/chart_icon.png" alt=""><span>图表</span></button>
</div>
<p class="unit">单位:件</p>
<div class="chart-box">
<div id="chart3" style="width:100%;height:100%;"></div>
</div>
<div class="data-box" style="display:none;">
<table class="table1">
<tr>
<td>入库件</td>
<td colspan="3" class="table-data dph-data1">0</td>
</tr>
<tr class="bg-color">
<td rowspan="2">在库件</td>
<td rowspan="2" class="table-data dph-data2">0</td>
<td>正常件</td>
<td class="table-data dph-data3">0</td>
</tr>
<tr class="bg-color">
<td>滞留件</td>
<td class="table-data dph-data5">0</td>
</tr>
<tr>
<td rowspan="2">出库件</td>
<td rowspan="2" class="dph-data6">0</td>
<td>派送件</td>
<td class="table-data dph-data7">0</td>
</tr>
<tr>
<td>自提件</td>
<td class="table-data dph-data8">0</td>
</tr>
<tr class="bg-color">
<td>退签件</td>
<td colspan="3" class="table-data dph-data9">0</td>
</tr>
<tr>
<td>丢失件</td>
<td colspan="3" class="table-data dph-data4">0</td>
</tr>
</table>
<table class="table1" style="display:none;">
<tr>
<td>入库件</td>
<td colspan="3" class="table-data mail-data1">1</td>
</tr>
<tr class="bg-color">
<td rowspan="2">在库件</td>
<td rowspan="2" class="table-data mail-data2">1</td>
<td>正常件</td>
<td class="table-data mail-data7">1</td>
</tr>
<tr class="bg-color">
<td>滞留件</td>
<td class="table-data mail-data4">1</td>
</tr>
<tr>
<td>出库件</td>
<td colspan="3" class="mail-data6">1</td>
</tr>
<tr class="bg-color">
<td>丢失件</td>
<td colspan="3" class="mail-data3">1</td>
</tr>
<tr>
<td>撤销件</td>
<td colspan="3" class="table-data mail-data5">1</td>
</tr>
</table>
</div>
</div>
<div class="right-center">
<div class="title-box">
<p id="switchBtn"><span class="active" data-dataType="income">收入数据</span><img class="line-img" src="${base}/bigscreen/template2/images/line-blue.png" alt=""><span data-dataType="expend">支出数据</span></p>
<img class="line-img" src="${base}/bigscreen/template2/images/line-blue.png" alt="">
<button id="dateBtn"><img src="${base}/bigscreen/template2/images/data_icon.png" alt="">日期</button>
</div>
<div class="data-box">
<p class="data-number" id="totalProfit">123,456.5元</p>
<div class="time-box" id="timeBox">
<div class="time-div">
<input class="time-input" type="text" value="" id="startTime">
<img src="${base}/bigscreen/template2/images/selsct_time.png" alt="">
</div>
<div class="time-div end">
<input class="time-input" type="text" value="" id="endTime">
<img src="${base}/bigscreen/template2/images/selsct_time.png" alt="">
</div>
</div>
</div>
</div>
<div class="right-bottom">
<div class="title-box">
<button id="setBtn"><img src="${base}/bigscreen/template2/images/settings_icon.png" alt="">设置</button>
</div>
<div class="data-box">
<div class="settings-box">
<p><img src="${base}/bigscreen/template2/images/teacher_icon.png" alt="">今日值班:<span id="name_a"></span><span id="date_a"></span></p>
<p><img src="${base}/bigscreen/template2/images/people_iocn.png" alt="">负责人:<span id="lea_a"></span></p>
</div>
</div>
</div>
</div>
</div>
<div class="container">
<div class="pop-up">
<span class="close-pop"></span>
<h2 class="title">当前到件量</h2>
<div class="pop-data-box">
<p>123,456,789</p>
</div>
</div>
<div class="pop-up">
<span class="close-pop"></span>
<h2 class="title">派件入库量占比</h2>
<div class="chart-box pie-chart">
<div id="pie1"></div>
<div>
<div class="pie-data">
</div>
</div>
</div>
</div>
<div class="pop-up">
<span class="close-pop"></span>
<h2 class="title">广东省寄派件数据 </h2>
<div class="filter-con pop-filter" style="display:flex" data-type="3">
<div class="select" tabindex="0" hidefocus="true">
<div class="select-div">
派件
</div>
<ul class="select-ul">
<li class="active" data-value="1">派件</li>
<li data-value="2">寄件</li>
</ul>
</div>
<div class="select" tabindex="0" hidefocus="true">
<div class="select-div">
公司
</div>
<ul class="select-ul company">
<li class="active" data-value="">公司</li>
<li data-value="1">顺丰</li>
<li data-value="2">京东</li>
<li data-value="2">EMS</li>
</ul>
</div>
<div class="select" tabindex="0" hidefocus="true">
<div class="select-div">
快件类型
</div>
<ul class="select-ul">
<li class="active" data-value="">快件类型</li>
<li data-value="0">文件</li>
<li data-value="1">物品</li>
</ul>
</div>
</div>
<div class="chart-box pop-chart">
<div id="gdMaps" class="gd-map"></div>
</div>
</div>
<div class="pop-up">
<span class="close-pop"></span>
<div class="filter-con pop-filters" style="display:flex" data-type="4">
<div class="select-pop" tabindex="0" hidefocus="true">
<ul id="barTypes">
<li class="active" data-value="1">派件</li>
<li data-value="2">寄件</li>
</ul>
</div>
<div class="select" tabindex="0" hidefocus="true">
<div class="select-div">
公司
</div>
<ul class="select-ul company">
<li class="active" data-value="">公司</li>
<li data-value="1">顺丰</li>
<li data-value="2">京东</li>
<li data-value="2">EMS</li>
</ul>
</div>
<div class="select" tabindex="0" hidefocus="true">
<div class="select-div">
快件类型
</div>
<ul class="select-ul">
<li class="active" data-value="">快件类型</li>
<li data-value="0">文件</li>
<li data-value="1">物品</li>
</ul>
</div>
</div>
<div class="cont-div">
<div class="chart-box pop-charts">
<div id="chart4s" style="width:100%;height:95%;"></div>
</div>
</div>
<div class="cont-div">
<h2 class="title" id="barTitles">派件数据</h2>
<button class="btn-class" data-state=1 id="tabBtns"><img src="${base}/bigscreen/template2/images/chart_icon.png" alt=""><span>图表</span></button>
<div class="chart-box pop-chart">
<div id="chart3s" style="width:100%;height:90%;"></div>
</div>
<div class="data-box" style="top:25%;width:8.6rem;display:none;">
<table class="table2">
<tr>
<td>入库件</td>
<td colspan="3" class="table-data dph-data1">0</td>
</tr>
<tr class="bg-color">
<td rowspan="2">在库件</td>
<td rowspan="2" class="table-data dph-data2">0</td>
<td>正常件</td>
<td class="table-data dph-data3">0</td>
</tr>
<tr class="bg-color">
<td>滞留件</td>
<td class="table-data dph-data5">0</td>
</tr>
<tr>
<td rowspan="2">出库件</td>
<td rowspan="2" class="dph-data6">0</td>
<td>派送件</td>
<td class="table-data dph-data7">0</td>
</tr>
<tr>
<td>自提件</td>
<td class="table-data dph-data8">0</td>
</tr>
<tr class="bg-color">
<td>退签件</td>
<td colspan="3" class="table-data dph-data9">0</td>
</tr>
<tr>
<td>丢失件</td>
<td colspan="3" class="table-data dph-data4">0</td>
</tr>
</table>
<table class="table2" style="display:none;">
<tr>
<td>入库件</td>
<td colspan="3" class="table-data mail-data1">0</td>
</tr>
<tr class="bg-color">
<td rowspan="2">在库件</td>
<td rowspan="2" class="table-data mail-data2">0</td>
<td>正常件</td>
<td class="table-data mail-data7">0</td>
</tr>
<tr class="bg-color">
<td>滞留件</td>
<td class="table-data mail-data4">0</td>
</tr>
<tr>
<td>出库件</td>
<td colspan="3" class="mail-data6">0</td>
</tr>
<tr class="bg-color">
<td>丢失件</td>
<td colspan="3" class="mail-data3">0</td>
</tr>
<tr>
<td>撤销件</td>
<td colspan="3" class="table-data mail-data5">0</td>
</tr>
</table>
</div>
</div>
<div class="cont-div">
<h2 class="title" id="titles"></h2>
<button class="btn-class" id="dateBtns"><img src="${base}/bigscreen/template2/images/data_icon.png" alt="">日期</button>
<div class="data-box pop-time">
<div class="time-box" id="timeBoxs">
<div class="time-div">
<input class="time-input" type="text" value="" id="startTimes">
<img src="${base}/bigscreen/template2/images/selsct_time.png" alt="">
</div>
<div class="time-div end">
<input class="time-input" type="text" value="" id="endTimes">
<img src="${base}/bigscreen/template2/images/selsct_time.png" alt="">
</div>
</div>
</div>
<div class="pop-data-box" id="totalProfits">
<p></p>
</div>
</div>
<div class="pop-data">
<div class="city-data">
<div class="city-box">
<p id="titleQs"><span>全网</span>到珠海</p>
<ul class="city-btn" data-city="2">
<li class="active">全网</li>
<li>ABCDE</li>
<li>FGHIJ</li>
<li>KLMNO</li>
<li>PQRST</li>
<li>UVWXYZ</li>
</ul>
<ul class="city-div" id="citys">
</ul>
</div>
<ul class="ranking-box">
<li><span></span>
<p>城市</p>
<p>派件</p>
</li>
<!-- <li><span>1</span><p>上海</p><p>1sss25(万件)</p></li>-->
</ul>
</div>
</div>
</div>
<div class="pop-up">
<span class="close-pop"></span>
<h2 class="title">设置</h2>
<div class="set-div">
<div class="set-box">
<label class="four-f" for="">排班日期</label>
<div class="time-div">
<input class="time-input" type="text" value="" id="times">
<img src="${base}/bigscreen/template2/images/selsct_time.png" alt="">
</div>
</div>
<div class="set-box">
<label for="">值班人</label>
<input type="text" value="">
<button class="plus" id="addT"></button>
<button class="mineus" id="mineusT" style="display:none;"></button>
</div>
<div class="set-box">
<label for="">负责人</label>
<input type="text" value="">
<button class="plus" id="addL"></button>
<button class="mineus" id="mineusL" style="display:none;"></button>
<button class="add-btn" id="addSet"><img src="${base}/bigscreen/template2/images/plus.png" alt="">添加</button>
</div>
<table class="table3">
<thead>
<tr>
<th>值班人</th>
<th>排班日期</th>
<th>负责人</th>
<th>操作</th>
</tr>
</thead>
<tbody id="tList">
<!--
<tr>
<td colspan="4">
<p style="width:9.6rem;">暂无数据</p>
</td>
</tr>
-->
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
</tbody>
</table>
<div class="pages-div" class="mineus">
<button class="prev"></button>
<p id="page"><span>0</span>/<span>0</span></p>
<button class="next"></button>
<input type="number">
<button class="skip">跳转</button>
</div>
</div>
<div class="tishi">日期已存在!</div>
<div class="edit-div" style="display:none;">
<h4>编辑</h4>
<span class="close-edit"></span>
<div class="set-box">
<label for="">值班人</label>
<input class="input-edit" id="editT" type="text" value="">
</div>
<div class="set-box">
<label for="">负责人</label>
<input class="input-edit" id="editL" type="text" value="">
</div>
<div class="set-box edit-box">
<button id="qxEdit">取消</button>
<button id="qdEdit">确定</button>
</div>
</div>
</div>
</div>
</body>
<script type="text/javascript" src="${base}/bigscreen/template2/js/jquery-3.3.1.min.js"></script>
<script type="text/javascript" src="${base}/bigscreen/template2/js/layer/layer.min.js"></script>
<script type="text/javascript" src="${base}/bigscreen/template2/js/layer/laydate/laydate.js"></script>
<script type="text/javascript" src="${base}/bigscreen/template2/js/echarts.min.js"></script>
<script type="text/javascript" src="${base}/bigscreen/template2/js/china.js"></script>
<script type="text/javascript" src="${base}/bigscreen/template2/js/data/guangdong.js"></script>
<script type="text/javascript" src="${base}/bigscreen/template2/js/base.js"></script>
<script type="text/javascript">
$('document').ready(function () {
$("body").css('visibility', 'visible');
var localData = [$('#teacher').val(), $('#start').val() + '/' + $('#end').val(), $('#leader').val()]
localStorage.setItem("data", localData);
$('#conBtn').on('click', function () {
localData = [$('#teacher').val(), $('#start').val() + '/' + $('#end').val(), $('#leader').val()]
if (typeof (Storage) !== "undefined") {
localStorage.setItem("data", localData);
var arr = localStorage.getItem("data").split(',');
$('#name_a').html(arr[0]);
$('#date_a').html(arr[1]);
$('#lea_a').html(arr[2]);
}
})
$('#fangda').on('click', function () {
if ($(this).siblings('ul').is(":hidden")) {
$(this).addClass('active').siblings('ul').show();
} else {
$(this).removeClass('active').siblings('ul').hide();
}
})
$('.modal-btn>li').on('click', function () {
var index = $(this).index();
if (index <= 2) {
$('.container').attr('style', 'visibility: visible').find('.pop-up').eq(index).attr('style', 'visibility: visible').siblings().attr('style', 'visibility: hidden');
} else if (index > 2 && index < 5) {
$('.container').attr('style', 'visibility: visible').find('.pop-up').eq(3).attr('style', 'visibility: visible').siblings().attr('style', 'visibility: hidden');
if (index != 3) {
$('.pop-data .ranking-box').hide();
} else {
$('.pop-data .ranking-box').show();
}
$('.cont-div').eq(index - 3).attr('style', 'visibility: visible').siblings('.cont-div').attr('style', 'visibility: hidden');
} else if (index == 5) {
$('.container').attr('style', 'visibility: visible').find('.pop-up').eq(3).attr('style', 'visibility: visible').siblings().attr('style', 'visibility: hidden');
$('.pop-data .ranking-box').hide();
if ($('#switchBtn').find('.active').data('datatype') == "income") {
$('#titles').html('收入数据');
$('#totalProfits').html('123,456.5元');
$('.cont-div').eq(2).attr('style', 'visibility: visible').siblings('.cont-div').attr('style', 'visibility: hidden');
} else if ($('#switchBtn').find('.active').data('datatype') == 'expend') {
$('#titles').html('支出数据');
$('#totalProfits').html('32,111.4元');
$('.cont-div').eq(2).attr('style', 'visibility: visible').siblings('div').attr('style', 'visibility: hidden');
}
}
})
})
</script>
</html>
\ No newline at end of file
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>org.jeecgframework.boot</groupId> <groupId>org.jeecgframework.boot</groupId>
<artifactId>jeecg-boot-parent</artifactId> <artifactId>jeecg-boot-parent</artifactId>
<version>2.1.2</version> <version>2.1.3</version>
<packaging>pom</packaging> <packaging>pom</packaging>
<parent> <parent>
...@@ -51,7 +51,7 @@ ...@@ -51,7 +51,7 @@
</repositories> </repositories>
<properties> <properties>
<jeecgboot.common.version>2.1.2</jeecgboot.common.version> <jeecgboot.common.version>2.1.3</jeecgboot.common.version>
<java.version>1.8</java.version> <java.version>1.8</java.version>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
...@@ -238,6 +238,21 @@ ...@@ -238,6 +238,21 @@
<artifactId>swagger-models</artifactId> <artifactId>swagger-models</artifactId>
<version>1.5.22</version> <version>1.5.22</version>
</dependency> </dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-re</artifactId>
<version>5.2.13</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<exclusions>
<exclusion>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- Redis --> <!-- Redis -->
...@@ -288,23 +303,7 @@ ...@@ -288,23 +303,7 @@
<artifactId>aliyun-java-sdk-core</artifactId> <artifactId>aliyun-java-sdk-core</artifactId>
<version>${aliyun-java-sdk-core.version}</version> <version>${aliyun-java-sdk-core.version}</version>
</dependency> </dependency>
<dependency>
<groupId>org.jeecgframework.boot</groupId>
<artifactId>online-form</artifactId>
<version>2.1.2</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<exclusions>
<exclusion>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
</exclusion>
</exclusions>
</dependency>
<!--HttpClient--> <!--HttpClient-->
<dependency> <dependency>
<groupId>org.apache.httpcomponents</groupId> <groupId>org.apache.httpcomponents</groupId>
...@@ -345,11 +344,7 @@ ...@@ -345,11 +344,7 @@
</dependencyManagement> </dependencyManagement>
<build> <build>
<plugins> <plugins>
<!--<plugin> <!--指定JDK编译版本 -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
指定JDK编译版本 -->
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId> <artifactId>maven-compiler-plugin</artifactId>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment