This commit is contained in:
dhr
2025-09-29 17:17:42 +08:00
parent db9e2e55ea
commit f58efb0e08
15 changed files with 411 additions and 364 deletions

View File

@ -23,6 +23,9 @@
<!-- 筛选栏 -->
<div class="filter-bar">
<div class="filter-container">
<div class="filter-item">
<el-input v-model="keyword" placeholder="关键字(任务名/对象/执行人)" clearable @keyup.enter="handleSearch" />
</div>
<div class="filter-item">
<el-select v-model="taskStatus" placeholder="任务状态">
<el-option label="待执行" value="pending"></el-option>
@ -43,6 +46,7 @@
</div>
<div class="filter-actions">
<el-button type="primary" icon="Search" class="search-btn" @click="handleSearch"> 搜索 </el-button>
<el-button icon="Refresh" class="create-btn" @click="resetFilters"> 重置 </el-button>
<el-button type="primary" icon="Plus" class="create-btn" @click="handleCreateTask"> 手动创建任务 </el-button>
</div>
</div>
@ -429,11 +433,13 @@ import { xjrenwuDetail, xjrenwulist, addxjrenwu, updatexjrenwu } from '@/api/zhi
import { xunjianUserlist, xunjianlist } from '@/api/zhinengxunjian/xunjian/index';
import { addjiedian } from '@/api/zhinengxunjian/jiedian/index';
import { ElMessage, ElLoading, ElForm } from 'element-plus';
import { formatDate } from '@/utils/index';
// 筛选条件
const taskStatus = ref('');
const planType = ref('');
const executor = ref('');
const keyword = ref('');
// 任务数据 - 初始为空数组通过API获取
const tasks = ref([]);
@ -543,16 +549,13 @@ const getTaskList = async () => {
const params = {
pageSize: pageSize.value,
pageNum: currentPage.value,
personId: 1,
taskType: taskStatus.value || undefined, // 任务状态
planType: planType.value || undefined, // 计划类型
personName: executor.value || undefined // 执行人
projectId: 1
};
const response = await xjrenwulist(params);
if (response.code === 200 && response.rows) {
tasks.value = response.rows.map((item) => {
const mapped = response.rows.map((item) => {
// 获取原始数据中的id
const taskId = item.id || '';
if (!taskId) {
@ -603,13 +606,16 @@ const getTaskList = async () => {
return task;
});
total.value = response.total || tasks.value.length;
// 搜索后如果没有结果,显示提示信息
if (tasks.value.length === 0) {
ElMessage.info('未找到符合条件的任务');
}
const kw = keyword.value.trim();
const filtered = kw
? mapped.filter((t) =>
[t.title, t.target, t.executor, t.relatedPlan, t.statusText]
.filter(Boolean)
.some((v) => String(v).toLowerCase().includes(kw.toLowerCase()))
)
: mapped;
tasks.value = filtered;
total.value = kw ? filtered.length : response.total || filtered.length;
}
} catch (error) {
console.error('获取巡检任务数据失败:', error);
@ -809,7 +815,7 @@ const handleSaveTask = async () => {
createTime: new Date().toISOString(),
updateTime: new Date().toISOString(),
startTime: new Date().toISOString().slice(0, 19).replace('T', ' '),
startTime: formatDate(new Date(), 'yyyy-MM-dd HH:mm:ss'),
params: {
property1: 'string',
property2: 'string'
@ -1045,7 +1051,7 @@ const handleAction = async (task) => {
const updateData = {
...originalTask.rawData,
id: task.id,
startTime: new Date().toISOString().slice(0, 19).replace('T', ' '),
startTime: formatDate(new Date().toString()),
taskType: '3', // 3表示执行中
status: 'executing',
taskProgress: 0
@ -1072,14 +1078,7 @@ const handleAction = async (task) => {
const originalTask = tasks.value[taskIndex];
const now = new Date();
const year = now.getFullYear();
const month = String(now.getMonth() + 1).padStart(2, '0');
const day = String(now.getDate()).padStart(2, '0');
const hours = String(now.getHours()).padStart(2, '0');
const minutes = String(now.getMinutes()).padStart(2, '0');
const seconds = String(now.getSeconds()).padStart(2, '0');
const finishTime = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
const finishTime = formatDate(new Date(), 'yyyy-MM-dd HH:mm:ss');
const updateData = {
...originalTask.rawData,