1011
This commit is contained in:
@ -39,7 +39,7 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</div>
|
</div>
|
||||||
<div class="filter-item">
|
<div class="filter-item">
|
||||||
<el-select v-model="searchParams.executor" placeholder="执行人">
|
<el-select v-model="searchParams.sendPerson" placeholder="执行人">
|
||||||
<el-option label="全部" value="" />
|
<el-option label="全部" value="" />
|
||||||
<el-option v-for="user in usersList" :key="user.id" :label="user.name" :value="user.id" />
|
<el-option v-for="user in usersList" :key="user.id" :label="user.name" :value="user.id" />
|
||||||
</el-select>
|
</el-select>
|
||||||
@ -396,7 +396,7 @@ const searchParams = ref({
|
|||||||
keyword: '',
|
keyword: '',
|
||||||
taskStatus: '',
|
taskStatus: '',
|
||||||
type: '',
|
type: '',
|
||||||
executor: ''
|
sendPerson: ''
|
||||||
});
|
});
|
||||||
|
|
||||||
// 执行人列表相关
|
// 执行人列表相关
|
||||||
@ -469,7 +469,7 @@ async function getTaskList() {
|
|||||||
pageSize: pageSize.value,
|
pageSize: pageSize.value,
|
||||||
status: searchParams.value.taskStatus || undefined,
|
status: searchParams.value.taskStatus || undefined,
|
||||||
type: searchParams.value.type || undefined,
|
type: searchParams.value.type || undefined,
|
||||||
executor: searchParams.value.executor || undefined,
|
sendPerson: searchParams.value.sendPerson || undefined,
|
||||||
keyword: searchParams.value.keyword
|
keyword: searchParams.value.keyword
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -646,17 +646,6 @@ const handleSearch = () => {
|
|||||||
getTaskList(); // 调用接口获取数据
|
getTaskList(); // 调用接口获取数据
|
||||||
};
|
};
|
||||||
|
|
||||||
const resetFilters = () => {
|
|
||||||
searchParams.value = {
|
|
||||||
keyword: '',
|
|
||||||
taskStatus: '',
|
|
||||||
type: '',
|
|
||||||
executor: ''
|
|
||||||
};
|
|
||||||
currentPage.value = 1;
|
|
||||||
getTaskList();
|
|
||||||
};
|
|
||||||
|
|
||||||
// 创建报修任务弹窗相关
|
// 创建报修任务弹窗相关
|
||||||
const createTaskDialogVisible = ref(false);
|
const createTaskDialogVisible = ref(false);
|
||||||
const createTaskFormRef = ref(null);
|
const createTaskFormRef = ref(null);
|
||||||
|
|||||||
@ -37,8 +37,8 @@
|
|||||||
<div class="filter-item">
|
<div class="filter-item">
|
||||||
<el-select v-model="workOrderStatus" placeholder="全部状态" clearable>
|
<el-select v-model="workOrderStatus" placeholder="全部状态" clearable>
|
||||||
<el-option label="全部状态" value="all"></el-option>
|
<el-option label="全部状态" value="all"></el-option>
|
||||||
<el-option label="已接单" value="accepted"></el-option>
|
<el-option label="待派单" value="pending"></el-option>
|
||||||
<el-option label="待处理" value="pending"></el-option>
|
<el-option label="已派单" value="accepted"></el-option>
|
||||||
<el-option label="执行中" value="executing"></el-option>
|
<el-option label="执行中" value="executing"></el-option>
|
||||||
<el-option label="已完成" value="completed"></el-option>
|
<el-option label="已完成" value="completed"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
@ -464,16 +464,6 @@ const workOrderStatus = ref('all');
|
|||||||
const priority = ref('all');
|
const priority = ref('all');
|
||||||
const createDate = ref('');
|
const createDate = ref('');
|
||||||
|
|
||||||
// 优先级转类名
|
|
||||||
const mapPriorityToClass = (priority) => {
|
|
||||||
const priorityMap = {
|
|
||||||
1: 'high',
|
|
||||||
2: 'medium',
|
|
||||||
3: 'low'
|
|
||||||
};
|
|
||||||
return priorityMap[priority] || 'low';
|
|
||||||
};
|
|
||||||
|
|
||||||
// 工单数据
|
// 工单数据
|
||||||
const rawTableData = ref([]);
|
const rawTableData = ref([]);
|
||||||
|
|
||||||
@ -491,6 +481,9 @@ const fetchWorkOrderList = async () => {
|
|||||||
pageSize: pageSize.value
|
pageSize: pageSize.value
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// 调试输出,检查参数是否正确
|
||||||
|
console.log('请求参数:', params);
|
||||||
|
|
||||||
const response = await gongdanlist(params);
|
const response = await gongdanlist(params);
|
||||||
|
|
||||||
if (response.code === 200 && response.rows) {
|
if (response.code === 200 && response.rows) {
|
||||||
@ -522,6 +515,38 @@ const fetchWorkOrderList = async () => {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// 类型映射函数 - 页面类型转接口code
|
||||||
|
const mapTypeToTypeCode = (type) => {
|
||||||
|
const typeMap = {
|
||||||
|
'maintenance': 1, // 维护保养
|
||||||
|
'inspection': 2, // 检查检测
|
||||||
|
'installation': 3, // 安装调试
|
||||||
|
'upgrade': 4 // 升级改造
|
||||||
|
};
|
||||||
|
return typeMap[type] || null;
|
||||||
|
};
|
||||||
|
|
||||||
|
// 状态映射函数 - 页面状态转接口code
|
||||||
|
const mapStatusToStatusCode = (status) => {
|
||||||
|
const statusMap = {
|
||||||
|
'pending': 1, // 待派单
|
||||||
|
'accepted': 2, // 已派单
|
||||||
|
'executing': 3, // 执行中
|
||||||
|
'completed': 4 // 已完成
|
||||||
|
};
|
||||||
|
return statusMap[status] || null;
|
||||||
|
};
|
||||||
|
|
||||||
|
// 优先级映射函数 - 页面优先级转接口code
|
||||||
|
const mapPriorityToLevelCode = (priority) => {
|
||||||
|
const priorityMap = {
|
||||||
|
'high': 3, // 高
|
||||||
|
'medium': 2, // 中
|
||||||
|
'low': 1 // 低
|
||||||
|
};
|
||||||
|
return priorityMap[priority] || null;
|
||||||
|
};
|
||||||
|
|
||||||
// 类型映射函数 - 页面类型转接口code
|
// 类型映射函数 - 页面类型转接口code
|
||||||
const mapTypeToCode = (type) => {
|
const mapTypeToCode = (type) => {
|
||||||
const typeMap = {
|
const typeMap = {
|
||||||
@ -647,10 +672,10 @@ const pagedTableData = computed(() => {
|
|||||||
let statusText = '';
|
let statusText = '';
|
||||||
switch (workOrderStatus.value) {
|
switch (workOrderStatus.value) {
|
||||||
case 'accepted':
|
case 'accepted':
|
||||||
statusText = '已接单';
|
statusText = '已派单';
|
||||||
break;
|
break;
|
||||||
case 'pending':
|
case 'pending':
|
||||||
statusText = '待处理';
|
statusText = '待派单';
|
||||||
break;
|
break;
|
||||||
case 'executing':
|
case 'executing':
|
||||||
statusText = '执行中';
|
statusText = '执行中';
|
||||||
@ -768,6 +793,7 @@ const getStepStatusText = (status) => {
|
|||||||
|
|
||||||
const handleSearch = () => {
|
const handleSearch = () => {
|
||||||
currentPage.value = 1; // 重置到第一页
|
currentPage.value = 1; // 重置到第一页
|
||||||
|
fetchWorkOrderList(); // 触发API请求获取数据
|
||||||
};
|
};
|
||||||
|
|
||||||
// 重置筛选
|
// 重置筛选
|
||||||
|
|||||||
@ -39,8 +39,8 @@
|
|||||||
<div class="filter-item">
|
<div class="filter-item">
|
||||||
<el-select v-model="workOrderStatus" placeholder="全部状态" clearable>
|
<el-select v-model="workOrderStatus" placeholder="全部状态" clearable>
|
||||||
<el-option label="全部状态" value="all"></el-option>
|
<el-option label="全部状态" value="all"></el-option>
|
||||||
<el-option label="待派单" value="accepted"></el-option>
|
<el-option label="待派单" value="pending"></el-option>
|
||||||
<el-option label="待处理" value="pending"></el-option>
|
<el-option label="已派单" value="accepted"></el-option>
|
||||||
<el-option label="执行中" value="executing"></el-option>
|
<el-option label="执行中" value="executing"></el-option>
|
||||||
<el-option label="已完成" value="completed"></el-option>
|
<el-option label="已完成" value="completed"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
@ -792,10 +792,10 @@ const pagedTableData = computed(() => {
|
|||||||
let statusText = '';
|
let statusText = '';
|
||||||
switch (workOrderStatus.value) {
|
switch (workOrderStatus.value) {
|
||||||
case 'accepted':
|
case 'accepted':
|
||||||
statusText = '已接单';
|
statusText = '已派单';
|
||||||
break;
|
break;
|
||||||
case 'pending':
|
case 'pending':
|
||||||
statusText = '待处理';
|
statusText = '待派单';
|
||||||
break;
|
break;
|
||||||
case 'executing':
|
case 'executing':
|
||||||
statusText = '执行中';
|
statusText = '执行中';
|
||||||
|
|||||||
@ -35,7 +35,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="filter-item">
|
<div class="filter-item">
|
||||||
<el-select v-model="executor" placeholder="维修人" :loading="loadingUsers">
|
<el-select v-model="sendPerson" placeholder="维修人" :loading="loadingUsers">
|
||||||
<el-option label="全部维修人" value="all"></el-option>
|
<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-option v-for="user in usersList" :key="user.id" :label="user.name" :value="user.id"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
@ -419,7 +419,7 @@ import { qiangxiuDetail, qiangxiulist, addqiangxiu, updateqiangxiu } from '@/api
|
|||||||
import { xunjianUserlist } from '@/api/zhinengxunjian/xunjian';
|
import { xunjianUserlist } from '@/api/zhinengxunjian/xunjian';
|
||||||
const taskStatus = ref('');
|
const taskStatus = ref('');
|
||||||
const planType = ref('all');
|
const planType = ref('all');
|
||||||
const executor = ref('all');
|
const sendPerson = ref('all');
|
||||||
const keyword = ref('');
|
const keyword = ref('');
|
||||||
// 任务数据 - 添加了更多字段以展示滚动效果
|
// 任务数据 - 添加了更多字段以展示滚动效果
|
||||||
const tasks = ref([]);
|
const tasks = ref([]);
|
||||||
@ -457,7 +457,7 @@ const handleSearch = () => {
|
|||||||
const resetFilters = () => {
|
const resetFilters = () => {
|
||||||
taskStatus.value = 'all';
|
taskStatus.value = 'all';
|
||||||
planType.value = 'all';
|
planType.value = 'all';
|
||||||
executor.value = 'all';
|
sendPerson.value = 'all';
|
||||||
keyword.value = '';
|
keyword.value = '';
|
||||||
currentPage.value = 1;
|
currentPage.value = 1;
|
||||||
getTaskList();
|
getTaskList();
|
||||||
@ -1074,9 +1074,8 @@ async function getTaskList() {
|
|||||||
// 构建请求参数,包含筛选条件
|
// 构建请求参数,包含筛选条件
|
||||||
const requestParams = {
|
const requestParams = {
|
||||||
projectId: 1,
|
projectId: 1,
|
||||||
pageNum: currentPage.value,
|
pageNum: parseInt(currentPage.value, 10),
|
||||||
pageSize: pageSize.value
|
pageSize: parseInt(pageSize.value, 10)
|
||||||
// 严格匹配JSON数据结构
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// 添加任务状态筛选条件 - 严格匹配JSON数据中的status字段
|
// 添加任务状态筛选条件 - 严格匹配JSON数据中的status字段
|
||||||
@ -1088,7 +1087,7 @@ async function getTaskList() {
|
|||||||
'completed': '3',
|
'completed': '3',
|
||||||
'delayed': '4'
|
'delayed': '4'
|
||||||
};
|
};
|
||||||
requestParams.status = statusMap[taskStatus.value] || taskStatus.value;
|
requestParams.status = String(statusMap[taskStatus.value] || taskStatus.value);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 添加故障类型筛选条件 - 严格匹配JSON数据中的type字段
|
// 添加故障类型筛选条件 - 严格匹配JSON数据中的type字段
|
||||||
@ -1101,13 +1100,13 @@ async function getTaskList() {
|
|||||||
'network': '4',
|
'network': '4',
|
||||||
'environment': '5'
|
'environment': '5'
|
||||||
};
|
};
|
||||||
requestParams.type = typeMap[planType.value] || planType.value;
|
requestParams.type = String(typeMap[planType.value] || planType.value);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 添加维修人员筛选条件 - 严格匹配JSON数据中的sendPerson字段
|
// 添加维修人员筛选条件 - 严格匹配JSON数据中的sendPerson字段
|
||||||
if (executor.value && executor.value !== 'all') {
|
if (sendPerson.value && sendPerson.value !== 'all' && sendPerson.value !== '') {
|
||||||
// 直接使用用户ID作为sendPerson参数
|
// 转换为数字类型以匹配API期望的格式
|
||||||
requestParams.sendPerson = executor.value;
|
requestParams.sendPerson = parseInt(sendPerson.value, 10);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 添加关键词搜索条件
|
// 添加关键词搜索条件
|
||||||
@ -1132,7 +1131,7 @@ async function getTaskList() {
|
|||||||
// 严格匹配JSON数据中的reportName字段
|
// 严格匹配JSON数据中的reportName字段
|
||||||
reporter: item.reportName || '未知报修人',
|
reporter: item.reportName || '未知报修人',
|
||||||
// 严格匹配JSON数据中的sendPerson和sendPersonVo字段
|
// 严格匹配JSON数据中的sendPerson和sendPersonVo字段
|
||||||
maintainer: item.sendPersonVo?.userName || '未分配',
|
maintainer: item.sendPersonVo?.userName || (item.sendPerson ? `用户ID: ${item.sendPerson}` : '未分配'),
|
||||||
|
|
||||||
completeTime: item.reportFinishTime ? formatDate(item.reportFinishTime) : '',
|
completeTime: item.reportFinishTime ? formatDate(item.reportFinishTime) : '',
|
||||||
actionText: getActionText(item.status),
|
actionText: getActionText(item.status),
|
||||||
@ -1165,7 +1164,11 @@ async function getTaskList() {
|
|||||||
: mapped;
|
: mapped;
|
||||||
|
|
||||||
tasks.value = filtered;
|
tasks.value = filtered;
|
||||||
total.value = kw ? filtered.length : res.total || filtered.length;
|
if (res.total !== undefined) {
|
||||||
|
total.value = kw ? filtered.length : res.total;
|
||||||
|
} else {
|
||||||
|
total.value = filtered.length;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
tasks.value = [];
|
tasks.value = [];
|
||||||
total.value = 0;
|
total.value = 0;
|
||||||
|
|||||||
@ -19,7 +19,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 筛选栏 (默认隐藏) -->
|
<!-- 筛选栏 -->
|
||||||
<div class="filter-bar">
|
<div class="filter-bar">
|
||||||
<div class="filter-container">
|
<div class="filter-container">
|
||||||
<div class="filter-item">
|
<div class="filter-item">
|
||||||
@ -456,8 +456,8 @@ const getTaskList = async () => {
|
|||||||
|
|
||||||
// 添加维修人员筛选条件 - 严格匹配JSON数据中的sendPerson字段
|
// 添加维修人员筛选条件 - 严格匹配JSON数据中的sendPerson字段
|
||||||
if (executor.value && executor.value !== 'all') {
|
if (executor.value && executor.value !== 'all') {
|
||||||
// 直接使用用户ID作为sendPerson参数
|
// 确保用户ID为字符串类型,与接口期望格式一致
|
||||||
params.sendPerson = executor.value;
|
params.sendPerson = executor.value.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 添加时间范围筛选条件
|
// 添加时间范围筛选条件
|
||||||
|
|||||||
@ -443,9 +443,6 @@ const handleInspectionManagement3 = () => {
|
|||||||
margin-bottom: 16px;
|
margin-bottom: 16px;
|
||||||
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
|
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* */
|
|
||||||
|
|
||||||
/* 内容容器样式 */
|
/* 内容容器样式 */
|
||||||
.content-container {
|
.content-container {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|||||||
@ -39,8 +39,8 @@
|
|||||||
<div class="filter-item">
|
<div class="filter-item">
|
||||||
<el-select v-model="workOrderStatus" placeholder="全部状态" clearable>
|
<el-select v-model="workOrderStatus" placeholder="全部状态" clearable>
|
||||||
<el-option label="全部状态" value="all"></el-option>
|
<el-option label="全部状态" value="all"></el-option>
|
||||||
<el-option label="待派单" value="accepted"></el-option>
|
<el-option label="待派单" value="pending"></el-option>
|
||||||
<el-option label="待处理" value="pending"></el-option>
|
<el-option label="已派单" value="accepted"></el-option>
|
||||||
<el-option label="执行中" value="executing"></el-option>
|
<el-option label="执行中" value="executing"></el-option>
|
||||||
<el-option label="已完成" value="completed"></el-option>
|
<el-option label="已完成" value="completed"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
@ -1003,10 +1003,10 @@ const pagedTableData = computed(() => {
|
|||||||
let statusText = '';
|
let statusText = '';
|
||||||
switch (workOrderStatus.value) {
|
switch (workOrderStatus.value) {
|
||||||
case 'accepted':
|
case 'accepted':
|
||||||
statusText = '已接单';
|
statusText = '已派单';
|
||||||
break;
|
break;
|
||||||
case 'pending':
|
case 'pending':
|
||||||
statusText = '待处理';
|
statusText = '待派单';
|
||||||
break;
|
break;
|
||||||
case 'executing':
|
case 'executing':
|
||||||
statusText = '执行中';
|
statusText = '执行中';
|
||||||
|
|||||||
Reference in New Issue
Block a user