|
|
@@ -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();
|
|
|
}
|