浏览代码

feat(repair): 添加转派审批状态显示功能

- 在维修详情页面添加转派审批状态、审批人、审批时间、审批意见字段显示
- 在报修检查详情页面添加转派审批状态、审批人、审批时间、审批意见字段显示
- 新增 getTransferStatusText 方法处理转派审批状态文字转换逻辑
- 更新转派按钮显示条件,仅在维修中状态(状态2)可进行转派操作
- 兼容老数据无 status 字段情况,默认按已通过状态展示
dazhaxie 11 小时之前
父节点
当前提交
d9a20ff79c
共有 2 个文件被更改,包括 26 次插入1 次删除
  1. 11 0
      pages/repair-check/repair-detail.vue
  2. 15 1
      pages/repair-detail/repair-detail.vue

+ 11 - 0
pages/repair-check/repair-detail.vue

@@ -95,6 +95,11 @@
                     <equipment-line title="转派人" :content="item.username" />
                     <equipment-line title="转派时间" :content="item.time" />
                     <equipment-line title="转派备注" :content="item.repairDispatchRemark" />
+                    <!-- 转派审批状态:pending-待审批 approved-已通过 rejected-已驳回 -->
+                    <equipment-line v-if="item.type === 'transfer'" title="审批状态" :content="getTransferStatusText(item.status)" />
+                    <equipment-line v-if="item.approverName" title="审批人" :content="item.approverName" />
+                    <equipment-line v-if="item.approveTime" title="审批时间" :content="item.approveTime" />
+                    <equipment-line v-if="item.approveRemark" title="审批意见" :content="item.approveRemark" />
                 </view>
             </view>
         </view>
@@ -199,6 +204,12 @@ export default {
         );
     },
     methods: {
+        // 转派记录审批状态文字:老数据无 status 字段时按已通过展示(早期转派无审批流程)
+        getTransferStatusText(status) {
+            if (status === 'pending') return '待审批'
+            if (status === 'rejected') return '已驳回'
+            return '已通过'
+        },
         handlePre(index) {
             uni.previewImage({
                 urls: this.imagesList,

+ 15 - 1
pages/repair-detail/repair-detail.vue

@@ -81,6 +81,11 @@
           <equipment-line title="转派人" :content="item.username" />
           <equipment-line title="转派时间" :content="item.time" />
           <equipment-line title="转派备注" :content="item.repairDispatchRemark" />
+          <!-- 转派审批状态:pending-待审批 approved-已通过 rejected-已驳回 -->
+          <equipment-line v-if="item.type === 'transfer'" title="审批状态" :content="getTransferStatusText(item.status)" />
+          <equipment-line v-if="item.approverName" title="审批人" :content="item.approverName" />
+          <equipment-line v-if="item.approveTime" title="审批时间" :content="item.approveTime" />
+          <equipment-line v-if="item.approveRemark" title="审批意见" :content="item.approveRemark" />
         </view>
       </view>
     </view>
@@ -96,7 +101,10 @@
           <view class="iconfont icon-baoxiu" style="color: #0f6fb9"></view>
           <view class="grid-text">拒单</view>
         </u-grid-item>
-        <u-grid-item v-show="!infoData.fourRepairUser && infoData.repairUserId" @tap="handleTransfer()">
+        <!-- 仅维修中(状态2)可转派,与后端 transfer 接口状态校验保持一致;转派审批中(状态8)等状态不显示 -->
+        <u-grid-item
+          v-show="infoData.status === 2 && !infoData.fourRepairUser && infoData.repairUserId"
+          @tap="handleTransfer()">
           <view class="iconfont icon-baoxiu" style="color: #0f6fb9"></view>
           <view class="grid-text">转派</view>
         </u-grid-item>
@@ -228,6 +236,12 @@ export default {
             })
         })
     },
+    // 转派记录审批状态文字:老数据无 status 字段时按已通过展示(早期转派无审批流程)
+    getTransferStatusText(status) {
+      if (status === 'pending') return '待审批'
+      if (status === 'rejected') return '已驳回'
+      return '已通过'
+    },
     getUserName(userId) {
       var name = ''
       this.zjList.forEach(item => {