保存进度!

This commit is contained in:
Kane Wang 2023-07-31 20:14:49 +08:00
parent b2a973f7bd
commit 5b6285993f
6 changed files with 62 additions and 40 deletions

View File

@ -13,7 +13,7 @@
"axios": "^1.4.0", "axios": "^1.4.0",
"babel": "^6.23.0", "babel": "^6.23.0",
"echarts": "^5.4.3", "echarts": "^5.4.3",
"element-plus": "^2.3.8", "element-plus": "^2.3.7",
"moment": "^2.29.4", "moment": "^2.29.4",
"sass-loader": "^13.3.2", "sass-loader": "^13.3.2",
"vue": "^3.3.4", "vue": "^3.3.4",
@ -26,7 +26,7 @@
"@vitejs/plugin-vue": "^4.2.3", "@vitejs/plugin-vue": "^4.2.3",
"@vue/cli-plugin-eslint": "^5.0.8", "@vue/cli-plugin-eslint": "^5.0.8",
"eslint-config-recommended": "^4.1.0", "eslint-config-recommended": "^4.1.0",
"eslint-plugin-vue": "^9.15.1", "eslint-plugin-vue": "^9.16.1",
"node-sass": "^9.0.0", "node-sass": "^9.0.0",
"sass": "^1.64.1", "sass": "^1.64.1",
"style-loader": "^3.3.3", "style-loader": "^3.3.3",
@ -1788,6 +1788,7 @@
"resolved": "https://registry.npmmirror.com/@typescript-eslint/types/-/types-6.1.0.tgz", "resolved": "https://registry.npmmirror.com/@typescript-eslint/types/-/types-6.1.0.tgz",
"integrity": "sha512-+Gfd5NHCpDoHDOaU/yIF3WWRI2PcBRKKpP91ZcVbL0t5tQpqYWBs3z/GGhvU+EV1D0262g9XCnyqQh19prU0JQ==", "integrity": "sha512-+Gfd5NHCpDoHDOaU/yIF3WWRI2PcBRKKpP91ZcVbL0t5tQpqYWBs3z/GGhvU+EV1D0262g9XCnyqQh19prU0JQ==",
"dev": true, "dev": true,
"peer": true,
"engines": { "engines": {
"node": "^16.0.0 || >=18.0.0" "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", "resolved": "https://registry.npmmirror.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.1.0.tgz",
"integrity": "sha512-nUKAPWOaP/tQjU1IQw9sOPCDavs/iU5iYLiY/6u7gxS7oKQoi4aUxXS1nrrVGTyBBaGesjkcwwHkbkiD5eBvcg==", "integrity": "sha512-nUKAPWOaP/tQjU1IQw9sOPCDavs/iU5iYLiY/6u7gxS7oKQoi4aUxXS1nrrVGTyBBaGesjkcwwHkbkiD5eBvcg==",
"dev": true, "dev": true,
"peer": true,
"dependencies": { "dependencies": {
"@typescript-eslint/types": "6.1.0", "@typescript-eslint/types": "6.1.0",
"@typescript-eslint/visitor-keys": "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", "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz",
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"dev": true, "dev": true,
"peer": true,
"dependencies": { "dependencies": {
"yallist": "^4.0.0" "yallist": "^4.0.0"
}, },
@ -1832,6 +1835,7 @@
"resolved": "https://registry.npmmirror.com/semver/-/semver-7.5.4.tgz", "resolved": "https://registry.npmmirror.com/semver/-/semver-7.5.4.tgz",
"integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
"dev": true, "dev": true,
"peer": true,
"dependencies": { "dependencies": {
"lru-cache": "^6.0.0" "lru-cache": "^6.0.0"
}, },
@ -1846,7 +1850,8 @@
"version": "4.0.0", "version": "4.0.0",
"resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz", "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"dev": true "dev": true,
"peer": true
}, },
"node_modules/@typescript-eslint/utils": { "node_modules/@typescript-eslint/utils": {
"version": "6.2.0", "version": "6.2.0",
@ -4745,9 +4750,9 @@
"integrity": "sha512-zx8hqumOqltKsv/MF50yvdAlPF9S/4PXbyfzJS6ZGhbddGkRegdwImmfSVqCkEziYzrIGZ/TlrzBND4FysfkDg==" "integrity": "sha512-zx8hqumOqltKsv/MF50yvdAlPF9S/4PXbyfzJS6ZGhbddGkRegdwImmfSVqCkEziYzrIGZ/TlrzBND4FysfkDg=="
}, },
"node_modules/element-plus": { "node_modules/element-plus": {
"version": "2.3.8", "version": "2.3.7",
"resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.3.8.tgz", "resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.3.7.tgz",
"integrity": "sha512-yHQR0/tG2LvPkpGUt7Te/hPmP2XW/BytBNUbx+EFO54VnGCOE3upmQcVffNp1PLgwg9sthYDXontUWpnpmLPJw==", "integrity": "sha512-h6TxclbaLUJxg/Bv5j/ZKsK+K5yadQliw5+R30HWyE69pXlqXTX24oYx+yw3pA4Dy+lqEDi5501FQ0CORk3OSA==",
"dependencies": { "dependencies": {
"@ctrl/tinycolor": "^3.4.1", "@ctrl/tinycolor": "^3.4.1",
"@element-plus/icons-vue": "^2.0.6", "@element-plus/icons-vue": "^2.0.6",
@ -6741,17 +6746,17 @@
} }
}, },
"node_modules/eslint-plugin-vue": { "node_modules/eslint-plugin-vue": {
"version": "9.15.1", "version": "9.16.1",
"resolved": "https://registry.npmmirror.com/eslint-plugin-vue/-/eslint-plugin-vue-9.15.1.tgz", "resolved": "https://registry.npmmirror.com/eslint-plugin-vue/-/eslint-plugin-vue-9.16.1.tgz",
"integrity": "sha512-CJE/oZOslvmAR9hf8SClTdQ9JLweghT6JCBQNrT2Iel1uVw0W0OLJxzvPd6CxmABKCvLrtyDnqGV37O7KQv6+A==", "integrity": "sha512-2FtnTqazA6aYONfDuOZTk0QzwhAwi7Z4+uJ7+GHeGxcKapjqWlDsRWDenvyG/utyOfAS5bVRmAG3cEWiYEz2bA==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@eslint-community/eslint-utils": "^4.3.0", "@eslint-community/eslint-utils": "^4.4.0",
"natural-compare": "^1.4.0", "natural-compare": "^1.4.0",
"nth-check": "^2.0.1", "nth-check": "^2.1.1",
"postcss-selector-parser": "^6.0.9", "postcss-selector-parser": "^6.0.13",
"semver": "^7.3.5", "semver": "^7.5.4",
"vue-eslint-parser": "^9.3.0", "vue-eslint-parser": "^9.3.1",
"xml-name-validator": "^4.0.0" "xml-name-validator": "^4.0.0"
}, },
"engines": { "engines": {
@ -6774,9 +6779,9 @@
} }
}, },
"node_modules/eslint-plugin-vue/node_modules/semver": { "node_modules/eslint-plugin-vue/node_modules/semver": {
"version": "7.5.1", "version": "7.5.4",
"resolved": "https://registry.npmmirror.com/semver/-/semver-7.5.1.tgz", "resolved": "https://registry.npmmirror.com/semver/-/semver-7.5.4.tgz",
"integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"lru-cache": "^6.0.0" "lru-cache": "^6.0.0"
@ -11590,9 +11595,9 @@
} }
}, },
"node_modules/postcss-selector-parser": { "node_modules/postcss-selector-parser": {
"version": "6.0.11", "version": "6.0.13",
"resolved": "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz", "resolved": "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz",
"integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==", "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"cssesc": "^3.0.0", "cssesc": "^3.0.0",

View File

@ -14,7 +14,7 @@
"axios": "^1.4.0", "axios": "^1.4.0",
"babel": "^6.23.0", "babel": "^6.23.0",
"echarts": "^5.4.3", "echarts": "^5.4.3",
"element-plus": "^2.3.8", "element-plus": "^2.3.7",
"moment": "^2.29.4", "moment": "^2.29.4",
"sass-loader": "^13.3.2", "sass-loader": "^13.3.2",
"vue": "^3.3.4", "vue": "^3.3.4",
@ -27,7 +27,7 @@
"@vitejs/plugin-vue": "^4.2.3", "@vitejs/plugin-vue": "^4.2.3",
"@vue/cli-plugin-eslint": "^5.0.8", "@vue/cli-plugin-eslint": "^5.0.8",
"eslint-config-recommended": "^4.1.0", "eslint-config-recommended": "^4.1.0",
"eslint-plugin-vue": "^9.15.1", "eslint-plugin-vue": "^9.16.1",
"node-sass": "^9.0.0", "node-sass": "^9.0.0",
"sass": "^1.64.1", "sass": "^1.64.1",
"style-loader": "^3.3.3", "style-loader": "^3.3.3",

View File

@ -29,11 +29,14 @@ export default {
setup( props ) setup( props )
{ {
const ui = reactive({ const ui = reactive({
mensualList:[],
}); });
// //
const initCharts = () => const initCharts = () =>
{ {
console.log( "每月业绩", props.chartData );
const chartDom = document.getElementById( "chartWrapper" ); const chartDom = document.getElementById( "chartWrapper" );
const myChart = echarts.init( chartDom as HTMLDivElement ); const myChart = echarts.init( chartDom as HTMLDivElement );
const option = { const option = {

View File

@ -54,14 +54,26 @@ function queryDepartmentArchievement( departmentInfo: Department, render: any ):
archievement.success = data.success ?? false; archievement.success = data.success ?? false;
archievement.message = data.message ?? ""; 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.insurance_renewal_rate = data.insurance_renewal_rate ?? "0.0";
archievement.attaching_rate = data.attaching_rate ?? "0.0"; archievement.attaching_rate = data.attaching_rate ?? "0.0";
archievement.leading_reward_gainers = data.leading_reward_gainers ?? []; archievement.leading_reward_gainers = data.leading_reward_gainers ?? [];
archievement.advance_reward_gainers = data.advance_reward_gainers ?? []; archievement.advance_reward_gainers = data.advance_reward_gainers ?? [];
archievement.backward_list = data.backward_list ?? []; archievement.backward_list = data.backward_list ?? [];
render( data ); // 转换每月业绩数据用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 );
});
console.log( "每月业绩", archievement );
// 渲染数据
render( archievement );
}) })
.catch(( error ) => .catch(( error ) =>
{ {

View File

@ -16,18 +16,20 @@ public class MensualArchievementItem
public MensualArchievementItem() public MensualArchievementItem()
{} {}
public MensualArchievementItem( String month, String premium) public MensualArchievementItem( int month, String premium)
{ {
this.month = month; this.month = month;
this.premium = premium; this.premium = premium;
} }
public String getMonth()
public int getMonth()
{ {
return month; return month;
} }
public void setMonth( String month ) public void setMonth( int month )
{ {
this.month = month; this.month = month;
} }
@ -42,18 +44,14 @@ public class MensualArchievementItem
this.premium = premium; this.premium = premium;
} }
@Override
public String toString()
{
return "MensualArchievementItem [month=" + month + ", premium=" + premium + "]";
}
@Override @Override
public int hashCode() public int hashCode()
{ {
final int prime = 31; final int prime = 31;
int result = 1; int result = 1;
result = prime * result + ((month == null) ? 0 : month.hashCode()); result = prime * result + month;
result = prime * result + ((premium == null) ? 0 : premium.hashCode()); result = prime * result + ((premium == null) ? 0 : premium.hashCode());
return result; return result;
} }
@ -68,11 +66,7 @@ public class MensualArchievementItem
if ( getClass() != obj.getClass() ) if ( getClass() != obj.getClass() )
return false; return false;
MensualArchievementItem other = (MensualArchievementItem) obj; MensualArchievementItem other = (MensualArchievementItem) obj;
if ( month == null ) if ( month != other.month )
{
if ( other.month != null )
return false;
} else if ( !month.equals( other.month ) )
return false; return false;
if ( premium == null ) if ( premium == null )
{ {
@ -83,9 +77,17 @@ public class MensualArchievementItem
return true; return true;
} }
@Override
public String toString()
{
return "MensualArchievementItem [month=" + month + ", premium=" + premium + "]";
}
// 月份 // 月份
@JsonProperty( "month" ) @JsonProperty( "month" )
private String month; private int month;
// 月总保费 // 月总保费
@JsonProperty( "premium" ) @JsonProperty( "premium" )

View File

@ -10,7 +10,7 @@
#{a_mensual_cur, mode=OUT, jdbcType=CURSOR, resultMap=MensualArchievementMapper}) #{a_mensual_cur, mode=OUT, jdbcType=CURSOR, resultMap=MensualArchievementMapper})
</select> </select>
<resultMap id="MensualArchievementMapper" type="MensualArchievementItem"> <resultMap id="MensualArchievementMapper" type="MensualArchievementItem">
<id property="month" column="mm" /> <id property="month" column="mm" javaType="INT"/>
<result property="premium" column="bf" /> <result property="premium" column="bf" />
</resultMap> </resultMap>
</mapper> </mapper>