This commit is contained in:
dhr
2025-09-30 17:57:19 +08:00
parent fe0ffbdf11
commit 0022ca0d01
10 changed files with 433 additions and 223 deletions

View File

@ -28,23 +28,29 @@
</div>
<div class="filter-item">
<el-select v-model="taskStatus" placeholder="任务状态">
<el-option label="待执行" value="1"></el-option>
<el-option label="待处理" value="1"></el-option>
<el-option label="处理中" value="2"></el-option>
<el-option label="已完成" value="3"></el-option>
</el-select>
</div>
<div class="filter-item">
<el-select v-model="priority" placeholder="优先级">
<el-option label="优先级" value="1"></el-option>
<el-option label="优先级" value="1"></el-option>
<el-option label="中优先级" value="2"></el-option>
<el-option label="优先级" value="3"></el-option>
<el-option label="优先级" value="3"></el-option>
</el-select>
</div>
<div class="filter-item">
<el-select v-model="executor" placeholder="处理人员">
<el-option label="全部人员" value="all"></el-option>
<el-option label="李阳" value="liyang"></el-option>
<el-option label="张明" value="zhangming"></el-option>
<el-select v-model="executor" placeholder="处理人员" :loading="loadingUsers">
<el-option label="全部人员" value=""></el-option>
<el-option v-for="user in usersList" :key="user.id" :label="user.name" :value="user.id" />
</el-select>
</div>
<div class="filter-item">
<el-select v-model="repairType" placeholder="报修类型">
<el-option label="全部类型" value=""></el-option>
<el-option label="硬件故障" value="1"></el-option>
<el-option label="软件故障" value="2"></el-option>
</el-select>
</div>
<div class="filter-item">
@ -382,9 +388,14 @@ const statsLoading = ref(false);
const taskStatus = ref('');
const priority = ref('');
const executor = ref('');
const repairType = ref('');
const dateRange = ref([]);
const keyword = ref('');
// 执行人列表相关
const usersList = ref([]);
const loadingUsers = ref(false);
// 分页相关
const currentPage = ref(1);
const pageSize = ref(7);
@ -408,6 +419,7 @@ const statsData = ref({
onMounted(() => {
fetchRepairRecords();
fetchStatsData();
getUsersList();
});
// 从接口获取报修记录
@ -416,11 +428,13 @@ const fetchRepairRecords = async () => {
try {
// 构建请求参数
const params = {
page: currentPage.value,
limit: pageSize.value,
pageNum: currentPage.value,
pageSize: pageSize.value,
status: taskStatus.value || undefined,
level: priority.value || undefined
// 可以根据需要添加更多筛选参数
level: priority.value || undefined,
executor: executor.value || undefined,
type: repairType.value || undefined,
keyword: keyword.value.trim() || undefined
};
// 调用接口获取数据
@ -463,6 +477,7 @@ const resetFilters = () => {
taskStatus.value = '';
priority.value = '';
executor.value = '';
repairType.value = '';
dateRange.value = [];
keyword.value = '';
currentPage.value = 1;
@ -495,8 +510,6 @@ const reportFinal = ref('');
const assignDialogVisible = ref(false);
const currentAssignTaskId = ref('');
const selectedUserId = ref('');
const usersList = ref([]);
const loadingUsers = ref(false);
// 维修类型映射
function mapRepairType(type) {