5 Commits

Author SHA1 Message Date
02ac5274e0 保存进度! 2023-10-30 23:44:54 +08:00
6f303eec03 保存进度! 2023-10-30 23:44:37 +08:00
d517c2e82a 保存进度! 2023-10-28 12:09:02 +08:00
80ba8da7e0 保存进度! 2023-10-27 18:59:50 +08:00
1422c0b781 保存进度! 2023-10-27 16:51:57 +08:00
12 changed files with 279 additions and 174 deletions

View File

@@ -146,17 +146,28 @@ CREATE OR REPLACE PACKAGE BODY TELSALE_ARCHIEVEMENT_PKG IS
a_mensual_cur OUT cur_type a_mensual_cur OUT cur_type
) IS ) IS
l_caller_name VARCHAR2(100); l_caller_name VARCHAR2(100);
l_this_month VARCHAR2(4); l_department_name VARCHAR2(100);
--l_this_month VARCHAR2(4);
l_this_year VARCHAR2(4); l_this_year VARCHAR2(4);
l_firstday DATE; --l_firstday DATE;
l_rownum INTEGER; l_rownum INTEGER;
BEGIN BEGIN
--<2D><>ѯ<EFBFBD><D1AF>ϯ<EFBFBD><CFAF><EFBFBD>ƣ<EFBFBD><C6A3><EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD> --<2D><>ѯ<EFBFBD><D1AF>ϯ<EFBFBD><CFAF><EFBFBD>ƣ<EFBFBD><C6A3>Ͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
BEGIN BEGIN
SELECT saler_name SELECT zx.saler_name,
bm.department_name
INTO l_caller_name,
l_department_name
FROM tele_saler zx,
tele_saler_team team,
idst0.bm_t bm
WHERE zx.saler_code = a_caller_code
AND zx.team_code = team.team_code
AND team.department_code = bm.department_code;
/* SELECT saler_name
INTO l_caller_name INTO l_caller_name
FROM tele_saler FROM tele_saler
WHERE saler_code = a_caller_code; WHERE saler_code = a_caller_code;*/
EXCEPTION EXCEPTION
-- <20><><EFBFBD><EFBFBD>û<EFBFBD>в<EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD>ϯ<EFBFBD><CFAF><EFBFBD>ƣ<EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׳<EFBFBD><D7B3> -- <20><><EFBFBD><EFBFBD>û<EFBFBD>в<EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD>ϯ<EFBFBD><CFAF><EFBFBD>ƣ<EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׳<EFBFBD><D7B3>
WHEN no_data_found THEN WHEN no_data_found THEN
@@ -164,12 +175,12 @@ CREATE OR REPLACE PACKAGE BODY TELSALE_ARCHIEVEMENT_PKG IS
CALLERCODE_EXCEPTION_MSG); CALLERCODE_EXCEPTION_MSG);
END; END;
l_this_month := to_char(SYSDATE, --l_this_month := to_char(SYSDATE,
'mm'); -- 'mm');
l_this_year := to_char(SYSDATE, l_this_year := to_char(SYSDATE,
'yyyy'); 'yyyy');
l_firstday := to_date(l_this_year || '-01-01 00:00:00', --l_firstday := to_date(l_this_year || '-01-01 00:00:00',
'yyyy-mm-dd hh24:mi:ss'); -- 'yyyy-mm-dd hh24:mi:ss');
--<2D>ܳ<EFBFBD><DCB3>ձ<EFBFBD><D5B1><EFBFBD> --<2D>ܳ<EFBFBD><DCB3>ձ<EFBFBD><D5B1><EFBFBD>
SELECT round(nvl(SUM(cf.<2E><><EFBFBD>ո<EFBFBD><D5B8>˿ͻ<CBBF><CDBB><EFBFBD><EFBFBD><EFBFBD>), SELECT round(nvl(SUM(cf.<2E><><EFBFBD>ո<EFBFBD><D5B8>˿ͻ<CBBF><CDBB><EFBFBD><EFBFBD><EFBFBD>),
@@ -177,7 +188,8 @@ CREATE OR REPLACE PACKAGE BODY TELSALE_ARCHIEVEMENT_PKG IS
2) bf 2) bf
INTO a_total INTO a_total
FROM <20><>ϯ<EFBFBD><CFAF><EFBFBD><EFBFBD>ÿ<EFBFBD>ձ<EFBFBD><D5B1><EFBFBD> cf FROM <20><>ϯ<EFBFBD><CFAF><EFBFBD><EFBFBD>ÿ<EFBFBD>ձ<EFBFBD><D5B1><EFBFBD> cf
WHERE cf.<2E><>ϯ<EFBFBD><CFAF><EFBFBD><EFBFBD> = a_caller_code WHERE cf.<2E><>ϯ<EFBFBD><CFAF><EFBFBD><EFBFBD> = l_caller_name
AND cf.<2E><><EFBFBD><EFBFBD> = l_department_name
AND cf.<2E><><EFBFBD><EFBFBD> = l_this_year; AND cf.<2E><><EFBFBD><EFBFBD> = l_this_year;
--<2D><>͸<EFBFBD><CDB8> --<2D><>͸<EFBFBD><CDB8>
@@ -194,28 +206,7 @@ CREATE OR REPLACE PACKAGE BODY TELSALE_ARCHIEVEMENT_PKG IS
FROM BI<42><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϯ<EFBFBD><CFAF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͸<EFBFBD>ʸ<EFBFBD><CAB8>ٱ<EFBFBD> t FROM BI<42><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϯ<EFBFBD><CFAF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͸<EFBFBD>ʸ<EFBFBD><CAB8>ٱ<EFBFBD> t
WHERE t.<2E><><EFBFBD><EFBFBD> = l_caller_name WHERE t.<2E><><EFBFBD><EFBFBD> = l_caller_name
AND rownum = 1; AND rownum = 1;
/*SELECT decode(nvl(SUM(cf.<2E><><EFBFBD>ո<EFBFBD><D5B8>˿ͻ<CBBF><CDBB><EFBFBD><EFBFBD><EFBFBD>),
0),
0,
0,
round(SUM(cf.<2E><><EFBFBD><EFBFBD><EFBFBD>ںϱ<DABA><CFB1><EFBFBD>) / SUM(cf.<2E><><EFBFBD>ո<EFBFBD><D5B8>˿ͻ<CBBF><CDBB><EFBFBD><EFBFBD><EFBFBD>) * 100,
2))
INTO a_attaching_rate
FROM <20><>ϯ<EFBFBD><CFAF><EFBFBD><EFBFBD>ÿ<EFBFBD>ձ<EFBFBD><D5B1><EFBFBD> cf
WHERE cf.<2E><>ϯ<EFBFBD><CFAF><EFBFBD><EFBFBD> = a_caller_code
AND cf.<2E><><EFBFBD><EFBFBD> = l_this_year
AND cf.<2E>·<EFBFBD> = l_this_month;*/
--<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> --<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/*SELECT decode(nvl(SUM(xb.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>),
0),
0,
0,
round(SUM(xb.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۼ<EFBFBD>) / SUM(xb.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) * 100,
2)) xbl
INTO a_renewal_rate
FROM <20><>ϯ<EFBFBD><CFAF><EFBFBD><EFBFBD>ͳ<EFBFBD><CDB3> xb
WHERE xb.<2E><>ϯ<EFBFBD><CFAF><EFBFBD><EFBFBD> = a_caller_code;*/
SELECT rownum, SELECT rownum,
round(nvl(t."<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʣ<EFBFBD>ȫ<EFBFBD>£<EFBFBD>(%)", round(nvl(t."<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʣ<EFBFBD>ȫ<EFBFBD>£<EFBFBD>(%)",
0), 0),
@@ -229,11 +220,12 @@ CREATE OR REPLACE PACKAGE BODY TELSALE_ARCHIEVEMENT_PKG IS
--ÿ<><C3BF>ҵ<EFBFBD><D2B5> --ÿ<><C3BF>ҵ<EFBFBD><D2B5>
OPEN A_MENSUAL_CUR FOR OPEN A_MENSUAL_CUR FOR
SELECT CF.<2E>·<EFBFBD> MM, SELECT CF.<2E>·<EFBFBD> MM,
ROUND(NVL(SUM(CF.<2E><><EFBFBD>ո<EFBFBD><D5B8>˿ͻ<CBBF><CDBB><EFBFBD><EFBFBD><EFBFBD> + CF.<2E><><EFBFBD><EFBFBD><EFBFBD>ںϱ<DABA><CFB1><EFBFBD>), ROUND(NVL(SUM(CF.<2E><><EFBFBD>ո<EFBFBD><D5B8>˿ͻ<CBBF><CDBB><EFBFBD><EFBFBD><EFBFBD>),
0), 0),
0) BF 0) BF
FROM <20><>ϯ<EFBFBD><CFAF><EFBFBD><EFBFBD>ÿ<EFBFBD>ձ<EFBFBD><D5B1><EFBFBD> CF FROM <20><>ϯ<EFBFBD><CFAF><EFBFBD><EFBFBD>ÿ<EFBFBD>ձ<EFBFBD><D5B1><EFBFBD> CF
WHERE cf.<2E><>ϯ<EFBFBD><CFAF><EFBFBD><EFBFBD> = a_caller_code WHERE cf.<2E><>ϯ<EFBFBD><CFAF><EFBFBD><EFBFBD> = l_caller_name
AND cf.<2E><><EFBFBD><EFBFBD> = l_department_name
AND ǩ<><C7A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> >= TO_DATE(TO_CHAR(SYSDATE, AND ǩ<><C7A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> >= TO_DATE(TO_CHAR(SYSDATE,
'yyyy') || '-01-01 00:00:00', 'yyyy') || '-01-01 00:00:00',
'yyyy-mm-dd hh24:mi:ss') 'yyyy-mm-dd hh24:mi:ss')

View File

@@ -52,7 +52,7 @@ SELECT
GROUP BY <EFBFBD>·<EFBFBD>, GROUP BY <EFBFBD>·<EFBFBD>,
<EFBFBD><EFBFBD><EFBFBD>Ŵ<EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD>Ŵ<EFBFBD><EFBFBD><EFBFBD>,
<EFBFBD><EFBFBD>ϯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ϯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
HAVING <EFBFBD>·<EFBFBD> = '06<EFBFBD><EFBFBD>' HAVING <EFBFBD>·<EFBFBD> = '10<EFBFBD><EFBFBD>'
ORDER BY <EFBFBD><EFBFBD><EFBFBD>Ŵ<EFBFBD><EFBFBD><EFBFBD>, ORDER BY <EFBFBD><EFBFBD><EFBFBD>Ŵ<EFBFBD><EFBFBD><EFBFBD>,
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͸<EFBFBD><EFBFBD> DESC; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͸<EFBFBD><EFBFBD> DESC;
@@ -61,7 +61,7 @@ SELECT
2) <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͸<EFBFBD><EFBFBD> 2) <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͸<EFBFBD><EFBFBD>
FROM <EFBFBD><EFBFBD>ϯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD>ձ<EFBFBD><EFBFBD><EFBFBD> FROM <EFBFBD><EFBFBD>ϯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD>ձ<EFBFBD><EFBFBD><EFBFBD>
WHERE <EFBFBD><EFBFBD><EFBFBD>Ŵ<EFBFBD><EFBFBD><EFBFBD> = 'QDI' WHERE <EFBFBD><EFBFBD><EFBFBD>Ŵ<EFBFBD><EFBFBD><EFBFBD> = 'QDI'
AND <EFBFBD>·<EFBFBD> = '05' AND <EFBFBD>·<EFBFBD> = '10'
AND <EFBFBD><EFBFBD><EFBFBD><EFBFBD> = '2023' AND <EFBFBD><EFBFBD><EFBFBD><EFBFBD> = '2023'
GROUP BY <EFBFBD><EFBFBD>ϯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> GROUP BY <EFBFBD><EFBFBD>ϯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ORDER BY <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͸<EFBFBD><EFBFBD> DESC; ORDER BY <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͸<EFBFBD><EFBFBD> DESC;
@@ -75,3 +75,30 @@ SELECT
WHERE xb.<EFBFBD><EFBFBD><EFBFBD><EFBFBD> = '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>' WHERE xb.<EFBFBD><EFBFBD><EFBFBD><EFBFBD> = '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
GROUP BY <EFBFBD><EFBFBD>ϯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> GROUP BY <EFBFBD><EFBFBD>ϯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ORDER BY <EFBFBD><EFBFBD>ϯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> DESC; ORDER BY <EFBFBD><EFBFBD>ϯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> DESC;
-------------------------------------
SELECT zx.saler_name,
bm.department_name
FROM tele_saler zx,
tele_saler_team team,
idst0.bm_t bm
WHERE zx.saler_name = '<EFBFBD>ų<EFBFBD><EFBFBD><EFBFBD>'
AND zx.team_code = team.team_code
AND team.department_code = bm.department_code;
----------------------------------------
/*
truncate table BI<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͸<EFBFBD>ʸ<EFBFBD><EFBFBD>ٱ<EFBFBD>;
*/
SELECT *
FROM BI<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͸<EFBFBD>ʸ<EFBFBD><EFBFBD>ٱ<EFBFBD> t
WHERE t.<EFBFBD><EFBFBD><EFBFBD><EFBFBD> = '<EFBFBD>ų<EFBFBD><EFBFBD><EFBFBD>';
SELECT *
FROM BI<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><EFBFBD>ٱ<EFBFBD>
WHERE <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> = '<EFBFBD>ų<EFBFBD><EFBFBD><EFBFBD>';
SELECT *
FROM BI<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͸<EFBFBD>ʸ<EFBFBD><EFBFBD>ٱ<EFBFBD>;
SELECT *
FROM BI<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¸<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><EFBFBD>ٱ<EFBFBD>;

View File

@@ -2,18 +2,28 @@
* @Author: Kane * @Author: Kane
* @Date: 2023-02-28 19:25:30 * @Date: 2023-02-28 19:25:30
* @LastEditors: Kane * @LastEditors: Kane
* @FilePath: /task_schedule/src/assets/css/public/global.scss * @FilePath: /task_schedule/src/assets/css/public/variables.scss
* @Description: * @Description:
* *
* Copyright (c) ${2022} by Kane, All Rights Reserved. * Copyright (c) ${2022} by Kane, All Rights Reserved.
*/ */
// color // color
/*
$color-bg-01: #fecb96; $color-bg-01: #fecb96;
$color-bg-02: #f7954e; $color-bg-02: #f7954e;
$color-bg-03: #f27620; $color-bg-03: #f27620;
$color-bg-04: #da3703; $color-bg-04: #da3703;
$color-bg-05: #ba1800; $color-bg-05: #ba1800;
*/
$color-bg-01: #00b2f8;
$color-bg-02: #00b0fb;
$color-bg-03: #0279ea;
$color-bg-04: #046ed6;
$color-bg-05: #033eb6;
$color-title-font: #046ed6;
$color-charts-bg: #ffffff9f; $color-charts-bg: #ffffff9f;
$color-honorlist-bg: rgba(255, 255, 255, 0.3); $color-honorlist-bg: rgba(255, 255, 255, 0.3);

View File

@@ -12,6 +12,7 @@
<el-progress <el-progress
type="circle" type="circle"
:percentage="ui.percentage" :percentage="ui.percentage"
status="success"
> >
<template #default> <template #default>
<span class="percentage-label">{{ ui.indicator }}</span> <span class="percentage-label">{{ ui.indicator }}</span>

View File

@@ -15,10 +15,13 @@
alt="" alt=""
> >
<div class="title-wrapper"> <div class="title-wrapper">
<span>"消8灭70"突围战</span> <span> 8 6 突围战</span>
<span>{{ props.month }}入营坐席</span> <span>指标落后入营坐席</span>
</div> </div>
</div> </div>
<div class="telsaler-list-wrapper">
<span>开发中</span>
</div>
</div> </div>
</template> </template>
@@ -46,6 +49,8 @@ export default {
<style scoped lang="scss"> <style scoped lang="scss">
.dishonorlist-wrapper { .dishonorlist-wrapper {
display: flex;
flex-direction: column;
height: 240px; height: 240px;
width: 360px; width: 360px;
border-radius: 5px; border-radius: 5px;
@@ -55,10 +60,16 @@ export default {
padding: 10px; padding: 10px;
>*+* {
margin-top: 10px;
}
.banner-wrapper { .banner-wrapper {
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: stretch; align-items: stretch;
height: 65px;
flex-grow: 0;
img { img {
// width: 70px; // width: 70px;
@@ -80,4 +91,24 @@ export default {
} }
} }
} }
.telsaler-list-wrapper {
flex-grow: 1;
display: flex;
justify-content: center;
align-items: center;
span {
display: block;
text-align: center;
color: rgb(101, 140, 194);
margin-top: 0px;
font: {
size: 2rem;
family: "FZ-ZHUOHEI";
weight: 100;
}
}
}
</style> </style>

View File

@@ -9,38 +9,17 @@
--> -->
<template> <template>
<div class="honorlist-wrapper"> <div class="honorlist-wrapper">
<span class="title">90俱乐部{{ $props.month }}月入围坐席</span>
<div class="reward-wrapper">
<div class="leading-reward-wrapper">
<div class="banner-wrapper"> <div class="banner-wrapper">
<img <img
src="@/assets/img/ranking/medal.png" src="@/assets/img/ranking/medal.png"
alt="领跑奖" alt=""
> >
<span>领跑奖</span> <div class="title-wrapper">
</div> <span>90俱乐部标杆坐席</span>
<div class="gainer-wrapper">
<span
v-for="gainer in ui.leadingReward"
:key="gainer"
>{{ gainer }}</span>
</div>
</div>
<div class="advance-reward-wrapper">
<div class="banner-wrapper">
<img
src="@/assets/img/ranking/copper_medal.png"
alt="飞跃奖"
>
<span>飞跃奖</span>
</div>
<div class="gainer-wrapper">
<span
v-for="gainer in ui.advanceReward"
:key="gainer"
>{{ gainer }}</span>
</div> </div>
</div> </div>
<div class="telsaler-list-wrapper">
<span>开发中</span>
</div> </div>
</div> </div>
</template> </template>
@@ -81,6 +60,8 @@ export default {
<style scoped lang="scss"> <style scoped lang="scss">
.honorlist-wrapper { .honorlist-wrapper {
display: flex;
flex-direction: column;
height: 240px; height: 240px;
width: 360px; width: 360px;
border-radius: 5px; border-radius: 5px;
@@ -93,48 +74,48 @@ export default {
>*+* { >*+* {
margin-top: 10px; margin-top: 10px;
} }
}
.title { .banner-wrapper {
display: block;
text-align: center;
font: {
family: "FZ-ZHUOHEI";
size: 1.4rem;
}
color: goldenrod;
}
.reward-wrapper {
width: 100%;
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: stretch; align-items: center;
height: 65px;
flex-grow: 0;
>*+* { img {
margin-left: 10px; width: 65px;
height: 65px;
} }
.leading-reward-wrapper { .title-wrapper {
width: 165px;
height: 100%;
}
.advance-reward-wrapper {
width: 165px;
height: 100%;
}
span { span {
display: block; display: block;
margin-top: 5px;
text-align: center; text-align: center;
color: #fff; color: rgb(245, 178, 11);
margin-top: 0px;
font: {
size: 1.65rem;
family: "FZ-ZHUOHEI";
weight: 100;
}
}
}
}
.telsaler-list-wrapper {
flex-grow: 1;
display: flex;
justify-content: center;
align-items: center;
span {
display: block;
text-align: center;
color: rgb(101, 140, 194);
margin-top: 0px;
font: { font: {
size: 2rem; size: 2rem;
@@ -142,30 +123,5 @@ export default {
weight: 100; weight: 100;
} }
} }
.banner-wrapper {
display: flex;
justify-content: center;
align-items: center;
img {
width: 30px;
height: 30px;
}
span {
display: inline-block;
text-align: center;
color: #fff;
margin-top: 0px;
font: {
size: 1.5rem;
family: "FZ-ZHUOHEI";
weight: 100;
}
}
}
}
} }
</style> </style>

View File

@@ -42,7 +42,7 @@
align="center" align="center"
> >
<template #default="ranking"> <template #default="ranking">
<span class="rankinglist-index">{{ ranking.row.appraiseValue }}</span> <span class="rankinglist-index">{{ ranking.row.appraiseValue }}%</span>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>

View File

@@ -384,7 +384,7 @@ export default {
size: 90px; size: 90px;
} }
color: $color-bg-04; color: $color-title-font;
text-shadow: #feebb1 0px 0px, text-shadow: #feebb1 0px 0px,
#feebb1 5px 0px, #feebb1 5px 0px,
#feebb1 -5px -0px, #feebb1 -5px -0px,

View File

@@ -9,36 +9,12 @@
--> -->
<template> <template>
<div class="data_management_wrapper"> <div class="data_management_wrapper">
<!-- <div class="telsaler-dataupload-wrapper">
<el-upload
v-model="ui.fileList"
drag
action="http://localhost:8080/desktop_archievement_backend/file/file-upload.do"
:on-preview="handlePreview"
:on-remove="handleRemove"
:on-success="handleUploadSuccess"
:before-remove="beforeRemove"
:limit="1"
:on-exceed="handleExceed"
:data="ui.uploadData"
name="files"
>
<el-button type="primary">
上传
</el-button>
<template #tip>
<div class="el-upload__tip">
文件不能大于100MB
</div>
</template>
</el-upload>
</div> -->
<el-tabs> <el-tabs>
<el-tab-pane label="坐席车非渗透率"> <el-tab-pane label="坐席车非渗透率">
<TelsalerAttachingRateView /> <TelsalerAttachingRateView />
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="坐席续保率"> <el-tab-pane label="坐席续保率">
坐席车非渗透率 <TelsalerRenewalRateView />
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="机构"> <el-tab-pane label="机构">
坐席车非渗透率 坐席车非渗透率
@@ -50,9 +26,10 @@
import { ref, reactive } from "vue"; import { ref, reactive } from "vue";
import { ElMessage, ElMessageBox, type UploadFile, type UploadFiles, type UploadProps, type UploadUserFile } from "element-plus"; import { ElMessage, ElMessageBox, type UploadFile, type UploadFiles, type UploadProps, type UploadUserFile } from "element-plus";
import TelsalerAttachingRateView from "@/views/data/bi/TelsalerAttachingRateView.vue"; import TelsalerAttachingRateView from "@/views/data/bi/TelsalerAttachingRateView.vue";
import TelsalerRenewalRateView from "@/views/data/bi/TelsalerRenewalRateView.vue";
export default { export default {
name: "DataManagement", name: "DataManagement",
components: { TelsalerAttachingRateView, }, components: { TelsalerAttachingRateView, TelsalerRenewalRateView, },
setup() setup()
{ {
const ui = reactive({ const ui = reactive({

View File

@@ -62,7 +62,7 @@
</div> </div>
</template> </template>
<script lang="ts"> <script lang="ts">
import { reactive, ref } from "vue"; import { reactive, ref, onBeforeMount } from "vue";
import { import {
type BIReportType, type BIReportType,
type ImportBIReportRequest, type ImportBIReportRequest,
@@ -92,10 +92,10 @@ export default {
reportType: { reportType: {
type: Number, type: Number,
require: true, require: true,
default: (): number => -9999, default: (): number => 0,
}, },
}, },
setup() setup( props )
{ {
const ui: UI = reactive({ const ui: UI = reactive({
showUI: false, showUI: false,
@@ -214,6 +214,11 @@ export default {
} }
}; };
onBeforeMount((): void =>
{
ui.selectedReportType = props.reportType;
});
return { return {
ui, ui,
onUploadSuccess, onUploadSuccess,

View File

@@ -81,7 +81,7 @@
:close-on-press-escape="false" :close-on-press-escape="false"
:show-close="true" :show-close="true"
> >
<BiDataUploadView /> <BiDataUploadView :report-type="0" />
</el-dialog> </el-dialog>
</div> </div>
</div> </div>

View File

@@ -1,30 +1,136 @@
src/views/data/bi/TelsalerAttachingRateView.vue<!-- <!--
* @Author: Kane * @Author: Kane
* @Date: 2023-10-17 14:41:39 * @Date: 2023-10-17 23:31:19
* @LastEditors: Kane * @LastEditors: Kane
* @FilePath: /task_schedule/src/views/data/TelsalerAttachingRateView.vue * @FilePath: /task_schedule/src/views/data/bi/TelsalerRenewalRateView.vue
* @Description: * @Description:
* *
* Copyright (c) ${2023} by Kane, All Rights Reserved. * Copyright (c) ${2023} by Kane, All Rights Reserved.
--> -->
<template> <template>
<div class="wrapper" /> <div class="wrapper">
<el-row :gutter="10">
<el-col :span="24">
<el-button
type="warning"
icon="Upload"
@click="showUploadFileDialog"
>
上传
</el-button>
</el-col>
</el-row>
<el-table
border
stripe
style="width:100%;"
>
<el-table-column
type="selection"
align="center"
/>
<el-table-column
label="部门"
align="center"
/>
<el-table-column
label="责任人"
align="center"
/>
<el-table-column
label="到期数-全月"
align="center"
/>
<el-table-column
label="个车续保率(序时)(%)"
align="center"
/>
<el-table-column
label="个车续保率(全月)(%)"
align="center"
/>
</el-table>
<div class="pagination_wrapper">
<el-pagination
v-model="ui.tableCurrentPageIndex"
class="pull_left"
size="small"
background
:page-size="ui.tablePageSize"
:page-sizes="[10, 20, 50, 100]"
layout="total, sizes, prev, pager, next, jumper"
:total="0"
@current-change="onCurrentPageIndexChange"
@size-change="onTablePageSizeChange"
/>
</div>
<div
class="upload-dialog-wrapper"
>
<el-dialog
v-model="ui.showUploadDialog"
title="上传报表"
width="600px"
:close-on-click-modal="false"
:close-on-press-escape="false"
:show-close="true"
>
<BiDataUploadView :report-type="1" />
</el-dialog>
</div>
</div>
</template> </template>
<script lang="ts"> <script lang="ts">
import { reactive } from "vue"; import { reactive } from "vue";
import BiDataUploadView from "@/views/data/bi/BiDataUploadView.vue";
export default { export default {
name: "TelsalerAttachingRateView", name: "TelsalerAttachingRateView",
components: { BiDataUploadView, },
setup() setup()
{ {
const ui = reactive({ const ui = reactive({
showUI: true, showUI: true,
showUploadDialog: false,
tableCurrentPageIndex: 1,
tablePageSize: 10,
}); });
const showUploadFileDialog = (): void =>
{
ui.showUploadDialog = true;
};
const onCurrentPageIndexChange = ( index: number ): void =>
{
ui.tableCurrentPageIndex = index;
};
const onTablePageSizeChange = ( pageSize: number ): void =>
{
ui.tablePageSize = pageSize;
};
return {
ui,
showUploadFileDialog,
onCurrentPageIndexChange,
onTablePageSizeChange,
};
}, },
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.wrapper { .wrapper {
margin: 10px; margin: 10px;
>*+* {
margin-top: 10px;
}
}
.pagination_wrapper {
display: flex;
justify-content: flex-end;
} }
</style> </style>