|
|
@@ -928,27 +928,15 @@
|
|
|
@success="handleResetSuccess"
|
|
|
/>
|
|
|
|
|
|
- <!-- 结束工单对话框 -->
|
|
|
- <el-dialog title="结束工单" v-model="completeDialogVisible" width="600px" append-to-body @close="closeCompleteDialog">
|
|
|
- <el-form ref="completeFormRef" :model="completeForm" :rules="completeRules" label-width="120px" label-position="top">
|
|
|
- <el-form-item label="处理结果描述" prop="completeDescription">
|
|
|
- <el-input
|
|
|
- v-model="completeForm.completeDescription"
|
|
|
- type="textarea"
|
|
|
- placeholder="请输入处理结果描述"
|
|
|
- maxlength="200"
|
|
|
- show-word-limit
|
|
|
- :rows="4"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- </el-form>
|
|
|
- <template #footer>
|
|
|
- <div class="dialog-footer">
|
|
|
- <el-button @click="closeCompleteDialog">取 消</el-button>
|
|
|
- <el-button type="primary" @click="submitComplete">确认结束</el-button>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- </el-dialog>
|
|
|
+ <!-- 退回对话框 -->
|
|
|
+ <ReturnDialog
|
|
|
+ v-model="returnDialogVisible"
|
|
|
+ :data="returnForm"
|
|
|
+ :work-order-status-options="gxt_work_order_status"
|
|
|
+ :return-type-options="gxt_return_type"
|
|
|
+ :on-submit="submitReturnFromParent"
|
|
|
+ @success="handleReturnSuccess"
|
|
|
+ />
|
|
|
|
|
|
<!-- 评分对话框 -->
|
|
|
<el-dialog title="工单评分" v-model="ratingDialogVisible" width="800px" append-to-body @close="closeRatingDialog">
|
|
|
@@ -1285,84 +1273,84 @@
|
|
|
</el-dialog>
|
|
|
|
|
|
<!-- 审批对话框 -->
|
|
|
- <el-dialog title="退回" v-model="returnDialogVisible" width="800px" append-to-body @close="closeReturnDialog">
|
|
|
- <el-alert type="info" :closable="false" style="border-color: #a855f7; background-color: #f8f5ff; color: #6d28d9; height: 35px;">
|
|
|
- <template #default>
|
|
|
- <i class="fa fa-sign-in mr-2" style="color: #6d28d9;"> 请选择退回类型,填写退回原因,完成工单退回。</i>
|
|
|
- </template>
|
|
|
- </el-alert>
|
|
|
- <!-- 工单信息 -->
|
|
|
- <h3 class="text-sm font-medium text-gray-800 mb-3"></h3>
|
|
|
- <el-form ref="returnFormRef" :model="returnForm" :rules="returnRules" label-width="120px" label-position="top">
|
|
|
- <el-row>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="工单编码"><el-input v-model="returnForm.workOrderProjectNo" disabled /></el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="风机编号"><el-input v-model="returnForm.pcsDeviceName" disabled /> </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="工单状态">
|
|
|
- <el-select v-model="returnForm.workOrderStatus" style="width: 100%" disabled>
|
|
|
- <el-option
|
|
|
- v-for="dict in gxt_work_order_status"
|
|
|
- :key="dict.value"
|
|
|
- :label="dict.label"
|
|
|
- :value="dict.value"
|
|
|
- />
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="维保中心"><el-input v-model="returnForm.gxtCenter" disabled /> </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="场站"><el-input v-model="returnForm.pcsStationName" disabled /> </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="品牌"><el-input v-model="returnForm.brand" disabled /> </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="工作负责人"><el-input v-model="returnForm.teamLeaderName" disabled /> </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="退回类型" prop="returnType">
|
|
|
- <el-select v-model="returnForm.returnType" style="width: 100%" :disabled="returnForm.workOrderStatus === 'return'">
|
|
|
- <el-option
|
|
|
- v-for="dict in gxt_return_type"
|
|
|
- :key="dict.value"
|
|
|
- :label="dict.label"
|
|
|
- :value="dict.value"
|
|
|
- />
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- <!-- <el-form-item label="审批决定" prop="approvalStatus">
|
|
|
- <el-radio-group v-model="returnForm.approvalStatus" @change="toggleRejectionReason">
|
|
|
- <el-radio label="approved">通过</el-radio>
|
|
|
- <el-radio label="rejected">驳回</el-radio>
|
|
|
- </el-radio-group>
|
|
|
- </el-form-item>-->
|
|
|
- <el-form-item label="退回原因" prop="returnReason">
|
|
|
- <el-input
|
|
|
- v-model="returnForm.returnReason"
|
|
|
- type="textarea"
|
|
|
- placeholder="请输入退回原因"
|
|
|
- maxlength="100"
|
|
|
- show-word-limit
|
|
|
- :rows="3"
|
|
|
- :disabled="returnForm.workOrderStatus === 'return'"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- </el-form>
|
|
|
- <template #footer>
|
|
|
- <div class="dialog-footer">
|
|
|
- <el-button @click="closeReturnDialog">取 消</el-button>
|
|
|
- <el-button type="primary" @click="submitReturn()">退 回</el-button>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- </el-dialog>
|
|
|
+<!-- <el-dialog title="退回" v-model="returnDialogVisible" width="800px" append-to-body @close="closeReturnDialog">-->
|
|
|
+<!-- <el-alert type="info" :closable="false" style="border-color: #a855f7; background-color: #f8f5ff; color: #6d28d9; height: 35px;">-->
|
|
|
+<!-- <template #default>-->
|
|
|
+<!-- <i class="fa fa-sign-in mr-2" style="color: #6d28d9;"> 请选择退回类型,填写退回原因,完成工单退回。</i>-->
|
|
|
+<!-- </template>-->
|
|
|
+<!-- </el-alert>-->
|
|
|
+<!-- <!– 工单信息 –>-->
|
|
|
+<!-- <h3 class="text-sm font-medium text-gray-800 mb-3"></h3>-->
|
|
|
+<!-- <el-form ref="returnFormRef" :model="returnForm" :rules="returnRules" label-width="120px" label-position="top">-->
|
|
|
+<!-- <el-row>-->
|
|
|
+<!-- <el-col :span="12">-->
|
|
|
+<!-- <el-form-item label="工单编码"><el-input v-model="returnForm.workOrderProjectNo" disabled /></el-form-item>-->
|
|
|
+<!-- </el-col>-->
|
|
|
+<!-- <el-col :span="12">-->
|
|
|
+<!-- <el-form-item label="风机编号"><el-input v-model="returnForm.pcsDeviceName" disabled /> </el-form-item>-->
|
|
|
+<!-- </el-col>-->
|
|
|
+<!-- <el-col :span="12">-->
|
|
|
+<!-- <el-form-item label="工单状态">-->
|
|
|
+<!-- <el-select v-model="returnForm.workOrderStatus" style="width: 100%" disabled>-->
|
|
|
+<!-- <el-option-->
|
|
|
+<!-- v-for="dict in gxt_work_order_status"-->
|
|
|
+<!-- :key="dict.value"-->
|
|
|
+<!-- :label="dict.label"-->
|
|
|
+<!-- :value="dict.value"-->
|
|
|
+<!-- />-->
|
|
|
+<!-- </el-select>-->
|
|
|
+<!-- </el-form-item>-->
|
|
|
+<!-- </el-col>-->
|
|
|
+<!-- <el-col :span="12">-->
|
|
|
+<!-- <el-form-item label="维保中心"><el-input v-model="returnForm.gxtCenter" disabled /> </el-form-item>-->
|
|
|
+<!-- </el-col>-->
|
|
|
+<!-- <el-col :span="12">-->
|
|
|
+<!-- <el-form-item label="场站"><el-input v-model="returnForm.pcsStationName" disabled /> </el-form-item>-->
|
|
|
+<!-- </el-col>-->
|
|
|
+<!-- <el-col :span="12">-->
|
|
|
+<!-- <el-form-item label="品牌"><el-input v-model="returnForm.brand" disabled /> </el-form-item>-->
|
|
|
+<!-- </el-col>-->
|
|
|
+<!-- <el-col :span="12">-->
|
|
|
+<!-- <el-form-item label="工作负责人"><el-input v-model="returnForm.teamLeaderName" disabled /> </el-form-item>-->
|
|
|
+<!-- </el-col>-->
|
|
|
+<!-- <el-col :span="12">-->
|
|
|
+<!-- <el-form-item label="退回类型" prop="returnType">-->
|
|
|
+<!-- <el-select v-model="returnForm.returnType" style="width: 100%" :disabled="returnForm.workOrderStatus === 'return'">-->
|
|
|
+<!-- <el-option-->
|
|
|
+<!-- v-for="dict in gxt_return_type"-->
|
|
|
+<!-- :key="dict.value"-->
|
|
|
+<!-- :label="dict.label"-->
|
|
|
+<!-- :value="dict.value"-->
|
|
|
+<!-- />-->
|
|
|
+<!-- </el-select>-->
|
|
|
+<!-- </el-form-item>-->
|
|
|
+<!-- </el-col>-->
|
|
|
+<!-- </el-row>-->
|
|
|
+<!-- <!– <el-form-item label="审批决定" prop="approvalStatus">-->
|
|
|
+<!-- <el-radio-group v-model="returnForm.approvalStatus" @change="toggleRejectionReason">-->
|
|
|
+<!-- <el-radio label="approved">通过</el-radio>-->
|
|
|
+<!-- <el-radio label="rejected">驳回</el-radio>-->
|
|
|
+<!-- </el-radio-group>-->
|
|
|
+<!-- </el-form-item>–>-->
|
|
|
+<!-- <el-form-item label="退回原因" prop="returnReason">-->
|
|
|
+<!-- <el-input-->
|
|
|
+<!-- v-model="returnForm.returnReason"-->
|
|
|
+<!-- type="textarea"-->
|
|
|
+<!-- placeholder="请输入退回原因"-->
|
|
|
+<!-- maxlength="100"-->
|
|
|
+<!-- show-word-limit-->
|
|
|
+<!-- :rows="3"-->
|
|
|
+<!-- :disabled="returnForm.workOrderStatus === 'return'"-->
|
|
|
+<!-- />-->
|
|
|
+<!-- </el-form-item>-->
|
|
|
+<!-- </el-form>-->
|
|
|
+<!-- <template #footer>-->
|
|
|
+<!-- <div class="dialog-footer">-->
|
|
|
+<!-- <el-button @click="closeReturnDialog">取 消</el-button>-->
|
|
|
+<!-- <el-button type="primary" @click="submitReturn()">退 回</el-button>-->
|
|
|
+<!-- </div>-->
|
|
|
+<!-- </template>-->
|
|
|
+<!-- </el-dialog>-->
|
|
|
|
|
|
<!-- 查看工单详情对话框 -->
|
|
|
<el-dialog title="查看工单详情" v-model="viewDialogVisible" width="1000px" append-to-body>
|
|
|
@@ -1643,6 +1631,7 @@ import { watch } from 'vue'
|
|
|
import { decryptParams } from '@/utils/encrypt'
|
|
|
import ResetDialog from '@/components/repairOrder/reset.vue'
|
|
|
import FinalizeDialog from '@/components/repairOrder/finalize.vue'
|
|
|
+import ReturnDialog from '@/components/repairOrder/return.vue'
|
|
|
|
|
|
const { proxy } = getCurrentInstance()
|
|
|
const { gxt_maintenance_type, gxt_work_order_status, gxt_order_priority_type,gxt_repair_order_flow_action_type,gxt_order_suspend_reason,gxt_repair_method,gxt_reset_method,gxt_return_type,gxt_info_entry,gxt_work_area } = proxy.useDict("gxt_maintenance_type", "gxt_work_order_status", "gxt_order_priority_type","gxt_repair_order_flow_action_type","gxt_order_suspend_reason","gxt_repair_method","gxt_reset_method","gxt_return_type","gxt_info_entry","gxt_work_area")
|
|
|
@@ -3328,14 +3317,14 @@ function handleApprove(row) {
|
|
|
|
|
|
/** 退回 */
|
|
|
function handleReturn(row) {
|
|
|
- getRepairOrder(row.id).then(response => {
|
|
|
- returnForm.value = response.data
|
|
|
- if (row.workOrderStatus != 'return') {
|
|
|
- returnForm.value.returnType = undefined
|
|
|
- returnForm.value.returnReason = undefined
|
|
|
- }
|
|
|
- returnDialogVisible.value = true
|
|
|
- })
|
|
|
+ getRepairOrder(row.id).then(response => {
|
|
|
+ returnForm.value = response.data
|
|
|
+ if (row.workOrderStatus != 'return') {
|
|
|
+ returnForm.value.returnType = undefined
|
|
|
+ returnForm.value.returnReason = undefined
|
|
|
+ }
|
|
|
+ returnDialogVisible.value = true
|
|
|
+ })
|
|
|
}
|
|
|
|
|
|
/** 提交退回 */
|
|
|
@@ -3465,7 +3454,17 @@ async function submitReset() {
|
|
|
})
|
|
|
}
|
|
|
|
|
|
+// 用于传递给退回组件的提交方法
|
|
|
+async function submitReturnFromParent(data) {
|
|
|
+ await returnRepairOrder(data)
|
|
|
+}
|
|
|
|
|
|
+// 在提交退回成功后的回调函数
|
|
|
+function handleReturnSuccess() {
|
|
|
+ returnDialogVisible.value = false
|
|
|
+ resetTimeOutOrder()
|
|
|
+ getList()
|
|
|
+}
|
|
|
|
|
|
/** 检修人员选择变化 */
|
|
|
function handleMembersChange(formName) {
|