保存进度!
This commit is contained in:
parent
f391880c9c
commit
2e02b9182d
@ -58,8 +58,9 @@ CREATE OR REPLACE PACKAGE BODY TELSALE_ARCHIEVEMENT_DEV_PKG IS
|
||||
A_TOTAL OUT INTEGER,
|
||||
A_MENSUAL_CUR OUT CUR_TYPE
|
||||
) IS
|
||||
L_FIRSTDAY DATE;
|
||||
L_DEPARTMENT_NAME VARCHAR2(100);
|
||||
L_FIRSTDAY DATE;
|
||||
L_DEPARTMENT_NAME VARCHAR2(100);
|
||||
L_RENEWAL_RATE_TARGET NUMBER;
|
||||
BEGIN
|
||||
L_FIRSTDAY := TO_DATE(TO_CHAR(SYSDATE,
|
||||
'yyyy') || '-01-01 00:00:00',
|
||||
@ -87,24 +88,47 @@ CREATE OR REPLACE PACKAGE BODY TELSALE_ARCHIEVEMENT_DEV_PKG IS
|
||||
A_ATTACHING_RATE_TARGET
|
||||
FROM DESKTOP_ARCHIEVEMENT_ADMIN.BI机构渗透率跟踪表 DEPT
|
||||
WHERE DEPT.部门 = L_DEPARTMENT_NAME;
|
||||
|
||||
--解决round导致小数缺0的问题
|
||||
SELECT DECODE(SUBSTR(A_ATTACHING_RATE_TARGET,
|
||||
1,
|
||||
1),
|
||||
'.',
|
||||
'0' || A_ATTACHING_RATE_TARGET,
|
||||
A_ATTACHING_RATE_TARGET)
|
||||
INTO A_ATTACHING_RATE_TARGET
|
||||
FROM DUAL;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
A_ATTACHING_RATE := '0.0';
|
||||
A_ATTACHING_RATE := '0.0';
|
||||
A_ATTACHING_RATE_TARGET := '0.0';
|
||||
END;
|
||||
|
||||
--续保率
|
||||
--续保率&目标差距
|
||||
BEGIN
|
||||
SELECT ROUND(t."个车续保率(全月)(%)",
|
||||
SELECT ROUND(t."个车续保率(序时)(%)",
|
||||
2),
|
||||
ROUND(t."个车续保率(序时)(%)" - t."机构目标值1(%)",
|
||||
2)
|
||||
INTO A_RENEWAL_RATE
|
||||
INTO A_RENEWAL_RATE,
|
||||
A_RENEWAL_RATE_TARGET
|
||||
FROM BI机构当月个车续保率跟踪表 T
|
||||
WHERE T.责任部门 = L_DEPARTMENT_NAME;
|
||||
|
||||
--解决round导致小数缺0的问题
|
||||
SELECT DECODE(SUBSTR(A_RENEWAL_RATE_TARGET,
|
||||
1,
|
||||
1),
|
||||
'.',
|
||||
'0' || A_RENEWAL_RATE_TARGET,
|
||||
A_RENEWAL_RATE_TARGET)
|
||||
INTO A_RENEWAL_RATE_TARGET
|
||||
FROM DUAL;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
A_RENEWAL_RATE := '0.0';
|
||||
A_RENEWAL_RATE := '0.0';
|
||||
A_RENEWAL_RATE_TARGET := '0.0';
|
||||
END;
|
||||
-- 续保率模板差值
|
||||
A_RENEWAL_RATE_TARGET := '0.0';
|
||||
|
||||
--总业绩
|
||||
A_TOTAL := 0;
|
||||
|
128
code/web/task_schedule/package-lock.json
generated
128
code/web/task_schedule/package-lock.json
generated
@ -14,7 +14,7 @@
|
||||
"mitt": "^3.0.1",
|
||||
"moment": "^2.29.4",
|
||||
"sass-loader": "^13.3.2",
|
||||
"vue": "^3.3.11",
|
||||
"vue": "^3.3.12",
|
||||
"vue-router": "^4.2.5",
|
||||
"vuex": "^4.1.0"
|
||||
},
|
||||
@ -28,7 +28,7 @@
|
||||
"axios": "^1.6.2",
|
||||
"babel": "^6.23.0",
|
||||
"eslint-config-recommended": "^4.1.0",
|
||||
"eslint-config-standard-with-typescript": "^42.0.0",
|
||||
"eslint-config-standard-with-typescript": "^43.0.0",
|
||||
"eslint-plugin-vue": "^9.19.2",
|
||||
"node-sass": "^9.0.0",
|
||||
"sass": "^1.69.5",
|
||||
@ -2318,36 +2318,36 @@
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@vue/compiler-core": {
|
||||
"version": "3.3.11",
|
||||
"resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.3.11.tgz",
|
||||
"integrity": "sha512-h97/TGWBilnLuRaj58sxNrsUU66fwdRKLOLQ9N/5iNDfp+DZhYH9Obhe0bXxhedl8fjAgpRANpiZfbgWyruQ0w==",
|
||||
"version": "3.3.12",
|
||||
"resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.3.12.tgz",
|
||||
"integrity": "sha512-qAtjyG3GBLG0chzp5xGCyRLLe6wFCHmjI82aGzwuGKyznNP+GJJMxjc0wOYWDB2YKfho7niJFdoFpo0CZZQg9w==",
|
||||
"dependencies": {
|
||||
"@babel/parser": "^7.23.5",
|
||||
"@vue/shared": "3.3.11",
|
||||
"@vue/shared": "3.3.12",
|
||||
"estree-walker": "^2.0.2",
|
||||
"source-map-js": "^1.0.2"
|
||||
}
|
||||
},
|
||||
"node_modules/@vue/compiler-dom": {
|
||||
"version": "3.3.11",
|
||||
"resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.3.11.tgz",
|
||||
"integrity": "sha512-zoAiUIqSKqAJ81WhfPXYmFGwDRuO+loqLxvXmfUdR5fOitPoUiIeFI9cTTyv9MU5O1+ZZglJVTusWzy+wfk5hw==",
|
||||
"version": "3.3.12",
|
||||
"resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.3.12.tgz",
|
||||
"integrity": "sha512-RdJU9oEYaoPKUdGXCy0l+i4clesdDeLmbvRlszoc9iagsnBnMmQtYfCPVQ5BHB6o7K4SCucDdJM2Dh3oXB0D6g==",
|
||||
"dependencies": {
|
||||
"@vue/compiler-core": "3.3.11",
|
||||
"@vue/shared": "3.3.11"
|
||||
"@vue/compiler-core": "3.3.12",
|
||||
"@vue/shared": "3.3.12"
|
||||
}
|
||||
},
|
||||
"node_modules/@vue/compiler-sfc": {
|
||||
"version": "3.3.11",
|
||||
"resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.3.11.tgz",
|
||||
"integrity": "sha512-U4iqPlHO0KQeK1mrsxCN0vZzw43/lL8POxgpzcJweopmqtoYy9nljJzWDIQS3EfjiYhfdtdk9Gtgz7MRXnz3GA==",
|
||||
"version": "3.3.12",
|
||||
"resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.3.12.tgz",
|
||||
"integrity": "sha512-yy5b9e7b79dsGbMmglCe/YnhCQgBkHO7Uf6JfjWPSf2/5XH+MKn18LhzhHyxbHdJgnA4lZCqtXzLaJz8Pd8lMw==",
|
||||
"dependencies": {
|
||||
"@babel/parser": "^7.23.5",
|
||||
"@vue/compiler-core": "3.3.11",
|
||||
"@vue/compiler-dom": "3.3.11",
|
||||
"@vue/compiler-ssr": "3.3.11",
|
||||
"@vue/reactivity-transform": "3.3.11",
|
||||
"@vue/shared": "3.3.11",
|
||||
"@vue/compiler-core": "3.3.12",
|
||||
"@vue/compiler-dom": "3.3.12",
|
||||
"@vue/compiler-ssr": "3.3.12",
|
||||
"@vue/reactivity-transform": "3.3.12",
|
||||
"@vue/shared": "3.3.12",
|
||||
"estree-walker": "^2.0.2",
|
||||
"magic-string": "^0.30.5",
|
||||
"postcss": "^8.4.32",
|
||||
@ -2355,12 +2355,12 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@vue/compiler-ssr": {
|
||||
"version": "3.3.11",
|
||||
"resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.3.11.tgz",
|
||||
"integrity": "sha512-Zd66ZwMvndxRTgVPdo+muV4Rv9n9DwQ4SSgWWKWkPFebHQfVYRrVjeygmmDmPewsHyznCNvJ2P2d6iOOhdv8Qg==",
|
||||
"version": "3.3.12",
|
||||
"resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.3.12.tgz",
|
||||
"integrity": "sha512-adCiMJPznfWcQyk/9HSuXGja859IaMV+b8UNSVzDatqv7h0PvT9BEeS22+gjkWofDiSg5d78/ZLls3sLA+cn3A==",
|
||||
"dependencies": {
|
||||
"@vue/compiler-dom": "3.3.11",
|
||||
"@vue/shared": "3.3.11"
|
||||
"@vue/compiler-dom": "3.3.12",
|
||||
"@vue/shared": "3.3.12"
|
||||
}
|
||||
},
|
||||
"node_modules/@vue/component-compiler-utils": {
|
||||
@ -2459,60 +2459,60 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@vue/reactivity": {
|
||||
"version": "3.3.11",
|
||||
"resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.3.11.tgz",
|
||||
"integrity": "sha512-D5tcw091f0nuu+hXq5XANofD0OXnBmaRqMYl5B3fCR+mX+cXJIGNw/VNawBqkjLNWETrFW0i+xH9NvDbTPVh7g==",
|
||||
"version": "3.3.12",
|
||||
"resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.3.12.tgz",
|
||||
"integrity": "sha512-vOJORzO8DlIx88cgTnMLIf2GlLYpoXAKsuoQsK6SGdaqODjxO129pVPTd2s/N/Mb6KKZEFIHIEwWGmtN4YPs+g==",
|
||||
"dependencies": {
|
||||
"@vue/shared": "3.3.11"
|
||||
"@vue/shared": "3.3.12"
|
||||
}
|
||||
},
|
||||
"node_modules/@vue/reactivity-transform": {
|
||||
"version": "3.3.11",
|
||||
"resolved": "https://registry.npmmirror.com/@vue/reactivity-transform/-/reactivity-transform-3.3.11.tgz",
|
||||
"integrity": "sha512-fPGjH0wqJo68A0wQ1k158utDq/cRyZNlFoxGwNScE28aUFOKFEnCBsvyD8jHn+0kd0UKVpuGuaZEQ6r9FJRqCg==",
|
||||
"version": "3.3.12",
|
||||
"resolved": "https://registry.npmmirror.com/@vue/reactivity-transform/-/reactivity-transform-3.3.12.tgz",
|
||||
"integrity": "sha512-g5TijmML7FyKkLt6QnpqNmA4KD7K/T5SbXa88Bhq+hydNQEkzA8veVXWAQuNqg9rjaFYD0rPf0a9NofKA0ENgg==",
|
||||
"dependencies": {
|
||||
"@babel/parser": "^7.23.5",
|
||||
"@vue/compiler-core": "3.3.11",
|
||||
"@vue/shared": "3.3.11",
|
||||
"@vue/compiler-core": "3.3.12",
|
||||
"@vue/shared": "3.3.12",
|
||||
"estree-walker": "^2.0.2",
|
||||
"magic-string": "^0.30.5"
|
||||
}
|
||||
},
|
||||
"node_modules/@vue/runtime-core": {
|
||||
"version": "3.3.11",
|
||||
"resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.3.11.tgz",
|
||||
"integrity": "sha512-g9ztHGwEbS5RyWaOpXuyIVFTschclnwhqEbdy5AwGhYOgc7m/q3NFwr50MirZwTTzX55JY8pSkeib9BX04NIpw==",
|
||||
"version": "3.3.12",
|
||||
"resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.3.12.tgz",
|
||||
"integrity": "sha512-5iL4w7MZrSGKEZU2wFAYhDZdZmgn+s//73EfgDXW1M+ZUOl36md7tlWp1QFK/ladiq4FvQ82shVjo0KiPDPr0A==",
|
||||
"dependencies": {
|
||||
"@vue/reactivity": "3.3.11",
|
||||
"@vue/shared": "3.3.11"
|
||||
"@vue/reactivity": "3.3.12",
|
||||
"@vue/shared": "3.3.12"
|
||||
}
|
||||
},
|
||||
"node_modules/@vue/runtime-dom": {
|
||||
"version": "3.3.11",
|
||||
"resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.3.11.tgz",
|
||||
"integrity": "sha512-OlhtV1PVpbgk+I2zl+Y5rQtDNcCDs12rsRg71XwaA2/Rbllw6mBLMi57VOn8G0AjOJ4Mdb4k56V37+g8ukShpQ==",
|
||||
"version": "3.3.12",
|
||||
"resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.3.12.tgz",
|
||||
"integrity": "sha512-8mMzqiIdl+IYa/OXwKwk6/4ebLq7cYV1pUcwCSwBK2KerUa6cwGosen5xrCL9f8o2DJ9TfPFwbPEvH7OXzUpoA==",
|
||||
"dependencies": {
|
||||
"@vue/runtime-core": "3.3.11",
|
||||
"@vue/shared": "3.3.11",
|
||||
"csstype": "^3.1.2"
|
||||
"@vue/runtime-core": "3.3.12",
|
||||
"@vue/shared": "3.3.12",
|
||||
"csstype": "^3.1.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@vue/server-renderer": {
|
||||
"version": "3.3.11",
|
||||
"resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.3.11.tgz",
|
||||
"integrity": "sha512-AIWk0VwwxCAm4wqtJyxBylRTXSy1wCLOKbWxHaHiu14wjsNYtiRCSgVuqEPVuDpErOlRdNnuRgipQfXRLjLN5A==",
|
||||
"version": "3.3.12",
|
||||
"resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.3.12.tgz",
|
||||
"integrity": "sha512-OZ0IEK5TU5GXb5J8/wSplyxvGGdIcwEmS8EIO302Vz8K6fGSgSJTU54X0Sb6PaefzZdiN3vHsLXO8XIeF8crQQ==",
|
||||
"dependencies": {
|
||||
"@vue/compiler-ssr": "3.3.11",
|
||||
"@vue/shared": "3.3.11"
|
||||
"@vue/compiler-ssr": "3.3.12",
|
||||
"@vue/shared": "3.3.12"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"vue": "3.3.11"
|
||||
"vue": "3.3.12"
|
||||
}
|
||||
},
|
||||
"node_modules/@vue/shared": {
|
||||
"version": "3.3.11",
|
||||
"resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.3.11.tgz",
|
||||
"integrity": "sha512-u2G8ZQ9IhMWTMXaWqZycnK4UthG1fA238CD+DP4Dm4WJi5hdUKKLg0RMRaRpDPNMdkTwIDkp7WtD0Rd9BH9fLw=="
|
||||
"version": "3.3.12",
|
||||
"resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.3.12.tgz",
|
||||
"integrity": "sha512-6p0Yin0pclvnER7BLNOQuod9Z+cxSYh8pSh7CzHnWNjAIP6zrTlCdHRvSCb1aYEx6i3Q3kvfuWU7nG16CgG1ag=="
|
||||
},
|
||||
"node_modules/@vue/vue-loader-v15": {
|
||||
"name": "vue-loader",
|
||||
@ -6777,9 +6777,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/eslint-config-standard-with-typescript": {
|
||||
"version": "42.0.0",
|
||||
"resolved": "https://registry.npmmirror.com/eslint-config-standard-with-typescript/-/eslint-config-standard-with-typescript-42.0.0.tgz",
|
||||
"integrity": "sha512-m1/2g/Sicun1uFZOFigJVeOqo9fE7OkMsNtilcpHwdCdcGr21qsGqYiyxYSvvHfJwY7w5OTQH0hxk8sM2N5Ohg==",
|
||||
"version": "43.0.0",
|
||||
"resolved": "https://registry.npmmirror.com/eslint-config-standard-with-typescript/-/eslint-config-standard-with-typescript-43.0.0.tgz",
|
||||
"integrity": "sha512-AT0qK01M5bmsWiE3UZvaQO5da1y1n6uQckAKqGNe6zPW5IOzgMLXZxw77nnFm+C11nxAZXsCPrbsgJhSrGfX6Q==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@typescript-eslint/parser": "^6.4.0",
|
||||
@ -14412,15 +14412,15 @@
|
||||
}
|
||||
},
|
||||
"node_modules/vue": {
|
||||
"version": "3.3.11",
|
||||
"resolved": "https://registry.npmmirror.com/vue/-/vue-3.3.11.tgz",
|
||||
"integrity": "sha512-d4oBctG92CRO1cQfVBZp6WJAs0n8AK4Xf5fNjQCBeKCvMI1efGQ5E3Alt1slFJS9fZuPcFoiAiqFvQlv1X7t/w==",
|
||||
"version": "3.3.12",
|
||||
"resolved": "https://registry.npmmirror.com/vue/-/vue-3.3.12.tgz",
|
||||
"integrity": "sha512-jYNv2QmET2OTHsFzfWHMnqgCfqL4zfo97QwofdET+GBRCHhSCHuMTTvNIgeSn0/xF3JRT5OGah6MDwUFN7MPlg==",
|
||||
"dependencies": {
|
||||
"@vue/compiler-dom": "3.3.11",
|
||||
"@vue/compiler-sfc": "3.3.11",
|
||||
"@vue/runtime-dom": "3.3.11",
|
||||
"@vue/server-renderer": "3.3.11",
|
||||
"@vue/shared": "3.3.11"
|
||||
"@vue/compiler-dom": "3.3.12",
|
||||
"@vue/compiler-sfc": "3.3.12",
|
||||
"@vue/runtime-dom": "3.3.12",
|
||||
"@vue/server-renderer": "3.3.12",
|
||||
"@vue/shared": "3.3.12"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"typescript": "*"
|
||||
|
@ -15,7 +15,7 @@
|
||||
"mitt": "^3.0.1",
|
||||
"moment": "^2.29.4",
|
||||
"sass-loader": "^13.3.2",
|
||||
"vue": "^3.3.11",
|
||||
"vue": "^3.3.12",
|
||||
"vue-router": "^4.2.5",
|
||||
"vuex": "^4.1.0"
|
||||
},
|
||||
@ -29,7 +29,7 @@
|
||||
"axios": "^1.6.2",
|
||||
"babel": "^6.23.0",
|
||||
"eslint-config-recommended": "^4.1.0",
|
||||
"eslint-config-standard-with-typescript": "^42.0.0",
|
||||
"eslint-config-standard-with-typescript": "^43.0.0",
|
||||
"eslint-plugin-vue": "^9.19.2",
|
||||
"node-sass": "^9.0.0",
|
||||
"sass": "^1.69.5",
|
||||
|
@ -12,18 +12,18 @@
|
||||
<el-progress
|
||||
type="circle"
|
||||
:percentage="ui.percentage"
|
||||
:status="ui.color"
|
||||
:status="ui.warningLevel"
|
||||
>
|
||||
<template #default>
|
||||
<span class="percentage-label">{{ ui.indicator }}</span>
|
||||
<span class="percentage-value">{{ percentage }}%</span>
|
||||
<span :class="warningLevelClass">{{ percentage }}%</span>
|
||||
</template>
|
||||
</el-progress>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
import { reactive } from "vue";
|
||||
import { reactive, computed } from "vue";
|
||||
export default {
|
||||
name: "ArchievementCompleteRateComponent",
|
||||
props: {
|
||||
@ -36,7 +36,7 @@ export default {
|
||||
type: String,
|
||||
default: "",
|
||||
},
|
||||
color: {
|
||||
warningLevel: { // 警告等级
|
||||
type: String,
|
||||
default: "success",
|
||||
},
|
||||
@ -45,13 +45,33 @@ export default {
|
||||
{
|
||||
const percentage = Number( props.percentage ).valueOf();
|
||||
|
||||
const warningLevelClass = computed((): string =>
|
||||
{
|
||||
let textClass = "";
|
||||
|
||||
if ( props.warningLevel === "success" )
|
||||
{
|
||||
textClass = "percentage-value";
|
||||
}
|
||||
else if ( props.warningLevel === "warning" )
|
||||
{
|
||||
textClass = "percentage-value-warning";
|
||||
}
|
||||
else if ( props.warningLevel === "exception" )
|
||||
{
|
||||
textClass = "percentage-value-exception";
|
||||
}
|
||||
|
||||
return textClass;
|
||||
});
|
||||
|
||||
const ui = reactive({
|
||||
percentage,
|
||||
indicator: props.indicator,
|
||||
color: props.color,
|
||||
warningLevel: props.warningLevel,
|
||||
});
|
||||
|
||||
return { ui, };
|
||||
return { ui, warningLevelClass, };
|
||||
},
|
||||
};
|
||||
</script>
|
||||
@ -79,6 +99,20 @@ export default {
|
||||
font-size: 28px;
|
||||
}
|
||||
|
||||
.percentage-value-warning {
|
||||
display: block;
|
||||
margin-top: 10px;
|
||||
font-size: 28px;
|
||||
color: orange;
|
||||
}
|
||||
|
||||
.percentage-value-exception {
|
||||
display: block;
|
||||
margin-top: 10px;
|
||||
font-size: 28px;
|
||||
color: red;
|
||||
}
|
||||
|
||||
.percentage-label {
|
||||
display: block;
|
||||
margin-top: 10px;
|
||||
|
@ -25,10 +25,12 @@
|
||||
<ArchievementCompleteRateComponent
|
||||
indicator="续保完成率"
|
||||
:percentage="ui.insurance_renewal_rate"
|
||||
:warning-level="renewalRateWarningLevel(ui.insurance_renewal_rate_target)"
|
||||
/>
|
||||
<ArchievementCompleteRateComponent
|
||||
indicator="车非渗透率"
|
||||
:percentage="ui.attaching_rate"
|
||||
:warning-level="attachingRateWarningLevel(ui.attaching_rate_target)"
|
||||
/>
|
||||
</div>
|
||||
<div class="total-archievement-charts-wrapper">
|
||||
@ -103,7 +105,9 @@ interface ui
|
||||
chartData: number[];
|
||||
totalArchievement: number;
|
||||
attaching_rate: string;
|
||||
attaching_rate_target: string;
|
||||
insurance_renewal_rate: string; // 续保率
|
||||
insurance_renewal_rate_target: string; // 续保率
|
||||
leading_reward_gainers: string[]; // 领跑奖
|
||||
advance_reward_gainers: string[]; // 飞跃奖
|
||||
dishonorPersons: string[];
|
||||
@ -153,7 +157,9 @@ export default {
|
||||
chartData: [0,], // 业绩表
|
||||
totalArchievement: 0, // 总业绩
|
||||
attaching_rate: "", // 车非渗透率
|
||||
attaching_rate_target: "", // 车非渗透率目标值
|
||||
insurance_renewal_rate: "", // 续保率
|
||||
insurance_renewal_rate_target: "", // 续保率目标值
|
||||
leading_reward_gainers: ["",], // 领跑奖
|
||||
advance_reward_gainers: ["",], // 飞跃奖
|
||||
dishonorPersons: ["",],
|
||||
@ -201,7 +207,9 @@ export default {
|
||||
// ui.chartData = data.mensual_archievement_list;
|
||||
// ui.totalArchievement = data.total_archievement;
|
||||
ui.attaching_rate = data.attaching_rate;
|
||||
ui.attaching_rate_target = data.attaching_rate_target;
|
||||
ui.insurance_renewal_rate = data.insurance_renewal_rate;
|
||||
ui.insurance_renewal_rate_target = data.insurance_renewal_rate_target;
|
||||
ui.leading_reward_gainers = data.leading_reward_gainers;
|
||||
ui.advance_reward_gainers = data.advance_reward_gainers;
|
||||
ui.dishonorPersons = data.backward_list;
|
||||
@ -331,6 +339,52 @@ export default {
|
||||
clearInterval( timerHandler );
|
||||
});
|
||||
|
||||
const attachingRateWarningLevel = ( attachingRateTarget: string ): string =>
|
||||
{
|
||||
const value: number = Number( attachingRateTarget );
|
||||
let warningLevel = "";
|
||||
|
||||
console.log( "渗透率目标差值", attachingRateTarget, value );
|
||||
|
||||
if ( value >= 0.0 )
|
||||
{
|
||||
warningLevel = "success";
|
||||
}
|
||||
else if ( value > -0.5 && value < 0.0 )
|
||||
{
|
||||
warningLevel = "warning";
|
||||
}
|
||||
else if ( value <= -0.5 )
|
||||
{
|
||||
warningLevel = "exception";
|
||||
}
|
||||
|
||||
return warningLevel;
|
||||
};
|
||||
|
||||
const renewalRateWarningLevel = ( attachingRateTarget: string ): string =>
|
||||
{
|
||||
const value: number = Number( attachingRateTarget );
|
||||
let warningLevel = "";
|
||||
|
||||
console.log( "续保率目标差值", attachingRateTarget, value );
|
||||
|
||||
if ( value >= 0.0 )
|
||||
{
|
||||
warningLevel = "success";
|
||||
}
|
||||
else if ( value >= -3 && value < 0.0 )
|
||||
{
|
||||
warningLevel = "warning";
|
||||
}
|
||||
else if ( value <= -3 )
|
||||
{
|
||||
warningLevel = "exception";
|
||||
}
|
||||
|
||||
return warningLevel;
|
||||
};
|
||||
|
||||
return {
|
||||
ui,
|
||||
callerInfo,
|
||||
@ -339,6 +393,8 @@ export default {
|
||||
renderData: applyDepartmentArchievementData,
|
||||
refresh,
|
||||
logoutDesktopArchievement,
|
||||
attachingRateWarningLevel,
|
||||
renewalRateWarningLevel,
|
||||
};
|
||||
},
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user