From d0d78b9fbe144326f136ee048bb59d314413032e Mon Sep 17 00:00:00 2001
From: 马宇豪 <978517621@qq.com>
Date: 星期二, 27 五月 2025 08:45:29 +0800
Subject: [PATCH] 修改导出

---
 src/views/analyse/assessApply/components/riskUnitDialog.vue |  104 +++++++++++++++++++++++++++++++---------------------
 1 files changed, 62 insertions(+), 42 deletions(-)

diff --git a/src/views/analyse/assessApply/components/riskUnitDialog.vue b/src/views/analyse/assessApply/components/riskUnitDialog.vue
index fe72aae..60a19d0 100644
--- a/src/views/analyse/assessApply/components/riskUnitDialog.vue
+++ b/src/views/analyse/assessApply/components/riskUnitDialog.vue
@@ -5,43 +5,44 @@
         <el-row :gutter="35">
           <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
             <el-form-item label="风险单元编号" prop="riskCode">
-              <el-input v-model="riskUnitDialogState.riskUnitForm.riskCode" placeholder="风险单元编号" clearable class="input-length"></el-input>
+              <el-input v-model="riskUnitDialogState.riskUnitForm.riskCode" :disabled="riskUnitDialogState.disabled" placeholder="风险单元编号" clearable class="input-length"></el-input>
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
             <el-form-item label="风险单元名称" prop="riskName">
-              <el-input v-model="riskUnitDialogState.riskUnitForm.riskName" placeholder="风险单元名称" clearable class="input-length"></el-input>
+              <el-input v-model="riskUnitDialogState.riskUnitForm.riskName" :disabled="riskUnitDialogState.disabled" placeholder="风险单元名称" clearable class="input-length"></el-input>
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
             <el-form-item label="风险单元类型" prop="riskUnitTypeId">
-              <el-select v-model="riskUnitDialogState.riskUnitForm.riskUnitTypeId" placeholder="风险单元类型" clearable class="input-length">
+              <el-select v-model="riskUnitDialogState.riskUnitForm.riskUnitTypeId" :disabled="riskUnitDialogState.disabled" 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">
             <el-form-item label="负责人" prop="liabilityUserId">
-              <el-select v-model="riskUnitDialogState.riskUnitForm.liabilityUserId" placeholder="负责人" clearable class="input-length">
+              <el-select v-model="riskUnitDialogState.riskUnitForm.liabilityUserId" :disabled="riskUnitDialogState.disabled" placeholder="负责人" clearable class="input-length">
                 <el-option v-for="item in riskUnitDialogState.allPersonList" :key="item.id" :label="item.personName" :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">
-            <el-form-item label="负责部门" prop="liabilityDep">
-              <el-input v-model="riskUnitDialogState.riskUnitForm.liabilityDep" placeholder="负责部门" clearable class="input-length"></el-input>
+            <el-form-item label="负责部门" prop="liabilityDepId">
+              <el-cascader :options="riskUnitDialogState.departmentData" :disabled="riskUnitDialogState.disabled" :props="{ emitPath: false, checkStrictly: true, value: 'id', label: 'depName' }" placeholder="负责部门" clearable v-model="riskUnitDialogState.riskUnitForm.liabilityDepId"> </el-cascader>
+<!--              <el-input v-model="riskUnitDialogState.riskUnitForm.liabilityDep" :disabled="riskUnitDialogState.disabled" placeholder="负责部门" clearable class="input-length"></el-input>-->
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20" v-if="riskUnitDialogState.experimentType === 1">
             <el-form-item label="基础风险单元" prop="basicRiskUnitId">
-              <el-select v-model="riskUnitDialogState.riskUnitForm.basicRiskUnitId" placeholder="基础风险单元" clearable class="input-length">
+              <el-select v-model="riskUnitDialogState.riskUnitForm.basicRiskUnitId" :disabled="riskUnitDialogState.disabled" placeholder="基础风险单元" clearable class="input-length">
                 <el-option v-for="item in riskUnitDialogState.basicUnitList" :key="item.id" :label="item.riskName" :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">
             <el-form-item label="风险单元描述">
-              <el-input type="textarea" :rows="3" v-model="riskUnitDialogState.riskUnitForm.description" placeholder="风险单元描述" clearable class="input-length"></el-input>
+              <el-input type="textarea" :rows="3" v-model="riskUnitDialogState.riskUnitForm.description" :disabled="riskUnitDialogState.disabled" placeholder="风险单元描述" clearable class="input-length"></el-input>
             </el-form-item>
           </el-col>
         </el-row>
@@ -49,7 +50,7 @@
       <template #footer>
 				<span class="dialog-footer">
 					<el-button @click="riskUnitDialogState.riskUnitDialogVisible = !riskUnitDialogState.riskUnitDialogVisible" size="default">取 消</el-button>
-					<el-button type="primary" @click="onSubmitRiskUnit" size="default">确定</el-button>
+					<el-button type="primary" @click="onSubmitRiskUnit" v-if="!riskUnitDialogState.disabled" size="default">确定</el-button>
 				</span>
       </template>
     </el-dialog>
@@ -61,23 +62,27 @@
 import { isValidKey } from "/@/utils/methods";
 import {ElMessage} from "element-plus";
 import {riskUnitApi} from "/@/api/analyse/riskUnit";
+import {departmentApi} from "/@/api/systemManage/department";
 
 const riskUnitFormRef = ref()
 
 const riskUnitDialogState = reactive<RiskUnitDialogType>({
-  title: '新增',
+  title: '',
   experimentType: 2,
+  disabled: false,
   riskUnitDialogVisible: false,
   riskUnitForm: {
+    id: null,
     experimentId: null,
     riskCode: '',
     riskName: '',
     riskUnitTypeId: null,
     liabilityUserId: null,
-    liabilityDep: '',
+    liabilityDepId: null,
     description: '',
     basicRiskUnitId: null,
   },
+  departmentData: [],
   riskUnitFormRules: {
     riskCode: [{ required: true, message: '请填写风险单元编号', trigger: 'blur' }],
     riskName: [{ required: true, message: '请填写风险单元名称', trigger: 'blur' }],
@@ -101,49 +106,64 @@
   ],
 })
 
-const showRiskUnitDialog = (id: number, liabilityUserId: number, basicUnitList: UnitType [], allPersonList: AllPersonListType [], allRiskTypeList: RiskType []) => {
-
+const showRiskUnitDialog = (title: string, val, id: number, basicUnitList: UnitType [], allPersonList: AllPersonListType [], allRiskTypeList: RiskType []) => {
+  getDeptData()
   riskUnitDialogState.riskUnitDialogVisible = true;
   riskUnitDialogState.basicUnitList = basicUnitList
   riskUnitDialogState.allPersonList = allPersonList
   riskUnitDialogState.riskTypeList = allRiskTypeList
+  riskUnitDialogState.disabled = false
   setTimeout(() => {
     riskUnitFormRef.value.clearValidate();
   });
-  riskUnitDialogState.riskUnitForm = {
-    experimentId: id,
-    riskCode: '',
-    riskName: '',
-    riskUnitTypeId: null,
-    liabilityUserId: liabilityUserId,
-    liabilityDep: '',
-    description: '',
-    basicRiskUnitId: null,
-  };
+  if(title === '新增'){
+    riskUnitDialogState.title = '新增';
+    riskUnitDialogState.riskUnitForm = {
+      id: null,
+      experimentId: id,
+      riskCode: '',
+      riskName: '',
+      riskUnitTypeId: null,
+      liabilityUserId: null,
+      liabilityDepId: null,
+      description: '',
+      basicRiskUnitId: null,
+    };
+  }else if(title === '查看'){
+    riskUnitDialogState.title = '查看';
+    riskUnitDialogState.disabled = true
+    for(let i in riskUnitDialogState.riskUnitForm){
+      if(isValidKey(i, riskUnitDialogState.riskUnitForm)){
+        riskUnitDialogState.riskUnitForm[i] = val[i];
+      }
+    }
+  }else{
+    riskUnitDialogState.title = '编辑';
+    for(let i in riskUnitDialogState.riskUnitForm){
+      if(isValidKey(i, riskUnitDialogState.riskUnitForm)){
+        riskUnitDialogState.riskUnitForm[i] = val[i];
+      }
+    }
+  }
 };
+
+const getDeptData =async () => {
+  let res = await departmentApi().getDepartmentList()
+  if (res.data.code === 100) {
+    riskUnitDialogState.departmentData = res.data.data
+  } else {
+    ElMessage({
+      type: 'warning',
+      message: res.data.msg
+    });
+  }
+}
 
 const onSubmitRiskUnit = () => {
   riskUnitFormRef.value.validate(async(valid: boolean) => {
     if(valid){
-      if(riskUnitDialogState.title === '新增' && riskUnitDialogState.experimentType === 1){
-        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;
-          ElMessage({
-            type: 'success',
-            message: '新增成功'
-          })
-        }else{
-          ElMessage({
-            type: 'warning',
-            message: res.data.msg,
-          });
-        }
-      }else if(riskUnitDialogState.title === '新增' && riskUnitDialogState.experimentType === 2){
-        let { basicRiskUnitId, ...query} = riskUnitDialogState.riskUnitForm
+      if(riskUnitDialogState.title === '新增'){
+        let { id, basicRiskUnitId, ...query} = riskUnitDialogState.riskUnitForm
         let res = await riskUnitApi().addRiskUnit(query);
         if(res.data.code === 100){
           emit('refresh')

--
Gitblit v1.9.2