refactor(web): update view scripts

- AuditView.js: update audit view logic
- EmployeeManagementView.js: update employee management logic
- PoliciesView.js: update policies view logic
- RequestsView.js: update requests view logic
- TravelReimbursementCreateView.js: update travel form logic
- TravelRequestDetailView.js: update travel detail view logic
This commit is contained in:
caoxiaozhu
2026-05-13 03:35:44 +00:00
parent 8b72f4e962
commit 46644d429f
6 changed files with 1129 additions and 516 deletions

View File

@@ -1,5 +1,6 @@
import { computed, onBeforeUnmount, onMounted, ref, watch } from 'vue'
import ConfirmDialog from '../../components/shared/ConfirmDialog.vue'
import { useToast } from '../../composables/useToast.js'
import { disableEmployee, fetchEmployeeMeta, fetchEmployees, updateEmployee } from '../../services/employees.js'
@@ -199,6 +200,9 @@ function buildEmployeeSummary(employees) {
export default {
name: 'EmployeeManagementView',
components: {
ConfirmDialog
},
emits: ['overview-change'],
setup(_, { emit }) {
const { toast } = useToast()
@@ -219,6 +223,7 @@ export default {
const actionState = ref('')
const loading = ref(false)
const errorMessage = ref('')
const disableDialogOpen = ref(false)
const tabs = computed(() => buildStatusTabs(employees.value))
const employeeSummary = computed(() => buildEmployeeSummary(employees.value))
@@ -532,12 +537,24 @@ export default {
}
}
async function disableEmployeeAccount() {
function disableEmployeeAccount() {
if (!selectedEmployee.value || disableActionDisabled.value) {
return
}
if (!window.confirm(`确认停用 ${selectedEmployee.value.name} 的账号吗?`)) {
disableDialogOpen.value = true
}
function closeDisableDialog() {
if (actionState.value === 'disable') {
return
}
disableDialogOpen.value = false
}
async function confirmDisableEmployeeAccount() {
if (!selectedEmployee.value || disableActionDisabled.value) {
return
}
@@ -545,6 +562,7 @@ export default {
try {
const updated = await disableEmployee(selectedEmployee.value.id)
disableDialogOpen.value = false
selectedEmployee.value = updated
await loadEmployees()
toast('员工账号已停用。')
@@ -642,7 +660,10 @@ export default {
resetFilters,
openEmployeeDetail,
closeEmployeeDetail,
closeDisableDialog,
confirmDisableEmployeeAccount,
saveEmployeeChanges,
disableDialogOpen,
disableEmployeeAccount,
changePageSize,
togglePageSizeOpen,