feat(我的绩效): 开发我的绩效功能。

fix(加班申请、工作报告): 重构加班申请在审批时的样式,工作报告在新增时的对话框、报告详情页的样式。
This commit is contained in:
dk
2026-06-21 18:22:44 +08:00
parent cd64cf42cc
commit 9a5845708d
35 changed files with 4211 additions and 924 deletions

View File

@@ -128,13 +128,8 @@ const table = useUIPaginatedTable<
]
});
const summaryPeriod = computed(() =>
resolveWorkReportSummaryPeriod('project', {
currentRow: table.data.value[0],
periodRange: searchParams.periodStartDate,
flag: searchParams.flag
})
);
// 团队统计始终使用当前周期(当前半月),不跟随列表第一条数据的周期
const summaryPeriod = computed(() => resolveWorkReportSummaryPeriod('project'));
function getRowActions(row: Api.WorkReport.Project.ProjectReport): BusinessTableAction[] {
const actions: BusinessTableAction[] = [

View File

@@ -474,7 +474,6 @@ function notifyTitleSaved(item: WorkItem) {
<ElButton
size="small"
type="primary"
class="btn-submit"
:disabled="!planForm.title.trim() || isDuplicatePlanTitle"
@click="submitInlinePlan"
>
@@ -520,11 +519,11 @@ function notifyTitleSaved(item: WorkItem) {
<div v-if="!isReadonly" class="form-actions">
<!-- <ElButton>重置表单</ElButton>-->
<ElButton @click="emit('save')">保存草稿</ElButton>
<ElButton type="primary" class="btn-submit" @click="emit('submit')">提交审批</ElButton>
<ElButton type="primary" @click="emit('submit')">提交审批</ElButton>
</div>
<div v-else-if="scene === 'approval'" class="form-actions approval-form-actions">
<ElButton @click="emit('back')">退出审批</ElButton>
<ElButton type="primary" class="btn-submit" @click="emit('requestApprove')">开始审批</ElButton>
<ElButton type="primary" @click="emit('requestApprove')">开始审批</ElButton>
</div>
</div>
</template>
@@ -567,8 +566,8 @@ function notifyTitleSaved(item: WorkItem) {
place-items: center;
flex-shrink: 0;
border-radius: 16px;
background: #ccfbf1;
color: #0f766e;
background: var(--el-color-primary-light-8);
color: var(--el-color-primary);
font-weight: 900;
}
@@ -671,8 +670,8 @@ function notifyTitleSaved(item: WorkItem) {
}
.member-chip.more {
background: #f0fdfa;
color: #0f766e;
background: var(--el-color-primary-light-9);
color: var(--el-color-primary);
cursor: default;
}
@@ -715,7 +714,7 @@ function notifyTitleSaved(item: WorkItem) {
}
.compact-work-card:hover {
border-color: rgba(15, 118, 110, 0.45);
border-color: var(--el-color-primary-light-5);
box-shadow: 0 8px 22px rgba(15, 23, 42, 0.08);
transform: translateY(-1px);
}
@@ -742,7 +741,7 @@ function notifyTitleSaved(item: WorkItem) {
display: grid;
place-items: center;
border-radius: 999px;
background: #0f766e;
background: var(--el-color-primary);
color: #fff;
font-size: 13px;
font-weight: 900;
@@ -806,7 +805,7 @@ function notifyTitleSaved(item: WorkItem) {
}
.work-title-input:focus {
border-bottom-color: #0f766e;
border-bottom-color: var(--el-color-primary);
}
.work-title-line span {
@@ -908,8 +907,8 @@ function notifyTitleSaved(item: WorkItem) {
.rich-editor:focus {
box-shadow:
0 0 0 1px #0f766e inset,
0 0 0 2px rgba(15, 118, 110, 0.1);
0 0 0 1px var(--el-color-primary) inset,
0 0 0 2px var(--el-color-primary-light-8);
}
.rich-editor:empty::before {
@@ -938,7 +937,7 @@ function notifyTitleSaved(item: WorkItem) {
}
.inline-plan-card {
border-color: rgba(15, 118, 110, 0.42);
border-color: var(--el-color-primary-light-5);
background: #f8fbfc;
}
@@ -1001,8 +1000,8 @@ function notifyTitleSaved(item: WorkItem) {
.inline-plan-card :deep(.el-input__wrapper.is-focus),
.inline-plan-card :deep(.el-select__wrapper.is-focused) {
box-shadow:
0 0 0 1px #0f766e inset,
0 0 0 2px rgba(15, 118, 110, 0.1);
0 0 0 1px var(--el-color-primary) inset,
0 0 0 2px var(--el-color-primary-light-8);
}
.form-actions {
@@ -1034,16 +1033,6 @@ function notifyTitleSaved(item: WorkItem) {
box-shadow: 0 -8px 18px rgba(15, 23, 42, 0.06);
}
.btn-submit {
background: #0f766e !important;
border-color: #0f766e !important;
}
.btn-submit:hover {
background: #0d9488 !important;
border-color: #0d9488 !important;
}
@media (max-width: 1180px) {
.compose-grid,
.review-grid,