|
|
@@ -18,20 +18,50 @@
|
|
|
@keyup.enter="handleQuery"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="场站" prop="pcsStationName">
|
|
|
+<!-- <el-form-item label="场站" prop="pcsStationName">
|
|
|
<el-input
|
|
|
v-model="queryParams.pcsStationName"
|
|
|
placeholder="请输入场站"
|
|
|
clearable
|
|
|
@keyup.enter="handleQuery"
|
|
|
/>
|
|
|
+ </el-form-item>-->
|
|
|
+ <el-form-item label="维保中心" prop="gxtCenter" label-position="top">
|
|
|
+ <el-select
|
|
|
+ v-model="queryParams.gxtCenter"
|
|
|
+ placeholder="请选择维保中心"
|
|
|
+ clearable
|
|
|
+ @change="handleMaintenanceCenterChange"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in maintenanceCenterOptions"
|
|
|
+ :key="item.deptId"
|
|
|
+ :label="item.deptName"
|
|
|
+ :value="item.deptName">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="场站" prop="pcsStationName" label-position="top">
|
|
|
+ <el-select
|
|
|
+ v-model="queryParams.pcsStationName"
|
|
|
+ placeholder="请选择场站"
|
|
|
+ clearable
|
|
|
+ :disabled="!queryParams.gxtCenter"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in stationOptions"
|
|
|
+ :key="item.deptId"
|
|
|
+ :label="item.deptName"
|
|
|
+ :value="item.deptName">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="工单类型" prop="orderType">
|
|
|
+<!-- <el-form-item label="工单类型" prop="orderType">
|
|
|
<el-select v-model="queryParams.orderType" placeholder="请选择工单类型" clearable>
|
|
|
<el-option label="维修工单" value="1" />
|
|
|
<el-option label="维保工单" value="2" />
|
|
|
</el-select>
|
|
|
- </el-form-item>
|
|
|
+ </el-form-item>-->
|
|
|
<el-form-item label="评分阶段" prop="scoreStage">
|
|
|
<el-select v-model="queryParams.scoreStage" placeholder="请选择评分阶段" clearable>
|
|
|
<el-option label="自评" value="1" />
|
|
|
@@ -54,11 +84,11 @@
|
|
|
style="width: 100%"
|
|
|
:max-height="tableHeight"
|
|
|
>
|
|
|
- <el-table-column type="selection" width="55" align="center" />
|
|
|
+<!-- <el-table-column type="selection" width="55" align="center" />-->
|
|
|
<el-table-column label="工单编码" align="center" prop="workOrderProjectNo" :show-overflow-tooltip="true" />
|
|
|
<el-table-column label="工单类型" align="center" prop="orderType" >
|
|
|
<template #default="scope">
|
|
|
- <dict-tag :options="orderTypeOptions" :value="scope.row.orderType" />
|
|
|
+ <dict-tag :options="gxt_order_type" :value="scope.row.orderType" />
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="状态" align="center" prop="workOrderStatus" />
|
|
|
@@ -70,11 +100,11 @@
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="工作负责人" align="center" prop="teamLeaderName" />
|
|
|
- <el-table-column label="评分阶段" align="center" prop="scoreStage" >
|
|
|
+<!-- <el-table-column label="评分阶段" align="center" prop="scoreStage" >
|
|
|
<template #default="scope">
|
|
|
<dict-tag :options="scoreStageOptions" :value="scope.row.scoreStage" />
|
|
|
</template>
|
|
|
- </el-table-column>
|
|
|
+ </el-table-column>-->
|
|
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
|
|
<template #default="scope">
|
|
|
<el-button
|
|
|
@@ -119,7 +149,7 @@
|
|
|
<el-form label-width="120px" label-position="top">
|
|
|
<el-form-item label="工单编码">{{ viewForm.workOrderProjectNo }}</el-form-item>
|
|
|
<el-form-item label="工单类型">
|
|
|
- <dict-tag :options="orderTypeOptions" :value="viewForm.orderType" />
|
|
|
+ <dict-tag :options="gxt_order_type" :value="viewForm.orderType" />
|
|
|
</el-form-item>
|
|
|
<el-form-item label="风机编号">{{ viewForm.pcsDeviceName }}</el-form-item>
|
|
|
<el-form-item label="场站">{{ viewForm.pcsStationName }}</el-form-item>
|
|
|
@@ -169,7 +199,7 @@
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="工单类型">
|
|
|
- <dict-tag :options="orderTypeOptions" :value="selfEvaluationForm.orderType" />
|
|
|
+ <dict-tag :options="gxt_order_type" :value="selfEvaluationForm.orderType" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
@@ -282,7 +312,7 @@
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="工单类型">
|
|
|
- <dict-tag :options="orderTypeOptions" :value="reviewForm.orderType" />
|
|
|
+ <dict-tag :options="gxt_order_type" :value="reviewForm.orderType" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
@@ -414,7 +444,7 @@
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="工单类型">
|
|
|
- <dict-tag :options="orderTypeOptions" :value="finalEvaluationForm.orderType" />
|
|
|
+ <dict-tag :options="gxt_order_type" :value="finalEvaluationForm.orderType" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
@@ -507,13 +537,15 @@ import {
|
|
|
review,
|
|
|
finalEvaluation
|
|
|
} from "@/api/gxt/orderScore";
|
|
|
+import { listMaintenanceCenters, listStationsByMaintenanceCenter } from "@/api/gxt/equipment"
|
|
|
|
|
|
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_order_type } = proxy.useDict("gxt_maintenance_type", "gxt_work_order_status", "gxt_order_priority_type","gxt_repair_order_flow_action_type","gxt_order_suspend_reason","gxt_order_type")
|
|
|
|
|
|
// 工单类型选项
|
|
|
const orderTypeOptions = ref([
|
|
|
- { value: 1, label: "维修工单" },
|
|
|
- { value: 2, label: "维保工单" }
|
|
|
+ { value: "1", label: "维修工单" },
|
|
|
+ { value: "2", label: "维保工单" }
|
|
|
]);
|
|
|
|
|
|
// 评分阶段选项
|
|
|
@@ -605,6 +637,10 @@ const finalEvaluationRules = ref({
|
|
|
]
|
|
|
});
|
|
|
|
|
|
+// 维保中心和场站选项
|
|
|
+const maintenanceCenterOptions = ref([])
|
|
|
+const stationOptions = ref([])
|
|
|
+
|
|
|
// 监听窗口大小变化
|
|
|
function handleResize() {
|
|
|
tableHeight.value = window.innerHeight - 300;
|
|
|
@@ -612,6 +648,7 @@ function handleResize() {
|
|
|
|
|
|
onMounted(() => {
|
|
|
getList();
|
|
|
+ getMaintenanceCenterAndStationList()
|
|
|
window.addEventListener('resize', handleResize);
|
|
|
});
|
|
|
|
|
|
@@ -690,6 +727,7 @@ function handleSelectionChange(selection) {
|
|
|
function handleView(row) {
|
|
|
getOrderScore(row.orderType, row.id).then(response => {
|
|
|
viewForm.value = response.data;
|
|
|
+ viewForm.value.orderType = row.orderType;
|
|
|
// 根据工单类型设置人员列表
|
|
|
if (row.orderType === 1) {
|
|
|
// 维修工单
|
|
|
@@ -847,4 +885,59 @@ function submitFinalEvaluation() {
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
-</script>
|
|
|
+
|
|
|
+function getMaintenanceCenterAndStationList() {
|
|
|
+ listMaintenanceCenters().then(response => {
|
|
|
+ maintenanceCenterOptions.value = response.data.map(item => {
|
|
|
+ return { deptName: item, deptId: item };
|
|
|
+ });
|
|
|
+
|
|
|
+ // 如果已选择维保中心,则筛选出该维保中心下的场站
|
|
|
+ if (queryParams.value.maintenanceCenter) {
|
|
|
+ listStationsByMaintenanceCenter(queryParams.value.maintenanceCenter).then(res => {
|
|
|
+ stationOptions.value = res.data.map(item => {
|
|
|
+ return { deptName: item, deptId: item };
|
|
|
+ });
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ // 如果未选择维保中心,则清空场站选项
|
|
|
+ stationOptions.value = [];
|
|
|
+ }
|
|
|
+ });
|
|
|
+}
|
|
|
+
|
|
|
+function handleMaintenanceCenterChange(selectedCenter) {
|
|
|
+ // 清空场站选择
|
|
|
+ queryParams.value.station = null;
|
|
|
+
|
|
|
+ // 如果选择了维保中心,则加载对应的场站
|
|
|
+ if (selectedCenter) {
|
|
|
+ listStationsByMaintenanceCenter(selectedCenter).then(response => {
|
|
|
+ stationOptions.value = response.data.map(item => {
|
|
|
+ return { deptName: item, deptId: item };
|
|
|
+ });
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ // 如果未选择维保中心,则清空场站选项
|
|
|
+ stationOptions.value = [];
|
|
|
+ }
|
|
|
+}
|
|
|
+</script>
|
|
|
+<style scoped>
|
|
|
+/* 表单字段间距调整 */
|
|
|
+:deep(.el-form-item) {
|
|
|
+ margin-bottom: 18px;
|
|
|
+}
|
|
|
+
|
|
|
+/* 表单中的列间距调整 */
|
|
|
+:deep(.el-col) {
|
|
|
+ padding-left: 5px;
|
|
|
+ padding-right: 5px;
|
|
|
+}
|
|
|
+
|
|
|
+/* 表单行间距调整 */
|
|
|
+:deep(.el-row) {
|
|
|
+ margin-left: -5px;
|
|
|
+ margin-right: -5px;
|
|
|
+}
|
|
|
+</style>
|