增加搜索条件

This commit is contained in:
zhonghua.li
2026-05-17 11:27:19 +08:00
parent 4c61fc8828
commit 2a3ec11534
4 changed files with 283 additions and 9 deletions

View File

@@ -59,6 +59,14 @@
>
导出新人特权
</el-button>
<el-button
type="success"
icon="el-icon-download"
style="margin-left: 12px"
@click="openExportColleaguePrivilegeDialog"
>
导出同事特权
</el-button>
</el-card>
<el-card class="table-container" shadow="never">
@@ -314,6 +322,45 @@
</div>
</el-dialog>
<el-dialog
title="导出同事特权"
:visible.sync="exportColleaguePrivilegeDialogVisible"
width="520px"
@close="resetExportColleaguePrivilegeDialog"
>
<el-form label-width="120px">
<el-form-item label="申请开始日期" required>
<el-date-picker
v-model="exportColleaguePrivilegeApplyDateStart"
type="date"
value-format="yyyy-MM-dd"
clearable
placeholder="请选择开始日期"
style="width: 100%"
/>
</el-form-item>
<el-form-item label="申请结束日期" required>
<el-date-picker
v-model="exportColleaguePrivilegeApplyDateEnd"
type="date"
value-format="yyyy-MM-dd"
clearable
placeholder="请选择结束日期"
style="width: 100%"
/>
</el-form-item>
<el-form-item label="租户ID" required>
<el-input v-model="exportColleaguePrivilegeTenantId" clearable placeholder="请输入租户ID" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="exportColleaguePrivilegeDialogVisible = false">取消</el-button>
<el-button type="primary" :loading="exportColleaguePrivilegeLoading" @click="submitExportColleaguePrivilege">
确定
</el-button>
</div>
</el-dialog>
<el-dialog title="特权推荐人列表" :visible.sync="privilegeDialogVisible" width="760px" @close="resetPrivilegeDialog">
<el-table v-loading="privilegeLoading" :data="privilegeList" style="width: 100%">
<el-table-column type="index" label="#" width="60" />
@@ -336,6 +383,7 @@
import {
addLbPurchaseApply,
deleteLbPurchaseApply,
exportColleagueVip,
exportLbPurchaseApply,
getLbPurchaseApplyList,
needPrivilegeRecommenders,
@@ -381,6 +429,11 @@ export default {
exportNewcomerPrivilegeRules: {
applyDateRange: [{ required: true, message: '请选择申请日期范围', trigger: 'change' }]
},
exportColleaguePrivilegeDialogVisible: false,
exportColleaguePrivilegeLoading: false,
exportColleaguePrivilegeApplyDateStart: today,
exportColleaguePrivilegeApplyDateEnd: today,
exportColleaguePrivilegeTenantId: '',
privilegeDateRange: [today, today],
privilegeList: [],
queryParams: {
@@ -629,6 +682,64 @@ export default {
this.exportNewcomerPrivilegeTenantIdDisplay = ''
this.exportNewcomerPrivilegeLoading = false
},
openExportColleaguePrivilegeDialog() {
const today = this.getCurrentDate()
const tenantId = this.getTenantIdFromBusinessHeaders()
if (
Array.isArray(this.privilegeDateRange) &&
this.privilegeDateRange.length === 2 &&
this.privilegeDateRange[0] &&
this.privilegeDateRange[1]
) {
this.exportColleaguePrivilegeApplyDateStart = this.privilegeDateRange[0]
this.exportColleaguePrivilegeApplyDateEnd = this.privilegeDateRange[1]
} else {
this.exportColleaguePrivilegeApplyDateStart = today
this.exportColleaguePrivilegeApplyDateEnd = today
}
this.exportColleaguePrivilegeTenantId = tenantId
this.exportColleaguePrivilegeDialogVisible = true
},
resetExportColleaguePrivilegeDialog() {
const today = this.getCurrentDate()
this.exportColleaguePrivilegeApplyDateStart = today
this.exportColleaguePrivilegeApplyDateEnd = today
this.exportColleaguePrivilegeTenantId = ''
this.exportColleaguePrivilegeLoading = false
},
submitExportColleaguePrivilege() {
const applyDateStart = this.exportColleaguePrivilegeApplyDateStart
const applyDateEnd = this.exportColleaguePrivilegeApplyDateEnd
const tenantId = (this.exportColleaguePrivilegeTenantId || '').trim()
if (!applyDateStart || !applyDateEnd) {
this.$message.warning('请选择申请开始日期与结束日期')
return
}
if (!tenantId) {
this.$message.warning('请输入租户ID')
return
}
this.exportColleaguePrivilegeLoading = true
exportColleagueVip({ applyDateStart, applyDateEnd, tenantId })
.then((blob) => {
const safeBlob = blob instanceof Blob ? blob : new Blob([blob], {
type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
})
const url = window.URL.createObjectURL(safeBlob)
const link = document.createElement('a')
link.href = url
link.download = `colleagueVip_${applyDateStart}_${applyDateEnd}_${tenantId}.xlsx`
document.body.appendChild(link)
link.click()
document.body.removeChild(link)
window.URL.revokeObjectURL(url)
this.$message.success('导出成功')
this.exportColleaguePrivilegeDialogVisible = false
})
.finally(() => {
this.exportColleaguePrivilegeLoading = false
})
},
handleViewPrivilege() {
if (!Array.isArray(this.privilegeDateRange) || this.privilegeDateRange.length !== 2) {
this.$message.warning('请选择开始日期和结束日期')