This commit is contained in:
dhr
2025-09-28 20:12:49 +08:00
parent fd4e05a802
commit 6079814962

View File

@ -140,6 +140,11 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" prop="creator" label="创建人" min-width="100"></el-table-column> <el-table-column align="center" prop="creator" label="创建人" min-width="100"></el-table-column>
<el-table-column align="center" prop="progress" label="工单进度" min-width="100">
<template #default="scope">
<el-progress :percentage="parseFloat(scope.row.progress) || 0" show-text />
</template>
</el-table-column>
<el-table-column align="center" prop="createTime" label="创建时间" min-width="140"></el-table-column> <el-table-column align="center" prop="createTime" label="创建时间" min-width="140"></el-table-column>
<el-table-column align="center" prop="deadline" label="截止时间" min-width="140"></el-table-column> <el-table-column align="center" prop="deadline" label="截止时间" min-width="140"></el-table-column>
<el-table-column align="center" prop="status" label="状态" min-width="100"> <el-table-column align="center" prop="status" label="状态" min-width="100">
@ -296,13 +301,6 @@
<el-form-item label="工单描述"> <el-form-item label="工单描述">
<el-input v-model="createForm.resultDescription" type="textarea" :rows="3" placeholder="请描述该工单完成后预期达成的成果" /> <el-input v-model="createForm.resultDescription" type="textarea" :rows="3" placeholder="请描述该工单完成后预期达成的成果" />
</el-form-item> </el-form-item>
<el-form-item label="是否需要执行人" prop="needAssignee">
<el-radio-group v-model="createForm.needAssignee">
<el-radio label="true">指定执行人</el-radio>
<el-radio label="false">由系统分配</el-radio>
</el-radio-group>
</el-form-item>
</el-form> </el-form>
<template #footer> <template #footer>
@ -568,7 +566,8 @@ const fetchWorkOrderList = async () => {
getOrderTime: item.getOrderTime ? formatDate(item.getOrderTime) : '', getOrderTime: item.getOrderTime ? formatDate(item.getOrderTime) : '',
finishiOrderTime: item.finishiOrderTime ? formatDate(item.finishiOrderTime) : '', finishiOrderTime: item.finishiOrderTime ? formatDate(item.finishiOrderTime) : '',
position: item.position || '', position: item.position || '',
device: item.device || '' device: item.device || '',
progress: item.progress // 添加进度字段
})); }));
// 更新总条数 // 更新总条数
@ -1282,6 +1281,25 @@ const handleEdit = async (row) => {
createForm.resultDescription = workOrderDetail.results || ''; createForm.resultDescription = workOrderDetail.results || '';
createForm.needAssignee = !!workOrderDetail.executor; createForm.needAssignee = !!workOrderDetail.executor;
// 根据工单状态设置进度
// 1: 待派单, 2: 已派单, 3: 执行中, 4: 已完成, 5: 已拒绝
switch (workOrderDetail.status) {
case '1':
createForm.progress = 0;
break;
case '2':
createForm.progress = 25;
break;
case '3':
createForm.progress = 50;
break;
case '4':
createForm.progress = 100;
break;
default:
createForm.progress = 0;
}
// 填充步骤数据从nodes数组中提取并按code排序 // 填充步骤数据从nodes数组中提取并按code排序
if (workOrderDetail.nodes && Array.isArray(workOrderDetail.nodes)) { if (workOrderDetail.nodes && Array.isArray(workOrderDetail.nodes)) {
// 复制nodes数组并按code升序排序 // 复制nodes数组并按code升序排序
@ -1343,7 +1361,8 @@ const createForm = reactive({
file: '', file: '',
fileList: [], fileList: [],
resultDescription: '', resultDescription: '',
needAssignee: 'false' needAssignee: 'false',
progress: 0
}); });
const createFormRules = { const createFormRules = {
@ -1473,7 +1492,8 @@ const submitCreate = async () => {
createBy: '', createBy: '',
handlerDept: '', handlerDept: '',
handler: '', handler: '',
handlerName: '' handlerName: '',
progress: createForm.progress || 0
}; };
// 编辑操作调用updategongdan接口 // 编辑操作调用updategongdan接口
@ -1493,6 +1513,8 @@ const submitCreate = async () => {
createForm[key] = [{ name: '', intendedPurpose: '', intendedTime: '' }]; createForm[key] = [{ name: '', intendedPurpose: '', intendedTime: '' }];
} else if (key === 'fileList') { } else if (key === 'fileList') {
createForm[key] = []; createForm[key] = [];
} else if (key === 'progress') {
createForm[key] = 0;
} else { } else {
createForm[key] = ''; createForm[key] = '';
} }
@ -1523,6 +1545,8 @@ const cancelCreate = () => {
createForm[key] = [{ name: '', intendedPurpose: '', intendedTime: '' }]; createForm[key] = [{ name: '', intendedPurpose: '', intendedTime: '' }];
} else if (key === 'fileList') { } else if (key === 'fileList') {
createForm[key] = []; createForm[key] = [];
} else if (key === 'progress') {
createForm[key] = 0;
} else { } else {
createForm[key] = ''; createForm[key] = '';
} }