|
|
@@ -859,173 +859,24 @@
|
|
|
</el-dialog>
|
|
|
|
|
|
<!-- 审批对话框 (维修工单) -->
|
|
|
- <el-dialog title="审批挂起申请" v-model="approveRepairDialogVisible" width="800px" append-to-body>
|
|
|
-
|
|
|
- <el-alert type="info" :closable="false" style="border-color: #a855f7; background-color: #f8f5ff; color: #6d28d9; height: 35px;">
|
|
|
- <template #default>
|
|
|
- <i class="fa fa-edit mr-2" style="color: #6d28d9;"> 请审批该工单的挂起申请,选择通过或驳回。</i>
|
|
|
- </template>
|
|
|
- </el-alert>
|
|
|
- <el-form ref="approveRepairFormRef" :model="approveRepairForm" :rules="approveRepairRules" label-width="120px" label-position="top">
|
|
|
- <el-row>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="工单编码"><el-input v-model="approveRepairForm.workOrderProjectNo" disabled /></el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="风机编号"><el-input v-model="approveRepairForm.pcsDeviceName" disabled /> </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="工单状态">
|
|
|
- <el-select v-model="approveRepairForm.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="approveRepairForm.gxtCenter" disabled /> </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="场站"><el-input v-model="approveRepairForm.pcsStationName" disabled /> </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="品牌"><el-input v-model="approveRepairForm.brand" disabled /> </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="故障代码"><el-input v-model="approveRepairForm.faultCode" disabled /> </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="24">
|
|
|
- <el-form-item label="故障信息">
|
|
|
- <el-input
|
|
|
- v-model="approveRepairForm.faultBarcode"
|
|
|
- type="textarea"
|
|
|
- placeholder="请输入故障信息"
|
|
|
- maxlength="100"
|
|
|
- show-word-limit
|
|
|
- :rows="3"
|
|
|
- disabled
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="工作负责人"><el-input v-model="approveRepairForm.teamLeaderName" disabled /> </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="挂起原因">
|
|
|
- <el-select v-model="approveRepairForm.suspendReason" style="width: 100%" disabled>
|
|
|
- <el-option
|
|
|
- v-for="dict in gxt_order_suspend_reason"
|
|
|
- :key="dict.value"
|
|
|
- :label="dict.label"
|
|
|
- :value="dict.value"
|
|
|
- />
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- <el-form-item label="审批意见" prop="rejectionReason">
|
|
|
- <el-input
|
|
|
- v-model="approveRepairForm.rejectionReason"
|
|
|
- type="textarea"
|
|
|
- placeholder="请输入审批意见"
|
|
|
- maxlength="100"
|
|
|
- show-word-limit
|
|
|
- :rows="3"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- </el-form>
|
|
|
- <template #footer>
|
|
|
- <div class="dialog-footer">
|
|
|
- <el-button @click="approveRepairDialogVisible = false">取 消</el-button>
|
|
|
- <el-button type="primary" @click="submitApproveRepair('rejected')">驳 回</el-button>
|
|
|
- <el-button type="primary" @click="submitApproveRepair('approved')">通 过</el-button>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- </el-dialog>
|
|
|
+ <ApproveRepairDialog
|
|
|
+ v-model="approveRepairDialogVisible"
|
|
|
+ :data="approveRepairForm"
|
|
|
+ :work-order-status-options="gxt_work_order_status"
|
|
|
+ :suspend-reason-options="gxt_order_suspend_reason"
|
|
|
+ :on-submit="submitApproveFromParent"
|
|
|
+ @success="handleApproveSuccess"
|
|
|
+ />
|
|
|
|
|
|
- <!-- 审批对话框 (维保工单) -->
|
|
|
- <el-dialog title="审批挂起申请" v-model="approveWorkDialogVisible" width="800px" append-to-body>
|
|
|
- <el-alert type="info" :closable="false" style="border-color: #a855f7; background-color: #f8f5ff; color: #6d28d9; height: 35px;">
|
|
|
- <template #default>
|
|
|
- <i class="fa fa-edit mr-2" style="color: #6d28d9;"> 请审批该工单的挂起申请,选择通过或驳回。</i>
|
|
|
- </template>
|
|
|
- </el-alert>
|
|
|
- <el-form ref="approveWorkFormRef" :model="approveWorkForm" :rules="approveWorkRules" label-width="120px" label-position="top">
|
|
|
- <el-row>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="工单编码"><el-input v-model="approveWorkForm.workOrderProjectNo" disabled /></el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="风机编号"><el-input v-model="approveWorkForm.pcsDeviceName" disabled /> </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="工单状态">
|
|
|
- <el-select v-model="approveWorkForm.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="approveWorkForm.gxtCenter" disabled /> </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="场站"><el-input v-model="approveWorkForm.pcsStationName" disabled /> </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="品牌"><el-input v-model="approveWorkForm.brand" disabled /> </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="MIS工单编码"><el-input v-model="approveWorkForm.misNo" disabled /></el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="24">
|
|
|
- <el-form-item label="维保内容">
|
|
|
- <el-input v-model="approveWorkForm.content" type="textarea" :rows="3" disabled />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="工作负责人"><el-input v-model="approveWorkForm.teamLeaderName" disabled /> </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="挂起原因">
|
|
|
- <el-select v-model="approveWorkForm.suspendReason" style="width: 100%" disabled>
|
|
|
- <el-option
|
|
|
- v-for="dict in gxt_order_suspend_reason"
|
|
|
- :key="dict.value"
|
|
|
- :label="dict.label"
|
|
|
- :value="dict.value"
|
|
|
- />
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- <el-form-item label="审批意见" prop="rejectionReason">
|
|
|
- <el-input
|
|
|
- v-model="approveWorkForm.rejectionReason"
|
|
|
- type="textarea"
|
|
|
- placeholder="请输入审批意见"
|
|
|
- maxlength="100"
|
|
|
- show-word-limit
|
|
|
- :rows="3"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- </el-form>
|
|
|
- <template #footer>
|
|
|
- <div class="dialog-footer">
|
|
|
- <el-button @click="approveWorkDialogVisible = false">取 消</el-button>
|
|
|
- <el-button type="primary" @click="submitApproveWork('to_finish')">驳 回</el-button>
|
|
|
- <el-button type="primary" @click="submitApproveWork('suspended')">通 过</el-button>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- </el-dialog>
|
|
|
+ <!-- 维保审批对话框组件 -->
|
|
|
+ <ApproveDialog
|
|
|
+ v-model="approveWorkDialogVisible"
|
|
|
+ :data="approveWorkForm"
|
|
|
+ :work-order-status-options="gxt_work_order_status"
|
|
|
+ :suspend-reason-options="gxt_order_suspend_reason"
|
|
|
+ :on-submit="submitApproveFromParent"
|
|
|
+ @success="handleApproveSuccess"
|
|
|
+ />
|
|
|
|
|
|
<!-- 复运对话框 (维修工单) -->
|
|
|
<el-dialog title="复运" v-model="restartRepairDialogVisible" width="800px" append-to-body>
|
|
|
@@ -1414,7 +1265,6 @@ import {
|
|
|
// finalizeRepairOrder,
|
|
|
finalizeWorkOrder,
|
|
|
approveRepairOrder,
|
|
|
- approveWorkOrder,
|
|
|
restartRepairOrder,
|
|
|
restartWorkOrder,
|
|
|
listMyRate,
|
|
|
@@ -1426,7 +1276,7 @@ import preview from '@/components/FileUpload/preview.vue'
|
|
|
import MisInfoSelectSingle from "@/components/misInfoSelect/single.vue";
|
|
|
import useUserStore from '@/store/modules/user'
|
|
|
import {
|
|
|
- listRepairOrder,updateRepairOrder,finalizeRepairOrder,getRepairOrder,returnRepairOrder,suspendRepairOrder
|
|
|
+ listRepairOrder,updateRepairOrder,finalizeRepairOrder,getRepairOrder,returnRepairOrder,suspendRepairOrder, approveSuspendRepairOrder
|
|
|
} from "@/api/gxt/repairOrder";
|
|
|
import ResetDialog from '@/components/repairOrder/reset.vue'
|
|
|
import {
|
|
|
@@ -1434,7 +1284,8 @@ import {
|
|
|
updateGxtOrder,
|
|
|
completeWorkOrder,
|
|
|
getGxtOrder,
|
|
|
- suspendWorkOrder
|
|
|
+ suspendWorkOrder,
|
|
|
+ approveWorkOrder
|
|
|
} from "@/api/gxt/gxtOrder"
|
|
|
import EquipmentSelectSingle from "@/components/equipmentSelect/single.vue"
|
|
|
import FinalizeDialog from "@/components/repairOrder/finalize.vue";
|
|
|
@@ -1444,6 +1295,9 @@ import SuspendDialog from "@/components/repairOrder/suspend.vue";
|
|
|
import SuspendWorkDialog from "@/components/gxtOrder/suspend.vue";
|
|
|
import ViewDialog from "@/components/repairOrder/view.vue";
|
|
|
import ViewWorkOrderDialog from "@/components/gxtOrder/view.vue";
|
|
|
+import ApproveRepairDialog from "@/components/repairOrder/approve.vue";
|
|
|
+import ApproveDialog from "@/components/gxtOrder/approve.vue";
|
|
|
+
|
|
|
|
|
|
const { proxy } = getCurrentInstance();
|
|
|
const userStore = useUserStore();
|
|
|
@@ -2102,6 +1956,7 @@ function submitFinalizeWork() {
|
|
|
// 处理审批
|
|
|
function handleApprove(row) {
|
|
|
getOrderInfo(row.orderType, row.id).then(response => {
|
|
|
+ debugger
|
|
|
if (row.orderType === 1) {
|
|
|
// 维修工单
|
|
|
approveRepairForm.value = response.data;
|
|
|
@@ -2883,6 +2738,23 @@ function handleSuspend(row) {
|
|
|
proxy.resetForm("suspendFormRef")
|
|
|
})
|
|
|
}
|
|
|
+
|
|
|
+// 在提交审批成功后的回调函数
|
|
|
+async function submitApproveFromParent(data) {
|
|
|
+ if (data.orderType == '1') {
|
|
|
+ await approveSuspendRepairOrder(data)
|
|
|
+ }
|
|
|
+ if (data.orderType == '2') {
|
|
|
+ await approveWorkOrder(data.id, data)
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+// 在提交审批成功后的回调函数
|
|
|
+function handleApproveSuccess() {
|
|
|
+ approveRepairDialogVisible.value = false
|
|
|
+ approveWorkDialogVisible.value = false
|
|
|
+ getList()
|
|
|
+}
|
|
|
</script>
|
|
|
|
|
|
<style scoped>
|