feat(hrm): 统一审批状态显示并添加外出条打印功能
- 在请假、外出申请页面统一审批状态显示为标签样式 - 将审批状态字段从approveStatus改为approvalStatus - 添加外出条打印组件,支持PDF格式打印 - 优化审批状态标签颜色和文本显示 - 修复已撤销状态显示错误问题
This commit is contained in:
@@ -40,36 +40,36 @@
|
||||
<div class="custom-tabs-nav">
|
||||
<div
|
||||
class="custom-tabs-item"
|
||||
:class="{ active: queryParams.approveStatus === undefined || queryParams.approveStatus === '' }"
|
||||
@click="handleTabClick('approveStatus', '')"
|
||||
:class="{ active: queryParams.approvalStatus === undefined || queryParams.approvalStatus === '' }"
|
||||
@click="handleTabClick('approvalStatus', '')"
|
||||
>
|
||||
全部
|
||||
</div>
|
||||
<div
|
||||
class="custom-tabs-item"
|
||||
:class="{ active: queryParams.approveStatus === 'pending' }"
|
||||
@click="handleTabClick('approveStatus', 'pending')"
|
||||
:class="{ active: queryParams.approvalStatus === '待审批' }"
|
||||
@click="handleTabClick('approvalStatus', '待审批')"
|
||||
>
|
||||
待审批
|
||||
</div>
|
||||
<div
|
||||
class="custom-tabs-item"
|
||||
:class="{ active: queryParams.approveStatus === 'approved' }"
|
||||
@click="handleTabClick('approveStatus', 'approved')"
|
||||
:class="{ active: queryParams.approvalStatus === '已同意' }"
|
||||
@click="handleTabClick('approvalStatus', '已同意')"
|
||||
>
|
||||
已审批
|
||||
已同意
|
||||
</div>
|
||||
<div
|
||||
class="custom-tabs-item"
|
||||
:class="{ active: queryParams.approveStatus === 'rejected' }"
|
||||
@click="handleTabClick('approveStatus', 'rejected')"
|
||||
:class="{ active: queryParams.approvalStatus === '已驳回' }"
|
||||
@click="handleTabClick('approvalStatus', '已驳回')"
|
||||
>
|
||||
已驳回
|
||||
</div>
|
||||
<div
|
||||
class="custom-tabs-item"
|
||||
:class="{ active: queryParams.approveStatus === 'withdrawn' }"
|
||||
@click="handleTabClick('approveStatus', 'withdrawn')"
|
||||
:class="{ active: queryParams.approvalStatus === '已撤销' }"
|
||||
@click="handleTabClick('approvalStatus', '已撤销')"
|
||||
>
|
||||
已撤回
|
||||
</div>
|
||||
@@ -320,10 +320,12 @@ export default {
|
||||
}).then(async () => {
|
||||
this.buttonLoading = true
|
||||
try {
|
||||
const approvalTime = this.parseTime(new Date(), '{y}-{m}-{d} {h}:{i}:{s}')
|
||||
// 这里替换为你的审批接口调用
|
||||
await updateApproval({
|
||||
approvalId: row.approvalId,
|
||||
approvalStatus: '已同意',
|
||||
approvalTime: approvalTime,
|
||||
})
|
||||
this.$message.success('审批通过成功!')
|
||||
this.getTodoList() // 重新查询列表
|
||||
@@ -344,10 +346,12 @@ export default {
|
||||
}).then(async ({ value }) => {
|
||||
this.buttonLoading = true
|
||||
try {
|
||||
const approvalTime = this.parseTime(new Date(), '{y}-{m}-{d} {h}:{i}:{s}')
|
||||
// 这里替换为你的驳回接口调用
|
||||
await updateApproval({
|
||||
approvalId: row.approvalId,
|
||||
approvalStatus: '已驳回'
|
||||
approvalStatus: '已驳回',
|
||||
approvalTime: approvalTime,
|
||||
})
|
||||
this.$message.success('驳回成功!')
|
||||
this.getTodoList() // 重新查询列表
|
||||
@@ -371,7 +375,7 @@ export default {
|
||||
'待审批': 'warning',
|
||||
'已同意': 'success',
|
||||
'已驳回': 'danger',
|
||||
'已撤消': 'info',
|
||||
'已撤销': 'info',
|
||||
}
|
||||
return typeMap[status] || 'default'
|
||||
},
|
||||
@@ -382,7 +386,7 @@ export default {
|
||||
'待审批': '待审批',
|
||||
'已同意': '已同意',
|
||||
'已驳回': '已驳回',
|
||||
'已撤消': '已撤消',
|
||||
'已撤销': '已撤销',
|
||||
}
|
||||
return textMap[status] || '未知状态'
|
||||
},
|
||||
@@ -411,17 +415,11 @@ export default {
|
||||
|
||||
.filter-container {
|
||||
background: #f5f7fa;
|
||||
padding: 20px;
|
||||
/* padding: 20px; */
|
||||
border-radius: 4px;
|
||||
height: fit-content;
|
||||
}
|
||||
|
||||
.filter-container h4 {
|
||||
margin: 0 0 20px 0;
|
||||
font-size: 16px;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
/* 自定义tabs样式 */
|
||||
.custom-tabs {
|
||||
margin-bottom: 20px;
|
||||
@@ -438,14 +436,14 @@ export default {
|
||||
.custom-tabs-nav {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 8px;
|
||||
gap: 4px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.custom-tabs-item {
|
||||
padding: 10px 15px;
|
||||
text-align: center;
|
||||
border-radius: 4px;
|
||||
border-radius: 2px;
|
||||
cursor: pointer;
|
||||
font-size: 14px;
|
||||
transition: all 0.2s ease;
|
||||
@@ -459,9 +457,9 @@ export default {
|
||||
}
|
||||
|
||||
.custom-tabs-item.active {
|
||||
background: #409eff;
|
||||
background: #667996;
|
||||
color: #ffffff;
|
||||
border-color: #409eff;
|
||||
border-color: #667996;
|
||||
}
|
||||
|
||||
.detail-content {
|
||||
|
||||
Reference in New Issue
Block a user