0930
This commit is contained in:
@ -33,21 +33,11 @@
|
||||
<el-option label="已完成" value="completed"></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
|
||||
<div class="filter-item">
|
||||
<el-select v-model="planType" placeholder="全部计划">
|
||||
<el-option label="全部计划" value="all"></el-option>
|
||||
<el-option label="每日巡检计划" value="daily"></el-option>
|
||||
<el-option label="每周巡检计划" value="weekly"></el-option>
|
||||
<el-option label="每月巡检计划" value="monthly"></el-option>
|
||||
<el-option label="每季度巡检计划" value="quarterly"></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="zhangming"></el-option>
|
||||
<el-option label="李华" value="lihua"></el-option>
|
||||
<el-option label="王强" value="wangqiang"></el-option>
|
||||
<el-select v-model="executor" placeholder="维修人" :loading="loadingUsers">
|
||||
<el-option label="全部维修人" value="all"></el-option>
|
||||
<el-option v-for="user in usersList" :key="user.id" :label="user.name" :value="user.id"></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="filter-actions">
|
||||
@ -427,7 +417,7 @@ import router from '@/router';
|
||||
import { ElMessage } from 'element-plus';
|
||||
import { qiangxiuDetail, qiangxiulist, addqiangxiu, updateqiangxiu } from '@/api/zhinengxunjian/qiangxiu';
|
||||
import { xunjianUserlist } from '@/api/zhinengxunjian/xunjian';
|
||||
const taskStatus = ref('all');
|
||||
const taskStatus = ref('');
|
||||
const planType = ref('all');
|
||||
const executor = ref('all');
|
||||
const keyword = ref('');
|
||||
@ -987,12 +977,13 @@ const handleSaveResult = async () => {
|
||||
}
|
||||
};
|
||||
|
||||
// 状态映射辅助函数
|
||||
// 状态映射辅助函数 - 严格匹配JSON数据中的status字段
|
||||
function mapStatusToKey(status) {
|
||||
const statusMap = {
|
||||
'1': 'pending', // 待处理
|
||||
'2': 'executing', // 处理中
|
||||
'3': 'completed' // 已完成
|
||||
'3': 'completed', // 已完成
|
||||
'4': 'delayed' // 已延期
|
||||
};
|
||||
return statusMap[status] || 'pending';
|
||||
}
|
||||
@ -1085,21 +1076,43 @@ async function getTaskList() {
|
||||
projectId: 1,
|
||||
pageNum: currentPage.value,
|
||||
pageSize: pageSize.value
|
||||
// 严格匹配JSON数据结构
|
||||
};
|
||||
|
||||
// 添加任务状态筛选条件
|
||||
// 添加任务状态筛选条件 - 严格匹配JSON数据中的status字段
|
||||
if (taskStatus.value && taskStatus.value !== 'all') {
|
||||
requestParams.status = taskStatus.value;
|
||||
// 状态映射:pending -> 1(待处理), executing -> 2(处理中), completed -> 3(已完成), delayed -> 4(已延期)
|
||||
const statusMap = {
|
||||
'pending': '1',
|
||||
'executing': '2',
|
||||
'completed': '3',
|
||||
'delayed': '4'
|
||||
};
|
||||
requestParams.status = statusMap[taskStatus.value] || taskStatus.value;
|
||||
}
|
||||
|
||||
// 添加计划类型筛选条件
|
||||
// 添加故障类型筛选条件 - 严格匹配JSON数据中的type字段
|
||||
if (planType.value && planType.value !== 'all') {
|
||||
requestParams.planType = planType.value;
|
||||
// 类型映射:electric -> 1(电力故障), device -> 2(设备故障), software -> 3(软件故障), network -> 4(网络故障), environment -> 5(环境问题)
|
||||
const typeMap = {
|
||||
'electric': '1',
|
||||
'device': '2',
|
||||
'software': '3',
|
||||
'network': '4',
|
||||
'environment': '5'
|
||||
};
|
||||
requestParams.type = typeMap[planType.value] || planType.value;
|
||||
}
|
||||
|
||||
// 添加执行人筛选条件
|
||||
// 添加维修人员筛选条件 - 严格匹配JSON数据中的sendPerson字段
|
||||
if (executor.value && executor.value !== 'all') {
|
||||
requestParams.executor = executor.value;
|
||||
// 直接使用用户ID作为sendPerson参数
|
||||
requestParams.sendPerson = executor.value;
|
||||
}
|
||||
|
||||
// 添加关键词搜索条件
|
||||
if (keyword.value && keyword.value.trim()) {
|
||||
requestParams.keyword = keyword.value.trim();
|
||||
}
|
||||
|
||||
const res = await qiangxiulist(requestParams);
|
||||
@ -1114,38 +1127,40 @@ async function getTaskList() {
|
||||
leftLineClass: getLeftLineClass(item.status, item.level),
|
||||
priorityClass: getPriorityClass(item.level),
|
||||
priority: getPriorityText(item.level),
|
||||
// 修复报修时间字段名,使用与模板一致的createTime
|
||||
// 严格匹配JSON数据中的createTime字段
|
||||
createTime: formatDate(item.createTime),
|
||||
// 修复报修人字段,使用reportName
|
||||
// 严格匹配JSON数据中的reportName字段
|
||||
reporter: item.reportName || '未知报修人',
|
||||
// 修复维修人字段,从sendPersonVo对象中获取用户名
|
||||
// 严格匹配JSON数据中的sendPerson和sendPersonVo字段
|
||||
maintainer: item.sendPersonVo?.userName || '未分配',
|
||||
|
||||
completeTime: item.reportFinishTime ? formatDate(item.reportFinishTime) : '',
|
||||
actionText: getActionText(item.status),
|
||||
actionClass: getActionClass(item.status),
|
||||
reportInfo: item.reportInfo,
|
||||
position: item.position,
|
||||
fileUrl: item.fileUrl,
|
||||
reportInfo: item.reportInfo || '',
|
||||
position: item.position || '',
|
||||
fileUrl: item.fileUrl || '',
|
||||
|
||||
reportPhone: item.reportPhone || '',
|
||||
type: item.type || '',
|
||||
// 保留原始数据用于详情查看
|
||||
sendPersonVo: item.sendPersonVo,
|
||||
faultType: getFaultTypeText(item.type),
|
||||
// 保留expectedTime字段用于任务修改
|
||||
expectedTime: item.expectedTime || '',
|
||||
// 添加needSupport字段,确保从API返回数据中获取实际值
|
||||
needSupport: item.support || ''
|
||||
// 严格匹配JSON数据中的expectedTime字段
|
||||
expectedTime: item.expectedTime ? formatDate(item.expectedTime) : '',
|
||||
// 严格匹配JSON数据中的support字段
|
||||
needSupport: item.support || '',
|
||||
// 添加额外的原始字段用于筛选和展示
|
||||
sendPerson: item.sendPerson,
|
||||
level: item.level,
|
||||
createBy: item.createBy
|
||||
}));
|
||||
|
||||
// 关键词过滤
|
||||
const kw = keyword.value.trim().toLowerCase();
|
||||
const filtered = kw
|
||||
? mapped.filter((t) =>
|
||||
[t.title, t.reporter, t.maintainer, t.position, t.statusText]
|
||||
.filter(Boolean)
|
||||
.some((v) => String(v).toLowerCase().includes(kw))
|
||||
[t.title, t.reporter, t.maintainer, t.position, t.statusText].filter(Boolean).some((v) => String(v).toLowerCase().includes(kw))
|
||||
)
|
||||
: mapped;
|
||||
|
||||
@ -1180,6 +1195,7 @@ function getFaultTypeText(type) {
|
||||
// 初始化时调用接口获取数据
|
||||
setTimeout(() => {
|
||||
getTaskList();
|
||||
getUsersList(); // 获取用户列表用于维修人筛选
|
||||
}, 0);
|
||||
</script>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user