|
|
@@ -78,39 +78,29 @@
|
|
|
<span><el-icon><Document /></el-icon> 工单基本信息</span>
|
|
|
</div>
|
|
|
<el-descriptions :column="2" border>
|
|
|
- <el-descriptions-item label="工单ID">{{ selectedOrder.orderId || '—' }}</el-descriptions-item>
|
|
|
<el-descriptions-item label="工单编号">{{ selectedOrder.orderNo }}</el-descriptions-item>
|
|
|
- <el-descriptions-item label="报警ID">{{ selectedOrder.alarmId || '—' }}</el-descriptions-item>
|
|
|
<el-descriptions-item label="工单状态">
|
|
|
<el-tag :type="selectedOrder.orderStatusTag">{{ selectedOrder.orderStatusText }}</el-tag>
|
|
|
</el-descriptions-item>
|
|
|
- <el-descriptions-item label="案件ID">{{ selectedOrder.caseId || '—' }}</el-descriptions-item>
|
|
|
<el-descriptions-item label="关联案件编号">{{ selectedOrder.caseNo || '—' }}</el-descriptions-item>
|
|
|
- <el-descriptions-item label="设备ID">{{ selectedOrder.deviceId || '—' }}</el-descriptions-item>
|
|
|
<el-descriptions-item label="设备编号">{{ selectedOrder.deviceCode || '—' }}</el-descriptions-item>
|
|
|
<el-descriptions-item label="优先级">
|
|
|
<el-tag :type="selectedOrder.orderLevelTag">{{ selectedOrder.orderLevelText }}</el-tag>
|
|
|
</el-descriptions-item>
|
|
|
<el-descriptions-item label="工单类型">{{ selectedOrder.orderTypeText }}</el-descriptions-item>
|
|
|
<el-descriptions-item label="问题描述" :span="2">{{ selectedOrder.orderDesc || '—' }}</el-descriptions-item>
|
|
|
- <el-descriptions-item label="负责部门ID">{{ selectedOrder.deptId || '—' }}</el-descriptions-item>
|
|
|
<el-descriptions-item label="设备类别">{{ selectedOrder.equipmentTypeName || '—' }}</el-descriptions-item>
|
|
|
- <el-descriptions-item label="接单人ID">{{ selectedOrder.receiveUser || '—' }}</el-descriptions-item>
|
|
|
- <el-descriptions-item label="派单人ID">{{ selectedOrder.dispatchUser || '—' }}</el-descriptions-item>
|
|
|
<el-descriptions-item label="派单时间">{{ selectedOrder.dispatchTimeText }}</el-descriptions-item>
|
|
|
<el-descriptions-item label="创建时间">{{ selectedOrder.createTimeText }}</el-descriptions-item>
|
|
|
<el-descriptions-item label="计划完成时间">{{ selectedOrder.planFinishTimeText }}</el-descriptions-item>
|
|
|
<el-descriptions-item label="延期原因">{{ selectedOrder.delayedReason || '—' }}</el-descriptions-item>
|
|
|
<el-descriptions-item label="延期截止时间">{{ selectedOrder.delayedDeadlineText }}</el-descriptions-item>
|
|
|
- <el-descriptions-item label="验收人ID">{{ selectedOrder.verifyUser || '—' }}</el-descriptions-item>
|
|
|
<el-descriptions-item label="验收时间">{{ selectedOrder.verifyTimeText }}</el-descriptions-item>
|
|
|
<el-descriptions-item label="实际完成时间">{{ selectedOrder.realFinishTimeText }}</el-descriptions-item>
|
|
|
<el-descriptions-item label="运维状态">{{ selectedOrder.currentStatusText }}</el-descriptions-item>
|
|
|
<el-descriptions-item label="在线状态">{{ selectedOrder.onlineStatusText }}</el-descriptions-item>
|
|
|
<el-descriptions-item label="报警状态">{{ selectedOrder.alarmStatusText }}</el-descriptions-item>
|
|
|
- <el-descriptions-item label="状态更新时间">{{ selectedOrder.statusUpdateTimeText }}</el-descriptions-item>
|
|
|
<el-descriptions-item label="处置结果" :span="2">{{ selectedOrder.repairResult || '—' }}</el-descriptions-item>
|
|
|
- <el-descriptions-item label="更新时间">{{ selectedOrder.updateTimeText }}</el-descriptions-item>
|
|
|
</el-descriptions>
|
|
|
|
|
|
<div class="mt-5 border-t border-[#e9ecef] pt-3">
|
|
|
@@ -212,13 +202,12 @@
|
|
|
@current-change="handleUserCurrentChange"
|
|
|
@row-click="handleUserCurrentChange"
|
|
|
>
|
|
|
- <el-table-column prop="userId" label="ID" width="90" />
|
|
|
<el-table-column prop="userName" label="用户名" min-width="120" />
|
|
|
<el-table-column prop="nickName" label="昵称" min-width="120" />
|
|
|
<el-table-column prop="dept.deptName" label="部门" min-width="140" show-overflow-tooltip />
|
|
|
</el-table>
|
|
|
<div class="mt-3 text-[#606266]">
|
|
|
- 已选人员:{{ dispatchSelectedUser ? `${dispatchSelectedUser.userName} / ID: ${dispatchSelectedUser.userId}` : '未选择' }}
|
|
|
+ 已选人员:{{ dispatchSelectedUser ? `${dispatchSelectedUser.userName}${dispatchSelectedUser.nickName ? ` / ${dispatchSelectedUser.nickName}` : ''}` : '未选择' }}
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -406,12 +395,12 @@ async function loadOrders() {
|
|
|
async function selectOrder(order) {
|
|
|
detailLoading.value = true
|
|
|
receiveUserId.value = order.receiveUser || null
|
|
|
- receiveUserDisplay.value = order.receiveUser ? `用户ID: ${order.receiveUser}` : ''
|
|
|
+ receiveUserDisplay.value = order.receiveUser ? '已选择接单人' : ''
|
|
|
try {
|
|
|
const res = await getManholeWorkOrderDetail(order.orderId)
|
|
|
selectedOrder.value = normalizeOrder(res?.data || order)
|
|
|
receiveUserId.value = selectedOrder.value.receiveUser || null
|
|
|
- receiveUserDisplay.value = selectedOrder.value.receiveUser ? `用户ID: ${selectedOrder.value.receiveUser}` : ''
|
|
|
+ receiveUserDisplay.value = selectedOrder.value.receiveUser ? '已选择接单人' : ''
|
|
|
} catch (error) {
|
|
|
selectedOrder.value = order
|
|
|
ElMessage.error('工单详情加载失败')
|
|
|
@@ -493,7 +482,8 @@ async function dispatchOrder() {
|
|
|
return
|
|
|
}
|
|
|
try {
|
|
|
- await operateCurrent(2, `下派工单至用户${receiveUserId.value}`, { receiveUser: Number(receiveUserId.value) })
|
|
|
+ const receiveUserName = dispatchSelectedUser.value?.userName || '指定人员'
|
|
|
+ await operateCurrent(2, `下派工单至${receiveUserName}`, { receiveUser: Number(receiveUserId.value) })
|
|
|
ElMessage.success('工单下派成功')
|
|
|
} catch (error) {
|
|
|
ElMessage.error(error?.message || '工单下派失败')
|
|
|
@@ -577,7 +567,7 @@ function confirmDispatchUser() {
|
|
|
return
|
|
|
}
|
|
|
receiveUserId.value = dispatchSelectedUser.value.userId
|
|
|
- receiveUserDisplay.value = `${dispatchSelectedUser.value.userName} / ID: ${dispatchSelectedUser.value.userId}`
|
|
|
+ receiveUserDisplay.value = `${dispatchSelectedUser.value.userName}${dispatchSelectedUser.value.nickName ? ` / ${dispatchSelectedUser.value.nickName}` : ''}`
|
|
|
dispatchDialogVisible.value = false
|
|
|
}
|
|
|
|