diff --git a/apiCa/job.js b/apiCa/job.js new file mode 100644 index 0000000..e478386 --- /dev/null +++ b/apiCa/job.js @@ -0,0 +1,11 @@ +import request from '@/utilCa/request.js' + +const api = {} +// 获取职业大类 中类 +api.queryJobDictionaryListByParentCode = (code) => request.globalRequest(`/Job/QueryJobDictionaryListByParentCode?code=${code}`,'GET', {}, 1,3) +// 搜索 +api.queryJobListByParentCode = (name,code) => request.globalRequest(`/Job/QueryJobListByParentCode?name=${name}&code=${code}`,'GET', {}, 1,3) +// 职业详情 +api.queryJobDetailById = (id) => request.globalRequest(`/Job/QueryJobDetailById?id=${id}`,'GET', {}, 2,3) + +export default api diff --git a/apiCa/studentProfile.js b/apiCa/studentProfile.js new file mode 100644 index 0000000..40fe498 --- /dev/null +++ b/apiCa/studentProfile.js @@ -0,0 +1,32 @@ +import request from '@/utilCa/request.js' + +const api = {} +// 获取生涯罗盘 +api.getCareerCompassList = (name) => request.globalRequest(`/StudentProfile/GetCareerCompassList`,'GET', {}, 1) +// 保存生涯罗盘--职业方向 +api.saveGXCareerPlan = (jobId) => request.globalRequest(`/StudentProfile/SaveGXCareerPlan?jobId=${jobId}`,'POST', {}, 1) +// 生涯罗盘--获取职业规划 +api.getGXCareerPlanList = (keyword,page,ps) => request.globalRequest(`/StudentProfile/GetGXCareerPlanList?keyword=${keyword}&page=${page}&ps=${ps}`,'GET', {}, 1) + +// smart目标制定:获取学习目标 +api.querySmartTargets = () => request.globalRequest(`/StudentProfile/QuerySmartTargets`,'GET', {}, 1) +// smart目标制定:获取单个目标 +api.querySmartInfo = (encodeId) => request.globalRequest(`/StudentProfile/QuerySmartInfo?encodeId=${encodeId}`,'GET', {}, 1) +// smart目标制定:保存smart目标 +api.saveSmartTarget = (data) => request.globalRequest(`/StudentProfile/SaveSmartTarget`,'POST', data, 1) +// smart目标制定:删除Smart目标 +api.deleteSmartTarg = (encodeId) => request.globalRequest(`/StudentProfile/DeleteSmartTarg?encodeId=${encodeId}`,'POST', {}, 1) +// smart目标制定:获取年度计划 +api.queryPlanList = (encodeId) => request.globalRequest(`/StudentProfile/QueryPlanList?encodeId=${encodeId}`,'GET', {}, 1) +// smart目标制定:保存年度计划 +api.savePlanList = (data) => request.globalRequest(`/StudentProfile/SavePlanList`,'POST', data, 1) +// 获取生涯档案(高校 +api.getGXWechatStudentProfile = () => request.globalRequest(`/StudentProfile/GetGXWechatStudentProfile`,'GET', {}, 1) + +//获取职业路径职业列表 +api.queryCareerPath = () => request.globalRequest(`/StudentManage/QueryCareerPath`,'POST', {}, 1) +// 获取职业详情,参数encodeId 加密id +api.queryPathInfo = (encodeId) => request.globalRequest(`/StudentManage/QueryPathInfo?encodeId=${encodeId}`,'POST', {}, 1) + + +export default api diff --git a/apiCa/testManage.js b/apiCa/testManage.js new file mode 100644 index 0000000..0050dfe --- /dev/null +++ b/apiCa/testManage.js @@ -0,0 +1,125 @@ +import request from '@/utilCa/request.js' + +const api = {} + +// 检查综合解释是否完成 +api.checkUnionTest = () => request.globalRequest(`/TaskManage/CheckUnionTest`,'GET', {}, 2,5) +api.queryUnionTestResult = () => request.globalRequest(`/Test/QueryUnionTestResult`,'GET', {}, 2,5) + +// 测评列表 +api.queryTaskListForWeChart = (eduLevel) => request.globalRequest(`/TaskManage/QueryTaskListForWeChart?eduLevel=${eduLevel}`,'GET', {}, 2,5) +// 获取测评题目 +api.queryTestContent = (type) => request.globalRequest(`/TaskManage/QueryTestContent?type=${type}`,'GET', {}, 2,5) + +// 保存学科信心测评结果 +api.saveSubjectTest = (testStr) => request.globalRequest(`/TaskManage/SaveSubjectTest?testStr=${testStr}`,'POST', "", 2,5) +// 保存自我评估 +api.saveStudentSscoreResult = (data) => request.globalRequest(`/Test/SaveStudentSscoreResult`,'POST', data, 2,5) +// 保存MBTI +api.saveMBTITest = (data) => request.globalRequest(`/TaskManage/SaveMBTITest`,'POST', data, 2,5) +// 保存工作价值 +api.saveWorkValuesResult = (data) => request.globalRequest(`/TaskManage/SaveWorkValuesResult`,'POST', data, 2,5) +// 保存多元智能 +api.saveMultipleIntelligenceResult = (data) => request.globalRequest(`/TaskManage/SaveMultipleIntelligenceResult`,'POST', data, 2,5) +// 保存人格测评 +api.saveCharacterTestResult = (data) => request.globalRequest(`/TaskManage/SaveCharacterTestResult`,'POST', data, 2,5) +// 保存兴趣测评 +api.saveInterestTestResult = (data) => request.globalRequest(`/TaskManage/SaveInterestTestResult`,'POST', data, 2,5) +// 保存初中测评结果 +api.querySaveTestRecord = (data) => request.globalRequest(`/ResearchStudy/QuerySaveTestRecord`,'POST', data, 1) +// 保存简易测评 +api.saveCustomerTestResult = (data) => request.globalRequest(`/TaskManage/SaveCustomerTestResult`,'POST', data, 2,5) +//保存测评结果(通用能力,多元能力,领导力) +api.saveCustomTestResult = (data) => request.globalRequest(`/TaskManage/SaveCustomTestResult`,'POST', data, 2,5) +//保存结果(学习力相关测评(文本类),图形类(-45:推理能力测评,),(生涯构建)(生涯适应力)) +api.saveStudyCustomTestResult = (data) => request.globalRequest(`/TestManage/SaveStudyCustomTestResult`,'POST', data, 1,0) +//保存结果(学习力:图形类:22:注意力测评,23:记忆力测评,25:场独立-场依存认知风格测评) +api.saveStudyGraphic_TestResult = (data) => request.globalRequest(`/TestManage/SaveStudyGraphic_TestResult`,'POST', data, 1,0) +//保存结果(学习力:图形类:沉思型-冲动型认知风格测评, +api.saveStudyGraphic_DependencyResult = (data) => request.globalRequest(`/TestManage/SaveStudyGraphic_DependencyResult`,'POST', data, 1,0) + + +// 获取自我评估结果 +api.querySubjectScoreResult = () => request.globalRequest(`/TaskManage/QuerySubjectScoreResult`,'GET', {}, 2,5) +// 获取兴趣测评结果 +api.queryInterestTestResult = (year,term,recordId) => request.globalRequest(`/TestManage/QueryInterestTestResult?year=${year}&term=${term}&recordId=${recordId}`,'GET', {}, 1) +// 获取学科信心结果 +api.querySubjectResult = (year,term,recordId) => request.globalRequest(`/TestManage/QuerySubjectResult?year=${year}&term=${term}&recordId=${recordId}`,'GET', {},1) +// 获取MBTI结果 +api.queryMBTIResult = (year,term,recordId)=> request.globalRequest(`/TestManage/QueryMBTIResult?year=${year}&term=${term}&recordId=${recordId}`,'GET', {}, 1) +// 获取多元智能结果 +api.multipleIntelligenceResult = (year,term,recordId) => request.globalRequest(`/TestManage/MultipleIntelligenceResult?year=${year}&term=${term}&recordId=${recordId}`,'GET', {}, 1) +// 获取工作价值结果 +api.workValuesResult = (year,term,recordId) => request.globalRequest(`/TestManage/WorkValuesResult?year=${year}&term=${term}&recordId=${recordId}`,'GET', {}, 1) +// 获取人格测评结果 +api.personalityTestResult = (year,term,recordId) => request.globalRequest(`/TestManage/PersonalityTestResult?year=${year}&term=${term}&recordId=${recordId}`,'GET', {},1) +// 获取初中兴趣题目 +api.getTestTitle = (testtype) => request.globalRequest(`/ResearchStudy/GetTestTitle?testtype=${testtype}`,'GET', {}, 1) +// 获取初中测评结果 +api.queryJuniorTestRecord = (year,term,recordId) => request.globalRequest(`/ResearchStudy/QueryJuniorTestRecord?year=${year}&term=${term}&recordId=${recordId}`,'GET', {}, 1) +// 获取简易测评 +api.queryCustomerTestTite = (testtype) => request.globalRequest(`/TaskManage/QueryTestContent?type=${testtype}`,'GET', {}, 2,5) +// 获取简易测评报告 +api.queryPrimaryInterestResult = () => request.globalRequest(`/TaskManage/QueryPrimaryInterestResult`,'GET', {}, 2,5) +// 获取多元智能结果(简版) +api.multipleIntelligenceSimpleResult = () => request.globalRequest(`/Test/MultipleIntelligenceSimpleResult`,'GET', {}, 2,5) +// 获取测评结果(通用能力,多元能力,领导力) +api.queryCustomTestResult = (testType,year,term,recordId) => request.globalRequest(`/TestManage/QueryCustomTestResult?type=${testType}&year=${year}&term=${term}&recordId=${recordId}`,'GET', {}, 1) +//获取测评结果(生涯构建和学习力相关测评) +api.getStudyCustomTestResult = (testType,year,term,recordId) => request.globalRequest(`/TestManage/GetStudyCustomTestResult?testType=${testType}&year=${year}&term=${term}&recordId=${recordId}`,'GET', {}, 1,0) +//获取结果时间维度对比(生涯构建和学习力相关测评) +api.getStudyTimeGroupTestResult = (testType,userId,year,term,recordId) => request.globalRequest(`/TestManage/GetStudyTimeGroupTestResult?testType=${testType}&userId=${userId}&year=${year}&term=${term}&recordId=${recordId}`,'GET', {}, 1,0) +//小程序获取时间维度接口(所有生涯测评) +api.getCareerYearAndTermList = (testType) => request.globalRequest(`/TestManage/GetCareerYearAndTermList?testType=${testType}`,'GET', {}, 1,0) + + +//兴趣测评对比数据 +api.getInterestTestGroupResult = (year,term,schoolId,gradeId,classId,sex,departId,userId,recordId) => request.globalRequest(`/TestManage/GetInterestTestGroupResult?year=${year}&term=${term}&schoolId=${schoolId}&gradeid=${gradeId}&classid=${classId}&sex=${sex}&departId=${departId}&userId=${userId}&recordId=${recordId}`,'GET', {}, 1,0) +//人格测评对比数据 +api.getPersonTestGroupResult = (year,term,schoolId,gradeId,classId,sex,departId,userId,recordId) => request.globalRequest(`/TestManage/GetPersonTestGroupResult?year=${year}&term=${term}&schoolId=${schoolId}&gradeid=${gradeId}&classid=${classId}&sex=${sex}&departId=${departId}&userId=${userId}&recordId=${recordId}`,'GET', {}, 1,0) +//多元智能测评对比数据 +api.getMultipleTestGroupResult = (year,term,schoolId,gradeId,classId,sex,departId,userId,recordId) => request.globalRequest(`/TestManage/GetMultipleTestGroupResult?year=${year}&term=${term}&schoolId=${schoolId}&gradeid=${gradeId}&classid=${classId}&sex=${sex}&departId=${departId}&userId=${userId}&recordId=${recordId}`,'GET', {}, 1,0) +//工作价值观测评对比数据 +api.getWorkValuesTestGroupResult = (year,term,schoolId,gradeId,classId,sex,departId,userId,recordId) => request.globalRequest(`/TestManage/GetWorkValuesTestGroupResult?year=${year}&term=${term}&schoolId=${schoolId}&gradeid=${gradeId}&classid=${classId}&sex=${sex}&departId=${departId}&userId=${userId}&recordId=${recordId}`,'GET', {}, 1,0) +//MBTI测评对比数据 +api.getMBTITestGroupResult = (year,term,schoolId,gradeId,classId,sex,departId,userId,recordId) => request.globalRequest(`/TestManage/GetMBTITestGroupResult?year=${year}&term=${term}&schoolId=${schoolId}&gradeid=${gradeId}&classid=${classId}&sex=${sex}&departId=${departId}&userId=${userId}&recordId=${recordId}`,'GET', {}, 1,0) + +//学科信心测评对比数据 +api.getSubjectTestGroupResult = (year,term,schoolId,gradeId,classId,sex,departId,userId,recordId) => request.globalRequest(`/TestManage/GetSubjectTestGroupResult?year=${year}&term=${term}&schoolId=${schoolId}&gradeid=${gradeId}&classid=${classId}&sex=${sex}&departId=${departId}&userId=${userId}&recordId=${recordId}`,'GET', {}, 1,0) + +//SCL-90对比/领导力数据 +api.getCustomTestGroupResult = (year,term,schoolId,gradeId,classId,sex,departId,typeId,userId,recordId) => request.globalRequest(`/TestManage/GetCustomTestGroupResult?year=${year}&term=${term}&schoolId=${schoolId}&gradeid=${gradeId}&classid=${classId}&sex=${sex}&departId=${departId}&typeId=${typeId}&userId=${userId}&recordId=${recordId}`,'GET', {}, 1,0) + +//多元能力测评对比数据 +api.getMultipleAbilityGroupResult = (year,term,schoolId,gradeId,classId,sex,departId,userId,recordId) => request.globalRequest(`/TestManage/GetMultipleAbilityGroupResult?year=${year}&term=${term}&schoolId=${schoolId}&gradeid=${gradeId}&classid=${classId}&sex=${sex}&departId=${departId}&userId=${userId}&recordId=${recordId}`,'GET', {}, 1,0) + +//通用职业能力测评对比数据 +api.getBeCurrentJobGroupResult = (year,term,schoolId,gradeId,classId,sex,departId,userId,recordId) => request.globalRequest(`/TestManage/GetBeCurrentJobGroupResult?year=${year}&term=${term}&schoolId=${schoolId}&gradeid=${gradeId}&classid=${classId}&sex=${sex}&departId=${departId}&userId=${userId}&recordId=${recordId}`,'GET', {}, 1,0) + +//获取学习力测评(文本类)群体维度对比数据,(生涯构建) +api.getStudyTestGroupResult = (typeId,year,term,schoolId,gradeId,classId,sex,departId,userId,recordId) => request.globalRequest(`/TestManage/GetStudyTestGroupResult?typeId=${typeId}&year=${year}&term=${term}&schoolId=${schoolId}&gradeid=${gradeId}&classid=${classId}&sex=${sex}&departId=${departId}&userId=${userId}&recordId=${recordId}`,'GET', {}, 1,0) +//记忆力测评群体维度对比数据 +api.getLearningMemoryGroupResult = (typeId,year,term,schoolId,gradeId,classId,sex,departId,userId,recordId) => request.globalRequest(`/TestManage/GetLearningMemoryGroupResult?typeId=${typeId}&year=${year}&term=${term}&schoolId=${schoolId}&gradeid=${gradeId}&classid=${classId}&sex=${sex}&departId=${departId}&userId=${userId}&recordId=${recordId}`,'GET', {}, 1,0) +//场独立-场依存认知风格测评群体维度对比数据 +api.getLearningUniqueGroupResult = (typeId,year,term,schoolId,gradeId,classId,sex,departId,userId,recordId) => request.globalRequest(`/TestManage/GetLearningUniqueGroupResult?typeId=${typeId}&year=${year}&term=${term}&schoolId=${schoolId}&gradeid=${gradeId}&classid=${classId}&sex=${sex}&departId=${departId}&userId=${userId}&recordId=${recordId}`,'GET', {}, 1,0) +//沉思型-冲动型认知风格测评群体维度对比数据 +api.getLearningDependencyGroupResult = (typeId,year,term,schoolId,gradeId,classId,sex,departId,userId,recordId) => request.globalRequest(`/TestManage/GetLearningDependencyGroupResult?typeId=${typeId}&year=${year}&term=${term}&schoolId=${schoolId}&gradeid=${gradeId}&classid=${classId}&sex=${sex}&departId=${departId}&userId=${userId}&recordId=${recordId}`,'GET', {}, 1,0) +//学习力(图形类)测评群体维度对比数据(22:注意力测评,-45:推理能力测评) +api.getGraphic_TestGroupResult = (typeId,year,term,schoolId,gradeId,classId,sex,departId,userId,recordId) => request.globalRequest(`/TestManage/GetGraphic_TestGroupResult?typeId=${typeId}&year=${year}&term=${term}&schoolId=${schoolId}&gradeid=${gradeId}&classid=${classId}&sex=${sex}&departId=${departId}&userId=${userId}&recordId=${recordId}`,'GET', {}, 1,0) +//获取测评分类标签 +api.getTestTypeTagLIst = () => request.globalRequest(`/TestManage/GetTestTypeTagLIst`,'GET', {}, 1) + +//获取测评报告日期列表 +api.getCareerYearAndTermListNew = (testType,userId) => request.globalRequest(`/TestManage/GetCareerYearAndTermListNew?testType=${testType}&userId=${userId}`,'GET', {}, 1) + +// 保存测评答题过程记录 +api.saveTestRecordProcess = (data) => request.globalRequest(`/TestRecordProcess/SaveTestRecordProcess`,'POST', data, 1) +//获取测评答题记录 +api.getTestRecordProcessList = (testType) => request.globalRequest(`/TestRecordProcess/GetTestRecordProcessList?testType=${testType}`,'GET', {}, 1) +// 删除测评数据 +api.removeTestRecordProcess = (testType) => request.globalRequest(`/TestRecordProcess/RemoveTestRecordProcess?testType=${testType}`,'POST', {}, 1) +// 获取测评列表答题记录状态 +api.getUserTestTypeProcessList = (testTypes) => request.globalRequest(`/TestRecordProcess/GetUserTestTypeProcessList?testTypes=${testTypes}`,'GET', {}, 1) + + +export default api diff --git a/apiCa/user.js b/apiCa/user.js new file mode 100644 index 0000000..7f8b87b --- /dev/null +++ b/apiCa/user.js @@ -0,0 +1,78 @@ +import request from '@/utilCa/request.js' + +const api = {} + +//根据openId,获取token,并判断用户是否已绑定账号 +api.queryKaShiToken = (userId,name) => request.globalRequest(`/KaShi/QueryKaShiToken?userId=${userId}&name=${name}&schoolId=2268`,'GET', {}) + +//根据openId,获取token,并判断用户是否已绑定账号 +api.getAccessTokenAndUser = (params) => request.globalRequest(`/WeChartToken/GetAccessTokenAndUser?openId=${params}`,'GET', {}) + +//获取用户token 生涯平台token +api.queryWechartToken = (userId,schoolId,userType) => request.globalRequest(`/Auth/QueryWechartToken?userId=${userId}&schoolId=${schoolId}&userType=${userType}`,'GET', {},1,4) +// 获取openid +api.getOpenId = (params) => request.globalRequest(`/WishOrder/GetOpenId?code=${params}`,'GET', {}, "") + +// 微信支付 +api.createWeiXinOrder = (data) => request.globalRequest(`/TenpayOrder/CreateWeiXinOrder`, 'POST', data) + +// 用户绑定登录 +api.userBindLogin = (data) => request.globalRequest(`/user/UserBindLogin`, 'POST', data) +//用户解绑账号或切换账号(有返回User, Token话,前端重新绑定到header上) +api.userUnBindOrChangeCodeNumber = (userId,type) => request.globalRequest(`/user/UserUnBindOrChangeCodeNumber?userId=${userId}&type=${type}`,'GET', {}, 1) +//获取当前微信用户已绑定的账号列表 +api.getUserCodeNumber = () => request.globalRequest(`/user/GetUserCodeNumber`,'GET', {}, 1) +//根据学号获取学校列表 +api.getSchoolByCodeNumber = (params) => request.globalRequest(`/user/GetSchoolByCodeNumber?codeNumber=${params}`,'GET', {}, 1) + +// 判断学生是否完成生涯成熟度问卷, taskId大于0,需要进行问卷,taskId 等于0,不需要问卷 +// api.getQuestionnaireTitlePower = () => request.globalRequest(`/CareerMaturityTask/GetQuestionnaireTitlePower`,'GET', {}, 1) +// 获取生涯成熟度题目 +// api.getTestTitleListList = () => request.globalRequest(`/CareerMaturityTask/GetTestTitleListList`,'GET', {}, 1) +// 保存生涯成熟度测评结果 +// api.saveCareerMaturityTestResult = (data) => request.globalRequest(`/CareerMaturityTask/SaveCareerMaturityTestResult`, 'POST', data, 1) + +// 获取手机验证码 +api.getMobileCode = (mobile) => request.globalRequest(`/WeChartUser/GetMobileCode?mobile=${mobile}&token=SQEIfNmlFufmOMNVPZCvNVWpDeldYjH`,'GET', {}, 1) +// 提交手机注册 +api.checkSmsCode = (data) => request.globalRequest(`/user/CheckSmsCode`, 'POST', data, 1) + +// 获取个人档案 +api.queryStudentProfile = () => request.globalRequest(`/StudentResource/QueryStudentProfile`,'GET', {}, 2,4) +// 添加,取消个人意向 +api.doIntention = (type,id,actionType) => request.globalRequest(`/StudentResource/DoIntention?type=${type}&actionType=${actionType}&id=${id}`,'GET', {}, 2,4) +//绑vip卡 +api.bindCard = (data) => request.globalRequest(`/user/BindCard`,'POST', data, 1) + +// 一体机激活 绑定 获取列表 +api.queryMachineOrderCountList = (machineNumber) => request.globalRequest(`/Onemachine/QueryMachineOrderCountList?machineNumber=${machineNumber}`,'GET', {}, 1) +// 绑定设备 +api.activityMachine = (data) => request.globalRequest(`/Onemachine/ActivityMachine`,'POST', data, 1) +// 解绑 +api.removeMachine = (orderId,machineModelId,machineNumber) => request.globalRequest(`/Onemachine/RemoveMachine?orderId=${orderId}&machineModelId=${machineModelId}&machineNumber=${machineNumber}`,'POST', {}, 1) + +// ai咨询问题 +api.aISearch = (keyword,sessionId) => request.globalRequest(`/AIAgents/search?keyword=${keyword}&sessionId=${sessionId}`,'GET', {}, 1) +// ai获取历史咨询 +api.aIGetHistoryRecord = (page) => request.globalRequest(`/AIAgents/GetHistoryRecord?page=${page}&pageSize=20`,'GET', {}, 1) + +// 保存人脸图片 +api.queryUploadPhoto = (address) => request.globalRequest(`/user/QueryUploadPhoto?address=${address}`,'GET', {}, 1) + +// 保存操作日志 +api.saveUserOperationLog = (data) => request.globalRequest(`/UserOperationLog/SaveUserOperationLog`,'POST', data, 3) + +// 获取操作日志 +api.getUserOperationLogList = (pageIndex,pageSize,keyword,operationType) => request.globalRequest(`/UserOperationLog/GetUserOperationLogList?pageIndex=${pageIndex}&pageSize=${pageSize}&keyword=${keyword}&operationType=${operationType}`,'GET', {}, 1) +// 设备登录 +api.loginOneMachine = (machineNo) => request.globalRequest(`/user/LoginOneMachine?machineNo=${machineNo}`,'POST', {}, 1) +// 获取系统菜单权限 +api.querySchoolMenu = () => request.globalRequest(`/user/QuerySchoolMenu`,'GET', {}, 1) + +// 保存高校个人信息 +api.saveUserBasisInfo = (mobileCode,data) => request.globalRequest(`/user/SaveUserBasisInfo?mobileCode=${mobileCode}`,'POST', data, 1) + +// 获取高校个人信息 +api.getUserBasisInfo = () => request.globalRequest(`/user/GetUserBasisInfo`,'GET', {}, 1) +export default api + diff --git a/packageCa/job/details.vue b/packageCa/job/details.vue new file mode 100644 index 0000000..9f7d7df --- /dev/null +++ b/packageCa/job/details.vue @@ -0,0 +1,386 @@ + + + + + + \ 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 @@ + + + + + \ 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 @@ + + + + + + \ 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 @@ + + + + + + \ 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 @@ + + + + + \ 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 @@ + + + \ 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 @@ + + + + + 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 @@ + + + + + \ 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 @@ + + + + + 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 @@ + + + + \ 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 @@ + + + + + \ 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 @@ + + + + + \ 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 @@ + + + + + \ 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 @@ + + + + + \ 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 @@ + + + + + \ 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 @@ + + + + + + \ 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 @@ + + + + + \ 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 @@ + + + + \ 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 @@ + + + + + \ 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 @@ + + + + + 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 @@ + + + + + \ 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 @@ + + + + + \ 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 @@ + + + + \ 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` | + + +## 打赏 +如果你觉得本插件,解决了你的问题,赠人玫瑰,手留余香。 +![](https://testingcf.jsdelivr.net/gh/liangei/image@1.9/alipay.png) +![](https://testingcf.jsdelivr.net/gh/liangei/image@1.9/wpay.png) \ 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