马宇豪
2025-05-27 d0d78b9fbe144326f136ee048bb59d314413032e
src/views/analyse/riskUnit/components/riskUnitDialog.vue
@@ -28,6 +28,13 @@
                        </el-form-item>
                    </el-col>
                    <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20" v-if="riskUnitDialogState.experimentType === 2">
                      <el-form-item label="风险单元类型" prop="experimentId">
                        <el-select v-model="riskUnitDialogState.riskUnitForm.riskUnitTypeId" placeholder="风险单元类型" clearable class="input-length">
                          <el-option v-for="item in riskUnitDialogState.riskTypeList" :key="item.id" :label="item.riskType" :value="item.id"></el-option>
                        </el-select>
                      </el-form-item>
                    </el-col>
                    <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20" v-if="riskUnitDialogState.experimentType === 2">
                        <el-form-item label="负责人" prop="liabilityUserId">
                            <el-select v-model="riskUnitDialogState.riskUnitForm.liabilityUserId" placeholder="负责人" clearable class="input-length">
                                <el-option v-for="item in riskUnitDialogState.allPersonList" :key="item.id" :label="item.personName" :value="item.id"></el-option>
@@ -79,6 +86,7 @@
        experimentId: null,
        riskCode: '',
        riskName: '',
        riskUnitTypeId: null,
        liabilityUserId: null,
        liabilityDep: '',
        description: '',
@@ -88,6 +96,7 @@
        experimentId: [{ required: true, message: '请选择实验', trigger: 'change' }],
        riskCode: [{ required: true, message: '请填写风险单元编号', trigger: 'blur' }],
        riskName: [{ required: true, message: '请填写风险单元名称', trigger: 'blur' }],
        riskUnitTypeId: [{ required: true, message: '请选择风险单元类型', trigger: 'blur' }],
        liabilityUserId: [{ required: true, message: '请选择负责人', trigger: 'change' }],
        basicRiskUnitId: [{ required: true, message: '请选择基础风险单元', trigger: 'change' }]
    },
@@ -97,6 +106,7 @@
        {id:2, name: '个'},
        {id:3, name: '件'}
    ],
    riskTypeList: [],
    basicUnitList: [],
    allPersonList: [],
    allExperimentList: [],
@@ -106,11 +116,12 @@
    ],
})
const showRiskUnitDialog = (title: string, value: RiskUnitType, basicUnitList: UnitType [], allPersonList: AllPersonListType [], allExperimentList: ProjectType []) => {
const showRiskUnitDialog = (title: string, value: RiskUnitType, basicUnitList: UnitType [], allPersonList: AllPersonListType [], allExperimentList: ProjectType [],allRiskTypeList: RiskType []) => {
    riskUnitDialogState.riskUnitDialogVisible = true;
    riskUnitDialogState.basicUnitList = basicUnitList
    riskUnitDialogState.allPersonList = allPersonList
    riskUnitDialogState.allExperimentList = allExperimentList
    riskUnitDialogState.riskTypeList = allRiskTypeList
    setTimeout(() => {
        riskUnitFormRef.value.clearValidate();
    });
@@ -120,6 +131,7 @@
            experimentId: null,
            riskCode: '',
            riskName: '',
            riskUnitTypeId: null,
            liabilityUserId: null,
            liabilityDep: '',
            description: '',
@@ -141,8 +153,9 @@
    riskUnitFormRef.value.validate(async(valid: boolean) => {
        if(valid){
            if(riskUnitDialogState.title === '新增' && riskUnitDialogState.experimentType === 1){
                let { basicRiskUnitId, ...query} = riskUnitDialogState.riskUnitForm
                let res = await riskUnitApi().addRiskUnit(query);
                let { experimentId,basicRiskUnitId} = riskUnitDialogState.riskUnitForm
                let query = { experimentId,basicRiskUnitId }
                let res = await riskUnitApi().addBasicRiskUnit(query);
                if(res.data.code === 100){
                    emit('refresh')
                    riskUnitDialogState.riskUnitDialogVisible = false;
@@ -157,8 +170,8 @@
                    });
                }
            }else if(riskUnitDialogState.title === '新增' && riskUnitDialogState.experimentType === 2){
                let { riskCode, riskName, liabilityUserId, liabilityDep, description, ...query} = riskUnitDialogState.riskUnitForm
                let res = await riskUnitApi().addBasicRiskUnit(query);
                let { basicRiskUnitId, ...query} = riskUnitDialogState.riskUnitForm
                let res = await riskUnitApi().addRiskUnit(query);
                if(res.data.code === 100){
                    emit('refresh')
                    riskUnitDialogState.riskUnitDialogVisible = false;