xiaweibo vor 2 Monaten
Ursprung
Commit
ccb72fb8be

+ 1 - 1
src/views/production-safety/risk-identification-and-control/special-equipment-manage/configs/tables.ts

@@ -46,7 +46,7 @@ export const SPECIAL_EQUIPMENT_TABLE_COLUMNS: TableColumnProps[] = [
   },
   {
     label: '使用部门',
-    prop: 'useDepartment',
+    prop: 'isUseDepartmentName',
     align: 'left',
     minWidth: '140px',
   },

+ 49 - 3
src/views/production-safety/safetyAssessment/pointDeduction/components/PointDeductionDetail.vue

@@ -14,12 +14,28 @@
       </template>
       <template #deductionReason>
         <el-input
-          :disabled="isViewMode"
           v-model="ruleFormData.deductionReason"
-          placeholder="请输入扣分原因"
-          clearable
           type="text"
+          :disabled="isViewMode"
+          placeholder="请输入扣分原因"
         />
+        <!-- 原扣分原因下拉选择(隐患台账) -->
+        <!-- <el-select
+          :disabled="isViewMode"
+          v-model="ruleFormData.hiddenDangerId"
+          placeholder="请选择扣分原因"
+          filterable
+          clearable
+          style="width: 100%"
+          @change="onDeductionReasonChange"
+        >
+          <el-option
+            v-for="item in hiddenDangerOptions"
+            :key="item.id"
+            :label="item.deductionReason ?? item.dangerProblem"
+            :value="item.id"
+          />
+        </el-select> -->
       </template>
     </BasicForm>
   </main>
@@ -47,6 +63,8 @@
     updateMonthlyDeduction,
     queryDeductionDetail,
   } from '@/api/pointDeduction';
+  // import { queryHiddenDangerPage } from '@/api/hiddenDanger';
+  // import type { HiddenDangerItem } from '@/api/hiddenDanger';
 
   const router = useRouter();
   const route = useRoute();
@@ -81,10 +99,37 @@
 
   const basicFormRef = ref<InstanceType<typeof BasicForm>>();
 
+  // 扣分原因下拉选项(来自隐患台账 productionHiddenDanger/queryPage)- 已改为文本输入,保留注释
+  // const hiddenDangerOptions = ref<HiddenDangerItem[]>([]);
+  // const loadHiddenDangerOptions = async () => {
+  //   try {
+  //     const res = await queryHiddenDangerPage({
+  //       pageNumber: 1,
+  //       pageSize: 500,
+  //       queryParam: {},
+  //     });
+  //     if (res?.records?.length) {
+  //       hiddenDangerOptions.value = res.records;
+  //     }
+  //   } catch (e) {
+  //     console.error('获取扣分原因选项失败:', e);
+  //   }
+  // };
+  // 选择扣分原因时同步名称到 deductionReason
+  // const onDeductionReasonChange = (hiddenDangerId: number | undefined) => {
+  //   if (hiddenDangerId == null) {
+  //     ruleFormData.deductionReason = '';
+  //     return;
+  //   }
+  //   const option = hiddenDangerOptions.value.find((item) => item.id === hiddenDangerId);
+  //   ruleFormData.deductionReason = option ? (option.deductionReason ?? option.dangerProblem) : '';
+  // };
+
   const handleValidate = async () => {
     if (!basicFormRef.value) return;
     const res = await basicFormRef.value.validateForm();
     if (!res) return false;
+    // 扣分原因改为文本输入后校验 deductionReason
     if (!ruleFormData.deductionReason?.trim()) {
       ElMessage.error('请输入扣分原因');
       return false;
@@ -148,6 +193,7 @@
   onMounted(() => {
     cloneRuleFormData();
     beforeRouteLeave();
+    // loadHiddenDangerOptions();
     if (isEditMode.value || isViewMode.value) {
       getDetail();
     }

+ 2 - 0
src/views/production-safety/safetyAssessment/pointDeduction/configs/form.ts

@@ -2,6 +2,7 @@ import { FormConfig } from '@/types/basic-form';
 
 export const POINT_DEDUCTION_FORM_CONFIG: FormConfig[] = [
   {
+    // 扣分原因改为文本输入(原为下拉 hiddenDangerId + slot)
     prop: 'deductionReason',
     label: '扣分原因:',
     slot: 'deductionReason',
@@ -59,6 +60,7 @@ export const POINT_DEDUCTION_FORM_RULES = {
     { type: 'number', max: 99999, message: '扣分值不能大于99999', trigger: 'blur' },
   ],
   departmentName: [{ required: true, message: '请输入部门名称', trigger: 'blur' }],
+  // hiddenDangerId: [{ required: true, message: '请选择扣分原因', trigger: 'change' }],
   deductionReason: [{ required: true, message: '请输入扣分原因', trigger: 'blur' }],
   status: [{ required: true, message: '请选择状态', trigger: 'change' }],
 };