1
This commit is contained in:
@@ -203,7 +203,8 @@ module.exports = {
|
|||||||
interviewCount,
|
interviewCount,
|
||||||
todayCount,
|
todayCount,
|
||||||
weekCount,
|
weekCount,
|
||||||
monthCount
|
monthCount,
|
||||||
|
totalJobCount
|
||||||
] = await Promise.all([
|
] = await Promise.all([
|
||||||
// 总计(如果提供了时间范围,则只统计该范围内的)
|
// 总计(如果提供了时间范围,则只统计该范围内的)
|
||||||
apply_records.count({ where: baseWhere }),
|
apply_records.count({ where: baseWhere }),
|
||||||
@@ -211,6 +212,7 @@ module.exports = {
|
|||||||
apply_records.count({ where: { ...baseWhere, applyStatus: 'failed' } }),
|
apply_records.count({ where: { ...baseWhere, applyStatus: 'failed' } }),
|
||||||
apply_records.count({ where: { ...baseWhere, applyStatus: 'pending' } }),
|
apply_records.count({ where: { ...baseWhere, applyStatus: 'pending' } }),
|
||||||
apply_records.count({ where: { ...baseWhere, feedbackStatus: 'interview' } }),
|
apply_records.count({ where: { ...baseWhere, feedbackStatus: 'interview' } }),
|
||||||
|
|
||||||
// 今日(如果提供了时间范围,则返回0,否则统计今日)
|
// 今日(如果提供了时间范围,则返回0,否则统计今日)
|
||||||
startTime || endTime ? 0 : apply_records.count({
|
startTime || endTime ? 0 : apply_records.count({
|
||||||
where: {
|
where: {
|
||||||
@@ -231,7 +233,14 @@ module.exports = {
|
|||||||
sn_code: final_sn_code,
|
sn_code: final_sn_code,
|
||||||
create_time: { [op.gte]: monthStart }
|
create_time: { [op.gte]: monthStart }
|
||||||
}
|
}
|
||||||
})
|
}),
|
||||||
|
// 总职位数
|
||||||
|
job_postings.count({
|
||||||
|
where: {
|
||||||
|
sn_code: final_sn_code,
|
||||||
|
create_time: { [op.gte]: todayStart }
|
||||||
|
}
|
||||||
|
}),
|
||||||
]);
|
]);
|
||||||
|
|
||||||
return ctx.success({
|
return ctx.success({
|
||||||
@@ -243,6 +252,7 @@ module.exports = {
|
|||||||
todayCount,
|
todayCount,
|
||||||
weekCount,
|
weekCount,
|
||||||
monthCount,
|
monthCount,
|
||||||
|
totalJobCount,
|
||||||
successRate: totalCount > 0 ? ((successCount / totalCount) * 100).toFixed(2) : 0,
|
successRate: totalCount > 0 ? ((successCount / totalCount) * 100).toFixed(2) : 0,
|
||||||
interviewRate: totalCount > 0 ? ((interviewCount / totalCount) * 100).toFixed(2) : 0
|
interviewRate: totalCount > 0 ? ((interviewCount / totalCount) * 100).toFixed(2) : 0
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
import{a as t}from"./index-BEa_v6Fs.js";class s{async getConfig(r){try{return await t.post("/user/delivery-config/get",{sn_code:r})}catch(e){throw console.error("获取投递配置失败:",e),e}}async saveConfig(r,e){try{return await t.post("/user/delivery-config/save",{sn_code:r,deliver_config:e})}catch(o){throw console.error("保存投递配置失败:",o),o}}}const i=new s;export{i as default};
|
import{a as t}from"./index---wtnUW1.js";class s{async getConfig(r){try{return await t.post("/user/delivery-config/get",{sn_code:r})}catch(e){throw console.error("获取投递配置失败:",e),e}}async saveConfig(r,e){try{return await t.post("/user/delivery-config/save",{sn_code:r,deliver_config:e})}catch(o){throw console.error("保存投递配置失败:",o),o}}}const i=new s;export{i as default};
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
app/assets/index-yg6NAGeT.css
Normal file
1
app/assets/index-yg6NAGeT.css
Normal file
File diff suppressed because one or more lines are too long
@@ -5,8 +5,8 @@
|
|||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<title>boss - 远程监听服务</title>
|
<title>boss - 远程监听服务</title>
|
||||||
<script type="module" crossorigin src="/app/assets/index-BEa_v6Fs.js"></script>
|
<script type="module" crossorigin src="/app/assets/index---wtnUW1.js"></script>
|
||||||
<link rel="stylesheet" crossorigin href="/app/assets/index-BHUtbpCz.css">
|
<link rel="stylesheet" crossorigin href="/app/assets/index-yg6NAGeT.css">
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
|
|||||||
Reference in New Issue
Block a user