Explorar el Código

feat(manholeCover): 添加井盖案件接单功能

- 在订单处置界面添加接单按钮,仅在符合条件时显示
- 更新状态映射,将状态9从"已延期"改为"延期待接单"
- 新增canAcceptOrder函数判断是否可以接单,支持状态2和9
- 修改canStartRepair函数,仅允许状态3开始维修
- 在操作权限检查中增加接单权限验证
- 实现acceptOrder方法处理接单逻辑并显示成功提示
- 更新操作类型标签颜色映射,状态9使用警告色
nahida hace 4 días
padre
commit
908536e529
Se han modificado 1 ficheros con 18 adiciones y 3 borrados
  1. 18 3
      src/views/subSystem/manholeCover/caseHandling/orderDisposal.vue

+ 18 - 3
src/views/subSystem/manholeCover/caseHandling/orderDisposal.vue

@@ -123,6 +123,7 @@
                 <el-button type="primary" @click="dispatchOrder">下派任务</el-button>
               </div>
               <div class="flex flex-wrap gap-3">
+                <el-button v-if="canAcceptOrder(selectedOrder)" type="warning" @click="acceptOrder">接单</el-button>
                 <el-button v-if="canStartRepair(selectedOrder)" type="primary" @click="startRepair">开始维修</el-button>
                 <el-button v-if="canSubmitVerify(selectedOrder)" type="warning" @click="submitVerify">提交验收</el-button>
                 <el-button v-if="canApprove(selectedOrder)" type="success" @click="approveOrder(true)">验收通过</el-button>
@@ -294,7 +295,7 @@ function getOrderStatusMeta(status) {
     6: { key: 'completed', text: '已结案', tag: 'success' },
     7: { key: 'completed', text: '已驳回', tag: 'danger' },
     8: { key: 'processing', text: '延期审核', tag: 'warning' },
-    9: { key: 'completed', text: '已延期', tag: 'warning' }
+    9: { key: 'pending', text: '延期待接单', tag: 'warning' }
   }
   return map[Number(status)] || { key: '', text: '—', tag: 'info' }
 }
@@ -432,8 +433,12 @@ function canDispatch(order) {
   return Number(order.orderStatus) === 1
 }
 
+function canAcceptOrder(order) {
+  return [2, 9].includes(Number(order.orderStatus))
+}
+
 function canStartRepair(order) {
-  return [2, 3].includes(Number(order.orderStatus))
+  return Number(order.orderStatus) === 3
 }
 
 function canSubmitVerify(order) {
@@ -460,6 +465,7 @@ function hasOperationButtons(order) {
   if (!order) return false
   return (
     canDispatch(order) ||
+    canAcceptOrder(order) ||
     canStartRepair(order) ||
     canSubmitVerify(order) ||
     canApprove(order) ||
@@ -575,6 +581,15 @@ function confirmDispatchUser() {
   dispatchDialogVisible.value = false
 }
 
+async function acceptOrder() {
+  try {
+    await operateCurrent(3, '接单')
+    ElMessage.success('已接单')
+  } catch (error) {
+    ElMessage.error(error?.message || '接单失败')
+  }
+}
+
 async function startRepair() {
   try {
     await operateCurrent(4, '开始维修')
@@ -656,7 +671,7 @@ function getLogType(operType) {
     6: 'success',
     7: 'danger',
     8: 'warning',
-    9: 'success'
+    9: 'warning'
   }
   return map[Number(operType)] || 'info'
 }