From 5b6285993f8950f61909cddd98a66b5300359c4e Mon Sep 17 00:00:00 2001 From: Kane Wang Date: Mon, 31 Jul 2023 20:14:49 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=9D=E5=AD=98=E8=BF=9B=E5=BA=A6=EF=BC=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code/web/task_schedule/package-lock.json | 45 ++++++++++--------- code/web/task_schedule/package.json | 4 +- .../components/ArchievementChartComponent.vue | 3 ++ .../task_schedule/src/utils/archievement.ts | 16 ++++++- .../mybatis/pojo/MensualArchievementItem.java | 32 ++++++------- .../mybatis/mapper/ArchievementMapper.xml | 2 +- 6 files changed, 62 insertions(+), 40 deletions(-) diff --git a/code/web/task_schedule/package-lock.json b/code/web/task_schedule/package-lock.json index 0e9dce2..b70c6ea 100644 --- a/code/web/task_schedule/package-lock.json +++ b/code/web/task_schedule/package-lock.json @@ -13,7 +13,7 @@ "axios": "^1.4.0", "babel": "^6.23.0", "echarts": "^5.4.3", - "element-plus": "^2.3.8", + "element-plus": "^2.3.7", "moment": "^2.29.4", "sass-loader": "^13.3.2", "vue": "^3.3.4", @@ -26,7 +26,7 @@ "@vitejs/plugin-vue": "^4.2.3", "@vue/cli-plugin-eslint": "^5.0.8", "eslint-config-recommended": "^4.1.0", - "eslint-plugin-vue": "^9.15.1", + "eslint-plugin-vue": "^9.16.1", "node-sass": "^9.0.0", "sass": "^1.64.1", "style-loader": "^3.3.3", @@ -1788,6 +1788,7 @@ "resolved": "https://registry.npmmirror.com/@typescript-eslint/types/-/types-6.1.0.tgz", "integrity": "sha512-+Gfd5NHCpDoHDOaU/yIF3WWRI2PcBRKKpP91ZcVbL0t5tQpqYWBs3z/GGhvU+EV1D0262g9XCnyqQh19prU0JQ==", "dev": true, + "peer": true, "engines": { "node": "^16.0.0 || >=18.0.0" } @@ -1797,6 +1798,7 @@ "resolved": "https://registry.npmmirror.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.1.0.tgz", "integrity": "sha512-nUKAPWOaP/tQjU1IQw9sOPCDavs/iU5iYLiY/6u7gxS7oKQoi4aUxXS1nrrVGTyBBaGesjkcwwHkbkiD5eBvcg==", "dev": true, + "peer": true, "dependencies": { "@typescript-eslint/types": "6.1.0", "@typescript-eslint/visitor-keys": "6.1.0", @@ -1820,6 +1822,7 @@ "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, + "peer": true, "dependencies": { "yallist": "^4.0.0" }, @@ -1832,6 +1835,7 @@ "resolved": "https://registry.npmmirror.com/semver/-/semver-7.5.4.tgz", "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, + "peer": true, "dependencies": { "lru-cache": "^6.0.0" }, @@ -1846,7 +1850,8 @@ "version": "4.0.0", "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "dev": true, + "peer": true }, "node_modules/@typescript-eslint/utils": { "version": "6.2.0", @@ -4745,9 +4750,9 @@ "integrity": "sha512-zx8hqumOqltKsv/MF50yvdAlPF9S/4PXbyfzJS6ZGhbddGkRegdwImmfSVqCkEziYzrIGZ/TlrzBND4FysfkDg==" }, "node_modules/element-plus": { - "version": "2.3.8", - "resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.3.8.tgz", - "integrity": "sha512-yHQR0/tG2LvPkpGUt7Te/hPmP2XW/BytBNUbx+EFO54VnGCOE3upmQcVffNp1PLgwg9sthYDXontUWpnpmLPJw==", + "version": "2.3.7", + "resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.3.7.tgz", + "integrity": "sha512-h6TxclbaLUJxg/Bv5j/ZKsK+K5yadQliw5+R30HWyE69pXlqXTX24oYx+yw3pA4Dy+lqEDi5501FQ0CORk3OSA==", "dependencies": { "@ctrl/tinycolor": "^3.4.1", "@element-plus/icons-vue": "^2.0.6", @@ -6741,17 +6746,17 @@ } }, "node_modules/eslint-plugin-vue": { - "version": "9.15.1", - "resolved": "https://registry.npmmirror.com/eslint-plugin-vue/-/eslint-plugin-vue-9.15.1.tgz", - "integrity": "sha512-CJE/oZOslvmAR9hf8SClTdQ9JLweghT6JCBQNrT2Iel1uVw0W0OLJxzvPd6CxmABKCvLrtyDnqGV37O7KQv6+A==", + "version": "9.16.1", + "resolved": "https://registry.npmmirror.com/eslint-plugin-vue/-/eslint-plugin-vue-9.16.1.tgz", + "integrity": "sha512-2FtnTqazA6aYONfDuOZTk0QzwhAwi7Z4+uJ7+GHeGxcKapjqWlDsRWDenvyG/utyOfAS5bVRmAG3cEWiYEz2bA==", "dev": true, "dependencies": { - "@eslint-community/eslint-utils": "^4.3.0", + "@eslint-community/eslint-utils": "^4.4.0", "natural-compare": "^1.4.0", - "nth-check": "^2.0.1", - "postcss-selector-parser": "^6.0.9", - "semver": "^7.3.5", - "vue-eslint-parser": "^9.3.0", + "nth-check": "^2.1.1", + "postcss-selector-parser": "^6.0.13", + "semver": "^7.5.4", + "vue-eslint-parser": "^9.3.1", "xml-name-validator": "^4.0.0" }, "engines": { @@ -6774,9 +6779,9 @@ } }, "node_modules/eslint-plugin-vue/node_modules/semver": { - "version": "7.5.1", - "resolved": "https://registry.npmmirror.com/semver/-/semver-7.5.1.tgz", - "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", + "version": "7.5.4", + "resolved": "https://registry.npmmirror.com/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -11590,9 +11595,9 @@ } }, "node_modules/postcss-selector-parser": { - "version": "6.0.11", - "resolved": "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz", - "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==", + "version": "6.0.13", + "resolved": "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", + "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", "dev": true, "dependencies": { "cssesc": "^3.0.0", diff --git a/code/web/task_schedule/package.json b/code/web/task_schedule/package.json index 80fb096..ab317f4 100644 --- a/code/web/task_schedule/package.json +++ b/code/web/task_schedule/package.json @@ -14,7 +14,7 @@ "axios": "^1.4.0", "babel": "^6.23.0", "echarts": "^5.4.3", - "element-plus": "^2.3.8", + "element-plus": "^2.3.7", "moment": "^2.29.4", "sass-loader": "^13.3.2", "vue": "^3.3.4", @@ -27,7 +27,7 @@ "@vitejs/plugin-vue": "^4.2.3", "@vue/cli-plugin-eslint": "^5.0.8", "eslint-config-recommended": "^4.1.0", - "eslint-plugin-vue": "^9.15.1", + "eslint-plugin-vue": "^9.16.1", "node-sass": "^9.0.0", "sass": "^1.64.1", "style-loader": "^3.3.3", diff --git a/code/web/task_schedule/src/components/ArchievementChartComponent.vue b/code/web/task_schedule/src/components/ArchievementChartComponent.vue index 4e63f4b..e2c46b1 100644 --- a/code/web/task_schedule/src/components/ArchievementChartComponent.vue +++ b/code/web/task_schedule/src/components/ArchievementChartComponent.vue @@ -29,11 +29,14 @@ export default { setup( props ) { const ui = reactive({ + mensualList:[], }); + // 设置图表 const initCharts = () => { + console.log( "每月业绩", props.chartData ); const chartDom = document.getElementById( "chartWrapper" ); const myChart = echarts.init( chartDom as HTMLDivElement ); const option = { diff --git a/code/web/task_schedule/src/utils/archievement.ts b/code/web/task_schedule/src/utils/archievement.ts index 91a2cce..a02da0c 100644 --- a/code/web/task_schedule/src/utils/archievement.ts +++ b/code/web/task_schedule/src/utils/archievement.ts @@ -54,14 +54,26 @@ function queryDepartmentArchievement( departmentInfo: Department, render: any ): archievement.success = data.success ?? false; archievement.message = data.message ?? ""; - archievement.mensual_archievement_list = data.mensual_archievement_list ?? []; + archievement.total_archievement = data.total_archievement; + // archievement.mensual_archievement_list = data.mensual_archievement_list ?? []; + archievement.mensual_archievement_list = []; archievement.insurance_renewal_rate = data.insurance_renewal_rate ?? "0.0"; archievement.attaching_rate = data.attaching_rate ?? "0.0"; archievement.leading_reward_gainers = data.leading_reward_gainers ?? []; archievement.advance_reward_gainers = data.advance_reward_gainers ?? []; archievement.backward_list = data.backward_list ?? []; + + // 转换每月业绩数据,用month排序以后,保留premium。 + data.mensual_archievement_list.sort(( a:any, b:any )=>a.month-b.month ); + data.mensual_archievement_list.forEach(( item:any )=> + { + archievement.mensual_archievement_list.push( item.premium ); + }); - render( data ); + console.log( "每月业绩", archievement ); + + // 渲染数据 + render( archievement ); }) .catch(( error ) => { diff --git a/code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/mybatis/pojo/MensualArchievementItem.java b/code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/mybatis/pojo/MensualArchievementItem.java index 8e2e344..f682f23 100644 --- a/code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/mybatis/pojo/MensualArchievementItem.java +++ b/code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/mybatis/pojo/MensualArchievementItem.java @@ -16,18 +16,20 @@ public class MensualArchievementItem public MensualArchievementItem() {} - public MensualArchievementItem( String month, String premium) + public MensualArchievementItem( int month, String premium) { this.month = month; this.premium = premium; } - public String getMonth() + + + public int getMonth() { return month; } - public void setMonth( String month ) + public void setMonth( int month ) { this.month = month; } @@ -42,18 +44,14 @@ public class MensualArchievementItem this.premium = premium; } - @Override - public String toString() - { - return "MensualArchievementItem [month=" + month + ", premium=" + premium + "]"; - } + @Override public int hashCode() { final int prime = 31; int result = 1; - result = prime * result + ((month == null) ? 0 : month.hashCode()); + result = prime * result + month; result = prime * result + ((premium == null) ? 0 : premium.hashCode()); return result; } @@ -68,11 +66,7 @@ public class MensualArchievementItem if ( getClass() != obj.getClass() ) return false; MensualArchievementItem other = (MensualArchievementItem) obj; - if ( month == null ) - { - if ( other.month != null ) - return false; - } else if ( !month.equals( other.month ) ) + if ( month != other.month ) return false; if ( premium == null ) { @@ -83,9 +77,17 @@ public class MensualArchievementItem return true; } + @Override + public String toString() + { + return "MensualArchievementItem [month=" + month + ", premium=" + premium + "]"; + } + + + // 月份 @JsonProperty( "month" ) - private String month; + private int month; // 月总保费 @JsonProperty( "premium" ) diff --git a/code/后端/desktop_archievement_backend/src/main/resources/mybatis/mapper/ArchievementMapper.xml b/code/后端/desktop_archievement_backend/src/main/resources/mybatis/mapper/ArchievementMapper.xml index d5b6943..d7d408e 100644 --- a/code/后端/desktop_archievement_backend/src/main/resources/mybatis/mapper/ArchievementMapper.xml +++ b/code/后端/desktop_archievement_backend/src/main/resources/mybatis/mapper/ArchievementMapper.xml @@ -10,7 +10,7 @@ #{a_mensual_cur, mode=OUT, jdbcType=CURSOR, resultMap=MensualArchievementMapper}) - + \ No newline at end of file