From 349d17b5c43d77fcf8250f96fd87d0eaa6bfa83b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=86=AF=E8=BE=89?= <13935151924@163.com>
Date: Tue, 4 Nov 2025 21:12:12 +0800
Subject: [PATCH 1/9] =?UTF-8?q?=E5=BE=AE=E4=BF=A1=E5=B0=8F=E7=A8=8B?=
=?UTF-8?q?=E5=BA=8F=E5=85=BC=E5=AE=B9=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
package-lock.json | 5 +-
packageA/pages/UnitDetails/UnitDetails.vue | 417 ++++++++++++++++-----
packageA/pages/browseJob/browseJob.vue | 5 -
packageA/pages/collection/collection.vue | 5 -
packageA/pages/post/component/radarMap.vue | 45 ++-
packageA/pages/post/post.vue | 83 +++-
pages.json | 104 ++---
pages/index/components/index-one.vue | 38 +-
pages/mine/mine.vue | 2 +-
pages/nearby/nearby.vue | 10 +-
10 files changed, 528 insertions(+), 186 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index a04b5bf..f7dc246 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -27,8 +27,9 @@
},
"node_modules/sm-crypto": {
"version": "0.3.13",
- "resolved": "https://registry.npmjs.org/sm-crypto/-/sm-crypto-0.3.13.tgz",
+ "resolved": "https://registry.npmmirror.com/sm-crypto/-/sm-crypto-0.3.13.tgz",
"integrity": "sha512-ztNF+pZq6viCPMA1A6KKu3bgpkmYti5avykRHbcFIdSipFdkVmfUw2CnpM2kBJyppIalqvczLNM3wR8OQ0pT5w==",
+ "license": "MIT",
"dependencies": {
"jsbn": "^1.1.0"
}
@@ -52,7 +53,7 @@
},
"sm-crypto": {
"version": "0.3.13",
- "resolved": "https://registry.npmjs.org/sm-crypto/-/sm-crypto-0.3.13.tgz",
+ "resolved": "https://registry.npmmirror.com/sm-crypto/-/sm-crypto-0.3.13.tgz",
"integrity": "sha512-ztNF+pZq6viCPMA1A6KKu3bgpkmYti5avykRHbcFIdSipFdkVmfUw2CnpM2kBJyppIalqvczLNM3wR8OQ0pT5w==",
"requires": {
"jsbn": "^1.1.0"
diff --git a/packageA/pages/UnitDetails/UnitDetails.vue b/packageA/pages/UnitDetails/UnitDetails.vue
index c11cc7d..61eba48 100644
--- a/packageA/pages/UnitDetails/UnitDetails.vue
+++ b/packageA/pages/UnitDetails/UnitDetails.vue
@@ -21,15 +21,25 @@
{{ companyInfo?.companyName }}
-
- {{ companyInfo?.scale }}
+
+
+ ·
+
公司介绍
{{
- companyInfo.companyIntroduction
+ companyInfo.description
}}
@@ -46,32 +56,39 @@
在招职位
-
-
-
-
- {{ job.jobTitle }}
- ¥{{ job.salaryRange }}/月
-
-
-
-
- {{ job.experienceRequirement }}
-
-
-
- {{ job.educationRequirement }}
-
-
-
- {{ job.jobRequirement }}
+
+
+
-
-
- {{ job.jobDescription }}
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+ {{ job.jobLocation }}
+
@@ -90,7 +107,7 @@ import config from "@/config.js";
import { storeToRefs } from "pinia";
import useLocationStore from "@/stores/useLocationStore";
const { longitudeVal, latitudeVal } = storeToRefs(useLocationStore());
-const { $api, navTo, vacanciesTo, navBack } = inject("globalFunction");
+const { $api, navTo, vacanciesTo, navBack, parseQueryParams } = inject("globalFunction");
const isExpanded = ref(false);
const pageState = reactive({
page: 0,
@@ -101,9 +118,16 @@ const pageState = reactive({
});
const companyInfo = ref({
jobInfoList: [],
+ companyName: '',
+ scale: '',
+ industry: '',
+ description: '',
+ isCollection: false
});
const baseUrl = config.imgBaseUrl;
+const companyIdRef = ref(null);
+
const getItemBackgroundStyle = (imageName) => ({
backgroundImage: `url(${baseUrl}/jobfair/${imageName})`,
backgroundSize: "100% 100%", // 覆盖整个容器
@@ -111,14 +135,167 @@ const getItemBackgroundStyle = (imageName) => ({
backgroundRepeat: "no-repeat",
});
+// 获取公司详情
+function getCompanyDetail(companyId) {
+ if (!companyId) {
+ console.error('companyId 不能为空');
+ return;
+ }
+
+ // 尝试获取公司详情,如果接口不存在,可能公司详情会包含在职位数据中
+ $api.createRequest(`/app/company/${companyId}`).then((resData) => {
+ if (resData && resData.data) {
+ const data = resData.data;
+ companyInfo.value = {
+ ...companyInfo.value,
+ ...data,
+ companyName: data.name || data.companyName || data.company?.name || '',
+ scale: data.scale || data.company?.scale || '',
+ industry: data.industry || data.company?.industry || '',
+ description: data.description || data.companyIntroduction || data.introduction || data.company?.introduction || '',
+ isCollection: data.isCollection || false,
+ // 如果接口直接返回了职位列表,也设置进去
+ jobInfoList: data.jobInfoList || data.jobs || data.list || companyInfo.value.jobInfoList || []
+ };
+ console.log('companyInfo',companyInfo.value);
+ }
+ // 获取在招职位列表
+ getCompanyJobs(companyId);
+ }).catch((error) => {
+ console.error('获取公司详情失败:', error);
+ // 如果获取公司详情失败,尝试通过职位列表接口获取公司信息
+ // 或者直接获取职位列表
+ getCompanyJobs(companyId);
+ });
+}
+
+// 获取公司在招职位列表
+function getCompanyJobs(companyId) {
+ if (!companyId) {
+ return;
+ }
+
+ // 使用正确的 API 路径:/app/company/job/{companyId}
+ $api.createRequest(`/app/company/job/${companyId}`, {}, 'GET').then((resData) => {
+ console.log('获取职位列表返回数据:', resData);
+ if (resData) {
+ // 优先检查 rows 字段(根据实际返回的数据结构)
+ if (resData.rows && Array.isArray(resData.rows)) {
+ companyInfo.value.jobInfoList = resData.rows;
+ }
+ // 如果返回的是数组
+ else if (Array.isArray(resData)) {
+ companyInfo.value.jobInfoList = resData;
+ }
+ // 如果返回的是对象,包含列表字段
+ else if (resData.data) {
+ if (Array.isArray(resData.data)) {
+ companyInfo.value.jobInfoList = resData.data;
+ } else if (resData.data.rows && Array.isArray(resData.data.rows)) {
+ companyInfo.value.jobInfoList = resData.data.rows;
+ } else if (resData.data.list && Array.isArray(resData.data.list)) {
+ companyInfo.value.jobInfoList = resData.data.list;
+ } else if (resData.data.jobInfoList && Array.isArray(resData.data.jobInfoList)) {
+ companyInfo.value.jobInfoList = resData.data.jobInfoList;
+ } else {
+ companyInfo.value.jobInfoList = [];
+ }
+ } else {
+ companyInfo.value.jobInfoList = [];
+ }
+ } else {
+ companyInfo.value.jobInfoList = [];
+ }
+ }).catch((error) => {
+ console.error('获取在招职位列表失败:', error);
+ companyInfo.value.jobInfoList = [];
+ });
+}
+
onLoad((options) => {
- companyInfo.value = JSON.parse(options.job);
- console.log(companyInfo.value, "companyInfo.value");
+ console.log('options',options);
+ let companyId = null;
+
+ // 优先从 options 中获取 companyId(小程序和 H5 都支持)
+ if (options && options.companyId) {
+ companyId = decodeURIComponent(options.companyId);
+ }
+ // 如果 options 中没有,尝试从 URL 解析(仅 H5 环境)
+ else {
+ // 使用 try-catch 包裹,避免在小程序环境中访问 window.location 报错
+ try {
+ // #ifdef H5
+ const params = parseQueryParams();
+ companyId = params.companyId;
+ // #endif
+ } catch (e) {
+ console.warn('解析 URL 参数失败:', e);
+ }
+ }
+
+ console.log('companyId', companyId);
+
+ if (companyId) {
+ companyIdRef.value = companyId;
+ getCompanyDetail(companyId);
+ } else {
+ console.error('未获取到 companyId 参数');
+ // 如果参数名是 job,尝试兼容旧的方式
+ if (options && options.job) {
+ try {
+ const parsedData = JSON.parse(options.job);
+ if (parsedData.companyId) {
+ companyIdRef.value = parsedData.companyId;
+ getCompanyDetail(parsedData.companyId);
+ } else {
+ companyInfo.value = { ...companyInfo.value, ...parsedData };
+ }
+ } catch (e) {
+ console.error('解析 job 参数失败:', e);
+ }
+ }
+ }
+});
+
+onShow(() => {
+ // 仅在 H5 环境中从 URL 获取参数(小程序环境中 onShow 不会传递 URL 参数)
+ // #ifdef H5
+ try {
+ const params = parseQueryParams();
+ const companyId = params.companyId;
+
+ if (companyId && companyId !== companyIdRef.value) {
+ companyIdRef.value = companyId;
+ getCompanyDetail(companyId);
+ }
+ } catch (e) {
+ console.warn('onShow 中解析 URL 参数失败:', e);
+ }
+ // #endif
});
function expand() {
isExpanded.value = !isExpanded.value;
}
+
+// 格式化薪资范围
+function formatSalary(minSalary, maxSalary) {
+ if (minSalary && maxSalary) {
+ return `${minSalary}-${maxSalary}`;
+ } else if (minSalary) {
+ return `${minSalary}起`;
+ } else if (maxSalary) {
+ return `最高${maxSalary}`;
+ }
+ return '面议';
+}
+
+// 截断文本,超过指定长度显示省略号
+function truncateText(text, maxLength) {
+ if (!text) return '';
+ if (text.length <= maxLength) return text;
+ return text.substring(0, maxLength) + '...';
+}
+
\ No newline at end of file
diff --git a/packageCa/job/index.vue b/packageCa/job/index.vue
new file mode 100644
index 0000000..bf2caf4
--- /dev/null
+++ b/packageCa/job/index.vue
@@ -0,0 +1,566 @@
+
+
+
+
+
+ 职业
+ 1639个
+
+
+
+
+
+ {{item.Name}}
+
+
+
+
+
+
+ 请先登录
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageCa/job/jobList.json b/packageCa/job/jobList.json
new file mode 100644
index 0000000..76e56d7
--- /dev/null
+++ b/packageCa/job/jobList.json
@@ -0,0 +1,284 @@
+[
+ {
+ "Name": "党的机关、国家机关、群众团体和社会组织、企事业单位负责人",
+ "Code": 1,
+ "SubList": [{
+ "Name": "中国共产党机关负责人",
+ "Code": "1-01"
+ }, {
+ "Name": "国家机关负责人",
+ "Code": "1-02"
+ }, {
+ "Name": "民主党派和工商联负责人",
+ "Code": "1-03"
+ }, {
+ "Name": "人民团体和群众团体、社会组织及其他成员组织负责人",
+ "Code": "1-04"
+ }, {
+ "Name": "基层群众自治组织负责人",
+ "Code": "1-05"
+ }, {
+ "Name": "企事业单位负责人",
+ "Code": "1-06"
+ }]
+ },
+ {
+ "Name": "专业技术人员",
+ "Code": 2,
+ "SubList": [{
+ "Name": "科学研究人员",
+ "Code": "2-01"
+ }, {
+ "Name": "工程技术人员",
+ "Code": "2-02"
+ }, {
+ "Name": "农业技术人员",
+ "Code": "2-03"
+ }, {
+ "Name": "飞机和船舶技术人员",
+ "Code": "2-04"
+ }, {
+ "Name": "卫生专业技术人员",
+ "Code": "2-05"
+ }, {
+ "Name": "经济和金融专业人员",
+ "Code": "2-06"
+ }, {
+ "Name": "监察、法律、社会和宗教专业人员",
+ "Code": "2-07"
+ }, {
+ "Name": "教学人员",
+ "Code": "2-08"
+ }, {
+ "Name": "文学艺术、体育专业人员",
+ "Code": "2-09"
+ }, {
+ "Name": "新闻出版、文化专业人员",
+ "Code": "2-10"
+ }, {
+ "Name": "其他专业技术人员",
+ "Code": "2-11"
+ }]
+ },
+ {
+ "Name": "办事人员和有关人员",
+ "Code": 3,
+ "SubList": [{
+ "Name": "行政办事及辅助人员",
+ "Code": "3-01"
+ }, {
+ "Name": "安全和消防及辅助人员",
+ "Code": "3-02"
+ }, {
+ "Name": "法律事务及辅助人员",
+ "Code": "3-03"
+ }, {
+ "Name": "其他办事人员和有关人员",
+ "Code": "3-04"
+ }]
+ },
+ {
+ "Name": "社会生产服务和生活服务人员",
+ "Code": 4,
+ "SubList": [{
+ "Name": "批发与零售服务人员",
+ "Code": "4-01"
+ }, {
+ "Name": "交通运输、仓储物流和邮政业服务人员",
+ "Code": "4-02"
+ }, {
+ "Name": "住宿和餐饮服务人员",
+ "Code": "4-03"
+ }, {
+ "Name": "信息传输、软件和信息技术服务人员",
+ "Code": "4-04"
+ }, {
+ "Name": "金融服务人员",
+ "Code": "4-05"
+ }, {
+ "Name": "房地产服务人员",
+ "Code": "4-06"
+ }, {
+ "Name": "租赁和商务服务人员",
+ "Code": "4-07"
+ }, {
+ "Name": "技术辅助服务人员",
+ "Code": "4-08"
+ }, {
+ "Name": "水利、环境和公共设施管理服务人员",
+ "Code": "4-09"
+ }, {
+ "Name": "居民服务人员",
+ "Code": "4-10"
+ }, {
+ "Name": "电力、燃气及水供应服务人员",
+ "Code": "4-11"
+ }, {
+ "Name": "修理及制作服务人员",
+ "Code": "4-12"
+ }, {
+ "Name": "文化和教育服务人员",
+ "Code": "4-13"
+ }, {
+ "Name": "健康、体育和休闲服务人员",
+ "Code": "4-14"
+ }, {
+ "Name": "其他社会生产服务和生活服务人员",
+ "Code": "4-15"
+ }]
+ },
+ {
+ "Name": "农、林、牧、渔业生产及辅助人员",
+ "Code": 5,
+ "SubList": [{
+ "Name": "农业生产人员",
+ "Code": "5-01"
+ }, {
+ "Name": "林业生产人员",
+ "Code": "5-02"
+ },
+ {
+ "Name": "畜牧业生产人员",
+ "Code": "5-03"
+ },
+ {
+ "Name": "渔业生产人员",
+ "Code": "5-04"
+ },
+ {
+ "Name": "农、林、牧、渔业生产辅助人员",
+ "Code": "5-05"
+ }, {
+ "Name": "其他农、林、牧、渔业生产及辅助人员",
+ "Code": "5-06"
+ }
+ ]
+ },
+ {
+ "Name": "生产制造及有关人员",
+ "Code": 6,
+ "SubList": [{
+ "Name": "农副产品加工人员",
+ "Code": "6-01"
+ },{
+ "Name": "食品、饮料生产加工人员",
+ "Code": "6-02"
+ },{
+ "Name": "烟草及其制品加工人员",
+ "Code": "6-03"
+ },{
+ "Name": "纺织、针织、印染人员",
+ "Code": "6-04"
+ },{
+ "Name": "纺织品、服装和皮革、毛皮制品加工制作人员",
+ "Code": "6-05"
+ },{
+ "Name": "木材加工、家具与木制品制作人员",
+ "Code": "6-06"
+ },{
+ "Name": "纸及纸制品生产加工人员",
+ "Code": "6-07"
+ },{
+ "Name": "印刷和记录媒介复制人员",
+ "Code": "6-08"
+ },{
+ "Name": "文教、工美、体育和娱乐用品制造人员",
+ "Code": "6-09"
+ },{
+ "Name": "石油加工和炼焦、煤化工生产人员",
+ "Code": "6-10"
+ },{
+ "Name": "化学原料和化学制品制造人员",
+ "Code": "6-11"
+ },{
+ "Name": "医药制造人员",
+ "Code": "6-12"
+ },{
+ "Name": "化学纤维制造人员",
+ "Code": "6-13"
+ },{
+ "Name": "橡胶和塑料制品制造人员",
+ "Code": "6-14"
+ },{
+ "Name": "非金属矿物制品制造人员",
+ "Code": "6-15"
+ },{
+ "Name": "采矿人员",
+ "Code": "6-16"
+ },{
+ "Name": "金属冶炼和压延加工人员",
+ "Code": "6-17"
+ },{
+ "Name": "机械制造基础加工人员",
+ "Code": "6-18"
+ },{
+ "Name": "金属制品制造人员",
+ "Code": "6-19"
+ },{
+ "Name": "通用设备制造人员",
+ "Code": "6-20"
+ },{
+ "Name": "专用设备制造人员",
+ "Code": "6-21"
+ },{
+ "Name": "汽车制造人员",
+ "Code": "6-22"
+ },{
+ "Name": "铁路、船舶、航空设备制造人员",
+ "Code": "6-23"
+ },{
+ "Name": "电气机械和器材制造人员",
+ "Code": "6-24"
+ },{
+ "Name": "计算机、通信和其他电子设备制造人员",
+ "Code": "6-25"
+ },{
+ "Name": "仪器仪表制造人员",
+ "Code": "6-26"
+ },{
+ "Name": "再生资源综合利用人员",
+ "Code": "6-27"
+ },{
+ "Name": "电力、热力、气体、水生产和输配人员",
+ "Code": "6-28"
+ },{
+ "Name": "建筑施工人员",
+ "Code": "6-29"
+ },{
+ "Name": "运输设备和通用工程机械操作人员及有关人员",
+ "Code": "6-30"
+ },{
+ "Name": "生产辅助人员",
+ "Code": "6-31"
+ },{
+ "Name": "其他生产制造及有关人员",
+ "Code": "6-32"
+ }]
+ },
+ {
+ "Name": "军队人员",
+ "Code": 7,
+ "SubList": [{
+ "Name": "军官 (警官)",
+ "Code": "7-01"
+ }, {
+ "Name": "军士 (警士)",
+ "Code": "7-02"
+ }, {
+ "Name": "义务兵",
+ "Code": "7-03"
+ }, {
+ "Name": "文职人员",
+ "Code": "7-04"
+ }]
+ },
+ {
+ "Name": "不便分类的其他从业人员",
+ "Code": 8,
+ "SubList": [{
+ "Name": "不便分类的其他从业人员",
+ "Code": "8-01"
+ }]
+ }
+]
+
diff --git a/packageCa/job/midList.vue b/packageCa/job/midList.vue
new file mode 100644
index 0000000..0db64c3
--- /dev/null
+++ b/packageCa/job/midList.vue
@@ -0,0 +1,275 @@
+
+
+
+
+
+
+
+
+ 概述:
+
+
+
+
+
+ 介绍视频:
+
+ 请先登录
+
+
+
+
+
+
+ {{item.Name}}
+ 视频
+ 职业能力
+
+
+
+
+
+
+
+ 请先登录
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageCa/job/smallList.vue b/packageCa/job/smallList.vue
new file mode 100644
index 0000000..f1dcb56
--- /dev/null
+++ b/packageCa/job/smallList.vue
@@ -0,0 +1,272 @@
+
+
+
+
+
+
+
+
+ 概述:
+
+
+
+
+
+ 介绍视频:
+
+ 请先登录
+
+
+
+
+
+
+ {{item.Name}}视频职业能力
+
+
+
+
+
+
+ 请先登录
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageCa/pagesTest/customTestTitle.vue b/packageCa/pagesTest/customTestTitle.vue
new file mode 100644
index 0000000..98f8ba5
--- /dev/null
+++ b/packageCa/pagesTest/customTestTitle.vue
@@ -0,0 +1,511 @@
+
+
+
+
+ {{testTitle}}
+
+
+
+
+ 第{{pageIndex+1}}题
+
+
+ 共{{allNum}}道题
+
+
+ 约{{doTime}}分钟
+
+
+
+
+
+
+
+
+ {{ item.TitleName }}
+
+ {{item.OptionsA}}
+ {{item.OptionsB}}
+ {{item.OptionsC}}
+ {{item.OptionsD}}
+ {{item.OptionsE}}
+ {{item.OptionsF}}
+
+
+
+ 上一题
+ 提交
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageCa/pagesTest/interestTestTitle.vue b/packageCa/pagesTest/interestTestTitle.vue
new file mode 100644
index 0000000..0ee12ac
--- /dev/null
+++ b/packageCa/pagesTest/interestTestTitle.vue
@@ -0,0 +1,503 @@
+
+
+
+
+ 职业兴趣测评
+
+
+
+
+ 第{{pageIndex+1}}题
+
+
+ 共{{allNum}}道题
+
+
+ 约25分钟
+
+
+
+
+
+
+
+
+ {{ item.Title }}
+
+ 非常喜欢
+ 喜欢
+ 不喜欢
+ 非常不喜欢
+
+
+
+ 只能选一种[自我介绍]代表你自己,你最想选哪一种?
+
+ {{item.Title}}
+
+
+
+ 让您再选一种[自我介绍]代表你自己,你会选哪一种?
+
+ {{item.Title}}
+
+
+
+ 如果能有选择第三种,你会选哪一种?
+
+ {{item.Title}}
+
+
+
+ 上一题
+ 提交
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageCa/pagesTest/personalTestTitle.vue b/packageCa/pagesTest/personalTestTitle.vue
new file mode 100644
index 0000000..2648cc4
--- /dev/null
+++ b/packageCa/pagesTest/personalTestTitle.vue
@@ -0,0 +1,419 @@
+
+
+
+
+ 人格测评
+
+
+
+
+ 第{{pageIndex+1}}题
+
+
+ 共{{allNum}}道题
+
+
+ 约20分钟
+
+
+
+
+
+
+
+
+ {{ item.Title }}
+
+ 非常符合
+ 基本符合
+ 基本不符合
+ 完全不符合
+
+
+
+ 上一题
+ 提交
+
+
+
+
+
+
+
+
+
diff --git a/packageCa/pagesTest/testList.vue b/packageCa/pagesTest/testList.vue
new file mode 100644
index 0000000..49d3fc2
--- /dev/null
+++ b/packageCa/pagesTest/testList.vue
@@ -0,0 +1,942 @@
+
+
+
+
+ 生涯测评
+
+
+
+
+
+ {{item}}
+
+
+
+ 筛选
+
+
+
+
+ {{pitem.title}}
+
+ {{item.TestName}}
+
+ 约{{item.AvgTime == 0 ? '1' : item.AvgTime}}分钟
+
+
+ {{item.Brief}}
+
+
+
+ 重新测评
+
+
+ 开始测评
+
+
+ 继续测评
+
+
+ 查看报告
+
+
+
+
+
+
+
+
+
+
+ 筛选
+
+
+
+ 测评等级
+
+ {{item.name}}
+
+ 测评类型
+
+ {{item.name}}
+
+ 测评功能
+
+ {{item.name}}
+
+
+
+
+ 确认筛选
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageCa/pagesTest/workValuesTestTitle.vue b/packageCa/pagesTest/workValuesTestTitle.vue
new file mode 100644
index 0000000..1a0e6ff
--- /dev/null
+++ b/packageCa/pagesTest/workValuesTestTitle.vue
@@ -0,0 +1,387 @@
+
+
+
+
+ 工作价值观测评
+
+
+
+
+ 第{{pageIndex+1}}题
+
+
+ 共{{allNum}}道题
+
+
+ 约8分钟
+
+
+
+
+
+
+
+
+ {{ item.Title }}
+
+ 非常喜欢
+ 喜欢
+ 不喜欢
+ 非常不喜欢
+
+
+
+ 上一题
+ 提交
+
+
+
+
+
+
+
+
+
diff --git a/packageCa/search/search.vue b/packageCa/search/search.vue
new file mode 100644
index 0000000..83f8958
--- /dev/null
+++ b/packageCa/search/search.vue
@@ -0,0 +1,649 @@
+
+
+
+
+
+ 素质测评
+
+
+ 测评中心
+
+
+
+ 职业测评
+
+
+
+ 测评报告
+
+
+ 探索中心
+
+
+
+ 职业库
+
+
+ 职业生涯规划
+
+
+
+ 生涯罗盘
+
+
+
+ 职业生涯路径
+
+
+
+ 学业规划
+
+
+
+ 生涯档案
+
+
+
+
+
+
+
+
+
+
diff --git a/packageCa/testReport/chartOpts.js b/packageCa/testReport/chartOpts.js
new file mode 100644
index 0000000..c7bed36
--- /dev/null
+++ b/packageCa/testReport/chartOpts.js
@@ -0,0 +1,32 @@
+let opts = {
+ color: ["#1677ff"],
+ padding: [15,10,0,10],
+ enableScroll: false,
+ xAxis: {
+ disableGrid: true,
+ axisLineColor: "#EEEEEE",
+ },
+ legend: {
+ show: false,
+ },
+ yAxis: {
+ gridType: "dash",
+ dashLength: 2,
+ showTitle: true,
+ gridColor: "#EEEEEE",
+ data: [{
+ max: 5,
+ min: 0,
+ axisLine: false,
+ title: "等级"
+ }]
+ },
+ extra: {
+ line: {
+ type: "straight",
+ width: 3,
+ activeType: "hollow"
+ }
+ }
+}
+export default opts
\ No newline at end of file
diff --git a/packageCa/testReport/components/contrastBox.vue b/packageCa/testReport/components/contrastBox.vue
new file mode 100644
index 0000000..8c42f56
--- /dev/null
+++ b/packageCa/testReport/components/contrastBox.vue
@@ -0,0 +1,693 @@
+
+
+
+
+
+
+ {{allOptionStr}}
+
+
+
+ 数据对比
+
+
+
+
+
+
+ 数据对比
+
+
+
+ 我的报告
+
+ {{optionStr1}}
+
+
+ 对比
+ 时间维度
+
+ {{optionStr2}}
+
+
+
+
+
+ 我的报告
+
+ {{optionStr1}}
+
+
+ 对比
+ 时间维度
+
+ {{optionStr2}}
+
+
+
+
+
+
+ 确认对比
+
+
+
+
+
+
+ 选择时间
+
+
+
+ {{item.label}}
+
+
+ {{item.label}}
+
+
+
+
+
+ {{item.label}}
+
+
+ {{item.label}}
+
+
+
+
+ 确认选择
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageCa/testReport/components/testHead.vue b/packageCa/testReport/components/testHead.vue
new file mode 100644
index 0000000..6e302ac
--- /dev/null
+++ b/packageCa/testReport/components/testHead.vue
@@ -0,0 +1,213 @@
+
+
+
+
+
+ {{reportTitle}}
+
+
+ 测评时间{{testTime}}
+
+
+
+
+
+ 测评介绍
+
+
+
+ 报告解读
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageCa/testReport/generalCareerTestReport.vue b/packageCa/testReport/generalCareerTestReport.vue
new file mode 100644
index 0000000..f0a3387
--- /dev/null
+++ b/packageCa/testReport/generalCareerTestReport.vue
@@ -0,0 +1,767 @@
+
+
+
+
+ 我的报告
+
+
+
+
+
+
+
+ 非常优秀
+
+
+
+
+
+ 具有优势
+
+
+
+
+
+ 中等
+
+
+
+
+
+ 需要加强
+
+
+
+
+
+ 亟需加强
+
+
+
+
+
+
+
+
+
+
+
+ 测评建议
+
+
+
+
+ {{item.Name}}
+ {{item.LevelStr}}
+
+ {{item.Desc}}
+
+
+
+ 提升途径:
+ {{item.Suggest}}
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageCa/testReport/interestTestReport.vue b/packageCa/testReport/interestTestReport.vue
new file mode 100644
index 0000000..114aa4a
--- /dev/null
+++ b/packageCa/testReport/interestTestReport.vue
@@ -0,0 +1,1243 @@
+
+
+
+
+ 我的报告
+
+
+
+
+
+
+
+ 兴趣代码
+
+
+ {{item}}
+
+
+ {{item.code}}
+ {{item.name}}
+
+
+
+
+ 你的六个兴趣代码类型分数沒有区别,无法提供代码。建议你重新测评,或咨询老师。
+
+
+ {{codeDescription}}
+
+
+
+
+
+ {{interestTestRecordModel.InterestTwoCodeDesc}}
+
+
+
+
+ 兴趣分数
+
+
+
+
+
+
+
+
+ 实用型(R)
+ 研究型(I)
+ 艺术型(A)
+
+
+ {{interestScort.R}}分
+ {{interestScort.I}}分
+ {{interestScort.A}}分
+
+
+ 社会型(S)
+ 企业型(E)
+ 事务型(C)
+
+
+ {{interestScort.S}}分
+ {{interestScort.E}}分
+ {{interestScort.C}}分
+
+
+
+
+
+ 自我介绍
+
+
+ {{interestTestRecordModel.SelfIntroductionCode}}
+
+
+
+
+ 谐和度
+
+
+
+ {{interestTestRecordModel.SameCode}}
+
+
+ {{interestTestRecordModel.SameCode}}级,
+ 谐和度显示兴趣代码非常稳定与清晰。
+ 谐和度显示兴趣代码稳定与清晰。
+ 谐和度显示兴趣代码还算稳定与清晰。
+ 谐和度显示兴趣代码在未来随着成长会有些变化。
+ 谐和度显示兴趣代码在未来随着成长会改变。
+ 谐和度显示兴趣代码在未来随着成长会改变。
+ 谐和度显示兴趣代码在未来会有很大的改变。
+
+
+
+
+ 区分值
+
+
+
+ {{interestTestRecordModel.Discrimination}}
+
+
+
+ 区分值较低,兴趣六型分数很接近,分不出我对那个类型更有兴趣,建议找老师讨论,或对自己的兴趣做更多的探索
+ 区分值不高,兴趣六型分数有些差别,能知道我对那个类型较有兴趣
+ 区分值适中,兴趣六型分数区分蛮明显,能知道我对那个类型较有兴趣
+ 区分值高,兴趣六型分数区分明显,明显的知道我对那个类型较有兴趣
+ 区分值很高,六兴趣类型区分很明显,明确的知道我对那个类型较有兴趣
+ 区分值非常高,六兴趣类型区分非常明显,非常明确知道我对那个类型较有兴趣
+
+
+
+
+
+ 选择兴趣代码查看推荐的专业/职业
+
+
+
+ {{item}}
+
+
+ 你的六个兴趣代码类型分数沒有区别,无法提供代码。建议你重新测评,或咨询老师。
+
+ 推荐的专业
+
+
+
+ 普通本科专业:
+
+
+
+ {{item.name}}
+
+
+ {{ritem.Name}}
+
+
+
+
+
+
+
+
+ {{ritem.Name}}
+
+
+
+
+
+ 无匹配的专业学类
+
+
+ 高职本科专业:
+
+
+
+ {{item.name}}
+
+
+ {{ritem.GaoZhiSpecialty}}
+
+
+
+
+
+ 无匹配的专业学类
+
+
+ 高职专科专业:
+
+
+
+ {{item.name}}
+
+
+ {{ritem.GaoZhiSpecialty}}
+
+
+
+
+
+ 无匹配的专业学类
+
+
+ 中职专业:
+
+
+
+ {{item.name}}
+
+
+ {{ritem.GaoZhiSpecialty}}
+
+
+
+
+
+ 无匹配的专业学类
+
+
+ 推荐的职业
+
+
+
+
+ {{item.name}}
+
+ {{ritem.Name}}
+
+
+
+
+
+
+
+ {{ritem.Name}}
+
+
+
+
+
+ 无匹配的职业类
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageCa/testReport/multipleAbilityData.json b/packageCa/testReport/multipleAbilityData.json
new file mode 100644
index 0000000..f22bb90
--- /dev/null
+++ b/packageCa/testReport/multipleAbilityData.json
@@ -0,0 +1,147 @@
+[
+ {
+ "Name": "阅读理解",
+ "Desc": "阅读各类书籍文章。书写摘要。参加读书会讨论分享。将所读转换为简报、图画或影音。学好国文、英文。",
+ "Point": "我能从文章中了解其想表达的讯息或意涵,或能产生自己的观点。"
+ },
+ {
+ "Name": "口语辨识",
+ "Desc": "练习组织笔记。观察别人发言、专心听讲。看无字幕影片写摘要。",
+ "Point": "我能听懂别人口语的讯息,并实时反应。"
+ },
+ {
+ "Name": "口语表达",
+ "Desc": "掌握上台表达机会,观察别人讲话,参加演讲、辩论等活动,录像录音纪录增进表达技巧。",
+ "Point": "我能用口语清晰流畅的表达思想和情感。"
+ },
+ {
+ "Name": "写作表达",
+ "Desc": "撰写文章并投稿。为课业成果多写心得反思。写手帐。参加作文或写作比赛。参加校刊社或写作社团。",
+ "Point": "我能写出文意通顺、逻辑清晰的文章。"
+ },
+ {
+ "Name": "外语能力",
+ "Desc": "参加英语话剧或演讲比赛。阅读英文小说或看网络新闻。多听唱外国歌曲。用英文与同学交谈。参加交换学生。",
+ "Point": "我的英文能力听说读写都很好。"
+ },
+ {
+ "Name": "计算能力",
+ "Desc": "学好数学、练习口算加减乘除、常常练习计算题。",
+ "Point": "我能快速的使用加减乘除运算出正确结果。"
+ },
+ {
+ "Name": "逻辑推理",
+ "Desc": "学好数理化。讨论一个主题的定义、辩论对立、如何解释。撰写分析报告。",
+ "Point": "我能依据讯息或事情发展的趋势,归纳推理出合理的答案。"
+ },
+ {
+ "Name": "数学推理",
+ "Desc": "学好数学与统计。尝试分析资料。",
+ "Point": "我能选择正确的数学方法或公式来解决问题。"
+ },
+ {
+ "Name": "空间定向",
+ "Desc": "学好空间几何。观察实物或画立体图。了解图形的移动、分解与组合。平面与立体的转换。绘制学校小区地图。",
+ "Point": "我擅于观察空间方位,想象物体在不同方位的旋转样貌。"
+ },
+ {
+ "Name": "机械推理",
+ "Desc": "学好物理。各种工程师都需要机械推理能力。浏览在线机械开放课程。修理脚踏车或小家电。参加铁道迷社团。",
+ "Point": "我能了解机械与电子设备的运作方式,且能组装、调整或修理。"
+ },
+ {
+ "Name": "科学能力",
+ "Desc": "参与科展。参加科学营队或社团。关注科技发展。阅览科学网站或书籍。",
+ "Point": "我能运用科学规则和方法来解决问题。"
+ },
+ {
+ "Name": "操作控制",
+ "Desc": "学会骑脚踏车、动手完成生活科技作品、遥控无人机、控制机器手臂、使用电子绘图板。",
+ "Point": "我的手臂稳定、敏捷,能控制机器或车辆到精确位置,且对信号快速反应。"
+ },
+ {
+ "Name": "近观细察",
+ "Desc": "学习从顺序观察法、分步观察法、角度观察法去观察生活用品、科学实验,学会用书写或绘图来记录观察。",
+ "Point": "能够近距离看到细节。"
+ },
+ {
+ "Name": "程序设计",
+ "Desc": "参加基础信息相关课程,学习程序语言。参加大学信息营队。参观信息展览。",
+ "Point": "我会撰写计算机程序来解决学习或工作上的需要。"
+ },
+ {
+ "Name": "信息运用",
+ "Desc": "熟悉计算机软件操作,如文字处理和电子表格、影音剪辑、图像处理软件。参加信息检索竞赛。善用网络找数据。",
+ "Point": "我很能学习与使用新的软件或APP来解决问题。"
+ },
+ {
+ "Name": "排序分类",
+ "Desc": "凡举科学实验、工程、会计财金、统计精算等专业,皆需要排序分类的能力。整理书籍讲义与考卷。",
+ "Point": "我能将数据或物品排列顺序,或将其分门别类。"
+ },
+ {
+ "Name": "自然观察",
+ "Desc": "体验室外攀岩活动、参加童军社或是野外踏青社团。饲养昆虫或植物并记录。探访动物园、牧场或海洋博物馆。",
+ "Point": "我乐于欣赏自然现象,能分辨动植物差异,并探讨现象原因。"
+ },
+ {
+ "Name": "养育照护",
+ "Desc": "参与呼吸急救课程。研究疾病传播的过程。观察与照顾小动物。学好生物课程。多关注营养保健信息。",
+ "Point": "我对需要照顾的人或小动物能提供妥善的照顾。"
+ },
+ {
+ "Name": "助人服务",
+ "Desc": "参加慈善社团或活动。阅览与心理社会相关书籍或网站。参加服务性质志工。到餐饮业或休闲园区实习。",
+ "Point": "我会主动服务他人,帮助他们解决问题。"
+ },
+ {
+ "Name": "说服推广",
+ "Desc": "参加辩论社或比赛。加入广播社练习推广。在社团练习组织、筹备、规划宣传等工作。练习撰写营销活动企划。",
+ "Point": "我善于说服他人采纳我的意见或理念。"
+ },
+ {
+ "Name": "合作协调",
+ "Desc": "担任班级或社团干部。参与分工合作的团体任务。担任活动队长。练习分析问题。参加暑期实习生或志工。",
+ "Point": "我能掌握细节、依规则有系统地安排事情或分工,并完成任务。"
+ },
+ {
+ "Name": "社会觉察",
+ "Desc": "走访社会服务机构或公益组织,如赡养中心、NGO机构。分析社会环境对人的影响。对社会时事发表自身观点。",
+ "Point": "我能观察出生活周边的变化、发生事情及其原因。"
+ },
+ {
+ "Name": "教学培训",
+ "Desc": "协助同学解决学习困难,设计学习活动活动,担任课辅小老师,观察老师的教学方法。",
+ "Point": "我能观察出生活周边的变化、发生事情及其原因。"
+ },
+ {
+ "Name": "美感鉴赏",
+ "Desc": "常与同学讨论作品,练习表达自己的想法,培养赏析能力。观看艺术相关专业的影片,多逛逛博物馆与画廊。",
+ "Point": "我能运用色彩、质感、和结构,来品鉴与沟通东西的质量。"
+ },
+ {
+ "Name": "绘图设计",
+ "Desc": "提升素描能力,透过各种可素材或载体练习并完成素描、绘画、插画、摄影、影片、海报等。",
+ "Point": "我能运用素描色彩图样来表达我的风格意念。"
+ },
+ {
+ "Name": "创作力",
+ "Desc": "累积作品量,阅读创意大师的创作生涯,多逛逛博物馆与画廊,观看艺术相关专业的影片。",
+ "Point": "能提出不寻常或聪明想法,创造方法解决问题。"
+ },
+ {
+ "Name": "表演能力",
+ "Desc": "选修表演艺术课程。参加戏剧表演或社团。现场欣赏话剧演出。",
+ "Point": "我能在舞台或传播媒体上表演戏剧、歌唱或舞蹈。"
+ },
+ {
+ "Name": "音乐能力",
+ "Desc": "加入学校的乐团或合唱团。时常听不同曲风的音乐。参加音乐表演或竞赛。多练习乐器演奏。多欣赏音乐表演。",
+ "Point": "我对音乐具有音感、节奏、表演或创作的能力。"
+ },
+ {
+ "Name": "肢体协调",
+ "Desc": "培养运动的习惯。体验不同运动。参加运动或舞蹈社团。自主身体保养与维护。观看运动赛事。",
+ "Point": "我的身体强韧,有耐力,灵活,平衡感良好,协调性佳。"
+ }
+]
\ No newline at end of file
diff --git a/packageCa/testReport/multipleAbilityTestReport.vue b/packageCa/testReport/multipleAbilityTestReport.vue
new file mode 100644
index 0000000..54f773c
--- /dev/null
+++ b/packageCa/testReport/multipleAbilityTestReport.vue
@@ -0,0 +1,855 @@
+
+
+
+
+ 我的报告
+
+
+
+
+
+
+
+ 能力强
+
+
+
+
+
+ 能力中
+
+
+
+
+
+ 待加强
+
+
+
+
+
+
+ 语文相关能力得分
+
+
+
+
+
+
+ 数学相关能力得分
+
+
+
+
+
+
+ 科技相关能力得分
+
+
+
+
+
+
+ 资讯相关能力得分
+
+
+
+
+
+
+ 人际相关能力得分
+
+
+
+
+
+
+ 美感相关能力得分
+
+
+
+
+
+
+
+ 自然相关能力得分
+
+
+
+
+
+
+ 艺能相关能力得分
+
+
+
+
+
+
+
+ 提升途径
+
+
+
+
+ {{item.Name}}
+ {{item.Point}}
+
+
+
+
+ 提升途径:
+ {{item.Desc}}
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageCa/testReport/personalTestReport.vue b/packageCa/testReport/personalTestReport.vue
new file mode 100644
index 0000000..96bb980
--- /dev/null
+++ b/packageCa/testReport/personalTestReport.vue
@@ -0,0 +1,1145 @@
+
+
+
+
+ 我的报告
+
+
+
+
+
+
+
+ 强项特质
+
+
+
+ 在群体中充满能量和快乐,外向、热情
+
+
+ 有说服力和影响力,争做团体中的领导者
+
+
+ 善于交际,广交朋友,朋友圈庞大
+
+
+ 灵活变通,参考多方意见再做出自己的决定
+
+
+ 逆来顺受,几乎不与人发生冲突,脾气温和
+
+
+ 与人为善,沟通能力强,易于亲近
+
+
+ 做事尽职尽责,竭尽全力,未完成前决不放弃
+
+
+ 严格遵守计划,生活规律有秩序
+
+
+ 需要长时间的思考和较多的信息才能做出决策,犹豫不果断
+
+ 追求新鲜事物,愿意接受挑战与冒险
+
+
+ 随机应变,不拘泥规则限制,对生活求新、求变
+
+
+ 情感丰富,同理心强,艺术表现力和感受力较好
+
+
+
+
+ 无强项特质
+
+
+
+ 普通特质
+
+
+
+ 在群体中收放自如,可以较好的适应
+
+
+ 具有一定的领导力,但不会争做团队领头人
+
+
+ 有自己的朋友圈,在交际中不会过于热情
+
+
+ 墨守成规,做事不够灵活,可以多参考他人建议
+
+ 个性温和,但遇事敢于挑战权威,不会一味退让
+
+
+ 与人交往过程中可以恰当的展现倾听和交流技巧
+
+
+ 认真负责,但偶尔会
+ 虎头蛇尾,中途放弃
+
+
+
+ 执行计划有一定弹性
+
+
+
+ 做决定前会谨慎思考,但不会长时间犹豫不决
+
+
+ 对新事物充满好奇,但没有信心与勇气接受新的挑战
+
+
+ 稳重,难以突破自己;但面对新变化,也会迎难而上去接受
+
+
+ 感性与理智兼具
+
+
+
+
+ 无普通特质
+
+
+
+ 弱项特质
+
+
+
+ 在群体活动中表现沉默、孤独
+
+
+ 不会在团体中争做领导者,避免在集体中出风头
+
+
+ 冷漠,不善交际,朋友圈狭窄
+
+
+ 固执已见,拒绝他人介入自己的事情
+
+ 遇到不满的人和,事敢于抗争针锋相对
+
+ 缄默冷淡,不易亲近
+
+
+ 不够认真专注,做事拖延
+
+
+ 率性而为,不喜欢按照计划规律生活
+
+
+ 做事果断,不需要思考很久就可以行动
+
+
+ 不愿接受过大改变,墨守成规
+
+ 享受平稳、安逸的生活,不要有过多变化
+
+
+ 理性、现实,对情绪或情感较不敏感,难以同理他人
+
+
+
+
+ 无弱项特质
+
+
+
+
+ 综合特质等级侧面图
+
+
+
+
+
+ *强项:等级4-5
+ 普通:等级3
+ 弱项:等级1-2
+
+
+
+
+ 分特质解释说明
+
+
+
+ {{scoreSummary1.Name}}
+
+ 等级: {{scoreSummary1.Leavel}}
+
+
+ 原始分数: {{scoreSummary1.Score}}分
+
+
+ {{scoreSummary1.Desc}}
+
+
+
+ 内外向综合特质侧面图
+
+
+
+
+
+
+ {{scoreSummary2.Name}}
+
+ 等级: {{scoreSummary2.Leavel}}
+
+
+ 原始分数: {{scoreSummary2.Score}}分
+
+
+ {{scoreSummary2.Desc}}
+
+
+
+ 人际关系综合特质侧面图
+
+
+
+
+
+
+ {{scoreSummary3.Name}}
+
+ 等级: {{scoreSummary3.Leavel}}
+
+
+ 原始分数: {{scoreSummary3.Score}}分
+
+
+ {{scoreSummary3.Desc}}
+
+
+
+ 严谨性综合特质侧面图
+
+
+
+
+
+
+ {{scoreSummary4.Name}}
+
+ 等级: {{scoreSummary4.Leavel}}
+
+
+ 原始分数: {{scoreSummary4.Score}}分
+
+
+ {{scoreSummary4.Desc}}
+
+
+
+ 开放性综合特质侧面图
+
+
+
+
+
+
+
+ 与你的人格特质可能相关的专业
+
+
+
+ 特质名称
+ 专业选择
+
+
+ 乐群性
+
+
+ 人文科学:新闻传播学
+
+
+ 社会科学:教育学、心理学
+
+
+ 体育:体育学
+
+
+
+
+ 领导性
+
+
+ 人文科学:新闻传播学
+
+
+ 经济管理:工商管理、公共管理等
+
+
+ 社会科学:法学
+
+
+
+
+ 社交性
+
+
+ 人文科学:新闻传播学
+
+
+ 经济管理:工商管理、公共管理旅游管理等
+
+
+
+
+ 探究性
+
+
+ 数理工程:数学、物理学、统计学、计算机、电子信息、自动化、土木等
+
+
+ 化工:化学、纺织、轻工、材料等
+
+
+ 农林牧鱼:农业工程、林业工程、林学、自然保护与环境生态等
+
+
+ 生物医药:生物科学、基础医学、临床医学、口腔医学、医学药学、护理学等
+
+
+ 地理科学:地质、矿业、交通运输、海洋工程、天文等
+
+
+
+
+ 变通性
+
+
+ 数理工程:土木、建筑等
+
+
+ 艺术设计:艺术学理论、美术学、设计学等
+
+
+
+
+ 感觉性
+
+
+ 数理工程:土木、建筑等
+
+
+ 艺术设计:艺术学理论、音乐与舞蹈、戏剧与影视学、美术学、设计学等
+
+
+ 人文科学:中国语言文学、外国语言文学、新闻传播等
+
+
+
+
+
+ 与你的人格特质可能相关的工作领域
+
+
+
+ 特质名称
+ 工作领域
+
+
+ 客观性
+ 顾客服务 市场销售 心理咨询 教育训练
+
+
+ 顺从性
+ 行政管理 会计稽核 军警保安 工程制造
+
+
+ 亲和性
+ 市场销售 教育训练 顾客服务 医护社工
+
+
+ 坚毅性
+ 设计艺术 工程制造 医学治疗 科学研究 军警保安
+
+
+ 秩序性
+ 财务会计 工程制造 医学治疗 科学研究 档案管理
+
+
+ 深思性
+ 文艺写作 科学研究 设计艺术 文史哲学 信息程序
+
+
+
+ 作答态度
+
+
+
+
+ {{scoreSummary5.Name}}
+
+ {{scoreSummary5.Leavel == 1?'一致性低':'一致性高'}}
+
+
+ 原始分数: {{scoreSummary5.Score}}分
+
+
+ {{scoreSummary5.Desc}}
+
+
+
+
+
+
+ {{layerTitile}}
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageCa/testReport/workValuesTestReport.vue b/packageCa/testReport/workValuesTestReport.vue
new file mode 100644
index 0000000..ca4bb34
--- /dev/null
+++ b/packageCa/testReport/workValuesTestReport.vue
@@ -0,0 +1,448 @@
+
+
+
+
+ 我的报告
+
+
+
+
+
+
+
+ 工作价值类型得分
+
+
+
+
+
+
+
+ 高分价值观及说明
+
+
+
+
+ {{item.Name}}
+ 高分
+
+ {{item.Desc}}
+
+
+
+
+ 暂无高分价值观
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageCa/userCenter/careerCompass.vue b/packageCa/userCenter/careerCompass.vue
new file mode 100644
index 0000000..e6beb5c
--- /dev/null
+++ b/packageCa/userCenter/careerCompass.vue
@@ -0,0 +1,365 @@
+
+
+
+
+ 生涯罗盘
+
+
+
+ 生涯罗盘
+
+
+
+
+
+
+
+ 职业名称
+
+
+ 多元能力
+
+
+ 兴趣测评
+
+
+ 人格测评
+
+
+
+
+
+
+
+ {{item.Name}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 我的职业
+
+
+
+
+
+ 职业规划方向
+
+
+ 能力要求
+
+
+ 推荐学习课程
+
+
+ 推荐岗位
+
+
+
+
+ {{item.JobName}}
+
+
+ {{ritem}}
+
+
+ {{ritem.Name}}
+
+
+ {{ritem}}
+
+
+
+ 加载中...
+
+
+ 没有更多数据了
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageCa/userCenter/fillInInformation.vue b/packageCa/userCenter/fillInInformation.vue
new file mode 100644
index 0000000..43690b3
--- /dev/null
+++ b/packageCa/userCenter/fillInInformation.vue
@@ -0,0 +1,563 @@
+
+
+
+ 请先完善个人信息
+
+
+
+ *学历(必选)
+
+ 研究生
+ 本科
+ 专科
+
+
+
+ *专业类(必选)
+
+
+ {{specialtyName !== ''? specialtyName: "请选择专业类"}}
+
+
+
+
+
+
+
+
+ 确认提交
+
+
+
+
+
+ 选择专业类
+
+
+
+
+ {{item.label}}
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageCa/userCenter/learningPlan.vue b/packageCa/userCenter/learningPlan.vue
new file mode 100644
index 0000000..0cbd520
--- /dev/null
+++ b/packageCa/userCenter/learningPlan.vue
@@ -0,0 +1,447 @@
+
+
+
+
+ 学习计划制定
+
+
+ PDCA 循环法
+
+
+
+ PDCA循环由质量管理专家戴明于20世纪50年代优化完善并推广,又称“戴明环”,其核心是通过计划、执行、检查、处理四个阶段的闭环管理进行目标执行效果的持续改进,可适用于个人知识管理、技能提升等学习场景。
+
+
+ Plan(计划):明确目标与步骤,包括现状分析、问题识别及解决方案制定。
+
+
+ Do(执行):根据计划实施具体措施,如教学中的课堂授课、企业中的产品生产。
+
+
+ Check(检查):评估执行效果,通过数据对比、因果图等方法发现偏差。
+
+
+ Act(处理):总结经验并标准化流程,如将成功经验纳入培训体系或优化资源配置。
+
+
+ 年度学习计划清单
+
+
+ 请填写你的“年度学习计划清单”,并按照PDCA循环法执行和落实计划。
+
+
+ 说明:
+
+
+ (1)总目标:
+ 期望达到的综合成就和发展方向,它是整个计划的核心和导向,如成为金融领域具有深厚理论基础和丰富实践经验的高端专业人才。
+
+
+ (2)课程学习:
+ 为了达到总目标需完成的各类课程,包括通识教育课程、专业课程、选修课程等,如完成《计量经济学》的学习。
+
+
+ (3)实践活动:
+ 为了达到总目标需参与的各类实践活动,如志愿服务、社团活动、实习实训、创新创业项目等,如加入金融学术社团。
+
+
+ (4)技能提升:
+ 通过自学或参加培训等方式,提升个人技能,包括外语能力、计算机技能、专业技能等,如利用课余时间学习Python课程,并考取相应资格证书。
+
+
+ (5)职业规划:
+ 对个人未来职业发展的系统性安排,核心包括职业方向定位、职业成就预期、职业路径设计等,如“通过投行实习明确方向一3年内成为分析师→5年内晋升经理”。
+
+
+
+
+
+
+
+
+
+
+ 目标描述
+
+
+ 从【SMART目标制定】的数据中读取的内容:
+
+
+
+
+
+
+ {{index+1}}年度计划
+
+
+
+ 课程学习
+
+
+
+
+
+
+
+ 实践活动
+
+
+
+
+
+
+
+ 技能提升
+
+
+
+
+
+
+
+ 职业规划
+
+
+
+
+
+
+ 删除该年度计划
+
+
+
+
+
+
+ +增加年度计划
+
+
+ 确认提交
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageCa/userCenter/personDocument.vue b/packageCa/userCenter/personDocument.vue
new file mode 100644
index 0000000..ceb5c90
--- /dev/null
+++ b/packageCa/userCenter/personDocument.vue
@@ -0,0 +1,741 @@
+
+
+
+
+ 生涯档案
+
+
+
+
+
+
+
+
+ {{user.RealName}}
+
+
+ {{user.SchoolName}}
+
+
+
+
+
+
+ 意向职业
+
+
+ 限5种
+
+
+
+
+
+ {{(index + 1) + '.' +item.Name}}
+ 取消
+
+
+
+
+
+
+ 您还未添加意向职业
+
+
+
+
+
+
+
+
+ 职业兴趣测评
+
+
+
+
+
+ 兴趣代码:
+
+
+ {{item}} 、
+
+
+
+
+ 对应学类:
+
+ {{item}} 、
+
+
+
+
+
+
+
+ 您还未测评
+
+
+
+
+
+
+
+
+ 工作价值观测评
+
+
+
+
+
+ 高分价值观:
+
+
+ {{item}} 、
+
+
+
+ 无
+
+
+
+
+
+
+
+ 您还未测评
+
+
+
+
+
+
+
+
+ 人格测评
+
+
+
+
+
+ 内外向:
+
+
+ {{item}} 、
+
+
+
+ 无
+
+
+
+ 人际关系:
+
+
+ {{item}} 、
+
+
+
+ 无
+
+
+
+ 严谨性:
+
+
+ {{item}} 、
+
+
+
+ 无
+
+
+
+ 开放性:
+
+
+ {{item}} 、
+
+
+
+ 无
+
+
+
+
+
+
+
+ 您还未测评
+
+
+
+
+
+
+
+
+ 多元能力测评
+
+
+
+
+
+ 能力强:
+
+
+ {{item}} 、
+
+
+
+ 无
+
+
+
+
+
+
+
+ 您还未测评
+
+
+
+
+
+
+
+
+ 通用能力测评
+
+
+
+
+
+ 优势的能力:
+
+
+ {{item}} 、
+
+
+
+ 无
+
+
+
+
+
+
+
+ 您还未测评
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packageCa/userCenter/professionPath.vue b/packageCa/userCenter/professionPath.vue
new file mode 100644
index 0000000..935428d
--- /dev/null
+++ b/packageCa/userCenter/professionPath.vue
@@ -0,0 +1,759 @@
+
+
+
+
+ 职业路径
+
+
+
+
+ 推荐职业
+
+
+
+
+
+
+ 职业名称
+
+
+ 测评推荐
+
+
+ 我的意向
+
+
+ 专业匹配
+
+
+
+
+
+
+
+ {{item.Name}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 暂无推荐职业,请先进行兴趣测评
+
+ 去测评
+
+
+
+ 职业介绍
+
+
+
+ {{jobName}}
+
+ {{jobIntroduce}}
+
+
+ 发展路径
+
+
+
+ {{jobPath}}
+
+
+
+
+ 大学生
+
+
+
+
+
+ {{item}}
+
+
+
+
+
+
+
+ {{item}}
+
+
+
+
+
+
+
+ {{item}}
+
+
+
+
+
+
+
+ {{item}}
+
+
+
+
+
+
+
+ {{item}}
+
+
+
+
+
+
+
+ {{item}}
+
+
+
+
+
+
+ {{jobName}}
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packageCa/userCenter/smartTarget.vue b/packageCa/userCenter/smartTarget.vue
new file mode 100644
index 0000000..baccbea
--- /dev/null
+++ b/packageCa/userCenter/smartTarget.vue
@@ -0,0 +1,658 @@
+
+
+
+
+ smart目标制定
+
+
+
+
+ SMART法则是目标设定和任务管理的一种结构化方法, 用于设定和分析目标的可行性,其核心是通过五个关键原则实现目标的科学设定与执行:
+
+
+
+ S
+
+
+
+ 目标具体性
+
+
+ 在大学四年内,掌握英语教学法、教育心理学等专业知识,具备独立设计和实施英语课程的教学能力。
+
+
+
+
+
+ M
+
+
+
+ 目标可测量性
+
+
+ 通过参加英语教师资格认证考试,获得相关证书;每年至少发表一篇英语教学方面的论文或参加一次学术研讨会。
+
+
+
+
+
+ A
+
+
+
+ 目标可实现性
+
+
+ 参加培训课程、阅读专业书籍、进行教学实践等。确保每周投入一定的时间进行学习和实践。
+
+
+
+
+
+ R
+
+
+
+ 目标相关性
+
+
+ 考虑自己的英语水平和教学经验,目标符合个人能力和职业发展规划。同时,关注英语教育行业的动态和趋势,确保目标具有前瞻性。
+
+
+
+
+
+ T
+
+
+
+ 目标时限性
+
+
+ 一年内完成英语教师资格认证考试的学习准备,两年内积累一定的教学经验,三年内发表第一篇教学论文等。
+
+
+
+
+
+
+
+
+
+
+ + 新增目标
+
+
+
+
+
+ 目标描述
+
+
+
+
+
+
+
+ 目标类型
+
+
+
+
+ 就业型
+
+
+
+ 创业型
+
+
+
+ 国内升学型
+
+
+
+ 国外升学型
+
+
+
+
+
+
+ 具体性
+
+
+
+
+
+
+
+ 可测量性
+
+
+
+
+
+
+
+ 可实现性
+
+
+
+
+
+
+
+ 相关性
+
+
+
+
+
+
+
+ 时限性
+
+
+
+
+
+
+ 注:如果分析不下去,说明目标不可行,需要优化或
+ 重新设定目标
+
+
+
+ 确认提交
+
+
+ 前往制定学习计划
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages.json b/pages.json
index 24fa4b4..6a77234 100644
--- a/pages.json
+++ b/pages.json
@@ -472,7 +472,155 @@
}
}
]
- }],
+ },
+ {
+ "root": "packageCa",
+ "pages": [
+ {
+ "path" : "search/search",
+ "style" : {
+ "navigationBarTitleText" : "生涯规划",
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path": "job/index",
+ "style": {
+ "navigationBarTitleText": "职业库"
+ }
+ },
+ {
+ "path": "job/midList",
+ "style": {
+ "navigationBarTitleText": "职业库-中类"
+ }
+ },
+ {
+ "path": "job/smallList",
+ "style": {
+ "navigationBarTitleText": "职业库-小类"
+ }
+ },
+ {
+ "path": "job/details",
+ "style": {
+ "navigationBarTitleText": "职业详情"
+ }
+ },
+ {
+ "path": "userCenter/professionPath",
+ "style": {
+ "navigationBarTitleText": "职业路径",
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path": "userCenter/personDocument",
+ "style": {
+ "navigationBarTitleText": "生涯档案",
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path": "userCenter/careerCompass",
+ "style": {
+ "navigationBarTitleText": "生涯罗盘",
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path": "userCenter/learningPlan",
+ "style": {
+ "navigationBarTitleText": "学业规划",
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path": "userCenter/smartTarget",
+ "style": {
+ "navigationBarTitleText": "学业规划",
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path": "userCenter/fillInInformation",
+ "style": {
+ "navigationBarTitleText": "完善个人信息"
+ }
+ },
+ {
+ "path": "pagesTest/testList",
+ "style": {
+ "navigationBarTitleText": "生涯测评",
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path": "pagesTest/customTestTitle",
+ "style": {
+ "navigationBarTitleText": "自定义测评",
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path": "pagesTest/interestTestTitle",
+ "style": {
+ "navigationBarTitleText": "职业兴趣测评",
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path": "pagesTest/workValuesTestTitle",
+ "style": {
+ "navigationBarTitleText": "工作价值观测评",
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path": "pagesTest/personalTestTitle",
+ "style": {
+ "navigationBarTitleText": "人格测评",
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path": "testReport/workValuesTestReport",
+ "style": {
+ "navigationBarTitleText": "工作价值观测评报告",
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path": "testReport/multipleAbilityTestReport",
+ "style": {
+ "navigationBarTitleText": "多元能力测评报告",
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path": "testReport/generalCareerTestReport",
+ "style": {
+ "navigationBarTitleText": "通用职业能力测评报告",
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path": "testReport/personalTestReport",
+ "style": {
+ "navigationBarTitleText": "人格测评报告",
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path": "testReport/interestTestReport",
+ "style": {
+ "navigationBarTitleText": "职业兴趣测评报告",
+ "navigationStyle": "custom"
+ }
+ }
+ ]
+ }
+ ],
// "tabBar": {
// "custom": true,
// "color": "#5E5F60",
diff --git a/pages/index/components/index-one.vue b/pages/index/components/index-one.vue
index 2dff06c..327863a 100644
--- a/pages/index/components/index-one.vue
+++ b/pages/index/components/index-one.vue
@@ -106,7 +106,7 @@
题库和考试
-
+
@@ -1013,6 +1013,13 @@ function goRc(){
// });
}
}
+// 跳转素质测评页面(在线测评,职业库,职业生涯规划)
+function goCa(){
+ if (checkLogin()) {
+ const userInfo = uni.getStorageSync('userInfo')
+ navTo(`/packageCa/search/search?userId=${userInfo.userId}&name=${userInfo.name}`);
+ }
+}
defineExpose({ loadData });
diff --git a/uni_modules/lime-echart/changelog.md b/uni_modules/lime-echart/changelog.md
new file mode 100644
index 0000000..aada099
--- /dev/null
+++ b/uni_modules/lime-echart/changelog.md
@@ -0,0 +1,200 @@
+## 0.9.6(2024-07-23)
+- fix: 修复 uni is not defined
+## 0.9.5(2024-07-19)
+- chore: 鸿蒙`measureText`为异步,异步字体不正常,使用模拟方式。
+## 0.9.4(2024-07-18)
+- chore: 更新文档
+## 0.9.3(2024-07-16)
+- feat: 鸿蒙 canvas 事件缺失,待官方修复,如何在鸿蒙使用请看文档`常见问题 vue3`
+## 0.9.2(2024-07-12)
+- chore: 删除多余文件
+## 0.9.1(2024-07-12)
+- fix: 修复 安卓5不显示图表问题
+## 0.9.0(2024-06-13)
+- chore: 合并nvue和uvue
+## 0.8.9(2024-05-19)
+- chore: 更新文档
+## 0.8.8(2024-05-13)
+- chore: 更新文档和uvue示例
+## 0.8.7(2024-04-26)
+- fix: uniapp x需要HBX 4.13以上
+## 0.8.6(2024-04-10)
+- feat: 支持 uniapp x ios
+## 0.8.5(2024-04-03)
+- fix: 修复 nvue `reset`传值不生效问题
+- feat: 支持 uniapp x web
+## 0.8.4(2024-01-27)
+- chore: 更新文档
+## 0.8.3(2024-01-21)
+- chore: 更新文档
+## 0.8.2(2024-01-21)
+- feat: 支持 `uvue`
+## 0.8.1(2023-08-24)
+- fix: app 的`touch`事件为`object` 导致无法显示 `tooltip`
+## 0.8.0(2023-08-22)
+- fix: 离屏 报错问题
+- fix: 微信小程序PC无法使用事件
+- chore: 更新文档
+## 0.7.9(2023-07-29)
+- chore: 更新文档
+## 0.7.8(2023-07-29)
+- fix: 离屏 报错问题
+## 0.7.7(2023-07-27)
+- chore: 更新文档
+- chore: lime-echart 里的示例使用自定tooltips
+- feat: 对支持离屏的使用离屏创建(微信、字节、支付宝)
+## 0.7.6(2023-06-30)
+- fix: vue3 报`width`的错
+## 0.7.5(2023-05-25)
+- chore: 更新文档 和 demo, 使用`lime-echart`这个标签即可查看示例
+## 0.7.4(2023-05-22)
+- chore: 增加关于钉钉小程序上传时提示安全问题的说明及修改建议
+## 0.7.3(2023-05-16)
+- chore: 更新 vue3 非微信小程序平台可能缺少`wx`的说明
+## 0.7.2(2023-05-16)
+- chore: 更新 vue3 非微信小程序平台的可以缺少`wx`的说明
+## 0.7.1(2023-04-26)
+- chore: 更新demo,使用`lime-echart`这个标签即可查看示例
+- chore:微信小程序的`tooltip`文字有阴影,怀疑是微信的锅,临时解决方法是`tooltip.shadowBlur = 0`
+## 0.7.0(2023-04-24)
+- fix: 修复`setAttribute is not a function`
+## 0.6.9(2023-04-15)
+- chore: 更新文档,vue3请使用echarts esm的包
+## 0.6.8(2023-03-22)
+- feat: mac pc无法使用canvas 2d
+## 0.6.7(2023-03-17)
+- feat: 更新文档
+## 0.6.6(2023-03-17)
+- feat: 微信小程序PC已经支持canvas 2d,故去掉判断PC
+## 0.6.5(2022-11-03)
+- fix: 某些手机touches为对象,导致无法交互。
+## 0.6.4(2022-10-28)
+- fix: 优化点击事件的触发条件
+## 0.6.3(2022-10-26)
+- fix: 修复 dataZoom 拖动问题
+## 0.6.2(2022-10-23)
+- fix: 修复 飞书小程序 尺寸问题
+## 0.6.1(2022-10-19)
+- fix: 修复 PC mousewheel 事件 鼠标位置不准确的BUG,不兼容火狐!
+- feat: showLoading 增加传参
+## 0.6.0(2022-09-16)
+- feat: 增加PC的mousewheel事件
+## 0.5.4(2022-09-16)
+- fix: 修复 nvue 动态数据不显示问题
+## 0.5.3(2022-09-16)
+- feat: 增加enableHover属性, 在PC端时当鼠标进入显示tooltip,不必按下。
+- chore: 更新文档
+## 0.5.2(2022-09-16)
+- feat: 增加enableHover属性, 在PC端时当鼠标进入显示tooltip,不必按下。
+## 0.5.1(2022-09-16)
+- fix: 修复nvue报错
+## 0.5.0(2022-09-15)
+- feat: init(echarts, theme?:string, opts?:{}, callback: function(chart))
+## 0.4.8(2022-09-11)
+- feat: 增加 @finished
+## 0.4.7(2022-08-24)
+- chore: 去掉 stylus
+## 0.4.6(2022-08-24)
+- feat: 增加 beforeDelay
+## 0.4.5(2022-08-12)
+- chore: 更新文档
+## 0.4.4(2022-08-12)
+- fix: 修复 resize 无参数时报错
+## 0.4.3(2022-08-07)
+# 评论有说本插件对新手不友好,让我做不好就不要发出来。 还有的说跟官网一样,发出来做什么,给我整无语了。
+# 所以在此提醒一下准备要下载的你,如果你从未使用过 echarts 请不要下载 或 谨慎下载。
+# 如果你确认要下载,麻烦看完文档。还有请注意插件是让echarts在uniapp能运行,API 配置请自行去官网查阅!
+# 如果你不会echarts 但又需要图表,市场上有个很优秀的图表插件 uchart 你可以去使用这款插件,uchart的作者人很好,也热情。
+# 每个人都有自己的本职工作,如果你能力强可以自行兼容,如果使用了他人的插件也麻烦尊重他人的成果和劳动时间。谢谢。
+# 为了心情愉悦,本人已经使用插件屏蔽差评。
+- chore: 更新文档
+## 0.4.2(2022-07-20)
+- feat: 增加 resize
+## 0.4.1(2022-06-07)
+- fix: 修复 canvasToTempFilePath 不生效问题
+## 0.4.0(2022-06-04)
+- chore 为了词云 增加一个canvas 标签
+- 词云下载地址[echart-wordcloud](https://ext.dcloud.net.cn/plugin?id=8430)
+## 0.3.9(2022-06-02)
+- chore: 更新文档
+- tips: lines 不支持 `trailLength`
+## 0.3.8(2022-05-31)
+- fix: 修复 因mouse事件冲突tooltip跳动问题
+## 0.3.7(2022-05-26)
+- chore: 更新文档
+- chore: 设置默认宽高300px
+- fix: 修复 vue3 微信小程序 拖影BUG
+- chore: 支持PC
+## 0.3.5(2022-04-28)
+- chore: 更新使用方式
+- 🔔 必须使用hbuilderx 3.4.8-alpha以上
+## 0.3.4(2021-08-03)
+- chore: 增加 setOption的参数值
+## 0.3.3(2021-07-22)
+- fix: 修复 径向渐变报错的问题
+## 0.3.2(2021-07-09)
+- chore: 统一命名规范,无须主动引入组件
+## [代码示例站点1](https://limeui.qcoon.cn/#/echart-example)
+## [代码示例站点2](http://liangei.gitee.io/limeui/#/echart-example)
+## 0.3.1(2021-06-21)
+- fix: 修复 app-nvue ios is-enable 无效的问题
+## [代码示例站点1](https://limeui.qcoon.cn/#/echart-example)
+## [代码示例站点2](http://liangei.gitee.io/limeui/#/echart-example)
+## 0.3.0(2021-06-14)
+- fix: 修复 头条系小程序 2d 报 JSON.stringify 的问题
+- 目前 头条系小程序 2d 无法在开发工具上预览,划动图表页面无法滚动,axisLabel 字体颜色无法更改,建议使用非2d。
+## 0.2.9(2021-06-06)
+- fix: 修复 头条系小程序 2d 放大的BUG
+- 头条系小程序 2d 无法在开发工具上预览,也存在划动图表页面无法滚动的问题。
+## [代码示例:http://liangei.gitee.io/limeui/#/echart-example](http://liangei.gitee.io/limeui/#/echart-example)
+## 0.2.8(2021-05-19)
+- fix: 修复 微信小程序 PC 显示过大的问题
+## 0.2.7(2021-05-19)
+- fix: 修复 微信小程序 PC 不显示问题
+## [代码示例:http://liangei.gitee.io/limeui/#/echart-example](http://liangei.gitee.io/limeui/#/echart-example)
+## 0.2.6(2021-05-14)
+- feat: 支持 `image`
+- feat: props 增加 `ec.clear`,更新时是否先删除图表样式
+- feat: props 增加 `isDisableScroll` ,触摸图表时是否禁止页面滚动
+- feat: props 增加 `webviewStyles` ,webview 的样式, 仅nvue有效
+## 0.2.5(2021-05-13)
+- docs: 插件用到了css 预编译器 [stylus](https://ext.dcloud.net.cn/plugin?name=compile-stylus) 请安装它
+## 0.2.4(2021-05-12)
+- fix: 修复 百度平台 多个图表ctx 和 渐变色 bug
+- ## [代码示例:http://liangei.gitee.io/limeui/#/echart-example](http://liangei.gitee.io/limeui/#/echart-example)
+## 0.2.3(2021-05-10)
+- feat: 增加 `canvasToTempFilePath` 方法,用于生成图片
+```js
+this.$refs.chart.canvasToTempFilePath({success: (res) => {
+ console.log('tempFilePath:', res.tempFilePath)
+}})
+```
+## 0.2.2(2021-05-10)
+- feat: 增加 `dispose` 方法,用于销毁实例
+- feat: 增加 `isClickable` 是否派发点击
+- feat: 实验性的支持 `nvue` 使用要慎重考虑
+- ## [代码示例:http://liangei.gitee.io/limeui/#/echart-example](http://liangei.gitee.io/limeui/#/echart-example)
+## 0.2.1(2021-05-06)
+- fix:修复 微信小程序 json 报错
+- chore: `reset` 更改为 `setChart`
+- feat: 增加 `isEnable` 开启初始化 启用这个后 无须再使用`init`方法
+```html
+
+```
+```js
+// 显示加载
+this.$refs.chart.showLoading()
+// 使用实例回调
+this.$refs.chart.setChart(chart => ...code)
+// 直接设置图表配置
+this.$refs.chart.setOption(data)
+```
+## 0.2.0(2021-05-05)
+- fix:修复 头条 百度 偏移的问题
+- docs: 更新文档
+## [代码示例:http://liangei.gitee.io/limeui/#/echart-example](http://liangei.gitee.io/limeui/#/echart-example)
+## 0.1.0(2021-05-02)
+- chore: 第一次上传,基本全端兼容,使用方法与官网一致。
+- 已知BUG:非2d 无法使用背景色,已反馈官方
+- 已知BUG:头条 百度 有许些偏移
+- 后期计划:兼容nvue
diff --git a/uni_modules/lime-echart/components/l-echart/canvas.js b/uni_modules/lime-echart/components/l-echart/canvas.js
new file mode 100644
index 0000000..4c21a0b
--- /dev/null
+++ b/uni_modules/lime-echart/components/l-echart/canvas.js
@@ -0,0 +1,393 @@
+const cacheChart = {}
+const fontSizeReg = /([\d\.]+)px/;
+class EventEmit {
+ constructor() {
+ this.__events = {};
+ }
+ on(type, listener) {
+ if (!type || !listener) {
+ return;
+ }
+ const events = this.__events[type] || [];
+ events.push(listener);
+ this.__events[type] = events;
+ }
+ emit(type, e) {
+ if (type.constructor === Object) {
+ e = type;
+ type = e && e.type;
+ }
+ if (!type) {
+ return;
+ }
+ const events = this.__events[type];
+ if (!events || !events.length) {
+ return;
+ }
+ events.forEach((listener) => {
+ listener.call(this, e);
+ });
+ }
+ off(type, listener) {
+ const __events = this.__events;
+ const events = __events[type];
+ if (!events || !events.length) {
+ return;
+ }
+ if (!listener) {
+ delete __events[type];
+ return;
+ }
+ for (let i = 0, len = events.length; i < len; i++) {
+ if (events[i] === listener) {
+ events.splice(i, 1);
+ i--;
+ }
+ }
+ }
+}
+class Image {
+ constructor() {
+ this.currentSrc = null
+ this.naturalHeight = 0
+ this.naturalWidth = 0
+ this.width = 0
+ this.height = 0
+ this.tagName = 'IMG'
+ }
+ set src(src) {
+ this.currentSrc = src
+ uni.getImageInfo({
+ src,
+ success: (res) => {
+ this.naturalWidth = this.width = res.width
+ this.naturalHeight = this.height = res.height
+ this.onload()
+ },
+ fail: () => {
+ this.onerror()
+ }
+ })
+ }
+ get src() {
+ return this.currentSrc
+ }
+}
+class OffscreenCanvas {
+ constructor(ctx, com, canvasId) {
+ this.tagName = 'canvas'
+ this.com = com
+ this.canvasId = canvasId
+ this.ctx = ctx
+ }
+ set width(w) {
+ this.com.offscreenWidth = w
+ }
+ set height(h) {
+ this.com.offscreenHeight = h
+ }
+ get width() {
+ return this.com.offscreenWidth || 0
+ }
+ get height() {
+ return this.com.offscreenHeight || 0
+ }
+ getContext(type) {
+ return this.ctx
+ }
+ getImageData() {
+ return new Promise((resolve, reject) => {
+ this.com.$nextTick(() => {
+ uni.canvasGetImageData({
+ x:0,
+ y:0,
+ width: this.com.offscreenWidth,
+ height: this.com.offscreenHeight,
+ canvasId: this.canvasId,
+ success: (res) => {
+ resolve(res)
+ },
+ fail: (err) => {
+ reject(err)
+ },
+ }, this.com)
+ })
+ })
+ }
+}
+export class Canvas {
+ constructor(ctx, com, isNew, canvasNode={}) {
+ cacheChart[com.canvasId] = {ctx}
+ this.canvasId = com.canvasId;
+ this.chart = null;
+ this.isNew = isNew
+ this.tagName = 'canvas'
+ this.canvasNode = canvasNode;
+ this.com = com;
+ if (!isNew) {
+ this._initStyle(ctx)
+ }
+ this._initEvent();
+ this._ee = new EventEmit()
+ }
+ getContext(type) {
+ if (type === '2d') {
+ return this.ctx;
+ }
+ }
+ setAttribute(key, value) {
+ if(key === 'aria-label') {
+ this.com['ariaLabel'] = value
+ }
+ }
+ setChart(chart) {
+ this.chart = chart;
+ }
+ createOffscreenCanvas(param){
+ if(!this.children) {
+ this.com.isOffscreenCanvas = true
+ this.com.offscreenWidth = param.width||300
+ this.com.offscreenHeight = param.height||300
+ const com = this.com
+ const canvasId = this.com.offscreenCanvasId
+ const context = uni.createCanvasContext(canvasId, this.com)
+ this._initStyle(context)
+ this.children = new OffscreenCanvas(context, com, canvasId)
+ }
+ return this.children
+ }
+ appendChild(child) {
+ console.log('child', child)
+ }
+ dispatchEvent(type, e) {
+ if(typeof type == 'object') {
+ this._ee.emit(type.type, type);
+ } else {
+ this._ee.emit(type, e);
+ }
+ return true
+ }
+ attachEvent() {
+ }
+ detachEvent() {
+ }
+ addEventListener(type, listener) {
+ this._ee.on(type, listener)
+ }
+ removeEventListener(type, listener) {
+ this._ee.off(type, listener)
+ }
+ _initCanvas(zrender, ctx) {
+ // zrender.util.getContext = function() {
+ // return ctx;
+ // };
+ // zrender.util.$override('measureText', function(text, font) {
+ // ctx.font = font || '12px sans-serif';
+ // return ctx.measureText(text, font);
+ // });
+ }
+ _initStyle(ctx, child) {
+ const styles = [
+ 'fillStyle',
+ 'strokeStyle',
+ 'fontSize',
+ 'globalAlpha',
+ 'opacity',
+ 'textAlign',
+ 'textBaseline',
+ 'shadow',
+ 'lineWidth',
+ 'lineCap',
+ 'lineJoin',
+ 'lineDash',
+ 'miterLimit',
+ // #ifdef H5
+ 'font',
+ // #endif
+ ];
+ const colorReg = /#([0-9a-fA-F])([0-9a-fA-F])([0-9a-fA-F])\b/g;
+ styles.forEach(style => {
+ Object.defineProperty(ctx, style, {
+ set: value => {
+ // #ifdef H5
+ if (style === 'font' && fontSizeReg.test(value)) {
+ const match = fontSizeReg.exec(value);
+ ctx.setFontSize(match[1]);
+ return;
+ }
+ // #endif
+
+ if (style === 'opacity') {
+ ctx.setGlobalAlpha(value)
+ return;
+ }
+ if (style !== 'fillStyle' && style !== 'strokeStyle' || value !== 'none' && value !== null) {
+ // #ifdef H5 || APP-PLUS || MP-BAIDU
+ if(typeof value == 'object') {
+ if (value.hasOwnProperty('colorStop') || value.hasOwnProperty('colors')) {
+ ctx['set' + style.charAt(0).toUpperCase() + style.slice(1)](value);
+ }
+ return
+ }
+ // #endif
+ // #ifdef MP-TOUTIAO
+ if(colorReg.test(value)) {
+ value = value.replace(colorReg, '#$1$1$2$2$3$3')
+ }
+ // #endif
+ ctx['set' + style.charAt(0).toUpperCase() + style.slice(1)](value);
+ }
+ }
+ });
+ });
+ if(!this.isNew && !child) {
+ ctx.uniDrawImage = ctx.drawImage
+ ctx.drawImage = (...a) => {
+ a[0] = a[0].src
+ ctx.uniDrawImage(...a)
+ }
+ }
+ if(!ctx.createRadialGradient) {
+ ctx.createRadialGradient = function() {
+ return ctx.createCircularGradient(...[...arguments].slice(-3))
+ };
+ }
+ // 字节不支持
+ if (!ctx.strokeText) {
+ ctx.strokeText = (...a) => {
+ ctx.fillText(...a)
+ }
+ }
+
+ // 钉钉不支持 , 鸿蒙是异步
+ if (!ctx.measureText || uni.getSystemInfoSync().osName == 'harmonyos') {
+ ctx._measureText = ctx.measureText
+ const strLen = (str) => {
+ let len = 0;
+ for (let i = 0; i < str.length; i++) {
+ if (str.charCodeAt(i) > 0 && str.charCodeAt(i) < 128) {
+ len++;
+ } else {
+ len += 2;
+ }
+ }
+ return len;
+ }
+ ctx.measureText = (text, font) => {
+ let fontSize = ctx?.state?.fontSize || 12;
+ if (font) {
+ fontSize = parseInt(font.match(/([\d\.]+)px/)[1])
+ }
+ fontSize /= 2;
+ let isBold = fontSize >= 16;
+ const widthFactor = isBold ? 1.3 : 1;
+ // ctx._measureText(text, (res) => {})
+ return {
+ width: strLen(text) * fontSize * widthFactor
+ };
+ }
+ }
+ }
+
+ _initEvent(e) {
+ this.event = {};
+ const eventNames = [{
+ wxName: 'touchStart',
+ ecName: 'mousedown'
+ }, {
+ wxName: 'touchMove',
+ ecName: 'mousemove'
+ }, {
+ wxName: 'touchEnd',
+ ecName: 'mouseup'
+ }, {
+ wxName: 'touchEnd',
+ ecName: 'click'
+ }];
+
+ eventNames.forEach(name => {
+ this.event[name.wxName] = e => {
+ const touch = e.touches[0];
+ this.chart.getZr().handler.dispatch(name.ecName, {
+ zrX: name.wxName === 'tap' ? touch.clientX : touch.x,
+ zrY: name.wxName === 'tap' ? touch.clientY : touch.y
+ });
+ };
+ });
+ }
+
+ set width(w) {
+ this.canvasNode.width = w
+ }
+ set height(h) {
+ this.canvasNode.height = h
+ }
+
+ get width() {
+ return this.canvasNode.width || 0
+ }
+ get height() {
+ return this.canvasNode.height || 0
+ }
+ get ctx() {
+ return cacheChart[this.canvasId]['ctx'] || null
+ }
+ set chart(chart) {
+ cacheChart[this.canvasId]['chart'] = chart
+ }
+ get chart() {
+ return cacheChart[this.canvasId]['chart'] || null
+ }
+}
+
+export function dispatch(name, {x,y, wheelDelta}) {
+ this.dispatch(name, {
+ zrX: x,
+ zrY: y,
+ zrDelta: wheelDelta,
+ preventDefault: () => {},
+ stopPropagation: () =>{}
+ });
+}
+export function setCanvasCreator(echarts, {canvas, node}) {
+ // echarts.setCanvasCreator(() => canvas);
+ if(echarts && !echarts.registerPreprocessor) {
+ return console.warn('echarts 版本不对或未传入echarts,vue3请使用esm格式')
+ }
+ echarts.registerPreprocessor(option => {
+ if (option && option.series) {
+ if (option.series.length > 0) {
+ option.series.forEach(series => {
+ series.progressive = 0;
+ });
+ } else if (typeof option.series === 'object') {
+ option.series.progressive = 0;
+ }
+ }
+ });
+ function loadImage(src, onload, onerror) {
+ let img = null
+ if(node && node.createImage) {
+ img = node.createImage()
+ img.onload = onload.bind(img);
+ img.onerror = onerror.bind(img);
+ img.src = src;
+ return img
+ } else {
+ img = new Image()
+ img.onload = onload.bind(img)
+ img.onerror = onerror.bind(img);
+ img.src = src
+ return img
+ }
+ }
+ if(echarts.setPlatformAPI) {
+ echarts.setPlatformAPI({
+ loadImage: canvas.setChart ? loadImage : null,
+ createCanvas(){
+ const key = 'createOffscreenCanvas'
+ return uni.canIUse(key) && uni[key] ? uni[key]({type: '2d'}) : canvas
+ }
+ })
+ }
+}
\ No newline at end of file
diff --git a/uni_modules/lime-echart/components/l-echart/l-echart.uvue b/uni_modules/lime-echart/components/l-echart/l-echart.uvue
new file mode 100644
index 0000000..0393a4d
--- /dev/null
+++ b/uni_modules/lime-echart/components/l-echart/l-echart.uvue
@@ -0,0 +1,252 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/uni_modules/lime-echart/components/l-echart/l-echart.vue b/uni_modules/lime-echart/components/l-echart/l-echart.vue
new file mode 100644
index 0000000..8b5578e
--- /dev/null
+++ b/uni_modules/lime-echart/components/l-echart/l-echart.vue
@@ -0,0 +1,514 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/uni_modules/lime-echart/components/l-echart/nvue.js b/uni_modules/lime-echart/components/l-echart/nvue.js
new file mode 100644
index 0000000..87cd951
--- /dev/null
+++ b/uni_modules/lime-echart/components/l-echart/nvue.js
@@ -0,0 +1,51 @@
+export class Echarts {
+ eventMap = new Map()
+ constructor(webview) {
+ this.webview = webview
+ this.options = null
+ }
+ setOption() {
+ this.options = arguments
+ this.webview.evalJs(`setOption(${JSON.stringify(arguments)})`);
+ }
+ getOption() {
+ return this.options
+ }
+ showLoading() {
+ this.webview.evalJs(`showLoading(${JSON.stringify(arguments)})`);
+ }
+ hideLoading() {
+ this.webview.evalJs(`hideLoading()`);
+ }
+ clear() {
+ this.webview.evalJs(`clear()`);
+ }
+ dispose() {
+ this.webview.evalJs(`dispose()`);
+ }
+ resize(size) {
+ if(size) {
+ this.webview.evalJs(`resize(${JSON.stringify(size)})`);
+ } else {
+ this.webview.evalJs(`resize()`);
+ }
+ }
+ on(type, ...args) {
+ const query = args[0]
+ const useQuery = query && typeof query != 'function'
+ const param = useQuery ? [type, query] : [type]
+ const key = `${type}${useQuery ? JSON.stringify(query): '' }`
+ const callback = useQuery ? args[1]: args[0]
+ if(typeof callback == 'function'){
+ this.eventMap.set(key, callback)
+ }
+ this.webview.evalJs(`on(${JSON.stringify(param)})`);
+ console.warn('nvue 暂不支持事件')
+ }
+ dispatchAction(type, options){
+ const handler = this.eventMap.get(type)
+ if(handler){
+ handler(options)
+ }
+ }
+}
\ No newline at end of file
diff --git a/uni_modules/lime-echart/components/l-echart/utils.js b/uni_modules/lime-echart/components/l-echart/utils.js
new file mode 100644
index 0000000..b503987
--- /dev/null
+++ b/uni_modules/lime-echart/components/l-echart/utils.js
@@ -0,0 +1,145 @@
+// #ifndef APP-NVUE
+// 计算版本
+export function compareVersion(v1, v2) {
+ v1 = v1.split('.')
+ v2 = v2.split('.')
+ const len = Math.max(v1.length, v2.length)
+ while (v1.length < len) {
+ v1.push('0')
+ }
+ while (v2.length < len) {
+ v2.push('0')
+ }
+ for (let i = 0; i < len; i++) {
+ const num1 = parseInt(v1[i], 10)
+ const num2 = parseInt(v2[i], 10)
+
+ if (num1 > num2) {
+ return 1
+ } else if (num1 < num2) {
+ return -1
+ }
+ }
+ return 0
+}
+const systemInfo = uni.getSystemInfoSync();
+
+function gte(version) {
+ // 截止 2023-03-22 mac pc小程序不支持 canvas 2d
+ let {
+ SDKVersion,
+ platform
+ } = systemInfo;
+ // #ifdef MP-ALIPAY
+ SDKVersion = my.SDKVersion
+ // #endif
+ // #ifdef MP-WEIXIN
+ return platform !== 'mac' && compareVersion(SDKVersion, version) >= 0;
+ // #endif
+ return compareVersion(SDKVersion, version) >= 0;
+}
+
+
+export function canIUseCanvas2d() {
+ // #ifdef MP-WEIXIN
+ return gte('2.9.0');
+ // #endif
+ // #ifdef MP-ALIPAY
+ return gte('2.7.0');
+ // #endif
+ // #ifdef MP-TOUTIAO
+ return gte('1.78.0');
+ // #endif
+ return false
+}
+
+export function convertTouchesToArray(touches) {
+ // 如果 touches 是一个数组,则直接返回它
+ if (Array.isArray(touches)) {
+ return touches;
+ }
+ // 如果touches是一个对象,则转换为数组
+ if (typeof touches === 'object' && touches !== null) {
+ return Object.values(touches);
+ }
+ // 对于其他类型,直接返回它
+ return touches;
+}
+
+export function wrapTouch(event) {
+ for (let i = 0; i < event.touches.length; ++i) {
+ const touch = event.touches[i];
+ touch.offsetX = touch.x;
+ touch.offsetY = touch.y;
+ }
+ return event;
+}
+export const devicePixelRatio = uni.getSystemInfoSync().pixelRatio
+// #endif
+// #ifdef APP-NVUE
+export function base64ToPath(base64) {
+ return new Promise((resolve, reject) => {
+ const [, format, bodyData] = /data:image\/(\w+);base64,(.*)/.exec(base64) || [];
+ const bitmap = new plus.nativeObj.Bitmap('bitmap' + Date.now())
+ bitmap.loadBase64Data(base64, () => {
+ if (!format) {
+ reject(new Error('ERROR_BASE64SRC_PARSE'))
+ }
+ const time = new Date().getTime();
+ const filePath = `_doc/uniapp_temp/${time}.${format}`
+
+ bitmap.save(filePath, {},
+ () => {
+ bitmap.clear()
+ resolve(filePath)
+ },
+ (error) => {
+ bitmap.clear()
+ console.error(`${JSON.stringify(error)}`)
+ reject(error)
+ })
+ }, (error) => {
+ bitmap.clear()
+ console.error(`${JSON.stringify(error)}`)
+ reject(error)
+ })
+ })
+}
+// #endif
+
+
+export function sleep(time) {
+ return new Promise((resolve) => {
+ setTimeout(() => {
+ resolve(true)
+ }, time)
+ })
+}
+
+
+export function getRect(selector, options = {}) {
+ const typeDefault = 'boundingClientRect'
+ const {
+ context,
+ type = typeDefault
+ } = options
+ return new Promise((resolve, reject) => {
+ const dom = uni.createSelectorQuery().in(context).select(selector);
+ const result = (rect) => {
+ if (rect) {
+ resolve(rect)
+ } else {
+ reject()
+ }
+ }
+ if (type == typeDefault) {
+ dom[type](result).exec()
+ } else {
+ dom[type]({
+ node: true,
+ size: true,
+ rect: true
+ }, result).exec()
+ }
+ });
+};
\ No newline at end of file
diff --git a/uni_modules/lime-echart/components/l-echart/uvue.uts b/uni_modules/lime-echart/components/l-echart/uvue.uts
new file mode 100644
index 0000000..988d4cc
--- /dev/null
+++ b/uni_modules/lime-echart/components/l-echart/uvue.uts
@@ -0,0 +1,133 @@
+// @ts-nocheck
+// #ifdef APP
+type EchartsEventHandler = (event: UTSJSONObject)=>void
+// type EchartsTempResolve = (obj : UTSJSONObject) => void
+// type EchartsTempOptions = UTSJSONObject
+export class Echarts {
+ options: UTSJSONObject = {} as UTSJSONObject
+ context: UniWebViewElement
+ eventMap: Map = new Map()
+ private temp: UTSJSONObject[] = []
+ constructor(context: UniWebViewElement){
+ this.context = context
+ this.init()
+ }
+ init(){
+ this.context.evalJS(`init(null, null, ${JSON.stringify({})})`)
+
+ this.context.addEventListener('message', (e : UniWebViewMessageEvent) => {
+ // event.stopPropagation()
+ // event.preventDefault()
+
+ const detail = e.detail.data[0]
+ const file = detail.getString('file')
+ const data = detail.get('data')
+ const key = detail.getString('event')
+ const options = typeof data == 'object' ? (data as UTSJSONObject).getJSON('options'): null
+ const event = typeof data == 'object' ? (data as UTSJSONObject).getString('event'): null
+ if (key == 'log' && data != null) {
+ console.log(data)
+ }
+ if (event != null && options != null) {
+ this.dispatchAction(event.replace(/"/g,''), options)
+ }
+ if(file != null){
+ while (this.temp.length > 0) {
+ const opt = this.temp.pop()
+ const success = opt?.get('success')
+ if(typeof success == 'function'){
+ success as (res: UTSJSONObject) => void
+ success({tempFilePath: file})
+ }
+ }
+ }
+
+ })
+ }
+ setOption(option: UTSJSONObject){
+ this.options = option;
+ this.context.evalJS(`setOption(${JSON.stringify([option])})`)
+ }
+ setOption(option: UTSJSONObject, notMerge: boolean = false, lazyUpdate: boolean = false){
+ this.options = option;
+ this.context.evalJS(`setOption(${JSON.stringify([option, notMerge, lazyUpdate])})`)
+ }
+ setOption(option: UTSJSONObject, notMerge: UTSJSONObject){
+ this.options = option;
+ this.context.evalJS(`setOption(${JSON.stringify([option, notMerge])})`)
+ }
+ getOption(): UTSJSONObject {
+ return this.options
+ }
+ showLoading(){
+ this.context.evalJS(`showLoading(${JSON.stringify([] as any[])})`);
+ }
+ showLoading(type: string, opts: UTSJSONObject){
+ this.context.evalJS(`showLoading(${JSON.stringify([type, opts])})`);
+ }
+ hideLoading(){
+ this.context.evalJS(`hideLoading()`);
+ }
+ clear(){
+ this.context.evalJS(`clear()`);
+ }
+ dispose(){
+ this.context.evalJS(`dispose()`);
+ }
+ resize(size:UTSJSONObject){
+ setTimeout(()=>{
+ this.context.evalJS(`resize(${JSON.stringify(size)})`);
+ },0)
+ }
+ resize(){
+ setTimeout(()=>{
+ this.context.evalJS(`resize()`);
+ },10)
+
+ }
+ on(type:string, query: any, callback: EchartsEventHandler) {
+ const key = `${type}${JSON.stringify(query)}`
+ if(typeof callback == 'function'){
+ this.eventMap.set(key, callback)
+ }
+ this.context.evalJS(`on(${JSON.stringify([type, query])})`);
+ console.warn('uvue 暂不支持事件')
+ }
+ on(type:string, callback: EchartsEventHandler) {
+ const key = `${type}`
+ if(typeof callback == 'function'){
+ this.eventMap.set(key, callback)
+ }
+ this.context.evalJS(`on(${JSON.stringify([type])})`);
+ console.warn('uvue 暂不支持事件')
+ }
+ dispatchAction(type:string, options: UTSJSONObject){
+ const handler = this.eventMap.get(type)
+ if(handler!=null){
+ handler(options)
+ }
+ }
+ canvasToTempFilePath(opt: UTSJSONObject){
+ // this.context.evalJS(`on(${JSON.stringify(opt)})`);
+ this.context.evalJS(`canvasToTempFilePath(${JSON.stringify(opt)})`);
+ this.temp.push(opt)
+ }
+}
+
+// #endif
+// #ifndef APP
+export class Echarts {
+ constructor() {}
+ setOption(option: UTSJSONObject): void
+ isDisposed(): boolean;
+ clear(): void;
+ resize(size:UTSJSONObject): void;
+ resize(): void;
+ canvasToTempFilePath(opt : UTSJSONObject): void;
+ dispose(): void;
+ showLoading(cfg?: UTSJSONObject): void;
+ showLoading(name?: string, cfg?: UTSJSONObject): void;
+ hideLoading(): void;
+ getZr(): any
+}
+// #endif
\ No newline at end of file
diff --git a/uni_modules/lime-echart/components/lime-echart/lime-echart.nvue b/uni_modules/lime-echart/components/lime-echart/lime-echart.nvue
new file mode 100644
index 0000000..5d4fd01
--- /dev/null
+++ b/uni_modules/lime-echart/components/lime-echart/lime-echart.nvue
@@ -0,0 +1,159 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/uni_modules/lime-echart/components/lime-echart/lime-echart.uvue b/uni_modules/lime-echart/components/lime-echart/lime-echart.uvue
new file mode 100644
index 0000000..37ece8a
--- /dev/null
+++ b/uni_modules/lime-echart/components/lime-echart/lime-echart.uvue
@@ -0,0 +1,160 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/uni_modules/lime-echart/components/lime-echart/lime-echart.vue b/uni_modules/lime-echart/components/lime-echart/lime-echart.vue
new file mode 100644
index 0000000..2a3617c
--- /dev/null
+++ b/uni_modules/lime-echart/components/lime-echart/lime-echart.vue
@@ -0,0 +1,226 @@
+
+
+
+
+
+ 这是个自定的tooltips
+ {{params[0]['axisValue']}}
+
+
+ {{item.seriesName}}
+ {{item.value}}
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/uni_modules/lime-echart/package.json b/uni_modules/lime-echart/package.json
new file mode 100644
index 0000000..93673e5
--- /dev/null
+++ b/uni_modules/lime-echart/package.json
@@ -0,0 +1,90 @@
+{
+ "id": "lime-echart",
+ "displayName": "echarts",
+ "version": "0.9.6",
+ "description": "echarts 全端兼容,一款使echarts图表能跑在uniapp各端中的插件, 支持uniapp/uniappx(web,ios,安卓)",
+ "keywords": [
+ "echarts",
+ "canvas",
+ "图表",
+ "可视化"
+],
+ "repository": "https://gitee.com/liangei/lime-echart",
+ "engines": {
+ "HBuilderX": "^3.6.4"
+ },
+ "dcloudext": {
+ "sale": {
+ "regular": {
+ "price": "0.00"
+ },
+ "sourcecode": {
+ "price": "0.00"
+ }
+ },
+ "contact": {
+ "qq": ""
+ },
+ "declaration": {
+ "ads": "无",
+ "data": "无",
+ "permissions": "无"
+ },
+ "npmurl": "",
+ "type": "component-vue"
+ },
+ "uni_modules": {
+ "dependencies": [],
+ "encrypt": [],
+ "platforms": {
+ "cloud": {
+ "tcb": "y",
+ "aliyun": "y",
+ "alipay": "n"
+ },
+ "client": {
+ "App": {
+ "app-vue": "y",
+ "app-nvue": "y",
+ "app-uvue": "y"
+ },
+ "H5-mobile": {
+ "Safari": "y",
+ "Android Browser": "y",
+ "微信浏览器(Android)": "y",
+ "QQ浏览器(Android)": "y"
+ },
+ "H5-pc": {
+ "Chrome": "u",
+ "IE": "u",
+ "Edge": "u",
+ "Firefox": "u",
+ "Safari": "u"
+ },
+ "小程序": {
+ "微信": "y",
+ "阿里": "y",
+ "百度": "y",
+ "字节跳动": "y",
+ "QQ": "y",
+ "钉钉": "u",
+ "快手": "u",
+ "飞书": "u",
+ "京东": "u"
+ },
+ "快应用": {
+ "华为": "u",
+ "联盟": "u"
+ },
+ "Vue": {
+ "vue2": "y",
+ "vue3": "y"
+ }
+ }
+ }
+ },
+ "dependencies": {
+ "echarts": "^5.4.1",
+ "zrender": "^5.4.3"
+ }
+}
\ No newline at end of file
diff --git a/uni_modules/lime-echart/readme.md b/uni_modules/lime-echart/readme.md
new file mode 100644
index 0000000..b691c25
--- /dev/null
+++ b/uni_modules/lime-echart/readme.md
@@ -0,0 +1,406 @@
+# echarts 图表 👑👑👑👑👑 全端
+> 一个基于 JavaScript 的开源可视化图表库 [查看更多](https://limeui.qcoon.cn/#/echart)
+> 基于 echarts 做了兼容处理,更多示例请访问 [uni示例](https://limeui.qcoon.cn/#/echart-example) | [官方示例](https://echarts.apache.org/examples/zh/index.html)
+
+
+## 平台兼容
+
+| H5 | 微信小程序 | 支付宝小程序 | 百度小程序 | 头条小程序 | QQ 小程序 | App |
+| --- | ---------- | ------------ | ---------- | ---------- | --------- | ---- |
+| √ | √ | √ | √ | √ | √ | √ |
+
+
+## 安装
+- 第一步:在市场导入 [百度图表](https://ext.dcloud.net.cn/plugin?id=4899)
+- 第二步:选择插件依赖:
+ 1、可以选插件内的`echarts`包或自定义包,自定义包[下载地址](https://echarts.apache.org/zh/builder.html)
+ 2、或者使用`npm`安装`echarts`
+
+**注意**
+* 🔔 echarts 5.3.0及以上
+* 🔔 如果是 `cli` 项目请下载插件到`src`目录下的`uni_modules`,没有这个目录就创建一个
+
+
+## 代码演示
+
+### Vue2
+- 引入依赖,可以是插件内提供或自己下载的[自定义包](https://echarts.apache.org/zh/builder.html),也可以是`npm`包
+
+```html
+
+```
+
+```js
+// 插件内的 三选一
+import * as echarts from '@/uni_modules/lime-echart/static/echarts.min'
+// 自定义的 三选一 下载后放入项目的路径
+import * as echarts from 'xxx/echarts.min'
+// npm包 三选一 需要在控制台 输入命令:npm install echarts
+import * as echarts from 'echarts'
+```
+
+```js
+export default {
+ data() {
+ return {
+ option: {
+ tooltip: {
+ trigger: 'axis',
+ axisPointer: {
+ type: 'shadow'
+ },
+ confine: true
+ },
+ legend: {
+ data: ['热度', '正面', '负面']
+ },
+ grid: {
+ left: 20,
+ right: 20,
+ bottom: 15,
+ top: 40,
+ containLabel: true
+ },
+ xAxis: [
+ {
+ type: 'value',
+ axisLine: {
+ lineStyle: {
+ color: '#999999'
+ }
+ },
+ axisLabel: {
+ color: '#666666'
+ }
+ }
+ ],
+ yAxis: [
+ {
+ type: 'category',
+ axisTick: { show: false },
+ data: ['汽车之家', '今日头条', '百度贴吧', '一点资讯', '微信', '微博', '知乎'],
+ axisLine: {
+ lineStyle: {
+ color: '#999999'
+ }
+ },
+ axisLabel: {
+ color: '#666666'
+ }
+ }
+ ],
+ series: [
+ {
+ name: '热度',
+ type: 'bar',
+ label: {
+ normal: {
+ show: true,
+ position: 'inside'
+ }
+ },
+ data: [300, 270, 340, 344, 300, 320, 310],
+ },
+ {
+ name: '正面',
+ type: 'bar',
+ stack: '总量',
+ label: {
+ normal: {
+ show: true
+ }
+ },
+ data: [120, 102, 141, 174, 190, 250, 220]
+ },
+ {
+ name: '负面',
+ type: 'bar',
+ stack: '总量',
+ label: {
+ normal: {
+ show: true,
+ position: 'left'
+ }
+ },
+ data: [-20, -32, -21, -34, -90, -130, -110]
+ }
+ ]
+ },
+ };
+ },
+ // 组件能被调用必须是组件的节点已经被渲染到页面上
+ methods: {
+ async init() {
+ // chart 图表实例不能存在data里
+ const chart = await this.$refs.chartRef.init(echarts);
+ chart.setOption(this.option)
+ }
+ }
+}
+```
+
+### Vue3
+- 小程序可以使用`require`引入插件内提供或自己下载的[自定义包](https://echarts.apache.org/zh/builder.html)
+- `require`仅支持相对路径,不支持路径别名
+- 非小程序使用 `npm` 包
+
+
+```html
+
+```
+
+```js
+// 小程序 二选一
+// 插件内的 二选一
+const echarts = require('../../uni_modules/lime-echart/static/echarts.min');
+// 自定义的 二选一 下载后放入项目的路径
+const echarts = require('xxx/xxx/echarts');
+
+//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+// 非小程序
+// 需要在控制台 输入命令:npm install echarts
+import * as echarts from 'echarts'
+```
+
+```js
+
+const chartRef = ref(null)
+const option = {
+ tooltip: {
+ trigger: 'axis',
+ axisPointer: {
+ type: 'shadow'
+ },
+ confine: true
+ },
+ legend: {
+ data: ['热度', '正面', '负面']
+ },
+ grid: {
+ left: 20,
+ right: 20,
+ bottom: 15,
+ top: 40,
+ containLabel: true
+ },
+ xAxis: [
+ {
+ type: 'value',
+ axisLine: {
+ lineStyle: {
+ color: '#999999'
+ }
+ },
+ axisLabel: {
+ color: '#666666'
+ }
+ }
+ ],
+ yAxis: [
+ {
+ type: 'category',
+ axisTick: { show: false },
+ data: ['汽车之家', '今日头条', '百度贴吧', '一点资讯', '微信', '微博', '知乎'],
+ axisLine: {
+ lineStyle: {
+ color: '#999999'
+ }
+ },
+ axisLabel: {
+ color: '#666666'
+ }
+ }
+ ],
+ series: [
+ {
+ name: '热度',
+ type: 'bar',
+ label: {
+ normal: {
+ show: true,
+ position: 'inside'
+ }
+ },
+ data: [300, 270, 340, 344, 300, 320, 310],
+ },
+ {
+ name: '正面',
+ type: 'bar',
+ stack: '总量',
+ label: {
+ normal: {
+ show: true
+ }
+ },
+ data: [120, 102, 141, 174, 190, 250, 220]
+ },
+ {
+ name: '负面',
+ type: 'bar',
+ stack: '总量',
+ label: {
+ normal: {
+ show: true,
+ position: 'left'
+ }
+ },
+ data: [-20, -32, -21, -34, -90, -130, -110]
+ }
+ ]
+};
+
+
+onMounted( ()=>{
+ // 组件能被调用必须是组件的节点已经被渲染到页面上
+ setTimeout(async()=>{
+ if(!chartRef.value) return
+ const myChart = await chartRef.value.init(echarts)
+ myChart.setOption(option)
+ },300)
+})
+
+```
+
+
+### Uvue
+- Uvue和Nvue不需要引入`echarts`,因为它们的实现方式是`webview`
+- uniapp x需要HBX 4.13以上
+
+```html
+
+
+
+```
+
+```js
+// @ts-nocheck
+// #ifdef H5
+import * as echarts from 'echarts/dist/echarts.esm.js'
+// #endif
+const chartRef = ref(null);
+const init = async () => {
+ if(chartRef.value== null) return
+ // #ifdef APP
+ const chart = await chartRef.value!.init(null)
+ // #endif
+ // #ifdef H5
+ const chart = await chartRef.value!.init(echarts, null)
+ // #endif
+ chart.setOption(option)
+}
+```
+
+
+## 数据更新
+- 1、使用 `ref` 可获取`setOption`设置更新
+- 2、也可以拿到图表实例`chart`设置`myChart.setOption(data)`
+
+```js
+// ref
+this.$refs.chart.setOption(data)
+
+// 图表实例
+myChart.setOption(data)
+```
+
+## 图表大小
+- 在有些场景下,我们希望当容器大小改变时,图表的大小也相应地改变。
+
+```js
+// 默认获取容器尺寸
+this.$refs.chart.resize()
+// 指定尺寸
+this.$refs.chart.resize({width: 375, height: 375})
+```
+
+## 自定义Tooltips
+- uvue\nvue 不支持
+由于除H5之外都不存在dom,但又有tooltips个性化的需求,代码就不贴了,看示例吧
+```
+代码位于/uni_modules/lime-echart/component/lime-echart
+```
+
+
+## 插件标签
+- 默认 l-echart 为 component
+- 默认 lime-echart 为 demo
+```html
+ // 在任意地方使用可查看domo, 代码位于/uni_modules/lime-echart/component/lime-echart
+
+```
+
+
+## 常见问题
+- 钉钉小程序 由于没有`measureText`,模拟的`measureText`又无法得到当前字体的`fontWeight`,故可能存在估计不精细的问题
+- 微信小程序 `2d` 只支持 真机调试2.0
+- 微信开发工具会出现 `canvas` 不跟随页面的情况,真机不影响
+- 微信开发工具会出现 `canvas` 层级过高的问题,真机一般不受影响,可以先测只有两个元素的页面看是否会有层级问题。
+- toolbox 不支持 `saveImage`
+- echarts 5.3.0 的 lines 不支持 trailLength,故需设置为 `0`
+- dataZoom H5不要设置 `showDetail`
+- 如果微信小程序的`tooltip`文字有阴影,可能是微信的锅,临时解决方法是`tooltip.shadowBlur = 0`
+- 如果钉钉小程序上传时报安全问题`Uint8Clamped`,可以向钉钉反馈是安全代码扫描把Uint8Clamped数组错误识别了,也可以在 echarts 文件修改`Uint8Clamped`
+```js
+// 找到这段代码把代码中`Uint8Clamped`改成`Uint8_Clamped`,再把下划线去掉,不过直接去掉`Uint8Clamped`也是可行的
+// ["Int8","Uint8","Uint8Clamped","Int16","Uint16","Int32","Uint32","Float32","Float64"],(function(t,e){return t["[object "+e+"Array]"]
+// 改成如下
+["Int8","Uint8","Uint8_Clamped","Int16","Uint16","Int32","Uint32","Float32","Float64"],(function(t,e){return t["[object "+e.replace('_','')+"Array]"]
+```
+
+### vue3
+如果您是使用 **vite + vue3** 非微信小程序可能会遇到`echarts`文件缺少`wx`判断导致无法使用或缺少`tooltip`
+
+方式一:可以在`echarts.min.js`文件开头增加以下内容,参考插件内的echart.min.js的做法
+
+```js
+let global = null
+let wx = uni
+```
+
+方式二:在`vite.config.js`的`define`设置环境
+
+```js
+// 或者在`vite.config.js`的`define`设置环境
+import { defineConfig } from 'vite';
+import uni from '@dcloudio/vite-plugin-uni';
+
+const define = {}
+if(!["mp-weixin", "h5", "web"].includes(process.env.UNI_PLATFORM)) {
+ define['global'] = null
+ define['wx'] = 'uni'
+}
+export default defineConfig({
+ plugins: [uni()],
+ define
+});
+```
+
+
+## Props
+
+| 参数 | 说明 | 类型 | 默认值 | 版本 |
+| --------------- | -------- | ------- | ------------ | ----- |
+| custom-style | 自定义样式 | `string` | - | - |
+| type | 指定 canvas 类型 | `string` | `2d` | |
+| is-disable-scroll | 触摸图表时是否禁止页面滚动 | `boolean` | `false` | |
+| beforeDelay | 延迟初始化 (毫秒) | `number` | `30` | |
+| enableHover | PC端使用鼠标悬浮 | `boolean` | `false` | |
+
+## 事件
+
+| 参数 | 说明 |
+| --------------- | --------------- |
+| init(echarts, chart => {}) | 初始化调用函数,第一个参数是传入`echarts`,第二个参数是回调函数,回调函数的参数是 `chart` 实例 |
+| setChart(chart => {}) | 已经初始化后,请使用这个方法,是个回调函数,参数是 `chart` 实例 |
+| setOption(data) | [图表配置项](https://echarts.apache.org/zh/option.html#title),用于更新 ,传递是数据 `option` |
+| clear() | 清空当前实例,会移除实例中所有的组件和图表。 |
+| dispose() | 销毁实例 |
+| showLoading() | 显示加载 |
+| hideLoading() | 隐藏加载 |
+| [canvasToTempFilePath](https://uniapp.dcloud.io/api/canvas/canvasToTempFilePath.html#canvastotempfilepath)(opt) | 用于生成图片,与官方使用方法一致,但不需要传`canvasId` |
+
+
+## 打赏
+如果你觉得本插件,解决了你的问题,赠人玫瑰,手留余香。
+
+
\ No newline at end of file
diff --git a/uni_modules/lime-echart/static/ecStat.min.js b/uni_modules/lime-echart/static/ecStat.min.js
new file mode 100644
index 0000000..2225296
--- /dev/null
+++ b/uni_modules/lime-echart/static/ecStat.min.js
@@ -0,0 +1 @@
+!function(n,r){"object"==typeof exports&&"object"==typeof module?module.exports=r():"function"==typeof define&&define.amd?define([],r):"object"==typeof exports?exports.ecStat=r():n.ecStat=r()}(this,function(){return function(n){function r(e){if(t[e])return t[e].exports;var o=t[e]={exports:{},id:e,loaded:!1};return n[e].call(o.exports,o,o.exports,r),o.loaded=!0,o.exports}var t={};return r.m=n,r.c=t,r.p="",r(0)}([function(n,r,t){var e;e=function(n){return{clustering:t(6),regression:t(8),statistics:t(15),histogram:t(7),transform:{regression:t(19),histogram:t(18),clustering:t(17)}}}.call(r,t,r,n),!(void 0!==e&&(n.exports=e))},function(n,r,t){var e;e=function(n){function r(n){return n=null===n?NaN:+n,"number"==typeof n&&!isNaN(n)}function t(n){return isFinite(n)&&n===Math.round(n)}function e(n){if(0===n)return 0;var r=Math.floor(Math.log(n)/Math.LN10);return n/Math.pow(10,r)>=10&&r++,r}return{isNumber:r,isInteger:t,quantityExponent:e}}.call(r,t,r,n),!(void 0!==e&&(n.exports=e))},function(n,r,t){var e;e=function(n){function r(n){for(var r=[];t(n);)r.push(n.length),n=n[0];return r}function t(n){return"[object Array]"===l.call(n)}function e(n,r){for(var t=[],e=0;er?1:n0)e=o;else{if(!(i<0))return o+1;t=o+1}}return t}function s(n,r,t){if(n&&r){if(n.map&&n.map===c)return n.map(r,t);for(var e=[],o=0,i=n.length;o=1)return n[t-1];var e=(t-1)*r,o=Math.floor(e),i=n[o],a=n[o+1];return i+(a-i)*(e-o)}}.call(r,t,r,n),!(void 0!==e&&(n.exports=e))},function(n,r,t){var e;e=function(n){function r(n,r){function t(n,r){if(!n)throw new Error("Can not find dimension by "+r)}if(null!=r){var e=n.upstream;if(o.isArray(r)){for(var i=[],a=0;as&&(u.min=s),u.max0?w[E-1]:w[E]-c===M?c:w[E]-M,D[E].x1=E50?50:r},scott:function(n,r,t){return Math.ceil((t-r)/(3.5*a(n)*Math.pow(n.length,-1/3)))},freedmanDiaconis:function(n,r,t){return n.sort(c),Math.ceil((t-r)/(2*(i(n,.75)-i(n,.25))*Math.pow(n.length,-1/3)))},sturges:function(n){return Math.ceil(Math.log(n.length)/Math.LN2)+1}};return r}.call(r,t,r,n),!(void 0!==e&&(n.exports=e))},function(n,r,t){var e;e=function(n){function r(n,r){for(var t=0;tMath.abs(n[t][e])&&(e=o);for(var i=t;i=t;s--)n[s][u]-=n[s][t]/n[t][t]*n[t][u]}for(var l=new Array(r),f=n.length-1,o=n.length-2;o>=0;o--){for(var a=0,t=o+1;t=0;l--)w+=l>1?Math.round(g[l]*Math.pow(10,l+1))/Math.pow(10,l+1)+"x^"+l+" + ":1===l?Math.round(100*g[l])/100+"x + ":Math.round(100*g[l])/100;return{points:x,parameter:g,expression:w}}},u=function(n,r,t){var e="number"==typeof t?{order:t}:t||{},u=i(e.dimensions,[0,1]),s=o(r,{dimensions:u}),l=a[n](s,{order:e.order,dimensions:u}),f=u[0];return l.points.sort(function(n,r){return n[f]-r[f]}),l};return u}.call(r,t,r,n),!(void 0!==e&&(n.exports=e))},function(n,r,t){var e;e=function(n){var r=t(13);return function(n){var t=r(n);return t?Math.sqrt(t):t}}.call(r,t,r,n),!(void 0!==e&&(n.exports=e))},function(n,r,t){var e;e=function(n){function r(n){for(var r=-(1/0),t=0;tr&&(r=n[t]);return r}var e=t(1),o=e.isNumber;return r}.call(r,t,r,n),!(void 0!==e&&(n.exports=e))},function(n,r,t){var e;e=function(n){function r(n){var r=n.length;return r?e(n)/n.length:0}var e=t(14);return r}.call(r,t,r,n),!(void 0!==e&&(n.exports=e))},function(n,r,t){var e;e=function(n){function r(n){for(var r=1/0,t=0;t=2){for(var t,e=i(n),a=0,u=0;u=Math.sqrt(50)?a*=10:u>=Math.sqrt(10)?a*=5:u>=Math.sqrt(2)&&(a*=2);var s=i<0?-i:0,l=+(t>=n?a:-a).toFixed(s);return{step:l,toFixedPrecision:s}}}.call(r,t,r,n),!(void 0!==e&&(n.exports=e))}])});
\ No newline at end of file
diff --git a/uni_modules/lime-echart/static/echarts.min.js b/uni_modules/lime-echart/static/echarts.min.js
new file mode 100644
index 0000000..6d74754
--- /dev/null
+++ b/uni_modules/lime-echart/static/echarts.min.js
@@ -0,0 +1 @@
+!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).echarts={})}(this,function(t){"use strict";var c=function(t,e){return(c=Object.setPrototypeOf||({__proto__:[]}instanceof Array?function(t,e){t.__proto__=e}:function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])}))(t,e)};function u(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}c(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}var p=function(){this.firefox=!1,this.ie=!1,this.edge=!1,this.newEdge=!1,this.weChat=!1},w=new function(){this.browser=new p,this.node=!1,this.wxa=!1,this.worker=!1,this.svgSupported=!1,this.touchEventsSupported=!1,this.pointerEventsSupported=!1,this.domSupported=!1,this.transformSupported=!1,this.transform3dSupported=!1,this.hasGlobalWindow="undefined"!=typeof window};"object"==typeof wx&&"function"==typeof wx.getSystemInfoSync?(w.wxa=!0,w.touchEventsSupported=!0):"undefined"==typeof document&&"undefined"!=typeof self?w.worker=!0:"undefined"==typeof navigator||0===navigator.userAgent.indexOf("Node.js")?(w.node=!0,w.svgSupported=!0):(J=navigator.userAgent,ie=(Vt=w).browser,ot=J.match(/Firefox\/([\d.]+)/),I=J.match(/MSIE\s([\d.]+)/)||J.match(/Trident\/.+?rv:(([\d.]+))/),Q=J.match(/Edge?\/([\d.]+)/),J=/micromessenger/i.test(J),ot&&(ie.firefox=!0,ie.version=ot[1]),I&&(ie.ie=!0,ie.version=I[1]),Q&&(ie.edge=!0,ie.version=Q[1],ie.newEdge=18<+Q[1].split(".")[0]),J&&(ie.weChat=!0),Vt.svgSupported="undefined"!=typeof SVGRect,Vt.touchEventsSupported="ontouchstart"in window&&!ie.ie&&!ie.edge,Vt.pointerEventsSupported="onpointerdown"in window&&(ie.edge||ie.ie&&11<=+ie.version),Vt.domSupported="undefined"!=typeof document,ot=document.documentElement.style,Vt.transform3dSupported=(ie.ie&&"transition"in ot||ie.edge||"WebKitCSSMatrix"in window&&"m11"in new WebKitCSSMatrix||"MozPerspective"in ot)&&!("OTransition"in ot),Vt.transformSupported=Vt.transform3dSupported||ie.ie&&9<=+ie.version);var K="12px sans-serif";var m,v,_=function(t){var e={};if("undefined"!=typeof JSON)for(var n=0;n>1)%2;s.cssText=["position: absolute","visibility: hidden","padding: 0","margin: 0","border-width: 0","user-select: none","width:0","height:0",i[l]+":0",r[u]+":0",i[1-l]+":auto",r[1-u]+":auto",""].join("!important;"),t.appendChild(a),n.push(a)}}return n}(e,o),o,r);if(e)return e(t,n,i),1}}function fe(t){return"CANVAS"===t.nodeName.toUpperCase()}var ge=/([&<>"'])/g,ye={"&":"&","<":"<",">":">",'"':""","'":"'"};function me(t){return null==t?"":(t+"").replace(ge,function(t,e){return ye[e]})}var ve=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,_e=[],xe=w.browser.firefox&&+w.browser.version.split(".")[0]<39;function be(t,e,n,i){return n=n||{},i?we(t,e,n):xe&&null!=e.layerX&&e.layerX!==e.offsetX?(n.zrX=e.layerX,n.zrY=e.layerY):null!=e.offsetX?(n.zrX=e.offsetX,n.zrY=e.offsetY):we(t,e,n),n}function we(t,e,n){if(w.domSupported&&t.getBoundingClientRect){var i,r=e.clientX,e=e.clientY;if(fe(t))return i=t.getBoundingClientRect(),n.zrX=r-i.left,void(n.zrY=e-i.top);if(de(_e,t,r,e))return n.zrX=_e[0],void(n.zrY=_e[1])}n.zrX=n.zrY=0}function Se(t){return t||window.event}function Me(t,e,n){var i;return null==(e=Se(e)).zrX&&((i=e.type)&&0<=i.indexOf("touch")?(i=("touchend"!==i?e.targetTouches:e.changedTouches)[0])&&be(t,i,e,n):(be(t,e,e,n),i=function(t){var e=t.wheelDelta;if(e)return e;var n=t.deltaX,t=t.deltaY;return null!=n&&null!=t?3*(0!==t?Math.abs(t):Math.abs(n))*(0=n.x&&t<=n.x+n.width&&e>=n.y&&e<=n.y+n.height},Ze.prototype.clone=function(){return new Ze(this.x,this.y,this.width,this.height)},Ze.prototype.copy=function(t){Ze.copy(this,t)},Ze.prototype.plain=function(){return{x:this.x,y:this.y,width:this.width,height:this.height}},Ze.prototype.isFinite=function(){return isFinite(this.x)&&isFinite(this.y)&&isFinite(this.width)&&isFinite(this.height)},Ze.prototype.isZero=function(){return 0===this.width||0===this.height},Ze.create=function(t){return new Ze(t.x,t.y,t.width,t.height)},Ze.copy=function(t,e){t.x=e.x,t.y=e.y,t.width=e.width,t.height=e.height},Ze.applyTransform=function(t,e,n){var i,r,o,a;n?n[1]<1e-5&&-1e-5t.getWidth()||n<0||n>t.getHeight()}W(["click","mousedown","mouseup","mousewheel","dblclick","contextmenu"],function(a){on.prototype[a]=function(t){var e,n,i=t.zrX,r=t.zrY,o=ln(this,i,r);if("mouseup"===a&&o||(n=(e=this.findHover(i,r)).target),"mousedown"===a)this._downEl=n,this._downPoint=[t.zrX,t.zrY],this._upEl=n;else if("mouseup"===a)this._upEl=n;else if("click"===a){if(this._downEl!==this._upEl||!this._downPoint||4>>1])<0?l=o:s=1+o;var u=i-s;switch(u){case 3:t[s+3]=t[s+2];case 2:t[s+2]=t[s+1];case 1:t[s+1]=t[s];break;default:for(;0>>1);0>>1);o(t,e[n+h])<0?l=h:a=h+1}return l}function gn(k,L){var P,O,R=hn,N=0,E=[];function e(t){var e=P[t],n=O[t],i=P[t+1],r=O[t+1],t=(O[t]=n+r,t===N-3&&(P[t+1]=P[t+2],O[t+1]=O[t+2]),N--,fn(k[i],k,e,n,0,L));if(e+=t,0!=(n-=t)&&0!==(r=dn(k[e+n-1],k,i,r,r-1,L)))if(n<=r){var o=e,a=n,t=i,s=r,l=0;for(l=0;lO[t+1])break;e(t)}},forceMergeRuns:function(){for(;1>=1;return t+e}(r);do{}while((o=cn(t,n,i,e))=this._maxSize&&0>4|(3840&r)>>8,240&r|(240&r)>>4,15&r|(15&r)<<4,5===i?parseInt(n.slice(4),16)/15:1),di(t,e),e):void ui(e,0,0,0,1):7===i||9===i?0<=(r=parseInt(n.slice(1,7),16))&&r<=16777215?(ui(e,(16711680&r)>>16,(65280&r)>>8,255&r,9===i?parseInt(n.slice(7),16)/255:1),di(t,e),e):void ui(e,0,0,0,1):void 0;var r=n.indexOf("("),o=n.indexOf(")");if(-1!==r&&o+1===i){var i=n.substr(0,r),a=n.substr(r+1,o-(r+1)).split(","),s=1;switch(i){case"rgba":if(4!==a.length)return 3===a.length?ui(e,+a[0],+a[1],+a[2],1):ui(e,0,0,0,1);s=ai(a.pop());case"rgb":return 3<=a.length?(ui(e,oi(a[0]),oi(a[1]),oi(a[2]),3===a.length?s:ai(a[3])),di(t,e),e):void ui(e,0,0,0,1);case"hsla":return 4!==a.length?void ui(e,0,0,0,1):(a[3]=ai(a[3]),gi(a,e),di(t,e),e);case"hsl":return 3!==a.length?void ui(e,0,0,0,1):(gi(a,e),di(t,e),e);default:return}}ui(e,0,0,0,1)}}function gi(t,e){var n=(parseFloat(t[0])%360+360)%360/360,i=ai(t[1]),r=ai(t[2]),i=r<=.5?r*(i+1):r+i-r*i,r=2*r-i;return ui(e=e||[],ii(255*si(r,i,n+1/3)),ii(255*si(r,i,n)),ii(255*si(r,i,n-1/3)),1),4===t.length&&(e[3]=t[3]),e}function yi(t,e){var n=fi(t);if(n){for(var i=0;i<3;i++)n[i]=e<0?n[i]*(1-e)|0:(255-n[i])*e+n[i]|0,255e);g++);g=f(g-1,h-2)}i=u[g+1],n=u[g]}n&&i&&(this._lastFr=g,this._lastFrP=e,d=i.percent-n.percent,r=0==d?1:f((e-n.percent)/d,1),i.easingFunc&&(r=i.easingFunc(r)),f=a?this._additiveValue:p?Ri:t[c],(Oi(l)||p)&&(f=f||(this._additiveValue=[])),this.discrete?t[c]=(r<1?n:i).rawValue:Oi(l)?(1===l?Ci:function(t,e,n,i){for(var r=e.length,o=r&&e[0].length,a=0;athis._sleepAfterStill)&&this.animation.stop()},Zr.prototype.setSleepAfterStill=function(t){this._sleepAfterStill=t},Zr.prototype.wakeUp=function(){this._disposed||(this.animation.start(),this._stillFrameAccum=0)},Zr.prototype.refreshHover=function(){this._needsRefreshHover=!0},Zr.prototype.refreshHoverImmediately=function(){this._disposed||(this._needsRefreshHover=!1,this.painter.refreshHover&&"canvas"===this.painter.getType()&&this.painter.refreshHover())},Zr.prototype.resize=function(t){this._disposed||(this.painter.resize((t=t||{}).width,t.height),this.handler.resize())},Zr.prototype.clearAnimation=function(){this._disposed||this.animation.clear()},Zr.prototype.getWidth=function(){if(!this._disposed)return this.painter.getWidth()},Zr.prototype.getHeight=function(){if(!this._disposed)return this.painter.getHeight()},Zr.prototype.setCursorStyle=function(t){this._disposed||this.handler.setCursorStyle(t)},Zr.prototype.findHover=function(t,e){if(!this._disposed)return this.handler.findHover(t,e)},Zr.prototype.on=function(t,e,n){return this._disposed||this.handler.on(t,e,n),this},Zr.prototype.off=function(t,e){this._disposed||this.handler.off(t,e)},Zr.prototype.trigger=function(t,e){this._disposed||this.handler.trigger(t,e)},Zr.prototype.clear=function(){if(!this._disposed){for(var t=this.storage.getRoots(),e=0;el&&(l=s[h],u=h);++o[u],s[u]=0,++a}return z(o,function(t){return t/i})}function so(t){var e=2*Math.PI;return(t%e+e)%e}function lo(t){return-1e-4=e.maxIterations){t+=e.ellipsis;break}var s=0===a?function(t,e,n,i){for(var r=0,o=0,a=t.length;oo){0i.width&&(o=e.split("\n"),c=!0),i.accumWidth=t):(t=fa(e,h,i.width,i.breakAll,i.accumWidth),i.accumWidth=t.accumWidth+n,a=t.linesWidths,o=t.lines)):o=e.split("\n");for(var p=0;pthis._ux||i>this._uy;return this.addData(Na.L,t,e),this._ctx&&r&&this._ctx.lineTo(t,e),r?(this._xi=t,this._yi=e,this._pendingPtDist=0):(r=n*n+i*i)>this._pendingPtDist&&(this._pendingPtX=t,this._pendingPtY=e,this._pendingPtDist=r),this},r.prototype.bezierCurveTo=function(t,e,n,i,r,o){return this._drawPendingPt(),this.addData(Na.C,t,e,n,i,r,o),this._ctx&&this._ctx.bezierCurveTo(t,e,n,i,r,o),this._xi=r,this._yi=o,this},r.prototype.quadraticCurveTo=function(t,e,n,i){return this._drawPendingPt(),this.addData(Na.Q,t,e,n,i),this._ctx&&this._ctx.quadraticCurveTo(t,e,n,i),this._xi=n,this._yi=i,this},r.prototype.arc=function(t,e,n,i,r,o){return this._drawPendingPt(),Ka[0]=i,Ka[1]=r,Qa(Ka,o),this.addData(Na.A,t,e,n,n,i=Ka[0],(r=Ka[1])-i,0,o?0:1),this._ctx&&this._ctx.arc(t,e,n,i,r,o),this._xi=Ua(r)*n+t,this._yi=Xa(r)*n+e,this},r.prototype.arcTo=function(t,e,n,i,r){return this._drawPendingPt(),this._ctx&&this._ctx.arcTo(t,e,n,i,r),this},r.prototype.rect=function(t,e,n,i){return this._drawPendingPt(),this._ctx&&this._ctx.rect(t,e,n,i),this.addData(Na.R,t,e,n,i),this},r.prototype.closePath=function(){this._drawPendingPt(),this.addData(Na.Z);var t=this._ctx,e=this._x0,n=this._y0;return t&&t.closePath(),this._xi=e,this._yi=n,this},r.prototype.fill=function(t){t&&t.fill(),this.toStatic()},r.prototype.stroke=function(t){t&&t.stroke(),this.toStatic()},r.prototype.len=function(){return this._len},r.prototype.setData=function(t){var e=t.length;this.data&&this.data.length===e||!ja||(this.data=new Float32Array(e));for(var n=0;nu.length&&(this._expandData(),u=this.data);for(var h=0;hn||Ya(y)>i||c===e-1)&&(f=Math.sqrt(C*C+y*y),r=g,o=_);break;case Na.C:var m=t[c++],v=t[c++],g=t[c++],_=t[c++],x=t[c++],b=t[c++],f=function(t,e,n,i,r,o,a,s,l){for(var u=t,h=e,c=0,p=1/l,d=1;d<=l;d++){var f=d*p,g=En(t,n,r,a,f),f=En(e,i,o,s,f),y=g-u,m=f-h;c+=Math.sqrt(y*y+m*m),u=g,h=f}return c}(r,o,m,v,g,_,x,b,10),r=x,o=b;break;case Na.Q:f=function(t,e,n,i,r,o,a){for(var s=t,l=e,u=0,h=1/a,c=1;c<=a;c++){var p=c*h,d=Wn(t,n,r,p),p=Wn(e,i,o,p),f=d-s,g=p-l;u+=Math.sqrt(f*f+g*g),s=d,l=p}return u}(r,o,m=t[c++],v=t[c++],g=t[c++],_=t[c++],10),r=g,o=_;break;case Na.A:var x=t[c++],b=t[c++],w=t[c++],S=t[c++],M=t[c++],I=t[c++],T=I+M;c+=1,d&&(a=Ua(M)*w+x,s=Xa(M)*S+b),f=Ha(w,S)*Wa(Za,Math.abs(I)),r=Ua(T)*w+x,o=Xa(T)*S+b;break;case Na.R:a=r=t[c++],s=o=t[c++];f=2*t[c++]+2*t[c++];break;case Na.Z:var C=a-r,y=s-o;f=Math.sqrt(C*C+y*y),r=a,o=s}0<=f&&(u+=l[h++]=f)}return this._pathLen=u},r.prototype.rebuildPath=function(t,e){var n,i,r,o,a,s,l,u,h=this.data,E=this._ux,B=this._uy,z=this._len,c=e<1,p=0,d=0,f=0;if(!c||(this._pathSegLen||this._calculateLength(),a=this._pathSegLen,s=e*this._pathLen))t:for(var g=0;g=ls[i=0]+t&&a<=ls[1]+t?h:0;rMath.PI/2&&c<1.5*Math.PI?-h:h)}return l}(y,m,_,x,x+b,w,I,r);u=Math.cos(x+b)*v+y,h=Math.sin(x+b)*_+m;break;case os.R:c=u=a[d++],p=h=a[d++];if(S=c+a[d++],M=p+a[d++],n){if(ts(c,p,S,p,e,i,r)||ts(S,p,S,M,e,i,r)||ts(S,M,c,M,e,i,r)||ts(c,M,c,p,e,i,r))return!0}else l=(l+=rs(S,p,S,M,i,r))+rs(c,M,c,p,i,r);break;case os.Z:if(n){if(ts(u,h,c,p,e,i,r))return!0}else l+=rs(u,h,c,p,i,r);u=c,h=p}}return n||(t=h,o=p,Math.abs(t-o)i.len()&&(uMath.abs(i[1])?0e)return t[i];return t[n-1]}var bd,wd="\0_ec_inner",Sd=(u(Md,bd=Gc),Md.prototype.init=function(t,e,n,i,r,o){i=i||{},this.option=null,this._theme=new Gc(i),this._locale=new Gc(r),this._optionManager=o},Md.prototype.setOption=function(t,e,n){e=Cd(e);this._optionManager.setOption(t,n,e),this._resetOption(null,e)},Md.prototype.resetOption=function(t,e){return this._resetOption(t,Cd(e))},Md.prototype._resetOption=function(t,e){var n,i=!1,r=this._optionManager;return t&&"recreate"!==t||(n=r.mountOption("recreate"===t),this.option&&"recreate"!==t?(this.restoreData(),this._mergeOption(n,e)):yd(this,n),i=!0),"timeline"!==t&&"media"!==t||this.restoreData(),t&&"recreate"!==t&&"timeline"!==t||(n=r.getTimelineOption(this))&&(i=!0,this._mergeOption(n,e)),t&&"recreate"!==t&&"media"!==t||(n=r.getMediaOption(this)).length&&W(n,function(t){i=!0,this._mergeOption(t,e)},this),i},Md.prototype.mergeOption=function(t){this._mergeOption(t,null)},Md.prototype._mergeOption=function(i,t){var r=this.option,h=this._componentsMap,c=this._componentsCount,n=[],o=R(),p=t&&t.replaceMergeMainTypeMap;sd(this).datasetMap=R(),W(i,function(t,e){null!=t&&(g.hasClass(e)?e&&(n.push(e),o.set(e,!0)):r[e]=null==r[e]?y(t):d(r[e],t,!0))}),p&&p.each(function(t,e){g.hasClass(e)&&!o.get(e)&&(n.push(e),o.set(e,!0))}),g.topologicalTravel(n,g.getAllClassMainTypes(),function(o){var a,t=function(t,e,n){return(e=(e=dd.get(e))&&e(t))?n.concat(e):n}(this,o,xo(i[o])),e=h.get(o),n=e?p&&p.get(o)?"replaceMerge":"normalMerge":"replaceAll",e=Mo(e,t,n),s=(ko(e,o,g),r[o]=null,h.set(o,null),c.set(o,0),[]),l=[],u=0;W(e,function(t,e){var n=t.existing,i=t.newOption;if(i){var r=g.getClass(o,t.keyInfo.subType,!("series"===o));if(!r)return;if("tooltip"===o){if(a)return;a=!0}n&&n.constructor===r?(n.name=t.keyInfo.name,n.mergeOption(i,this),n.optionUpdated(i,!1)):(e=V({componentIndex:e},t.keyInfo),V(n=new r(i,this,this,e),e),t.brandNew&&(n.__requireNewView=!0),n.init(i,this,this),n.optionUpdated(null,!0))}else n&&(n.mergeOption({},this),n.optionUpdated({},!1));n?(s.push(n.option),l.push(n),u++):(s.push(void 0),l.push(void 0))},this),r[o]=s,h.set(o,l),c.set(o,u),"series"===o&&fd(this)},this),this._seriesIndices||fd(this)},Md.prototype.getOption=function(){var a=y(this.option);return W(a,function(t,e){if(g.hasClass(e)){for(var n=xo(t),i=n.length,r=!1,o=i-1;0<=o;o--)n[o]&&!Do(n[o])?r=!0:(n[o]=null,r||i--);n.length=i,a[e]=n}}),delete a[wd],a},Md.prototype.getTheme=function(){return this._theme},Md.prototype.getLocaleModel=function(){return this._locale},Md.prototype.setUpdatePayload=function(t){this._payload=t},Md.prototype.getUpdatePayload=function(){return this._payload},Md.prototype.getComponent=function(t,e){var n=this._componentsMap.get(t);if(n){t=n[e||0];if(t)return t;if(null==e)for(var i=0;ig[1]&&(g[1]=f)}return{start:a,end:this._rawCount=this._count=s}},l.prototype._initDataFromProvider=function(t,e,n){for(var i=this._provider,r=this._chunks,o=this._dimensions,a=o.length,s=this._rawExtent,l=z(o,function(t){return t.property}),u=0;uf[1]&&(f[1]=g)}!i.persistent&&i.clean&&i.clean(),this._rawCount=this._count=e,this._extent=[]},l.prototype.count=function(){return this._count},l.prototype.get=function(t,e){return 0<=e&&e=this._rawCount||t<0)){if(!this._indices)return t;var e=this._indices,n=e[t];if(null!=n&&nt))return o;r=o-1}}}return-1},l.prototype.indicesOfNearest=function(t,e,n){var i=this._chunks[t],r=[];if(i){null==n&&(n=1/0);for(var o=1/0,a=-1,s=0,l=0,u=this.count();lt[S][1])&&(b=!1)}b&&(a[s++]=e.getRawIndex(f))}return sy[1]&&(y[1]=g)}}}},l.prototype.lttbDownSample=function(t,e){var n,i=this.clone([t],!0),r=i._chunks[t],o=this.count(),a=0,s=Math.floor(1/e),l=this.getRawIndex(0),u=new(fg(this._rawCount))(Math.min(2*(Math.ceil(o/s)+2),o));u[a++]=l;for(var h=1;hh[1]&&(h[1]=y),c[p++]=m}return r._count=p,r._indices=c,r._updateGetRawIdx(),r},l.prototype.each=function(t,e){if(this._count)for(var n=t.length,i=this._chunks,r=0,o=this.count();rthis.getShallow("animationThreshold")?!1:t)},o.prototype.restoreData=function(){this.dataTask.dirty()},o.prototype.getColorFromPalette=function(t,e,n){var i=this.ecModel;return vd.prototype.getColorFromPalette.call(this,t,e,n)||i.getColorFromPalette(t,e,n)},o.prototype.coordDimToDataDim=function(t){return this.getRawData().mapDimensionsAll(t)},o.prototype.getProgressive=function(){return this.get("progressive")},o.prototype.getProgressiveThreshold=function(){return this.get("progressiveThreshold")},o.prototype.select=function(t,e){this._innerSelect(this.getData(e),t)},o.prototype.unselect=function(t,e){var n=this.option.selectedMap;if(n){var i=this.option.selectedMode,r=this.getData(e);if("series"===i||"all"===n)this.option.selectedMap={},this._selectedDataIndicesMap={};else for(var o=0;oe.outputData.count()&&e.model.getRawData().cloneShallow(e.outputData)}function Ng(e,n){W(Nt(e.CHANGABLE_METHODS,e.DOWNSAMPLE_METHODS),function(t){e.wrapMethod(t,D(Eg,n))})}function Eg(t,e){t=Bg(t);return t&&t.setOutputEnd((e||this).count()),e}function Bg(t){var e,n=(t.ecModel||{}).scheduler,n=n&&n.getPipeline(t.uid);if(n)return(n=n.currentTask)&&(e=n.agentStubMap)?e.get(t.uid):n}st(kg,zc),st(kg,vd),Xo(kg,g);Fg.prototype.init=function(t,e){},Fg.prototype.render=function(t,e,n,i){},Fg.prototype.dispose=function(t,e){},Fg.prototype.updateView=function(t,e,n,i){},Fg.prototype.updateLayout=function(t,e,n,i){},Fg.prototype.updateVisual=function(t,e,n,i){},Fg.prototype.toggleBlurSeries=function(t,e,n){},Fg.prototype.eachRendered=function(t){var e=this.group;e&&e.traverse(t)};var zg=Fg;function Fg(){this.group=new Wr,this.uid=Uc("viewComponent")}function Vg(){var o=Po();return function(t){var e=o(t),t=t.pipelineContext,n=!!e.large,i=!!e.progressiveRender,r=e.large=!(!t||!t.large),e=e.progressiveRender=!(!t||!t.progressiveRender);return!(n==r&&i==e)&&"reset"}}Uo(zg),jo(zg);var Gg=Po(),Wg=Vg(),Hg=(Ug.prototype.init=function(t,e){},Ug.prototype.render=function(t,e,n,i){},Ug.prototype.highlight=function(t,e,n,i){t=t.getData(i&&i.dataType);t&&Yg(t,i,"emphasis")},Ug.prototype.downplay=function(t,e,n,i){t=t.getData(i&&i.dataType);t&&Yg(t,i,"normal")},Ug.prototype.remove=function(t,e){this.group.removeAll()},Ug.prototype.dispose=function(t,e){},Ug.prototype.updateView=function(t,e,n,i){this.render(t,e,n,i)},Ug.prototype.updateLayout=function(t,e,n,i){this.render(t,e,n,i)},Ug.prototype.updateVisual=function(t,e,n,i){this.render(t,e,n,i)},Ug.prototype.eachRendered=function(t){pc(this.group,t)},Ug.markUpdateMethod=function(t,e){Gg(t).updateMethod=e},Ug.protoInitialize=void(Ug.prototype.type="chart"),Ug);function Ug(){this.group=new Wr,this.uid=Uc("viewChart"),this.renderTask=Pf({plan:qg,reset:Zg}),this.renderTask.context={view:this}}function Xg(t,e,n){t&&Xl(t)&&("emphasis"===e?Cl:Al)(t,n)}function Yg(e,t,n){var i,r=Lo(e,t),o=t&&null!=t.highlightKey?(t=t.highlightKey,i=null==(i=Qs[t])&&$s<=32?Qs[t]=$s++:i):null;null!=r?W(xo(r),function(t){Xg(e.getItemGraphicEl(t),n,o)}):e.eachItemGraphicEl(function(t){Xg(t,n,o)})}function qg(t){return Wg(t.model)}function Zg(t){var e=t.model,n=t.ecModel,i=t.api,r=t.payload,o=e.pipelineContext.progressiveRender,t=t.view,a=r&&Gg(r).updateMethod,o=o?"incrementalPrepareRender":a&&t[a]?a:"render";return"render"!==o&&t[o](e,n,i,r),jg[o]}Uo(Hg),jo(Hg);var jg={incrementalPrepareRender:{progress:function(t,e){e.view.incrementalRender(t,e.model,e.ecModel,e.api,e.payload)}},render:{forceFirstProgress:!0,progress:function(t,e){e.view.render(e.model,e.ecModel,e.api,e.payload)}}},Kg="\0__throttleOriginMethod",$g="\0__throttleRate",Qg="\0__throttleType";function Jg(t,r,o){var a,s,l,u,h,c=0,p=0,d=null;function f(){p=(new Date).getTime(),d=null,t.apply(l,u||[])}r=r||0;function e(){for(var t=[],e=0;en.blockIndex?n.step:null,modBy:null!=(t=i&&i.modDataCount)?Math.ceil(t/e):null,modDataCount:t}},ly.prototype.getPipeline=function(t){return this._pipelineMap.get(t)},ly.prototype.updateStreamModes=function(t,e){var n=this._pipelineMap.get(t.uid),i=t.getData().count(),e=n.progressiveEnabled&&e.incrementalPrepareRender&&i>=n.threshold,r=t.get("large")&&i>=t.get("largeThreshold"),i="mod"===t.get("progressiveChunkMode")?i:null;t.pipelineContext=n.context={progressiveRender:e,modDataCount:i,large:r}},ly.prototype.restorePipelines=function(t){var i=this,r=i._pipelineMap=R();t.eachSeries(function(t){var e=t.getProgressive(),n=t.uid;r.set(n,{id:n,head:null,tail:null,threshold:t.getProgressiveThreshold(),progressiveEnabled:e&&!(t.preventIncremental&&t.preventIncremental()),blockIndex:-1,step:Math.round(e||700),count:0}),i._pipe(t,t.dataTask)})},ly.prototype.prepareStageTasks=function(){var n=this._stageTaskMap,i=this.api.getModel(),r=this.api;W(this._allHandlers,function(t){var e=n.get(t.uid)||n.set(t.uid,{});It(!(t.reset&&t.overallReset),""),t.reset&&this._createSeriesStageTask(t,e,i,r),t.overallReset&&this._createOverallStageTask(t,e,i,r)},this)},ly.prototype.prepareView=function(t,e,n,i){var r=t.renderTask,o=r.context;o.model=e,o.ecModel=n,o.api=i,r.__block=!t.incrementalPrepareRender,this._pipe(e,r)},ly.prototype.performDataProcessorTasks=function(t,e){this._performStageTasks(this._dataProcessorHandlers,t,e,{block:!0})},ly.prototype.performVisualTasks=function(t,e,n){this._performStageTasks(this._visualHandlers,t,e,n)},ly.prototype._performStageTasks=function(t,s,l,u){u=u||{};var h=!1,c=this;function p(t,e){return t.setDirty&&(!t.dirtyMap||t.dirtyMap.get(e.__pipeline.id))}W(t,function(i,t){var e,n,r,o,a;u.visualType&&u.visualType!==i.visualType||(e=(n=c._stageTaskMap.get(i.uid)).seriesTaskMap,(n=n.overallTask)?((o=n.agentStubMap).each(function(t){p(u,t)&&(t.dirty(),r=!0)}),r&&n.dirty(),c.updatePayload(n,l),a=c.getPerformArgs(n,u.block),o.each(function(t){t.perform(a)}),n.perform(a)&&(h=!0)):e&&e.each(function(t,e){p(u,t)&&t.dirty();var n=c.getPerformArgs(t,u.block);n.skip=!i.performRawSeries&&s.isSeriesFiltered(t.context.model),c.updatePayload(t,l),t.perform(n)&&(h=!0)}))}),this.unfinished=h||this.unfinished},ly.prototype.performSeriesTasks=function(t){var e;t.eachSeries(function(t){e=t.dataTask.perform()||e}),this.unfinished=e||this.unfinished},ly.prototype.plan=function(){this._pipelineMap.each(function(t){var e=t.tail;do{if(e.__block){t.blockIndex=e.__idxInPipeline;break}}while(e=e.getUpstream())})},ly.prototype.updatePayload=function(t,e){"remain"!==e&&(t.context.payload=e)},ly.prototype._createSeriesStageTask=function(n,t,i,r){var o=this,a=t.seriesTaskMap,s=t.seriesTaskMap=R(),t=n.seriesType,e=n.getTargetSeries;function l(t){var e=t.uid,e=s.set(e,a&&a.get(e)||Pf({plan:dy,reset:fy,count:my}));e.context={model:t,ecModel:i,api:r,useClearVisual:n.isVisual&&!n.isLayout,plan:n.plan,reset:n.reset,scheduler:o},o._pipe(t,e)}n.createOnAllSeries?i.eachRawSeries(l):t?i.eachRawSeriesByType(t,l):e&&e(i,r).each(l)},ly.prototype._createOverallStageTask=function(t,e,n,i){var r=this,o=e.overallTask=e.overallTask||Pf({reset:uy}),a=(o.context={ecModel:n,api:i,overallReset:t.overallReset,scheduler:r},o.agentStubMap),s=o.agentStubMap=R(),e=t.seriesType,l=t.getTargetSeries,u=!0,h=!1;function c(t){var e=t.uid,e=s.set(e,a&&a.get(e)||(h=!0,Pf({reset:hy,onDirty:py})));e.context={model:t,overallProgress:u},e.agent=o,e.__block=u,r._pipe(t,e)}It(!t.createOnAllSeries,""),e?n.eachRawSeriesByType(e,c):l?l(n,i).each(c):(u=!1,W(n.getSeries(),c)),h&&o.dirty()},ly.prototype._pipe=function(t,e){t=t.uid,t=this._pipelineMap.get(t);t.head||(t.head=e),t.tail&&t.tail.pipe(e),(t.tail=e).__idxInPipeline=t.count++,e.__pipeline=t},ly.wrapStageHandler=function(t,e){return(t=C(t)?{overallReset:t,seriesType:function(t){vy=null;try{t(_y,xy)}catch(t){}return vy}(t)}:t).uid=Uc("stageHandler"),e&&(t.visualType=e),t};var sy=ly;function ly(t,e,n,i){this._stageTaskMap=R(),this.ecInstance=t,this.api=e,n=this._dataProcessorHandlers=n.slice(),i=this._visualHandlers=i.slice(),this._allHandlers=n.concat(i)}function uy(t){t.overallReset(t.ecModel,t.api,t.payload)}function hy(t){return t.overallProgress&&cy}function cy(){this.agent.dirty(),this.getDownstream().dirty()}function py(){this.agent&&this.agent.dirty()}function dy(t){return t.plan?t.plan(t.model,t.ecModel,t.api,t.payload):null}function fy(t){t.useClearVisual&&t.data.clearAllVisual();t=t.resetDefines=xo(t.reset(t.model,t.ecModel,t.api,t.payload));return 1'+t.dom+""}),f.painter.getSvgRoot().innerHTML=g,i.connectedBackgroundColor&&f.painter.setBackgroundColor(i.connectedBackgroundColor),f.refreshImmediately(),f.painter.toDataURL()):(i.connectedBackgroundColor&&f.add(new Os({shape:{x:0,y:0,width:t,height:n},style:{fill:i.connectedBackgroundColor}})),W(p,function(t){t=new Ms({style:{x:t.left*e-l,y:t.top*e-u,image:t.dom}});f.add(t)}),f.refreshImmediately(),d.toDataURL("image/"+(i&&i.type||"png")))):this.getDataURL(i);this.id},s.prototype.convertToPixel=function(t,e){return Gm(this,"convertToPixel",t,e)},s.prototype.convertFromPixel=function(t,e){return Gm(this,"convertFromPixel",t,e)},s.prototype.containPixel=function(t,i){var r;if(!this._disposed)return W(Ro(this._model,t),function(t,n){0<=n.indexOf("Models")&&W(t,function(t){var e=t.coordinateSystem;e&&e.containPoint?r=r||!!e.containPoint(i):"seriesModels"===n&&(e=this._chartsMap[t.__viewId])&&e.containPoint&&(r=r||e.containPoint(i,t))},this)},this),!!r;this.id},s.prototype.getVisual=function(t,e){var t=Ro(this._model,t,{defaultMainType:"series"}),n=t.seriesModel.getData(),t=t.hasOwnProperty("dataIndexInside")?t.dataIndexInside:t.hasOwnProperty("dataIndex")?n.indexOfRawIndex(t.dataIndex):null;if(null==t)return Dy(n,e);var i=n,r=t,o=e;switch(o){case"color":return i.getItemVisual(r,"style")[i.getVisual("drawType")];case"opacity":return i.getItemVisual(r,"style").opacity;case"symbol":case"symbolSize":case"liftZ":return i.getItemVisual(r,o)}},s.prototype.getViewOfComponentModel=function(t){return this._componentsMap[t.__viewId]},s.prototype.getViewOfSeriesModel=function(t){return this._chartsMap[t.__viewId]},s.prototype._initEvents=function(){var t,n,i,s=this;W(l0,function(a){function t(t){var n,e,i,r=s.getModel(),o=t.target;"globalout"===a?n={}:o&&Py(o,function(t){var e,t=A(t);return t&&null!=t.dataIndex?(e=t.dataModel||r.getSeriesByIndex(t.seriesIndex),n=e&&e.getDataParams(t.dataIndex,t.dataType,o)||{},1):t.eventData&&(n=V({},t.eventData),1)},!0),n&&(e=n.componentType,i=n.componentIndex,"markLine"!==e&&"markPoint"!==e&&"markArea"!==e||(e="series",i=n.seriesIndex),i=(e=e&&null!=i&&r.getComponent(e,i))&&s["series"===e.mainType?"_chartsMap":"_componentsMap"][e.__viewId],n.event=t,n.type=a,s._$eventProcessor.eventInfo={targetEl:o,packedEvent:n,model:e,view:i},s.trigger(a,n))}t.zrEventfulCallAtLast=!0,s._zr.on(a,t,s)}),W(h0,function(t,e){s._messageCenter.on(e,function(t){this.trigger(e,t)},s)}),W(["selectchanged"],function(e){s._messageCenter.on(e,function(t){this.trigger(e,t)},s)}),t=this._messageCenter,i=(n=this)._api,t.on("selectchanged",function(t){var e=i.getModel();t.isFromClick?(Ly("map","selectchanged",n,e,t),Ly("pie","selectchanged",n,e,t)):"select"===t.fromAction?(Ly("map","selected",n,e,t),Ly("pie","selected",n,e,t)):"unselect"===t.fromAction&&(Ly("map","unselected",n,e,t),Ly("pie","unselected",n,e,t))})},s.prototype.isDisposed=function(){return this._disposed},s.prototype.clear=function(){this._disposed?this.id:this.setOption({series:[]},!0)},s.prototype.dispose=function(){var t,e,n;this._disposed?this.id:(this._disposed=!0,this.getDom()&&zo(this.getDom(),x0,""),e=(t=this)._api,n=t._model,W(t._componentsViews,function(t){t.dispose(n,e)}),W(t._chartsViews,function(t){t.dispose(n,e)}),t._zr.dispose(),t._dom=t._model=t._chartsMap=t._componentsMap=t._chartsViews=t._componentsViews=t._scheduler=t._api=t._zr=t._throttledZrFlush=t._theme=t._coordSysMgr=t._messageCenter=null,delete y0[t.id])},s.prototype.resize=function(t){if(!this[Tm])if(this._disposed)this.id;else{this._zr.resize(t);var e=this._model;if(this._loadingFX&&this._loadingFX.resize(),e){var e=e.resetOption("media"),n=t&&t.silent;this[Cm]&&(null==n&&(n=this[Cm].silent),e=!0,this[Cm]=null),this[Tm]=!0;try{e&&Bm(this),Vm.update.call(this,{type:"resize",animation:V({duration:0},t&&t.animation)})}catch(t){throw this[Tm]=!1,t}this[Tm]=!1,Um.call(this,n),Xm.call(this,n)}}},s.prototype.showLoading=function(t,e){this._disposed?this.id:(P(t)&&(e=t,t=""),t=t||"default",this.hideLoading(),g0[t]&&(t=g0[t](this._api,e),e=this._zr,this._loadingFX=t,e.add(t)))},s.prototype.hideLoading=function(){this._disposed?this.id:(this._loadingFX&&this._zr.remove(this._loadingFX),this._loadingFX=null)},s.prototype.makeActionFromEvent=function(t){var e=V({},t);return e.type=h0[t.type],e},s.prototype.dispatchAction=function(t,e){var n;this._disposed?this.id:(P(e)||(e={silent:!!e}),u0[t.type]&&this._model&&(this[Tm]?this._pendingActions.push(t):(n=e.silent,Hm.call(this,t,n),(t=e.flush)?this._zr.flush():!1!==t&&w.browser.weChat&&this._throttledZrFlush(),Um.call(this,n),Xm.call(this,n))))},s.prototype.updateLabelLayout=function(){Mm.trigger("series:layoutlabels",this._model,this._api,{updatedSeries:[]})},s.prototype.appendData=function(t){var e;this._disposed?this.id:(e=t.seriesIndex,this.getModel().getSeriesByIndex(e).appendData(t),this._scheduler.unfinished=!0,this.getZr().wakeUp())},s.internalField=(Bm=function(t){var e=t._scheduler;e.restorePipelines(t._model),e.prepareStageTasks(),zm(t,!0),zm(t,!1),e.plan()},zm=function(t,r){for(var o=t._model,a=t._scheduler,s=r?t._componentsViews:t._chartsViews,l=r?t._componentsMap:t._chartsMap,u=t._zr,h=t._api,e=0;es.get("hoverLayerThreshold")&&!w.node&&!w.worker&&s.eachSeries(function(t){t.preventUsingHoverLayer||(t=i._chartsMap[t.__viewId]).__alive&&t.eachRendered(function(t){t.states.emphasis&&(t.states.emphasis.hoverLayer=!0)})}),Mm.trigger("series:afterupdate",t,e,n)},Jm=function(t){t[Am]=!0,t.getZr().wakeUp()},t0=function(t){t[Am]&&(t.getZr().storage.traverse(function(t){Eh(t)||r0(t)}),t[Am]=!1)},$m=function(n){return u(t,e=Ad),t.prototype.getCoordinateSystems=function(){return n._coordSysMgr.getCoordinateSystems()},t.prototype.getComponentByElement=function(t){for(;t;){var e=t.__ecComponentInfo;if(null!=e)return n._model.getComponent(e.mainType,e.index);t=t.parent}},t.prototype.enterEmphasis=function(t,e){Cl(t,e),Jm(n)},t.prototype.leaveEmphasis=function(t,e){Al(t,e),Jm(n)},t.prototype.enterBlur=function(t){Dl(t),Jm(n)},t.prototype.leaveBlur=function(t){kl(t),Jm(n)},t.prototype.enterSelect=function(t){Ll(t),Jm(n)},t.prototype.leaveSelect=function(t){Pl(t),Jm(n)},t.prototype.getModel=function(){return n.getModel()},t.prototype.getViewOfComponentModel=function(t){return n.getViewOfComponentModel(t)},t.prototype.getViewOfSeriesModel=function(t){return n.getViewOfSeriesModel(t)},new t(n);function t(){return null!==e&&e.apply(this,arguments)||this}var e},void(Qm=function(i){function r(t,e){for(var n=0;ne[1]&&(e[1]=t[1])},wv.prototype.unionExtentFromData=function(t,e){this.unionExtent(t.getApproximateExtent(e))},wv.prototype.getExtent=function(){return this._extent.slice()},wv.prototype.setExtent=function(t,e){var n=this._extent;isNaN(t)||(n[0]=t),isNaN(e)||(n[1]=e)},wv.prototype.isInExtentRange=function(t){return this._extent[0]<=t&&this._extent[1]>=t},wv.prototype.isBlank=function(){return this._isBlank},wv.prototype.setBlank=function(t){this._isBlank=t};var bv=wv;function wv(t){this._setting=t||{},this._extent=[1/0,-1/0]}jo(bv);var Sv=0,Mv=(Iv.createByAxisModel=function(t){var t=t.option,e=t.data,e=e&&z(e,Tv);return new Iv({categories:e,needCollect:!e,deduplication:!1!==t.dedplication})},Iv.prototype.getOrdinal=function(t){return this._getOrCreateMap().get(t)},Iv.prototype.parseAndCollect=function(t){var e,n,i=this._needCollect;return U(t)||i?(i&&!this._deduplication?(n=this.categories.length,this.categories[n]=t):null==(n=(e=this._getOrCreateMap()).get(t))&&(i?(n=this.categories.length,this.categories[n]=t,e.set(t,n)):n=NaN),n):t},Iv.prototype._getOrCreateMap=function(){return this._map||(this._map=R(this.categories))},Iv);function Iv(t){this.categories=t.categories||[],this._needCollect=t.needCollect,this._deduplication=t.deduplication,this.uid=++Sv}function Tv(t){return P(t)&&null!=t.value?t.value:t+""}function Cv(t){return"interval"===t.type||"log"===t.type}function Av(t,e,n,i){var r={},o=t[1]-t[0],o=r.interval=fo(o/e,!0),e=(null!=n&&oi[1]&&(i[0]=i[1]),r}function Dv(t){var e=Math.pow(10,po(t)),t=t/e;return t?2===t?t=3:3===t?t=5:t*=2:t=1,eo(t*e)}function kv(t){return io(t)+2}function Lv(t,e,n){t[e]=Math.max(Math.min(t[e],n[1]),n[0])}function Pv(t,e){return t>=e[0]&&t<=e[1]}function Ov(t,e){return e[1]===e[0]?.5:(t-e[0])/(e[1]-e[0])}function Rv(t,e){return t*(e[1]-e[0])+e[0]}u(Bv,Nv=bv),Bv.prototype.parse=function(t){return null==t?NaN:U(t)?this._ordinalMeta.getOrdinal(t):Math.round(t)},Bv.prototype.contain=function(t){return Pv(t=this.parse(t),this._extent)&&null!=this._ordinalMeta.categories[t]},Bv.prototype.normalize=function(t){return Ov(t=this._getTickNumber(this.parse(t)),this._extent)},Bv.prototype.scale=function(t){return t=Math.round(Rv(t,this._extent)),this.getRawOrdinalNumber(t)},Bv.prototype.getTicks=function(){for(var t=[],e=this._extent,n=e[0];n<=e[1];)t.push({value:n}),n++;return t},Bv.prototype.getMinorTicks=function(t){},Bv.prototype.setSortInfo=function(t){if(null==t)this._ordinalNumbersByTick=this._ticksByOrdinalNumber=null;else{for(var e=t.ordinalNumbers,n=this._ordinalNumbersByTick=[],i=this._ticksByOrdinalNumber=[],r=0,o=this._ordinalMeta.categories.length,a=Math.min(o,e.length);r=t},Bv.prototype.getOrdinalMeta=function(){return this._ordinalMeta},Bv.prototype.calcNiceTicks=function(){},Bv.prototype.calcNiceExtent=function(){},Bv.type="ordinal";var Nv,Ev=Bv;function Bv(t){var t=Nv.call(this,t)||this,e=(t.type="ordinal",t.getSetting("ordinalMeta"));return F(e=e||new Mv({}))&&(e=new Mv({categories:z(e,function(t){return P(t)?t.value:t})})),t._ordinalMeta=e,t._extent=t.getSetting("extent")||[0,e.categories.length-1],t}bv.registerClass(Ev);var zv,Fv=eo,Vv=(u(Gv,zv=bv),Gv.prototype.parse=function(t){return t},Gv.prototype.contain=function(t){return Pv(t,this._extent)},Gv.prototype.normalize=function(t){return Ov(t,this._extent)},Gv.prototype.scale=function(t){return Rv(t,this._extent)},Gv.prototype.setExtent=function(t,e){var n=this._extent;isNaN(t)||(n[0]=parseFloat(t)),isNaN(e)||(n[1]=parseFloat(e))},Gv.prototype.unionExtent=function(t){var e=this._extent;t[0]e[1]&&(e[1]=t[1]),this.setExtent(e[0],e[1])},Gv.prototype.getInterval=function(){return this._interval},Gv.prototype.setInterval=function(t){this._interval=t,this._niceExtent=this._extent.slice(),this._intervalPrecision=kv(t)},Gv.prototype.getTicks=function(t){var e=this._interval,n=this._extent,i=this._niceExtent,r=this._intervalPrecision,o=[];if(e){n[0]s&&o.push(t?{value:Fv(s+e,r)}:{value:n[1]})}return o},Gv.prototype.getMinorTicks=function(t){for(var e=this.getTicks(!0),n=[],i=this.getExtent(),r=1;ri[0]&&h=M[0]&&d<=M[1]&&a++)}u=(M[1]-M[0])/w;if(1.5*u=M[0]&&t.value<=M[1]&&!t.notAdd})}),function(t){return 0n&&(this._approxInterval=n),n_.length),t=Math.min(function(t,e,n,i){for(;n>>1;t[r][1]>1^-(1&s),l=(l=t.charCodeAt(a+1)-64)>>1^-(1&l);i.push([(r=s+=r)/n,(o=l+=o)/n])}return i}function K_(t,o){var e,n,r;return z(ht((t=(e=t).UTF8Encoding?(null==(r=(n=e).UTF8Scale)&&(r=1024),W(n.features,function(t){var e=t.geometry,n=e.encodeOffsets,i=e.coordinates;if(n)switch(e.type){case"LineString":e.coordinates=j_(i,n,r);break;case"Polygon":case"MultiLineString":Z_(i,n,r);break;case"MultiPolygon":W(i,function(t,e){return Z_(t,n[e],r)})}}),n.UTF8Encoding=!1,n):e).features,function(t){return t.geometry&&t.properties&&0':'':{renderMode:r,content:"{"+(t.markerId||"markerX")+"|} ",style:"subItem"===i?{width:4,height:4,borderRadius:2,backgroundColor:n}:{width:10,height:10,borderRadius:5,backgroundColor:n}}:""},normalizeCssArray:Ap,toCamelCase:function(t,e){return t=(t||"").toLowerCase().replace(/-(.)/g,function(t,e){return e.toUpperCase()}),t=e?t&&t.charAt(0).toUpperCase()+t.slice(1):t},truncateText:oa}),Ay=Object.freeze({__proto__:null,bind:pt,clone:y,curry:D,defaults:B,each:W,extend:V,filter:ht,indexOf:G,inherits:at,isArray:F,isFunction:C,isObject:P,isString:U,map:z,merge:d,reduce:ut}),$_=Po();function Q_(t){return"category"===t.type?(r=(e=t).getLabelModel(),o=t1(e,r),!r.get("show")||e.scale.isBlank()?{labels:[],labelCategoryInterval:o.labelCategoryInterval}:o):(r=(n=t).scale.getTicks(),i=S_(n),{labels:z(r,function(t,e){return{level:t.level,formattedLabel:i(t,e),rawLabel:n.scale.getLabel(t),tickValue:t.value}})});var n,i,e,r,o}function J_(t,e){var n,i,r,o,a,s;return"category"===t.type?(e=e,o=e1(n=t,"ticks"),a=T_(e),(s=n1(o,a))||(e.get("show")&&!n.scale.isBlank()||(i=[]),i=C(a)?o1(n,a,!0):"auto"===a?(s=t1(n,n.getLabelModel()),r=s.labelCategoryInterval,z(s.labels,function(t){return t.tickValue})):r1(n,r=a,!0),i1(o,a,{ticks:i,tickCategoryInterval:r}))):{ticks:z(t.scale.getTicks(),function(t){return t.value})}}function t1(t,e){var n,i=e1(t,"labels"),e=T_(e),r=n1(i,e);return r||i1(i,e,{labels:C(e)?o1(t,e):r1(t,n="auto"===e?null!=(i=$_(r=t).autoInterval)?i:$_(r).autoInterval=r.calculateCategoryInterval():e),labelCategoryInterval:n})}function e1(t,e){return $_(t)[e]||($_(t)[e]=[])}function n1(t,e){for(var n=0;nl[1],h(n[0].coord,l[0])&&(t?n[0].coord=l[0]:n.shift()),t&&h(l[0],n[0].coord)&&n.unshift({coord:l[0]}),h(l[1],i.coord)&&(t?i.coord=l[1]:n.pop()),t)&&h(i.coord,l[1])&&n.push({coord:l[1]}),u},s1.prototype.getMinorTicksCoords=function(){var t;return"ordinal"===this.scale.type?[]:(t=this.model.getModel("minorTick").get("splitNumber"),z(this.scale.getMinorTicks(t=0=u}}for(var o,a=this.__startIndex;ar[0]){for(l=0;lt);l++);s=i[r[l]]}r.splice(l+1,0,t),(i[t]=e).virtual||(s?(n=s.dom).nextSibling?a.insertBefore(e.dom,n.nextSibling):a.appendChild(e.dom):a.firstChild?a.insertBefore(e.dom,a.firstChild):a.appendChild(e.dom)),e.painter||(e.painter=this)}},K1.prototype.eachLayer=function(t,e){for(var n=this._zlevelList,i=0;ie&&(e=t[n]);return isFinite(e)?e:NaN},min:function(t){for(var e=1/0,n=0;n=r.r0?"endArc":"startArc":r.endAngle>=r.startAngle?"endAngle":"startAngle":a?0<=r.height?"bottom":"top":0<=r.width?"right":"left"),h=vc(i),l=(mc(t,h,{labelFetcher:o,labelDataIndex:n,defaultText:_x(o.getData(),n),inheritColor:l.fill,defaultOpacity:l.opacity,defaultOutsidePosition:u}),t.getTextContent()),u=(s&&l&&(s=i.get(["label","position"]),t.textConfig.inside="middle"===s||null,function(t,e,n,i){if(X(i))t.setTextConfig({rotation:i});else if(F(e))t.setTextConfig({rotation:0});else{var r,i=t.shape,o=i.clockwise?i.startAngle:i.endAngle,a=i.clockwise?i.endAngle:i.startAngle,s=(o+a)/2,i=n(e);switch(i){case"startArc":case"insideStartArc":case"middle":case"insideEndArc":case"endArc":r=s;break;case"startAngle":case"insideStartAngle":r=o;break;case"endAngle":case"insideEndAngle":r=a;break;default:return t.setTextConfig({rotation:0})}n=1.5*Math.PI-r;"middle"===i&&n>Math.PI/2&&n<1.5*Math.PI&&(n-=Math.PI),t.setTextConfig({rotation:n})}}(t,"outside"===s?u:s,zx(a),i.get(["label","rotate"]))),Tc(l,h,o.getRawValue(n),function(t){return xx(e,t)}),i.getModel(["emphasis"]));Vl(t,u.get("focus"),u.get("blurScope"),u.get("disabled")),Hl(t,i),null!=(s=r).startAngle&&null!=s.endAngle&&s.startAngle===s.endAngle&&(t.style.fill="none",t.style.stroke="none",W(t.states,function(t){t.style&&(t.style.fill=t.style.stroke="none")}))}var Vx,Gx=function(){},Wx=(u(Hx,Vx=j),Hx.prototype.getDefaultShape=function(){return new Gx},Hx.prototype.buildPath=function(t,e){for(var n=e.points,i=this.baseDimIdx,r=1-this.baseDimIdx,o=[],a=[],s=this.barWidth,l=0;le[u-1].coord&&(e.reverse(),h.reverse()),function(t,e){var n,i,r=[],o=t.length;function a(t,e,n){var i=t.coord;return{coord:n,color:_i((n-i)/(e.coord-i),[t.color,e.color])}}for(var s=0;si)return;return 1}(a,e))return r=e.mapDimension(a.dim),o={},W(a.getViewLabels(),function(t){t=a.scale.getRawOrdinalNumber(t.tickValue);o[t]=1}),function(t){return!o.hasOwnProperty(e.get(r,t))}}}function Ab(t){for(var e,n,i=t.length/2;0l?x:_,(g=Math.abs(d.label.y-l))>=f.maxY&&(m=d.label.x-s-d.len2*h,y=u+d.len,m=Math.abs(m)t.unconstrainedWidth)?null:s,i.setStyle("width",l)),u=i.getBoundingRect(),r.width=u.width,e=(i.style.margin||0)+2.1,r.height=u.height+e,r.y-=(r.height-a)/2)}function Xb(t){return"center"===t.position}function Yb(t){var S,M,I=t.getData(),T=[],C=!1,A=(t.get("minShowLabelAngle")||0)*Wb,e=I.getLayout("viewRect"),D=I.getLayout("r"),k=e.width,L=e.x,n=e.y,e=e.height;function P(t){t.ignore=!0}if(I.each(function(t){var e,n,i,r,o,a,s,l,u,h,c=I.getItemGraphicEl(t),p=c.shape,d=c.getTextContent(),f=c.getTextGuideLine(),t=I.getItemModel(t),g=t.getModel("label"),y=g.get("position")||t.get(["emphasis","label","position"]),m=g.get("distanceToLabelLine"),v=g.get("alignTo"),_=Z(g.get("edgeDistance"),k),x=g.get("bleedMargin"),t=t.getModel("labelLine"),b=Z(t.get("length"),k),w=Z(t.get("length2"),k);Math.abs(p.endAngle-p.startAngle)=e.r0},Qb.type="pie";var Kb,$b=Qb;function Qb(){var t=null!==Kb&&Kb.apply(this,arguments)||this;return t.ignoreLabelLineUpdate=!0,t}function Jb(t,e,n){e=F(e)?{coordDimensions:e}:V({encodeDefine:t.getEncode()},e);var i=t.getSource(),e=dv(i,e).dimensions,e=new pv(e,t);return e.initData(i,n),e}ew.prototype.getAllNames=function(){var t=this._getRawData();return t.mapArray(t.getName)},ew.prototype.containName=function(t){return 0<=this._getRawData().indexOfName(t)},ew.prototype.indexOfName=function(t){return this._getDataWithEncodedVisual().indexOfName(t)},ew.prototype.getItemVisual=function(t,e){return this._getDataWithEncodedVisual().getItemVisual(t,e)};var tw=ew;function ew(t,e){this._getDataWithEncodedVisual=t,this._getRawData=e}var nw,iw=Po(),rw=(u(ow,nw=kg),ow.prototype.init=function(t){nw.prototype.init.apply(this,arguments),this.legendVisualProvider=new tw(pt(this.getData,this),pt(this.getRawData,this)),this._defaultLabelLine(t)},ow.prototype.mergeOption=function(){nw.prototype.mergeOption.apply(this,arguments)},ow.prototype.getInitialData=function(){return Jb(this,{coordDimensions:["value"],encodeDefaulter:D(ud,this)})},ow.prototype.getDataParams=function(t){var e,n=this.getData(),i=iw(n),r=i.seats,i=(r||(e=[],n.each(n.mapDimension("value"),function(t){e.push(t)}),r=i.seats=ao(e,n.hostModel.get("percentPrecision"))),nw.prototype.getDataParams.call(this,t));return i.percent=r[t]||0,i.$vars.push("percent"),i},ow.prototype._defaultLabelLine=function(t){bo(t,"labelLine",["show"]);var e=t.labelLine,n=t.emphasis.labelLine;e.show=e.show&&t.label.show,n.show=n.show&&t.emphasis.label.show},ow.type="series.pie",ow.defaultOption={z:2,legendHoverLink:!0,colorBy:"data",center:["50%","50%"],radius:[0,"75%"],clockwise:!0,startAngle:90,endAngle:"auto",padAngle:0,minAngle:0,minShowLabelAngle:0,selectedOffset:10,percentPrecision:2,stillShowZeroSum:!0,left:0,top:0,right:0,bottom:0,width:null,height:null,label:{rotate:0,show:!0,overflow:"truncate",position:"outer",alignTo:"none",edgeDistance:"25%",bleedMargin:10,distanceToLabelLine:5},labelLine:{show:!0,length:15,length2:15,smooth:!1,minTurnAngle:90,maxSurfaceAngle:90,lineStyle:{width:1,type:"solid"}},itemStyle:{borderWidth:1,borderJoin:"round"},showEmptyCircle:!0,emptyCircleStyle:{color:"lightgray",opacity:1},labelLayout:{hideOverlap:!0},emphasis:{scale:!0,scaleSize:5},avoidLabelOverlap:!0,animationType:"expansion",animationDuration:1e3,animationTypeUpdate:"transition",animationEasingUpdate:"cubicInOut",animationDurationUpdate:500,animationEasing:"cubicInOut"},ow);function ow(){return null!==nw&&nw.apply(this,arguments)||this}O_(function(t){t.registerChartView($b),t.registerSeriesModel(rw),ky("pie",t.registerAction),t.registerLayout(D(Vb,"pie")),t.registerProcessor(Gb("pie")),t.registerProcessor({seriesType:"pie",reset:function(t,e){var n=t.getData();n.filterSelf(function(t){var e=n.mapDimension("value"),e=n.get(e,t);return!(X(e)&&!isNaN(e)&&e<0)})}})});u(lw,aw=kg),lw.prototype.getInitialData=function(t,e){return xv(null,this,{useEncodeDefaulter:!0})},lw.prototype.getProgressive=function(){var t=this.option.progressive;return null==t?this.option.large?5e3:this.get("progressive"):t},lw.prototype.getProgressiveThreshold=function(){var t=this.option.progressiveThreshold;return null==t?this.option.large?1e4:this.get("progressiveThreshold"):t},lw.prototype.brushSelector=function(t,e,n){return n.point(e.getItemLayout(t))},lw.prototype.getZLevelKey=function(){return this.getData().count()>this.getProgressiveThreshold()?this.id:""},lw.type="series.scatter",lw.dependencies=["grid","polar","geo","singleAxis","calendar"],lw.defaultOption={coordinateSystem:"cartesian2d",z:2,legendHoverLink:!0,symbolSize:10,large:!1,largeThreshold:2e3,itemStyle:{opacity:.8},emphasis:{scale:!0},clip:!0,select:{itemStyle:{borderColor:"#212121"}},universalTransition:{divideShape:"clone"}};var aw,sw=lw;function lw(){var t=null!==aw&&aw.apply(this,arguments)||this;return t.type=lw.type,t.hasSymbolVisual=!0,t}var uw,hw=function(){},cw=(u(pw,uw=j),pw.prototype.getDefaultShape=function(){return new hw},pw.prototype.reset=function(){this.notClear=!1,this._off=0},pw.prototype.buildPath=function(t,e){var n,i=e.points,r=e.size,o=this.symbolProxy,a=o.shape,e=t.getContext?t.getContext():t,s=e&&r[0]<4,l=this.softClipShape;if(s)this._ctx=e;else{for(this._ctx=null,n=this._off;ne[1]&&e.reverse(),e},Ew.prototype.pointToData=function(t,e){return this.coordToData(this.toLocalCoord(t["x"===this.dim?0:1]),e)},Ew.prototype.setCategorySortInfo=function(t){if("category"!==this.type)return!1;this.model.option.categorySortInfo=t,this.scale.setSortInfo(t)};var Rw,Nw=Ew;function Ew(t,e,n,i,r){t=Rw.call(this,t,e,n)||this;return t.index=0,t.type=i||"value",t.position=r||"bottom",t}function Bw(t,e,n){n=n||{};var t=t.coordinateSystem,i=e.axis,r={},o=i.getAxesOnZeroOf()[0],a=i.position,s=o?"onZero":a,i=i.dim,t=t.getRect(),t=[t.x,t.x+t.width,t.y,t.y+t.height],l={left:0,right:1,top:0,bottom:1,onZero:2},u=e.get("offset")||0,u="x"===i?[t[2]-u,t[3]+u]:[t[0]-u,t[1]+u],h=(o&&(h=o.toGlobalCoord(o.dataToCoord(0)),u[l.onZero]=Math.max(Math.min(h,u[1]),u[0])),r.position=["y"===i?u[l[s]]:t[0],"x"===i?u[l[s]]:t[3]],r.rotation=Math.PI/2*("x"===i?0:1),r.labelDirection=r.tickDirection=r.nameDirection={top:-1,bottom:1,left:-1,right:1}[a],r.labelOffset=o?u[l[a]]-u[l.onZero]:0,e.get(["axisTick","inside"])&&(r.tickDirection=-r.tickDirection),bt(n.labelInside,e.get(["axisLabel","inside"]))&&(r.labelDirection=-r.labelDirection),e.get(["axisLabel","rotate"]));return r.labelRotate="top"===s?-h:h,r.z2=1,r}function zw(t){return"cartesian2d"===t.get("coordinateSystem")}function Fw(i){var r={xAxisModel:null,yAxisModel:null};return W(r,function(t,e){var n=e.replace(/Model$/,""),n=i.getReferringComponents(n,Eo).models[0];r[e]=n}),r}var Vw=Math.log;function Gw(t,e,n){var i=Vv.prototype,r=i.getTicks.call(n),o=i.getTicks.call(n,!0),a=r.length-1,n=i.getInterval.call(n),e=x_(t,e),s=e.extent,l=e.fixMin,e=e.fixMax,u=("log"===t.type&&(u=Vw(t.base),s=[Vw(s[0])/u,Vw(s[1])/u]),t.setExtent(s[0],s[1]),t.calcNiceExtent({splitNumber:a,fixMin:l,fixMax:e}),i.getExtent.call(t)),h=(l&&(s[0]=u[0]),e&&(s[1]=u[1]),i.getInterval.call(t)),c=s[0],p=s[1];if(l&&e)h=(p-c)/a;else if(l)for(p=s[0]+h*a;ps[0]&&isFinite(c)&&isFinite(s[0]);)h=Dv(h),c=s[1]-h*a;else{u=(h=ah[1]?-1:1,o=["start"===c?h[0]-o*u:"end"===c?h[1]+o*u:(h[0]+h[1])/2,Jw(c)?t.labelOffset+l*u:0],null!=(u=e.get("nameRotate"))&&(u=u*qw/180),Jw(c)?a=Zw.innerTextLayout(t.rotation,null!=u?u:t.rotation,l):(a=function(t,e,n,i){var r,n=so(n-t),t=i[0]>i[1],i="start"===e&&!t||"start"!==e&&t;e=lo(n-qw/2)?(r=i?"bottom":"top","center"):lo(n-1.5*qw)?(r=i?"top":"bottom","center"):(r="middle",n<1.5*qw&&qw/2u[1]&&u.reverse(),(s=null==s||s>u[1]?u[1]:s)=t&&(0===e?0:i[e-1][0])Math.PI/2&&(c+=Math.PI):"tangential"===h?c=-I-Math.PI/2:X(h)&&(c=h*Math.PI/180),0===c?d.add(new zs({style:_c(x,{text:a,x:l,y:u,verticalAlign:R<-.8?"top":.8n||!!e&&(o=iS(t).seriesDataCount,e=r.getExtent(),Math.abs(e[0]-e[1])/o>n)):!0===i)},cM.prototype.makeElOption=function(t,e,n,i,r){},cM.prototype.createPointerEl=function(t,e,n,i){var r=e.pointer;r&&(r=lM(t).pointerEl=new dc[r.type](uM(e.pointer)),t.add(r))},cM.prototype.createLabelEl=function(t,e,n,i){e.label&&(e=lM(t).labelEl=new zs(uM(e.label)),t.add(e),dM(e,i))},cM.prototype.updatePointerEl=function(t,e,n){t=lM(t).pointerEl;t&&e.pointer&&(t.setStyle(e.pointer.style),n(t,{shape:e.pointer.shape}))},cM.prototype.updateLabelEl=function(t,e,n,i){t=lM(t).labelEl;t&&(t.setStyle(e.label.style),n(t,{x:e.label.x,y:e.label.y}),dM(t,i))},cM.prototype._renderHandle=function(t){var e,n,i,r,o,a;!this._dragging&&this.updateHandleTransform&&(e=this._axisPointerModel,n=this._api.getZr(),i=this._handle,r=e.getModel("handle"),a=e.get("status"),r.get("show")&&a&&"hide"!==a?(this._handle||(o=!0,i=this._handle=lc(r.get("icon"),{cursor:"move",draggable:!0,onmousemove:function(t){Ie(t.event)},onmousedown:hM(this._onHandleDragMove,this,0,0),drift:hM(this._onHandleDragMove,this),ondragend:hM(this._onHandleDragEnd,this)}),n.add(i)),gM(i,e,!1),i.setStyle(r.getItemStyle(null,["color","borderColor","borderWidth","opacity","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY"])),F(a=r.get("size"))||(a=[a,a]),i.scaleX=a[0]/2,i.scaleY=a[1]/2,function(t,e,n,i){var r=t[e];if(r){var o=r[Kg]||r,a=r[Qg];if(r[$g]!==n||a!==i){if(null==n||!i)return t[e]=o;(r=t[e]=Jg(o,n,"debounce"===i))[Kg]=o,r[Qg]=i,r[$g]=n}}}(this,"_doDispatchAxisPointer",r.get("throttle")||0,"fixRate"),this._moveHandleToValue(t,o)):(i&&n.remove(i),this._handle=null))},cM.prototype._moveHandleToValue=function(t,e){pM(this._axisPointerModel,!e&&this._moveAnimation,this._handle,fM(this.getHandleTransform(t,this._axisModel,this._axisPointerModel)))},cM.prototype._onHandleDragMove=function(t,e){var n=this._handle;n&&(this._dragging=!0,t=this.updateHandleTransform(fM(n),[t,e],this._axisModel,this._axisPointerModel),this._payloadInfo=t,n.stopAnimation(),n.attr(fM(t)),lM(n).lastProp=null,this._doDispatchAxisPointer())},cM.prototype._doDispatchAxisPointer=function(){var t,e;this._handle&&(t=this._payloadInfo,e=this._axisModel,this._api.dispatchAction({type:"updateAxisPointer",x:t.cursorPoint[0],y:t.cursorPoint[1],tooltipOption:t.tooltipOption,axesInfo:[{axisDim:e.axis.dim,axisIndex:e.componentIndex}]}))},cM.prototype._onHandleDragEnd=function(){var t;this._dragging=!1,this._handle&&(t=this._axisPointerModel.get("value"),this._moveHandleToValue(t),this._api.dispatchAction({type:"hideTip"}))},cM.prototype.clear=function(t){this._lastValue=null,this._lastStatus=null;var t=t.getZr(),e=this._group,n=this._handle;t&&e&&(this._lastGraphicKey=null,e&&t.remove(e),n&&t.remove(n),this._group=null,this._handle=null,this._payloadInfo=null),(n=(e=this)[t="_doDispatchAxisPointer"])&&n[Kg]&&(n.clear&&n.clear(),e[t]=n[Kg])},cM.prototype.doClear=function(){},cM.prototype.buildLabel=function(t,e,n){return{x:t[n=n||0],y:t[1-n],width:e[n],height:e[1-n]}},cM);function cM(){this._dragging=!1,this.animationThreshold=15}function pM(t,e,n,i){!function n(i,t){{var r;return P(i)&&P(t)?(r=!0,W(t,function(t,e){r=r&&n(i[e],t)}),!!r):i===t}}(lM(n).lastProp,i)&&(lM(n).lastProp=i,e?Rh(n,i,t):(n.stopAnimation(),n.attr(i)))}function dM(t,e){t[e.get(["label","show"])?"show":"hide"]()}function fM(t){return{x:t.x||0,y:t.y||0,rotation:t.rotation||0}}function gM(t,e,n){var i=e.get("z"),r=e.get("zlevel");t&&t.traverse(function(t){"group"!==t.type&&(null!=i&&(t.z=i),null!=r&&(t.zlevel=r),t.silent=n)})}function yM(t){var e,n=t.get("type"),t=t.getModel(n+"Style");return"line"===n?(e=t.getLineStyle()).fill=null:"shadow"===n&&((e=t.getAreaStyle()).stroke=null),e}function mM(t,e,n,i,r){var o=function(t,e,n,i,r){t=e.scale.parse(t);var o=e.scale.getLabel({value:t},{precision:r.precision}),r=r.formatter;{var a;r&&(a={value:M_(e,{value:t}),axisDimension:e.dim,axisIndex:e.index,seriesData:[]},W(i,function(t){var e=n.getSeriesByIndex(t.seriesIndex),t=t.dataIndexInside,e=e&&e.getDataParams(t);e&&a.seriesData.push(e)}),U(r)?o=r.replace("{value}",o):C(r)&&(o=r(a)))}return o}(n.get("value"),e.axis,e.ecModel,n.get("seriesDataIndices"),{precision:n.get(["label","precision"]),formatter:n.get(["label","formatter"])}),n=n.getModel("label"),a=Ap(n.get("padding")||0),s=n.getFont(),l=Mr(o,s),u=r.position,h=l.width+a[1]+a[3],l=l.height+a[0]+a[2],c=r.align,c=("right"===c&&(u[0]-=h),"center"===c&&(u[0]-=h/2),r.verticalAlign),i=("bottom"===c&&(u[1]-=l),"middle"===c&&(u[1]-=l/2),r=u,c=h,h=l,i=(l=i).getWidth(),l=l.getHeight(),r[0]=Math.min(r[0]+c,i)-c,r[1]=Math.min(r[1]+h,l)-h,r[0]=Math.max(r[0],0),r[1]=Math.max(r[1],0),n.get("backgroundColor"));i&&"auto"!==i||(i=e.get(["axisLine","lineStyle","color"])),t.label={x:u[0],y:u[1],style:_c(n,{text:o,font:s,fill:n.getTextColor(),padding:a,backgroundColor:i}),z2:10}}function vM(t,e,n){var i=ke();return Ne(i,i,n.rotation),Re(i,i,n.position),ic([t.dataToCoord(e),(n.labelOffset||0)+(n.labelDirection||1)*(n.labelMargin||0)],i)}function _M(t,e,n){return{x1:t[n=n||0],y1:t[1-n],x2:e[n],y2:e[1-n]}}function xM(t,e,n,i,r,o){return{cx:t,cy:e,r0:n,r:i,startAngle:r,endAngle:o,clockwise:!0}}u(SM,bM=Dh),SM.prototype.makeElOption=function(t,e,n,i,r){var o,a=n.axis,s=("angle"===a.dim&&(this.animationThreshold=Math.PI/18),a.polar),l=s.getOtherAxis(a).getExtent(),u=a.dataToCoord(e),h=i.get("type"),a=(h&&"none"!==h&&(o=yM(i),(h=IM[h](a,s,u,l)).style=o,t.graphicKey=h.type,t.pointer=h),i.get(["label","margin"]));mM(t,n,i,r,function(t,e,n,i){var r,o,a=e.axis,t=a.dataToCoord(t),s=(l=(l=n.getAngleAxis().getExtent()[0])/180*Math.PI,n.getRadiusAxis().getExtent());{var l;s="radius"===a.dim?(a=ke(),Ne(a,a,l),Re(a,a,[n.cx,n.cy]),r=ic([t,-i],a),a=e.getModel("axisLabel").get("rotate")||0,e=Zw.innerTextLayout(l,a*Math.PI/180,-1),o=e.textAlign,e.textVerticalAlign):(l=s[1],r=n.coordToPoint([l+i,t]),a=n.cx,e=n.cy,o=Math.abs(r[0]-a)/l<.3?"center":r[0]>a?"left":"right",Math.abs(r[1]-e)/l<.3?"middle":r[1]>e?"top":"bottom")}return{position:r,align:o,verticalAlign:s}}(e,n,s,a))};var bM,wM=SM;function SM(){return null!==bM&&bM.apply(this,arguments)||this}var MM,IM={line:function(t,e,n,i){return"angle"===t.dim?{type:"Line",shape:_M(e.coordToPoint([i[0],n]),e.coordToPoint([i[1],n]))}:{type:"Circle",shape:{cx:e.cx,cy:e.cy,r:n}}},shadow:function(t,e,n,i){var r=Math.max(1,t.getBandWidth()),o=Math.PI/180;return"angle"===t.dim?{type:"Sector",shape:xM(e.cx,e.cy,i[0],i[1],(-n-r/2)*o,(r/2-n)*o)}:{type:"Sector",shape:xM(e.cx,e.cy,n-r/2,n+r/2,0,2*Math.PI)}}},TM=(u(CM,MM=Dh),CM.prototype.makeElOption=function(t,e,n,i,r){var o,a=n.axis,s=a.grid,l=i.get("type"),u=AM(s,a).getOtherAxis(a).getGlobalExtent(),h=a.toGlobalCoord(a.dataToCoord(e,!0)),a=(l&&"none"!==l&&(o=yM(i),(l=DM[l](a,h,u)).style=o,t.graphicKey=l.type,t.pointer=l),Bw(s.model,n));h=e,u=t,o=a,l=n,s=i,e=r,t=Zw.innerTextLayout(o.rotation,0,o.labelDirection),o.labelMargin=s.get(["label","margin"]),mM(u,l,s,e,{position:vM(l.axis,h,o),align:t.textAlign,verticalAlign:t.textVerticalAlign})},CM.prototype.getHandleTransform=function(t,e,n){var i=Bw(e.axis.grid.model,e,{labelInside:!1}),n=(i.labelMargin=n.get(["handle","margin"]),vM(e.axis,t,i));return{x:n[0],y:n[1],rotation:i.rotation+(i.labelDirection<0?Math.PI:0)}},CM.prototype.updateHandleTransform=function(t,e,n,i){var n=n.axis,r=n.grid,o=n.getGlobalExtent(!0),r=AM(r,n).getOtherAxis(n).getGlobalExtent(),n="x"===n.dim?0:1,a=[t.x,t.y],e=(a[n]+=e[n],a[n]=Math.min(o[1],a[n]),a[n]=Math.max(o[0],a[n]),(r[1]+r[0])/2),o=[e,e];o[n]=a[n];return{x:a[0],y:a[1],rotation:t.rotation,cursorPoint:o,tooltipOption:[{verticalAlign:"middle"},{align:"center"}][n]}},CM);function CM(){return null!==MM&&MM.apply(this,arguments)||this}function AM(t,e){var n={};return n[e.dim+"AxisIndex"]=e.index,t.getCartesian(n)}var DM={line:function(t,e,n){return{type:"Line",subPixelOptimize:!0,shape:_M([e,n[0]],[e,n[1]],kM(t))}},shadow:function(t,e,n){var i=Math.max(1,t.getBandWidth()),r=n[1]-n[0];return{type:"Rect",shape:(e=[e-i/2,n[0]],n=[i,r],i=kM(t),{x:e[i=i||0],y:e[1-i],width:n[i],height:n[1-i]})}}};function kM(t){return"x"===t.dim?0:1}u(OM,LM=g),OM.type="axisPointer",OM.defaultOption={show:"auto",z:50,type:"line",snap:!1,triggerTooltip:!0,triggerEmphasis:!0,value:null,status:null,link:[],animation:null,animationDurationUpdate:200,lineStyle:{color:"#B9BEC9",width:1,type:"dashed"},shadowStyle:{color:"rgba(210,219,238,0.2)"},label:{show:!0,formatter:null,precision:"auto",margin:3,color:"#fff",padding:[5,7,5,7],backgroundColor:"auto",borderColor:null,borderWidth:0,borderRadius:3},handle:{show:!1,icon:"M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4h1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7v-1.2h6.6z M13.3,22H6.7v-1.2h6.6z M13.3,19.6H6.7v-1.2h6.6z",size:45,margin:50,color:"#333",shadowBlur:3,shadowColor:"#aaa",shadowOffsetX:0,shadowOffsetY:2,throttle:40}};var LM,PM=OM;function OM(){var t=null!==LM&&LM.apply(this,arguments)||this;return t.type=OM.type,t}var RM=Po(),NM=W;function EM(t,e,n){var i,c,p;function r(t,h){c.on(t,function(e){n=p;var n,i,r={dispatchAction:o,pendings:i={showTip:[],hideTip:[]}};function o(t){var e=i[t.type];e?e.push(t):(t.dispatchAction=o,n.dispatchAction(t))}NM(RM(c).records,function(t){t&&h(t,e,r.dispatchAction)});var t,a=r.pendings,s=p,l=a.showTip.length,u=a.hideTip.length;l?t=a.showTip[l-1]:u&&(t=a.hideTip[u-1]),t&&(t.dispatchAction=null,s.dispatchAction(t))})}w.node||(i=e.getZr(),RM(i).records||(RM(i).records={}),p=e,RM(c=i).initialized||(RM(c).initialized=!0,r("click",D(zM,"click")),r("mousemove",D(zM,"mousemove")),r("globalout",BM)),(RM(i).records[t]||(RM(i).records[t]={})).handler=n)}function BM(t,e,n){t.handler("leave",null,n)}function zM(t,e,n,i){e.handler(t,n,i)}function FM(t,e){w.node||(e=e.getZr(),(RM(e).records||{})[t]&&(RM(e).records[t]=null))}u(WM,VM=zg),WM.prototype.render=function(t,e,n){var e=e.getComponent("tooltip"),i=t.get("triggerOn")||e&&e.get("triggerOn")||"mousemove|click";EM("axisPointer",n,function(t,e,n){"none"!==i&&("leave"===t||0<=i.indexOf(t))&&n({type:"updateAxisPointer",currTrigger:t,x:e&&e.offsetX,y:e&&e.offsetY})})},WM.prototype.remove=function(t,e){FM("axisPointer",e)},WM.prototype.dispose=function(t,e){FM("axisPointer",e)},WM.type="axisPointer";var VM,GM=WM;function WM(){var t=null!==VM&&VM.apply(this,arguments)||this;return t.type=WM.type,t}var HM=Po();function UM(t,e,n){var i,o,a,r,s,l,u,h,c,p,d,f,g,y,m,v,_,x,b,w,S,M=t.currTrigger,I=[t.x,t.y],T=t,C=t.dispatchAction||pt(n.dispatchAction,n),A=e.getComponent("axisPointer").coordSysAxesInfo;if(A)return jM(I)&&(h={seriesIndex:T.seriesIndex,dataIndex:T.dataIndex},e=e,m=[],v=h.seriesIndex,I=(null==v||!(e=e.getSeriesByIndex(v))||null==(v=Lo(i=e.getData(),h))||v<0||F(v)?{point:[]}:(_=i.getItemGraphicEl(v),y=e.coordinateSystem,e.getTooltipPosition?m=e.getTooltipPosition(v)||[]:y&&y.dataToPoint?m=h.isStacked?(e=y.getBaseAxis(),h=y.getOtherAxis(e).dim,e=e.dim,h="x"===h||"radius"===h?1:0,e=i.mapDimension(e),(f=[])[h]=i.get(e,v),f[1-h]=i.get(i.getCalculationInfo("stackResultDimension"),v),y.dataToPoint(f)||[]):y.dataToPoint(i.getValues(z(y.dimensions,function(t){return i.mapDimension(t)}),v))||[]:_&&((e=_.getBoundingRect().clone()).applyTransform(_.transform),m=[e.x+e.width/2,e.y+e.height/2]),{point:m,el:_})).point),o=jM(I),a=T.axesInfo,r=A.axesInfo,s="leave"===M||jM(I),l={},h={list:[],map:{}},c={showPointer:D(YM,u={}),showTooltip:D(qM,h)},W(A.coordSysMap,function(t,e){var r=o||t.containPoint(I);W(A.coordSysAxesInfo[e],function(t,e){var n=t.axis,i=function(t,e){for(var n=0;n<(t||[]).length;n++){var i=t[n];if(e.axis.dim===i.axisDim&&e.axis.model.componentIndex===i.axisIndex)return i}}(a,t);s||!r||a&&!i||null!=(i=null!=(i=i&&i.value)||o?i:n.pointToData(I))&&XM(t,i,c,!1,l)})}),p={},W(r,function(n,t){var i=n.linkGroup;i&&!u[t]&&W(i.axesInfo,function(t,e){var e=u[e];t!==n&&e&&(e=e.value,i.mapper&&(e=n.axis.scale.parse(i.mapper(e,ZM(t),ZM(n)))),p[n.key]=e)})}),W(p,function(t,e){XM(r[e],t,c,!0,l)}),d=u,f=r,g=l.axesInfo=[],W(f,function(t,e){var n=t.axisPointerModel.option,e=d[e];e?(t.useHandle||(n.status="show"),n.value=e.value,n.seriesDataIndices=(e.payloadBatch||[]).slice()):t.useHandle||(n.status="hide"),"show"===n.status&&g.push({axisDim:t.axis.dim,axisIndex:t.axis.model.componentIndex,value:n.value})}),y=h,v=t,e=C,jM(m=I)||!y.list.length?e({type:"hideTip"}):(_=((y.list[0].dataByAxis[0]||{}).seriesDataIndices||[])[0]||{},e({type:"showTip",escapeConnect:!0,x:m[0],y:m[1],tooltipOption:v.tooltipOption,position:v.position,dataIndexInside:_.dataIndexInside,dataIndex:_.dataIndex,seriesIndex:_.seriesIndex,dataByCoordSys:y.list})),T=r,t=(M=n).getZr(),C="axisPointerLastHighlights",x=HM(t)[C]||{},b=HM(t)[C]={},W(T,function(t,e){var n=t.axisPointerModel.option;"show"===n.status&&t.triggerEmphasis&&W(n.seriesDataIndices,function(t){var e=t.seriesIndex+" | "+t.dataIndex;b[e]=t})}),w=[],S=[],W(x,function(t,e){b[e]||S.push(t)}),W(b,function(t,e){x[e]||w.push(t)}),S.length&&M.dispatchAction({type:"downplay",escapeConnect:!0,notBlur:!0,batch:S}),w.length&&M.dispatchAction({type:"highlight",escapeConnect:!0,notBlur:!0,batch:w}),l}function XM(t,e,n,i,r){var o,a,s,l,u,h,c,p,d,f,g=t.axis;!g.scale.isBlank()&&g.containData(e)&&(t.involveSeries?(a=e,s=t.axis,l=s.dim,u=a,h=[],c=Number.MAX_VALUE,p=-1,W(t.seriesModels,function(e,t){var n,i=e.getData().mapDimensionsAll(l);if(e.getAxisTooltipData)var r=e.getAxisTooltipData(i,a,s),o=r.dataIndices,r=r.nestestValue;else{if(!(o=e.getData().indicesOfNearest(i[0],a,"category"===s.type?.5:null)).length)return;r=e.getData().get(i[0],o[0])}null!=r&&isFinite(r)&&(i=a-r,(n=Math.abs(i))<=c)&&((ne[1]&&e.reverse(),t.getExtent()),i=Math.PI/180;return{cx:this.cx,cy:this.cy,r0:e[0],r:e[1],startAngle:-n[0]*i,endAngle:-n[1]*i,clockwise:t.inverse,contain:function(t,e){var t=t-this.cx,e=e-this.cy,t=t*t+e*e-1e-4,e=this.r,n=this.r0;return t<=e*e&&n*n<=t}}},mI.prototype.convertToPixel=function(t,e,n){return vI(e)===this?this.dataToPoint(n):null},mI.prototype.convertFromPixel=function(t,e,n){return vI(e)===this?this.pointToData(n):null},mI);function mI(t){this.dimensions=gI,this.type="polar",this.cx=0,this.cy=0,this._radiusAxis=new uI,this._angleAxis=new dI,this.axisPointerEnabled=!0,this.name=t||"",this._radiusAxis.polar=this._angleAxis.polar=this}function vI(t){var e=t.seriesModel,t=t.polarModel;return t&&t.coordinateSystem||e&&e.coordinateSystem}function _I(t,e){var n,i=this,r=i.getAngleAxis(),o=i.getRadiusAxis();r.scale.setExtent(1/0,-1/0),o.scale.setExtent(1/0,-1/0),t.eachSeries(function(t){var e;t.coordinateSystem===i&&(W(A_(e=t.getData(),"radius"),function(t){o.scale.unionExtentFromData(e,t)}),W(A_(e,"angle"),function(t){r.scale.unionExtentFromData(e,t)}))}),b_(r.scale,r.model),b_(o.scale,o.model),"category"!==r.type||r.onBand||(t=r.getExtent(),n=360/r.scale.count(),r.inverse?t[1]+=n:t[1]-=n,r.setExtent(t[0],t[1]))}function xI(t,e){var n,i;t.type=e.get("type"),t.scale=w_(e),t.onBand=e.get("boundaryGap")&&"category"===t.type,t.inverse=e.get("inverse"),"angleAxis"===e.mainType&&(t.inverse=t.inverse!==e.get("clockwise"),n=e.get("startAngle"),i=null!=(i=e.get("endAngle"))?i:n+(t.inverse?-360:360),t.setExtent(n,i)),(e.axis=t).model=e}var bI={dimensions:gI,create:function(t,s){var l=[];return t.eachComponent("polar",function(t,e){var n,e=new yI(e+""),i=(e.update=_I,e.getRadiusAxis()),r=e.getAngleAxis(),o=t.findAxisModel("radiusAxis"),a=t.findAxisModel("angleAxis");xI(i,o),xI(r,a),i=e,o=s,a=(r=t).get("center"),n=o.getWidth(),o=o.getHeight(),i.cx=Z(a[0],n),i.cy=Z(a[1],o),a=i.getRadiusAxis(),i=Math.min(n,o)/2,null==(n=r.get("radius"))?n=[0,"100%"]:F(n)||(n=[0,n]),o=[Z(n[0],i),Z(n[1],i)],a.inverse?a.setExtent(o[1],o[0]):a.setExtent(o[0],o[1]),l.push(e),(t.coordinateSystem=e).model=t}),t.eachSeries(function(t){var e;"polar"===t.get("coordinateSystem")&&(e=t.getReferringComponents("polar",Eo).models[0],t.coordinateSystem=e.coordinateSystem)}),l}},wI=["axisLine","axisLabel","axisTick","minorTick","splitLine","minorSplitLine","splitArea"];function SI(t,e,n){e[1]>e[0]&&(e=e.slice().reverse());var i=t.coordToPoint([e[0],n]),t=t.coordToPoint([e[1],n]);return{x1:i[0],y1:i[1],x2:t[0],y2:t[1]}}function MI(t){return t.getRadiusAxis().inverse?0:1}function II(t){var e=t[0],n=t[t.length-1];e&&n&&Math.abs(Math.abs(e.coord-n.coord)-360)<1e-4&&t.pop()}u(AI,TI=lS),AI.prototype.render=function(e,t){var n,i,r,o,a,s;this.group.removeAll(),e.get("show")&&(n=e.axis,i=n.polar,r=i.getRadiusAxis().getExtent(),o=n.getTicksCoords(),a=n.getMinorTicksCoords(),II(s=z(n.getViewLabels(),function(t){t=y(t);var e=n.scale,e="ordinal"===e.type?e.getRawOrdinalNumber(t.tickValue):t.tickValue;return t.coord=n.dataToCoord(e),t})),II(o),W(wI,function(t){!e.get([t,"show"])||n.scale.isBlank()&&"axisLine"!==t||kI[t](this.group,e,i,o,a,r,s)},this))},AI.type="angleAxis";var TI,CI=AI;function AI(){var t=null!==TI&&TI.apply(this,arguments)||this;return t.type=AI.type,t.axisPointerClass="PolarAxisPointer",t}var DI,kI={axisLine:function(t,e,n,i,r,o){var e=e.getModel(["axisLine","lineStyle"]),a=n.getAngleAxis(),s=Math.PI/180,l=a.getExtent(),u=MI(n),h=u?0:1,c=360===Math.abs(l[1]-l[0])?"Circle":"Arc",c=0===o[h]?new dc[c]({shape:{cx:n.cx,cy:n.cy,r:o[u],startAngle:-l[0]*s,endAngle:-l[1]*s,clockwise:a.inverse},style:e.getLineStyle(),z2:1,silent:!0}):new Fu({shape:{cx:n.cx,cy:n.cy,r:o[u],r0:o[h]},style:e.getLineStyle(),z2:1,silent:!0});c.style.fill=null,t.add(c)},axisTick:function(t,e,n,i,r,o){var a=e.getModel("axisTick"),s=(a.get("inside")?-1:1)*a.get("length"),l=o[MI(n)],o=z(i,function(t){return new Ju({shape:SI(n,[l,l+s],t.coord)})});t.add(Qh(o,{style:B(a.getModel("lineStyle").getLineStyle(),{stroke:e.get(["axisLine","lineStyle","color"])})}))},minorTick:function(t,e,n,i,r,o){if(r.length){for(var a=e.getModel("axisTick"),s=e.getModel("minorTick"),l=(a.get("inside")?-1:1)*s.get("length"),u=o[MI(n)],h=[],c=0;ca?"left":"right",r=Math.abs(o[1]-s)/r<.3?"middle":o[1]>s?"top":"bottom",i=(p&&p[i]&&P(s=p[i])&&s.textStyle&&(n=new Gc(s.textStyle,d,d.ecModel)),new zs({silent:Zw.isLabelSilent(u),style:_c(n,{x:o[0],y:o[1],fill:n.getTextColor()||u.get(["axisLine","lineStyle","color"]),text:t.formattedLabel,align:a,verticalAlign:r})}));l.add(i),g&&((s=Zw.makeAxisEventDataBase(u)).targetType="axisLabel",s.value=t.rawLabel,A(i).eventData=s)},this)},splitLine:function(t,e,n,i,r,o){for(var a=e.getModel("splitLine").getModel("lineStyle"),s=0,l=(l=a.get("color"))instanceof Array?l:[l],u=[],h=0;hn[r],f=[-c.x,-c.y],e=(e||(f[i]=l[s]),[0,0]),s=[-p.x,-p.y],g=O(t.get("pageButtonGap",!0),t.get("itemGap",!0)),f=(d&&("end"===t.get("pageButtonPosition",!0)?s[i]+=n[r]-p[r]:e[i]+=p[r]+g),s[1-i]+=c[o]/2-p[o]/2,l.setPosition(f),u.setPosition(e),h.setPosition(s),{x:0,y:0}),c=(f[r]=(d?n:c)[r],f[o]=Math.max(c[o],p[o]),f[a]=Math.min(0,p[a]+s[1-i]),u.__rectSize=n[r],d?((e={x:0,y:0})[r]=Math.max(n[r]-p[r]-g,0),e[o]=f[o],u.setClipPath(new Os({shape:e})),u.__rectSize=e[r]):h.eachChild(function(t){t.attr({invisible:!0,silent:!0})}),this._getPageInfo(t));return null!=c.pageIndex&&Rh(l,{x:c.contentPosition[0],y:c.contentPosition[1]},d?t:null),this._updatePageInfoView(t,c),f},bT.prototype._pageGo=function(t,e,n){t=this._getPageInfo(e)[t];null!=t&&n.dispatchAction({type:"legendScroll",scrollDataIndex:t,legendId:e.id})},bT.prototype._updatePageInfoView=function(n,i){var r=this._controllerGroup,t=(W(["pagePrev","pageNext"],function(t){var e=null!=i[t+"DataIndex"],t=r.childOfName(t);t&&(t.setStyle("fill",e?n.get("pageIconColor",!0):n.get("pageIconInactiveColor",!0)),t.cursor=e?"pointer":"default")}),r.childOfName("pageText")),e=n.get("pageFormatter"),o=i.pageIndex,o=null!=o?o+1:0,a=i.pageCount;t&&e&&t.setStyle("text",U(e)?e.replace("{current}",null==o?"":o+"").replace("{total}",null==a?"":a+""):e({current:o,total:a}))},bT.prototype._getPageInfo=function(t){var e=t.get("scrollDataIndex",!0),n=this.getContentGroup(),i=this._containerGroup.__rectSize,t=t.getOrient().index,r=vT[t],o=_T[t],e=this._findTargetItemIndex(e),a=n.children(),s=a[e],l=a.length,u=l?1:0,h={contentPosition:[n.x,n.y],pageCount:u,pageIndex:u-1,pagePrevDataIndex:null,pageNextDataIndex:null};if(s){n=g(s);h.contentPosition[t]=-n.s;for(var c=e+1,p=n,d=n,f=null;c<=l;++c)(!(f=g(a[c]))&&d.e>p.s+i||f&&!y(f,p.s))&&(p=d.i>p.i?d:f)&&(null==h.pageNextDataIndex&&(h.pageNextDataIndex=p.i),++h.pageCount),d=f;for(c=e-1,p=n,d=n,f=null;-1<=c;--c)(f=g(a[c]))&&y(d,f.s)||!(p.i=e&&t.s<=e+i}},bT.prototype._findTargetItemIndex=function(n){var i,r;return this._showController?(this.getContentGroup().eachChild(function(t,e){t=t.__legendDataIndex;null==r&&null!=t&&(r=e),t===n&&(i=e)}),null!=i?i:r):0},bT.type="legend.scroll",bT);function bT(){var t=null!==yT&&yT.apply(this,arguments)||this;return t.type=bT.type,t.newlineDisabled=!0,t._currentIndex=0,t}function wT(t,e){if(t)for(var n=F(t)?t:[t],i=0;ih[0]?s:r)[0]:o[0]=(a[0]>h[0]?r:s)[0],"y0"===n[1]?o[1]=(a[1]>h[1]?s:r)[1]:o[1]=(a[1]>h[1]?r:s)[1],i.getMarkerPosition(o,n,!0)):(a=[l=t.get(n[0],e),u=t.get(n[1],e)],c.clampData&&c.clampData(a,a),c.dataToPoint(a,!0)),vx(c,"cartesian2d")&&(r=c.getAxis("x"),s=c.getAxis("y"),l=t.get(n[0],e),u=t.get(n[1],e),LC(l)?h[0]=r.toGlobalCoord(r.getExtent()["x0"===n[0]?0:1]):LC(u)&&(h[1]=s.toGlobalCoord(s.getExtent()["y0"===n[1]?0:1]))),isNaN(d)||(h[0]=d),isNaN(p)||(h[1]=p)):h=[d,p],h}var NC,EC=[["x0","y0"],["x1","y0"],["x1","y1"],["x0","y1"]],BC=(u(zC,NC=Pc),zC.prototype.updateTransform=function(t,e,r){e.eachSeries(function(n){var i,t=TT.getMarkerModelFromSeries(n,"markArea");t&&(i=t.getData()).each(function(e){var t=z(EC,function(t){return RC(i,e,t,n,r)});i.setItemLayout(e,t),i.getItemGraphicEl(e).setShape("points",t)})},this)},zC.prototype.renderSeries=function(a,r,t,s){var l=a.coordinateSystem,e=a.id,u=a.getData(),n=this.markerGroupMap,i=n.get(e)||n.set(e,{group:new Wr}),h=(this.group.add(i.group),this.markKeep(i),function(t,n,e){var i,r;{var o;i=t?(o=z(t&&t.dimensions,function(t){var e=n.getData();return V(V({},e.getDimensionInfo(e.mapDimension(t))||{}),{name:t,ordinalMeta:null})}),r=z(["x0","y0","x1","y1"],function(t,e){return{name:t,type:o[e%2].type}}),new pv(r,e)):new pv(r=[{name:"value",type:"float"}],e)}e=z(e.get("data"),D(DC,n,t,e));t&&(e=ht(e,D(OC,t)));t=t?function(t,e,n,i){return Uf(t.coord[Math.floor(i/2)][i%2],r[i])}:function(t,e,n,i){return Uf(t.value,r[i])};return i.initData(e,null,t),i.hasItemOption=!0,i}(l,a,r));r.setData(h),h.each(function(e){var t=z(EC,function(t){return RC(h,e,t,a,s)}),n=l.getAxis("x").scale,i=l.getAxis("y").scale,r=n.getExtent(),o=i.getExtent(),n=[n.parse(h.get("x0",e)),n.parse(h.get("x1",e))],i=[i.parse(h.get("y0",e)),i.parse(h.get("y1",e))],r=(no(n),no(i),!(r[0]>n[1]||r[1]i[1]||o[1]":"gt",">=":"gte","=":"eq","!=":"ne","<>":"ne"},_2=(x2.prototype.evaluate=function(t){var e=typeof t;return U(e)?this._condVal.test(t):!!X(e)&&this._condVal.test(t+"")},x2);function x2(t){null==(this._condVal=U(t)?new RegExp(t):_t(t)?t:null)&&f("")}w2.prototype.evaluate=function(){return this.value};var b2=w2;function w2(){}M2.prototype.evaluate=function(){for(var t=this.children,e=0;e0&&void 0!==arguments[0]?arguments[0]:{},n=e.url;r("navigateTo",{url:encodeURI(n)})},navigateBack:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.delta;r("navigateBack",{delta:parseInt(n)||1})},switchTab:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.url;r("switchTab",{url:encodeURI(n)})},reLaunch:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.url;r("reLaunch",{url:encodeURI(n)})},redirectTo:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.url;r("redirectTo",{url:encodeURI(n)})},getEnv:function(e){a()?e({uvue:!0}):o()?e({nvue:!0}):window.plus?e({plus:!0}):e({h5:!0})},postMessage:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};r("postMessage",e.data||{})}},s=/uni-app/i.test(navigator.userAgent),w=/Html5Plus/i.test(navigator.userAgent),u=/complete|loaded|interactive/;var g=window.my&&navigator.userAgent.indexOf(["t","n","e","i","l","C","y","a","p","i","l","A"].reverse().join(""))>-1;var v=window.swan&&window.swan.webView&&/swan/i.test(navigator.userAgent);var c=window.qq&&window.qq.miniProgram&&/QQ/i.test(navigator.userAgent)&&/miniProgram/i.test(navigator.userAgent);var p=window.tt&&window.tt.miniProgram&&/toutiaomicroapp/i.test(navigator.userAgent);var _=window.wx&&window.wx.miniProgram&&/micromessenger/i.test(navigator.userAgent)&&/miniProgram/i.test(navigator.userAgent);var m=window.qa&&/quickapp/i.test(navigator.userAgent);var f=window.ks&&window.ks.miniProgram&&/micromessenger/i.test(navigator.userAgent)&&/miniProgram/i.test(navigator.userAgent);var l=window.tt&&window.tt.miniProgram&&/Lark|Feishu/i.test(navigator.userAgent);var E=window.jd&&window.jd.miniProgram&&/micromessenger/i.test(navigator.userAgent)&&/miniProgram/i.test(navigator.userAgent);var x=window.xhs&&window.xhs.miniProgram&&/xhsminiapp/i.test(navigator.userAgent);for(var S,h=function(){window.UniAppJSBridge=!0,document.dispatchEvent(new CustomEvent("UniAppJSBridgeReady",{bubbles:!0,cancelable:!0}))},y=[function(e){if(s||w)return window.__uniapp_x_postMessage||window.__uniapp_x_||window.__dcloud_weex_postMessage||window.__dcloud_weex_?document.addEventListener("DOMContentLoaded",e):window.plus&&u.test(document.readyState)?setTimeout(e,0):document.addEventListener("plusready",e),d},function(e){if(_)return window.WeixinJSBridge&&window.WeixinJSBridge.invoke?setTimeout(e,0):document.addEventListener("WeixinJSBridgeReady",e),window.wx.miniProgram},function(e){if(c)return window.QQJSBridge&&window.QQJSBridge.invoke?setTimeout(e,0):document.addEventListener("QQJSBridgeReady",e),window.qq.miniProgram},function(e){if(g){document.addEventListener("DOMContentLoaded",e);var n=window.my;return{navigateTo:n.navigateTo,navigateBack:n.navigateBack,switchTab:n.switchTab,reLaunch:n.reLaunch,redirectTo:n.redirectTo,postMessage:n.postMessage,getEnv:n.getEnv}}},function(e){if(v)return document.addEventListener("DOMContentLoaded",e),window.swan.webView},function(e){if(p)return document.addEventListener("DOMContentLoaded",e),window.tt.miniProgram},function(e){if(m){window.QaJSBridge&&window.QaJSBridge.invoke?setTimeout(e,0):document.addEventListener("QaJSBridgeReady",e);var n=window.qa;return{navigateTo:n.navigateTo,navigateBack:n.navigateBack,switchTab:n.switchTab,reLaunch:n.reLaunch,redirectTo:n.redirectTo,postMessage:n.postMessage,getEnv:n.getEnv}}},function(e){if(f)return window.WeixinJSBridge&&window.WeixinJSBridge.invoke?setTimeout(e,0):document.addEventListener("WeixinJSBridgeReady",e),window.ks.miniProgram},function(e){if(l)return document.addEventListener("DOMContentLoaded",e),window.tt.miniProgram},function(e){if(E)return window.JDJSBridgeReady&&window.JDJSBridgeReady.invoke?setTimeout(e,0):document.addEventListener("JDJSBridgeReady",e),window.jd.miniProgram},function(e){if(x)return window.xhs.miniProgram},function(e){return document.addEventListener("DOMContentLoaded",e),d}],M=0;M
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/uni_modules/lime-echart/static/walden.json b/uni_modules/lime-echart/static/walden.json
new file mode 100644
index 0000000..e664668
--- /dev/null
+++ b/uni_modules/lime-echart/static/walden.json
@@ -0,0 +1,391 @@
+ {
+ "color": [
+ "#3fb1e3",
+ "#6be6c1",
+ "#626c91",
+ "#a0a7e6",
+ "#c4ebad",
+ "#96dee8"
+ ],
+ "backgroundColor": "rgba(252,252,252,0)",
+ "textStyle": {},
+ "title": {
+ "textStyle": {
+ "color": "#666666"
+ },
+ "subtextStyle": {
+ "color": "#999999"
+ }
+ },
+ "line": {
+ "itemStyle": {
+ "borderWidth": "2"
+ },
+ "lineStyle": {
+ "width": "3"
+ },
+ "symbolSize": "8",
+ "symbol": "emptyCircle",
+ "smooth": false
+ },
+ "radar": {
+ "itemStyle": {
+ "borderWidth": "2"
+ },
+ "lineStyle": {
+ "width": "3"
+ },
+ "symbolSize": "8",
+ "symbol": "emptyCircle",
+ "smooth": false
+ },
+ "bar": {
+ "itemStyle": {
+ "barBorderWidth": 0,
+ "barBorderColor": "#ccc"
+ }
+ },
+ "pie": {
+ "itemStyle": {
+ "borderWidth": 0,
+ "borderColor": "#ccc"
+ }
+ },
+ "scatter": {
+ "itemStyle": {
+ "borderWidth": 0,
+ "borderColor": "#ccc"
+ }
+ },
+ "boxplot": {
+ "itemStyle": {
+ "borderWidth": 0,
+ "borderColor": "#ccc"
+ }
+ },
+ "parallel": {
+ "itemStyle": {
+ "borderWidth": 0,
+ "borderColor": "#ccc"
+ }
+ },
+ "sankey": {
+ "itemStyle": {
+ "borderWidth": 0,
+ "borderColor": "#ccc"
+ }
+ },
+ "funnel": {
+ "itemStyle": {
+ "borderWidth": 0,
+ "borderColor": "#ccc"
+ }
+ },
+ "gauge": {
+ "itemStyle": {
+ "borderWidth": 0,
+ "borderColor": "#ccc"
+ }
+ },
+ "candlestick": {
+ "itemStyle": {
+ "color": "#e6a0d2",
+ "color0": "transparent",
+ "borderColor": "#e6a0d2",
+ "borderColor0": "#3fb1e3",
+ "borderWidth": "2"
+ }
+ },
+ "graph": {
+ "itemStyle": {
+ "borderWidth": 0,
+ "borderColor": "#ccc"
+ },
+ "lineStyle": {
+ "width": "1",
+ "color": "#cccccc"
+ },
+ "symbolSize": "8",
+ "symbol": "emptyCircle",
+ "smooth": false,
+ "color": [
+ "#3fb1e3",
+ "#6be6c1",
+ "#626c91",
+ "#a0a7e6",
+ "#c4ebad",
+ "#96dee8"
+ ],
+ "label": {
+ "color": "#ffffff"
+ }
+ },
+ "map": {
+ "itemStyle": {
+ "areaColor": "#eeeeee",
+ "borderColor": "#aaaaaa",
+ "borderWidth": 0.5
+ },
+ "label": {
+ "color": "#ffffff"
+ },
+ "emphasis": {
+ "itemStyle": {
+ "areaColor": "rgba(63,177,227,0.25)",
+ "borderColor": "#3fb1e3",
+ "borderWidth": 1
+ },
+ "label": {
+ "color": "#3fb1e3"
+ }
+ }
+ },
+ "geo": {
+ "itemStyle": {
+ "areaColor": "#eeeeee",
+ "borderColor": "#aaaaaa",
+ "borderWidth": 0.5
+ },
+ "label": {
+ "color": "#ffffff"
+ },
+ "emphasis": {
+ "itemStyle": {
+ "areaColor": "rgba(63,177,227,0.25)",
+ "borderColor": "#3fb1e3",
+ "borderWidth": 1
+ },
+ "label": {
+ "color": "#3fb1e3"
+ }
+ }
+ },
+ "categoryAxis": {
+ "axisLine": {
+ "show": true,
+ "lineStyle": {
+ "color": "#cccccc"
+ }
+ },
+ "axisTick": {
+ "show": false,
+ "lineStyle": {
+ "color": "#333"
+ }
+ },
+ "axisLabel": {
+ "show": true,
+ "color": "#999999"
+ },
+ "splitLine": {
+ "show": true,
+ "lineStyle": {
+ "color": [
+ "#eeeeee"
+ ]
+ }
+ },
+ "splitArea": {
+ "show": false,
+ "areaStyle": {
+ "color": [
+ "rgba(250,250,250,0.05)",
+ "rgba(200,200,200,0.02)"
+ ]
+ }
+ }
+ },
+ "valueAxis": {
+ "axisLine": {
+ "show": true,
+ "lineStyle": {
+ "color": "#cccccc"
+ }
+ },
+ "axisTick": {
+ "show": false,
+ "lineStyle": {
+ "color": "#333"
+ }
+ },
+ "axisLabel": {
+ "show": true,
+ "color": "#999999"
+ },
+ "splitLine": {
+ "show": true,
+ "lineStyle": {
+ "color": [
+ "#eeeeee"
+ ]
+ }
+ },
+ "splitArea": {
+ "show": false,
+ "areaStyle": {
+ "color": [
+ "rgba(250,250,250,0.05)",
+ "rgba(200,200,200,0.02)"
+ ]
+ }
+ }
+ },
+ "logAxis": {
+ "axisLine": {
+ "show": true,
+ "lineStyle": {
+ "color": "#cccccc"
+ }
+ },
+ "axisTick": {
+ "show": false,
+ "lineStyle": {
+ "color": "#333"
+ }
+ },
+ "axisLabel": {
+ "show": true,
+ "color": "#999999"
+ },
+ "splitLine": {
+ "show": true,
+ "lineStyle": {
+ "color": [
+ "#eeeeee"
+ ]
+ }
+ },
+ "splitArea": {
+ "show": false,
+ "areaStyle": {
+ "color": [
+ "rgba(250,250,250,0.05)",
+ "rgba(200,200,200,0.02)"
+ ]
+ }
+ }
+ },
+ "timeAxis": {
+ "axisLine": {
+ "show": true,
+ "lineStyle": {
+ "color": "#cccccc"
+ }
+ },
+ "axisTick": {
+ "show": false,
+ "lineStyle": {
+ "color": "#333"
+ }
+ },
+ "axisLabel": {
+ "show": true,
+ "color": "#999999"
+ },
+ "splitLine": {
+ "show": true,
+ "lineStyle": {
+ "color": [
+ "#eeeeee"
+ ]
+ }
+ },
+ "splitArea": {
+ "show": false,
+ "areaStyle": {
+ "color": [
+ "rgba(250,250,250,0.05)",
+ "rgba(200,200,200,0.02)"
+ ]
+ }
+ }
+ },
+ "toolbox": {
+ "iconStyle": {
+ "borderColor": "#999999"
+ },
+ "emphasis": {
+ "iconStyle": {
+ "borderColor": "#666666"
+ }
+ }
+ },
+ "legend": {
+ "textStyle": {
+ "color": "#999999"
+ }
+ },
+ "tooltip": {
+ "axisPointer": {
+ "lineStyle": {
+ "color": "#cccccc",
+ "width": 1
+ },
+ "crossStyle": {
+ "color": "#cccccc",
+ "width": 1
+ }
+ }
+ },
+ "timeline": {
+ "lineStyle": {
+ "color": "#626c91",
+ "width": 1
+ },
+ "itemStyle": {
+ "color": "#626c91",
+ "borderWidth": 1
+ },
+ "controlStyle": {
+ "color": "#626c91",
+ "borderColor": "#626c91",
+ "borderWidth": 0.5
+ },
+ "checkpointStyle": {
+ "color": "#3fb1e3",
+ "borderColor": "#3fb1e3"
+ },
+ "label": {
+ "color": "#626c91"
+ },
+ "emphasis": {
+ "itemStyle": {
+ "color": "#626c91"
+ },
+ "controlStyle": {
+ "color": "#626c91",
+ "borderColor": "#626c91",
+ "borderWidth": 0.5
+ },
+ "label": {
+ "color": "#626c91"
+ }
+ }
+ },
+ "visualMap": {
+ "color": [
+ "#2a99c9",
+ "#afe8ff"
+ ]
+ },
+ "dataZoom": {
+ "backgroundColor": "rgba(255,255,255,0)",
+ "dataBackgroundColor": "rgba(222,222,222,1)",
+ "fillerColor": "rgba(114,230,212,0.25)",
+ "handleColor": "#cccccc",
+ "handleSize": "100%",
+ "textStyle": {
+ "color": "#999999"
+ }
+ },
+ "markPoint": {
+ "label": {
+ "color": "#ffffff"
+ },
+ "emphasis": {
+ "label": {
+ "color": "#ffffff"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/project.config.json b/unpackage/dist/dev/mp-weixin/project.config.json
index c0cb767..259a170 100644
--- a/unpackage/dist/dev/mp-weixin/project.config.json
+++ b/unpackage/dist/dev/mp-weixin/project.config.json
@@ -1,8 +1,7 @@
{
"description": "项目配置文件。",
"packOptions": {
- "ignore": [],
- "include": []
+ "ignore": []
},
"setting": {
"urlCheck": false,
@@ -10,22 +9,28 @@
"postcss": true,
"minified": true,
"newFeature": true,
- "bigPackageSizeSupport": true,
- "babelSetting": {
- "ignore": [],
- "disablePlugins": [],
- "outputPath": ""
- }
- },
- "condition": false
+ "bigPackageSizeSupport": true
},
"compileType": "miniprogram",
- "libVersion": "3.10.3",
+ "libVersion": "3.5.7",
"appid": "wx9d1cbc11c8c40ba7",
"projectname": "qingdao-employment-service",
- "condition": {},
- "editorSetting": {
- "tabIndent": "insertSpaces",
- "tabSize": 2
+ "condition": {
+ "search": {
+ "current": -1,
+ "list": []
+ },
+ "conversation": {
+ "current": -1,
+ "list": []
+ },
+ "game": {
+ "current": -1,
+ "list": []
+ },
+ "miniprogram": {
+ "current": -1,
+ "list": []
+ }
}
}
\ No newline at end of file
diff --git a/utilCa/config.js b/utilCa/config.js
new file mode 100644
index 0000000..b02c0ce
--- /dev/null
+++ b/utilCa/config.js
@@ -0,0 +1,38 @@
+let baseUrl = ""
+let baseUrl1 = ""
+let baseUrl2 = ""
+let baseUrl3 = ""
+let baseUrl4 = ""
+let baseUrl5 = ""
+let baseUrl6 = ""
+let baseUrl7 = ""
+let baseUrl8 = ""
+let filestore_site = "";
+// #ifdef MP-WEIXIN
+if (wx.getAccountInfoSync().miniProgram.envVersion === 'develop') {
+ baseUrl = 'http://dev.51xuanxiao.com:8005/api' // 开发环境
+ baseUrl3 = 'http://dev.51xuanxiao.com:8007/api' // 职业环境
+ baseUrl4 = 'http://dev.51xuanxiao.com:8009/api' // 用户环境
+ baseUrl5 = 'http://dev.51xuanxiao.com:8006/api' // 测评环境
+ filestore_site = 'http://192.168.1.168:31128' //文件地址
+} else {
+ baseUrl = 'https://yanxueapi.51xuanxiao.com/api' // 生产环境
+ baseUrl3 = "https://jobapi.51xuanxiao.com/api"// 职业环境
+ baseUrl4 = "https://authapi.51xuanxiao.com/api"// 用户环境
+ baseUrl5 = "https://testapi.51xuanxiao.com/api"// 测评环境
+ filestore_site = 'https://filestore.plan.51xuanxiao.com' //文件地址
+}
+// #endif
+
+export {
+ baseUrl,
+ baseUrl1,
+ baseUrl2,
+ baseUrl3,
+ baseUrl4,
+ baseUrl5,
+ baseUrl6,
+ baseUrl7,
+ baseUrl8,
+ filestore_site
+}
\ No newline at end of file
diff --git a/utilCa/imageUrl.js b/utilCa/imageUrl.js
new file mode 100644
index 0000000..7134b20
--- /dev/null
+++ b/utilCa/imageUrl.js
@@ -0,0 +1,19 @@
+// 公共图片基地址
+const BASE_IMAGE_URL = 'https://51xuanxiao.oss-cn-hangzhou.aliyuncs.com/Resource/xcx_sygh';
+
+/**
+ * 图片地址拼接方法
+ * @param {string} path - 图片路径(相对于基地址的路径)
+ * @param {string} [process] - OSS图片处理参数,例如:'image/resize,m_fixed,w_348/quality,q_80'
+ * @returns {string} 完整的图片URL
+ */
+export function ossImageUrl(path, process) {
+
+ // 如果有处理参数,拼接处理参数
+ if (process) {
+ return `${BASE_IMAGE_URL}/${path}?x-oss-process=${process}`;
+ }
+
+ // 没有处理参数时,直接返回原始路径
+ return `${BASE_IMAGE_URL}/${path}`;
+}
\ No newline at end of file
diff --git a/utilCa/request.js b/utilCa/request.js
new file mode 100644
index 0000000..5e4ccc3
--- /dev/null
+++ b/utilCa/request.js
@@ -0,0 +1,114 @@
+import {
+ baseUrl,
+ baseUrl1,
+ baseUrl2,
+ baseUrl3,
+ baseUrl4,
+ baseUrl5,
+ baseUrl6,
+ baseUrl7,
+ baseUrl8
+} from './config.js'
+
+const request = {}
+const headers = {}
+
+request.globalRequest = (url, method, data, power, type) => {
+ // 权限判断 因为有的接口请求头可能需要添加的参数不一样,所以这里做了区分
+ // 1 == 不通过access_token校验的接口
+ // 2 == 文件下载接口列表
+ const userInfo = uni.getStorageSync('CAuserInfo')
+ // console.log('缓存userinfo:',userInfo);
+ switch (power) {
+ case 1:
+ case 3:
+ headers['Token'] = userInfo.token
+ // if(power == 3){
+ // const deviceInfo = wx.getDeviceInfo()
+ // let data = {
+ // model: deviceInfo.model,
+ // system: deviceInfo.system,
+ // platform: deviceInfo.platform
+ // }
+ // headers['DeviceInfo'] = JSON.stringify(data)
+ // }
+ break;
+ case 2:
+ headers['Authorization'] = userInfo.userToken
+ break;
+ default:
+ break;
+ }
+ let host = "";
+ let key = "";
+ if (type == 1) {
+ host = baseUrl1;
+ } else if (type == 2) {
+ host = baseUrl2;
+ } else if (type == 3) {
+ host = baseUrl3;
+ } else if (type == 4) {
+ host = baseUrl4;
+ } else if (type == 5) {
+ host = baseUrl5;
+ } else if (type == 7) {
+ host = baseUrl7;
+ key = `?PartnerKey=51xuanxiao&PartnerSecret=mC6XRjDWUzGAdxcCqRBWGb88uR`;
+ } else if (type == 8) {
+ host = baseUrl8;
+ //key = `?AppKey=51xuanxiao&AppSecret=mC6XRjDWUzGAdxcCqRBWGb88uR`;
+ } else {
+ host = baseUrl;
+ }
+ return uni.request({
+ timeout: 60000,
+ url: host + url + key,
+ method,
+ data: data,
+ dataType: 'json',
+ header: headers
+ }).then(res => {
+ //console.log("ressss===="+JSON.stringify(res.data));
+ // console.log("type===="+type);
+ if (type == 7) {
+ if (res[1].data.code == 0) {
+ return res[1].data
+ } else {
+ throw res[1].data
+ }
+ } else if (type == 8) {
+ if (res[1].data.Code == 0) {
+ return res[1].data
+ } else {
+ throw res[1].data
+ }
+ } else {
+ if (res.data.Result) {
+ return res.data
+ } else {
+ throw res.data
+ }
+ }
+ }).catch(parmas => {
+ switch (parmas.status) {
+ case 401:
+ uni.showToast({
+ title: parmas.msg,
+ icon: 'none',
+ duration: 3500
+ })
+ uni.removeStorageSync("CAuserInfo");
+ setTimeout(() => {
+ uni.reLaunch({
+ url: "/pages/index/index"
+ })
+ }, 2800)
+ break
+ default:
+ console.error(parmas);
+ return Promise.reject()
+ break
+ }
+ })
+}
+export default request
\ No newline at end of file
From c951b5d1bd6cef913be214675bb47868ad27e6aa Mon Sep 17 00:00:00 2001
From: lintiantian <156569930@qq.com>
Date: Wed, 5 Nov 2025 11:13:53 +0800
Subject: [PATCH 6/9] =?UTF-8?q?=E6=8F=90=E4=BA=A4package-lock.json?=
=?UTF-8?q?=E6=96=87=E4=BB=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
package-lock.json | 35 +----------------------------------
1 file changed, 1 insertion(+), 34 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index a04b5bf..6e2278d 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,39 +1,6 @@
{
- "name": "ks-app-employment-service",
- "lockfileVersion": 2,
"requires": true,
- "packages": {
- "": {
- "dependencies": {
- "@dcloudio/uni-ui": "^1.5.11",
- "dayjs": "^1.11.19",
- "sm-crypto": "^0.3.13"
- }
- },
- "node_modules/@dcloudio/uni-ui": {
- "version": "1.5.11",
- "resolved": "https://registry.npmjs.org/@dcloudio/uni-ui/-/uni-ui-1.5.11.tgz",
- "integrity": "sha512-DBtk046ofmeFd82zRI7d89SoEwrAxYzUN3WVPm1DIBkpLPG5F5QDNkHMnZGu2wNrMEmGBjBpUh3vqEY1L3jaMw=="
- },
- "node_modules/dayjs": {
- "version": "1.11.19",
- "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.19.tgz",
- "integrity": "sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw=="
- },
- "node_modules/jsbn": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz",
- "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A=="
- },
- "node_modules/sm-crypto": {
- "version": "0.3.13",
- "resolved": "https://registry.npmjs.org/sm-crypto/-/sm-crypto-0.3.13.tgz",
- "integrity": "sha512-ztNF+pZq6viCPMA1A6KKu3bgpkmYti5avykRHbcFIdSipFdkVmfUw2CnpM2kBJyppIalqvczLNM3wR8OQ0pT5w==",
- "dependencies": {
- "jsbn": "^1.1.0"
- }
- }
- },
+ "lockfileVersion": 1,
"dependencies": {
"@dcloudio/uni-ui": {
"version": "1.5.11",
From 3565339fd796473e057a0d72c2298a93b92f8e12 Mon Sep 17 00:00:00 2001
From: WX0lxh <2062408239@qq.com>
Date: Wed, 5 Nov 2025 11:23:57 +0800
Subject: [PATCH 7/9] =?UTF-8?q?=E4=B8=93=E9=A1=B9=E7=BB=83=E4=B9=A0?=
=?UTF-8?q?=E8=81=94=E8=B0=83?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
packageB/train/practice/startPracticing.vue | 80 ++++++++++++++-------
1 file changed, 53 insertions(+), 27 deletions(-)
diff --git a/packageB/train/practice/startPracticing.vue b/packageB/train/practice/startPracticing.vue
index 6b86f37..c91adb4 100644
--- a/packageB/train/practice/startPracticing.vue
+++ b/packageB/train/practice/startPracticing.vue
@@ -67,8 +67,8 @@
-
下一题
-
提交答案
+
下一题
+
提交答案
@@ -86,7 +86,7 @@
取消
-
+