|
|
@@ -73,13 +73,21 @@
|
|
|
<text class="btn-text">接单</text>
|
|
|
</view>
|
|
|
<view
|
|
|
- v-if="(getOrderStatus(item) == 'assigned' || getOrderStatus(item) == 'to_finish')
|
|
|
+ v-if="(getOrderStatus(item) == 'assigned' || getOrderStatus(item) == 'to_finish')
|
|
|
&& canHandleOrder(item,'shutdown') && (item as acceptOrderInfoExtend).pauseTime == null"
|
|
|
class="btn-primary info-value"
|
|
|
@click.stop="handleItemClick(item,'shutdown')"
|
|
|
>
|
|
|
<text class="btn-text">停机</text>
|
|
|
</view>
|
|
|
+ <view
|
|
|
+ v-if="(getOrderStatus(item) == 'assigned' || getOrderStatus(item) == 'to_finish' || getOrderStatus(item) == 'completed')
|
|
|
+ && canHandleOrder(item,'restart') && (item as acceptOrderInfoExtend).restartTime == null"
|
|
|
+ class="btn-primary info-value"
|
|
|
+ @click.stop="handleItemClick(item,'restart')"
|
|
|
+ >
|
|
|
+ <text class="btn-text">复运</text>
|
|
|
+ </view>
|
|
|
<view
|
|
|
v-if="getOrderStatus(item) == 'to_approve' && canHandleOrder(item,'')"
|
|
|
class="btn-primary info-value"
|
|
|
@@ -143,6 +151,7 @@
|
|
|
>
|
|
|
<text class="btn-text">复启</text>
|
|
|
</view>
|
|
|
+
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
@@ -188,6 +197,7 @@ type acceptOrderInfoExtend = {
|
|
|
workEndTime: string | null
|
|
|
orderEntryType: string | null
|
|
|
pauseTime: string | null
|
|
|
+ restartTime: string | null
|
|
|
}
|
|
|
|
|
|
const userId = ref<string>("")
|
|
|
@@ -368,7 +378,8 @@ const statusConfig: StatusItem[] = [
|
|
|
updateTime: item['updateTime'] as string | null, // 新增字段
|
|
|
workEndTime: item['workEndTime'] as string | null,// 新增字段
|
|
|
orderEntryType: item['orderEntryType'] as string | null,
|
|
|
- pauseTime: item['pauseTime'] as string | null
|
|
|
+ pauseTime: item['pauseTime'] as string | null,
|
|
|
+ restartTime: item['restartTime'] as string | null
|
|
|
}
|
|
|
newData.push(orderItem)
|
|
|
}
|
|
|
@@ -612,61 +623,67 @@ const statusConfig: StatusItem[] = [
|
|
|
handleSearch()
|
|
|
}
|
|
|
|
|
|
- // 方法:判断当前工单是否显示操作按钮
|
|
|
- const canHandleOrder = (item: any | null, buttonType: string | ''): boolean => {
|
|
|
- if (item == null) return false
|
|
|
- let permit: string[] = []
|
|
|
- const orderItem = item as acceptOrderInfoExtend
|
|
|
- if(orderItem.workOrderStatus == 'assigned') {
|
|
|
- if(buttonType != '' && buttonType == "acceptReturn" && orderItem.orderType == 1) {
|
|
|
- // 接单退回
|
|
|
- permit = ['gxt:repairOrder:acceptReturn']
|
|
|
- } else if(buttonType != '' && buttonType == "accept") {
|
|
|
- // 接单
|
|
|
- permit = orderItem.orderType == 2 ? ['gxt:maintenance:order:accept'] : ['gxt:repairOrder:accept']
|
|
|
- } else if(buttonType != '' && buttonType == "shutdown" && orderItem.orderType == 2) {
|
|
|
- permit = ['gxt:maintenance:order:shutdown']
|
|
|
- }
|
|
|
- } else if(orderItem.workOrderStatus == 'to_finish') {
|
|
|
- if(buttonType != '' && buttonType == "suspend" && (orderItem.teamLeaderId == parseInt(userId.value) || roles.value.includes("管理员"))) {
|
|
|
- // 挂起
|
|
|
- permit = orderItem.orderType == 2 ? ['gxt:maintenance:order:suspend'] : ['gxt:repairOrder:suspend']
|
|
|
- } else if(buttonType != '' && buttonType == "return" && orderItem.orderType == 1 && (orderItem.teamLeaderId == parseInt(userId.value) || roles.value.includes("管理员"))) {
|
|
|
- // 退回
|
|
|
- permit = orderItem.orderType == 2 ? ['gxt:maintenance:order:return'] : ['gxt:repairOrder:return']
|
|
|
- } else if(buttonType != '' && buttonType == "finalize" && orderItem.orderType == 1 && (orderItem.teamLeaderId == parseInt(userId.value) || roles.value.includes("管理员"))) {
|
|
|
- // 复启
|
|
|
- permit = orderItem.orderType == 2 ? ['gxt:maintenance:order:complete'] : ['gxt:repairOrder:finalize']
|
|
|
+// 方法:判断当前工单是否显示操作按钮
|
|
|
+const canHandleOrder = (item: any | null, buttonType: string | ''): boolean => {
|
|
|
+ if (item == null) return false
|
|
|
+ let permit: string[] = []
|
|
|
+ const orderItem = item as acceptOrderInfoExtend
|
|
|
+ if(orderItem.workOrderStatus == 'assigned') {
|
|
|
+ if(buttonType != '' && buttonType == "acceptReturn" && orderItem.orderType == 1) {
|
|
|
+ // 接单退回
|
|
|
+ permit = ['gxt:repairOrder:acceptReturn']
|
|
|
+ } else if(buttonType != '' && buttonType == "accept") {
|
|
|
+ // 接单
|
|
|
+ permit = orderItem.orderType == 2 ? ['gxt:maintenance:order:accept'] : ['gxt:repairOrder:accept']
|
|
|
+ } else if(buttonType != '' && buttonType == "shutdown" && orderItem.orderType == 2) {
|
|
|
+ //停机
|
|
|
+ permit = ['gxt:maintenance:order:shutdown']
|
|
|
+ } else if(buttonType != '' && buttonType == "restart") {
|
|
|
+ // 复运
|
|
|
+ permit = orderItem.orderType == 2 ? ['gxt:maintenance:order:restart'] : ['gxt:repairOrder:restart']
|
|
|
+ }
|
|
|
+ } else if(orderItem.workOrderStatus == 'to_finish') {
|
|
|
+ if(buttonType != '' && buttonType == "suspend" && (orderItem.teamLeaderId == parseInt(userId.value) || roles.value.includes("管理员"))) {
|
|
|
+ // 挂起
|
|
|
+ permit = orderItem.orderType == 2 ? ['gxt:maintenance:order:suspend'] : ['gxt:repairOrder:suspend']
|
|
|
+ } else if(buttonType != '' && buttonType == "return" && orderItem.orderType == 1 && (orderItem.teamLeaderId == parseInt(userId.value) || roles.value.includes("管理员"))) {
|
|
|
+ // 退回
|
|
|
+ permit = orderItem.orderType == 2 ? ['gxt:maintenance:order:return'] : ['gxt:repairOrder:return']
|
|
|
+ } else if(buttonType != '' && buttonType == "finalize" && orderItem.orderType == 1 && (orderItem.teamLeaderId == parseInt(userId.value) || roles.value.includes("管理员"))) {
|
|
|
+ // 复启
|
|
|
+ permit = orderItem.orderType == 2 ? ['gxt:maintenance:order:complete'] : ['gxt:repairOrder:finalize']
|
|
|
// } else if(buttonType != '' && buttonType == "complete" && (orderItem.teamLeaderId == parseInt(userId.value) || roles.value.includes("管理员"))) {
|
|
|
- } else if(buttonType != '' && buttonType == "complete") {
|
|
|
- // 结单
|
|
|
- permit = orderItem.orderType == 2 ? ['gxt:maintenance:order:complete'] : ['gxt:repairOrder:finalize']
|
|
|
- } else if(buttonType != '' && buttonType == "shutdown" && orderItem.orderType == 2) {
|
|
|
- permit = ['gxt:maintenance:order:shutdown']
|
|
|
- }
|
|
|
- } else if(orderItem.workOrderStatus == 'to_approve') {
|
|
|
+ } else if(buttonType != '' && buttonType == "complete") {
|
|
|
+ // 结单
|
|
|
+ permit = orderItem.orderType == 2 ? ['gxt:maintenance:order:complete'] : ['gxt:repairOrder:finalize']
|
|
|
+ } else if(buttonType != '' && buttonType == "shutdown" && orderItem.orderType == 2) {
|
|
|
+ permit = ['gxt:maintenance:order:shutdown']
|
|
|
+ } else if(buttonType != '' && buttonType == "restart") {
|
|
|
+ // 复运
|
|
|
+ permit = orderItem.orderType == 2 ? ['gxt:maintenance:order:restart'] : ['gxt:repairOrder:restart']
|
|
|
+ }
|
|
|
+ } else if(orderItem.workOrderStatus == 'to_approve') {
|
|
|
// 审批
|
|
|
permit = orderItem.orderType == 2 ? ['gxt:maintenance:order:approve'] : ['gxt:repairOrder:approve']
|
|
|
- } else if(orderItem.workOrderStatus == 'suspended' && (orderItem.teamLeaderId == parseInt(userId.value) || roles.value.includes("管理员"))) {
|
|
|
+ } else if(orderItem.workOrderStatus == 'suspended' && (orderItem.teamLeaderId == parseInt(userId.value) || roles.value.includes("管理员"))) {
|
|
|
// 恢复
|
|
|
permit = orderItem.orderType == 2 ? ['gxt:maintenance:order:resume'] : ['gxt:repairOrder:resume']
|
|
|
- } else if(orderItem.workOrderStatus == 'return') {
|
|
|
+ } 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 if(orderItem.workOrderStatus == 'shutdown' && orderItem.orderType == 2) {
|
|
|
- // 自动挂起恢复
|
|
|
- permit = ['gxt:maintenance:order:shutdown']
|
|
|
- }
|
|
|
- else {
|
|
|
- return false
|
|
|
- }
|
|
|
-
|
|
|
- // const orderType = (item as acceptOrderInfoExtend).orderType
|
|
|
- return checkPermi(permit)
|
|
|
+ } else if(orderItem.workOrderStatus == 'auto_suspend') {
|
|
|
+ // 自动挂起恢复
|
|
|
+ permit = orderItem.orderType == 2 ? ['gxt:maintenance:order:autoResume'] : ['gxt:repairOrder:autoResume']
|
|
|
+ } else if(orderItem.workOrderStatus == 'shutdown' && orderItem.orderType == 2) {
|
|
|
+ // 停机
|
|
|
+ permit = ['gxt:maintenance:order:shutdown']
|
|
|
+ } else if(orderItem.workOrderStatus == 'completed') {
|
|
|
+ permit = orderItem.orderType == 2 ? ['gxt:maintenance:order:restart'] : ['gxt:repairOrder:restart']
|
|
|
+ } else {
|
|
|
+ return false
|
|
|
}
|
|
|
+ return checkPermi(permit)
|
|
|
+}
|
|
|
|
|
|
|
|
|
// 点击列表项
|
|
|
@@ -691,6 +708,11 @@ const statusConfig: StatusItem[] = [
|
|
|
uni.navigateTo({
|
|
|
url: `/pages/order/detail/shutdownIndex?id=${orderItem.id}&orderType=${orderItem.orderType}`
|
|
|
})
|
|
|
+ } else if(buttonType != '' && buttonType == "restart") {
|
|
|
+ // 跳转到复运页面
|
|
|
+ uni.navigateTo({
|
|
|
+ url: `/pages/order/detail/restartIndex?id=${orderItem.id}&orderType=${orderItem.orderType}`
|
|
|
+ })
|
|
|
} else {
|
|
|
// 跳转到接单页面
|
|
|
uni.navigateTo({
|
|
|
@@ -714,12 +736,12 @@ const statusConfig: StatusItem[] = [
|
|
|
url: `/pages/order/detail/resetIndex?id=${orderItem.id}&orderType=${orderItem.orderType}`
|
|
|
})
|
|
|
} else if(buttonType != '' && buttonType == "complete" && orderItem.orderType == 2 && orderItem.orderEntryType == '1') {
|
|
|
- // 跳转到复启页面
|
|
|
+ // 跳转到结单页面
|
|
|
uni.navigateTo({
|
|
|
url: `/pages/order/detail/wbFinalize?id=${orderItem.id}&orderType=${orderItem.orderType}`
|
|
|
})
|
|
|
} else if(buttonType != '' && buttonType == "complete" && orderItem.orderType == 1) {
|
|
|
- // 跳转到复启页面
|
|
|
+ // 跳转到结单页面
|
|
|
uni.navigateTo({
|
|
|
url: `/pages/order/detail/wxFinalize?id=${orderItem.id}&orderType=${orderItem.orderType}`
|
|
|
})
|
|
|
@@ -733,6 +755,11 @@ const statusConfig: StatusItem[] = [
|
|
|
uni.navigateTo({
|
|
|
url: `/pages/order/detail/shutdownIndex?id=${orderItem.id}&orderType=${orderItem.orderType}`
|
|
|
})
|
|
|
+ } else if(buttonType != '' && buttonType == "restart") {
|
|
|
+ // 跳转到复运页面
|
|
|
+ uni.navigateTo({
|
|
|
+ url: `/pages/order/detail/restartIndex?id=${orderItem.id}&orderType=${orderItem.orderType}`
|
|
|
+ })
|
|
|
}
|
|
|
} else if(orderItem.workOrderStatus == 'to_approve') {
|
|
|
// 跳转到待审批页面
|
|
|
@@ -749,6 +776,13 @@ const statusConfig: StatusItem[] = [
|
|
|
uni.navigateTo({
|
|
|
url: `/pages/order/detail/returnIndex?id=${orderItem.id}&orderType=${orderItem.orderType}`
|
|
|
})
|
|
|
+ } else if(orderItem.workOrderStatus == 'completed') {
|
|
|
+ if(buttonType != '' && buttonType == "restart") {
|
|
|
+ // 跳转到复运页面
|
|
|
+ uni.navigateTo({
|
|
|
+ url: `/pages/order/detail/restartIndex?id=${orderItem.id}&orderType=${orderItem.orderType}`
|
|
|
+ })
|
|
|
+ }
|
|
|
} else {
|
|
|
uni.navigateTo({
|
|
|
url: `/pages/order/detail/index?id=${orderItem.id}&orderType=${orderItem.orderType}`
|