Ver Fonte

自动挂起恢复

HD_wangm há 4 meses atrás
pai
commit
42db616a15
2 ficheiros alterados com 30 adições e 7 exclusões
  1. 4 2
      pages/order/detail/resumeIndex.uvue
  2. 26 5
      pages/order/index.uvue

+ 4 - 2
pages/order/detail/resumeIndex.uvue

@@ -35,7 +35,7 @@
                         <text class="info-label">机型</text>
                         <text class="info-value">{{ detailData.brand ?? '' }} {{ detailData.model ?? '' }}</text>
                     </view>
-					<view class="info-item">
+					<view class="info-item" v-if="detailData.workOrderStatus == 'suspended'">
 					    <text class="info-label">审批通过时间</text>
 					    <text class="info-value">{{ formatDate(detailData.updateTime ?? '') }}</text>
 					</view>
@@ -253,7 +253,9 @@
 		if (isDealing.value || hasDealed.value) return // 双重保险
 		isDealing.value = true
 		// detailData.value.rejectionReason = rejectReason.value
-		detailData.value.workOrderStatus = 'to_finish'
+		// const oldWorkOrderStatus = detailData.value.workOrderStatus
+		detailData.value.workOrderStatus = detailData.value.workOrderStatus == 'auto_suspend'? 'assigned' : 'to_finish'
+		// detailData.value.workOrderStatus = 'to_finish'
 		try {
 			const result = await resumeOrder(detailData.value)
 			const resultObj = result as UTSJSONObject

+ 26 - 5
pages/order/index.uvue

@@ -30,6 +30,9 @@
 				<view class="scroll-view-item_H" v-if="checkPermi(['gxt:maintenance:order:resume','gxt:repairOrder:resume']) && !dealLoad">
 					<text class="status-txt" :class="{'stauts-sel': currentStatus === 'suspended'}" @click="switchStatus('suspended')">已挂起</text>
 				</view>
+				<view class="scroll-view-item_H" v-if="checkPermi(['gxt:maintenance:order:autoResume','gxt:repairOrder:autoResume']) && !dealLoad">
+					<text class="status-txt" :class="{'stauts-sel': currentStatus === 'auto_suspend'}" @click="switchStatus('auto_suspend')">自动挂起</text>
+				</view>
 				<view class="scroll-view-item_H" v-if="checkPermi(['gxt:maintenance:order:restart','gxt:repairOrder:restart']) && !dealLoad">
 					<text class="status-txt" :class="{'stauts-sel': currentStatus === 'completed'}" @click="switchStatus('completed')">已完成</text>
 				</view>
@@ -83,6 +86,13 @@
 								>
 								<text class="btn-text">恢复</text>
 							</view>
+							<view
+								v-if="getOrderStatus(item) == 'auto_suspend' && canHandleOrder(item,'')"
+								class="btn-primary info-value"
+								@click.stop="handleItemClick(item,'')"
+								>
+								<text class="btn-text">恢复</text>
+							</view>
 							<view
 								v-if="getOrderStatus(item) == 'return' && canHandleOrder(item,'acceptReturn')"
 								class="btn-primary info-value"
@@ -148,7 +158,7 @@ import {checkPermi, getUserInfo} from '../../utils/storage'
     const total = ref<number>(0)
 	let currentStatus = ref<string>('') // 添加状态管理
     const statusDictList = ref<SysDictData[]>([]) // 工单状态字典列表
-	
+
 	const tabbar = reactive([1,1,1,1])
 
 	// 添加防重复请求的标志位(参考score/pending.uvue的实现)
@@ -469,7 +479,8 @@ const statusConfig: StatusItem[] = [
         }
 
         isSearching.value = true
-        currentStatus.value = status
+		currentStatus.value = status
+
         page.value = 1
         loadData(true, true) // 第二个参数为true表示禁用下拉刷新动画
 
@@ -584,6 +595,9 @@ const statusConfig: StatusItem[] = [
 	  } else if(orderItem.workOrderStatus == 'return') {
 	  	// 接单退回
 	  	permit = ['gxt:repairOrder:acceptReturn']
+	  } else if(orderItem.workOrderStatus == 'auto_suspend') {
+		  // 自动挂起恢复
+		  permit = orderItem.orderType == 2 ? ['gxt:maintenance:order:autoResume'] : ['gxt:repairOrder:autoResume']
 	  }
 	   else {
 		  return false
@@ -638,7 +652,7 @@ const statusConfig: StatusItem[] = [
 			uni.navigateTo({
 			    url: `/pages/order/detail/approveIndex?id=${orderItem.id}&orderType=${orderItem.orderType}`
 			})
-		} else if(orderItem.workOrderStatus == 'suspended') {
+		} else if(orderItem.workOrderStatus == 'suspended' || orderItem.workOrderStatus == 'auto_suspend') {
 			// 跳转到恢复页面
 			uni.navigateTo({
 			    url: `/pages/order/detail/resumeIndex?id=${orderItem.id}&orderType=${orderItem.orderType}`
@@ -704,7 +718,7 @@ const statusConfig: StatusItem[] = [
 		// 检查权限设置tabbar
 		tabbar[2] = checkPermi(['gxt:app:worktime']) ? 1 : 0
 		tabbar[3] = checkPermi(['gxt:app:score']) ? 1 : 0
-		
+
 		const userInfo = getUserInfo()
 		if (userInfo != null) {
 			const userIdStr = userInfo['userId'].toString()
@@ -900,7 +914,7 @@ const statusConfig: StatusItem[] = [
 	// margin-left: 50rpx;
 	// justify-content: flex-end;
 	border: 1rpx solid;
-	
+
 }
 
 /* 待接单 */
@@ -932,6 +946,13 @@ const statusConfig: StatusItem[] = [
 	border-color: #ffccc7;
 }
 
+/* 自动挂起 */
+.status-auto_suspend {
+	background-color: #fff2f0;
+	color: #ff4d4f;
+	border-color: #ffccc7;
+}
+
 /* 已完成 */
 .status-completed {
 	background-color: #f0f9eb;