From 1b9fea7d4af68d8f933b2dc42bf6084b9646f64c Mon Sep 17 00:00:00 2001
From: 马宇豪 <978517621@qq.com>
Date: 星期二, 04 三月 2025 08:39:55 +0800
Subject: [PATCH] 修改作业等级名称

---
 src/views/contingencyManagement/contingency/component/openAdd.vue |  162 ++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 108 insertions(+), 54 deletions(-)

diff --git a/src/views/contingencyManagement/contingency/component/openAdd.vue b/src/views/contingencyManagement/contingency/component/openAdd.vue
index d5495f2..eb8e3d6 100644
--- a/src/views/contingencyManagement/contingency/component/openAdd.vue
+++ b/src/views/contingencyManagement/contingency/component/openAdd.vue
@@ -30,7 +30,7 @@
                     </el-col>
                     <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
                         <el-form-item label="负责人部门" prop="principalDepartmentId">
-                            <el-tree-select v-model="ruleForm.principalDepartmentId" :data="newTreeList" class="w100"
+                            <el-tree-select v-model="ruleForm.principalDepartmentId" check-strictly :data="newTreeList" class="w100"
                                             :props="propse" clearable placeholder="请选择"/>
                         </el-form-item>
                     </el-col>
@@ -52,17 +52,8 @@
                     </el-col>
                     <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
                         <el-form-item label="相关附件" prop="fileList">
-                            <el-upload
-                                    v-model:file-list="fileList"
-                                    class="upload-demo"
-                                    action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15"
-                                    :on-change="handleChange"
-                            >
-                                <el-button type="primary">点击上传</el-button>
-                                <template #tip>
-                                    <div class="el-upload__tip">添加相关附件</div>
-                                </template>
-                            </el-upload>
+                            <uploaderFile :fileList="fileList" :systemName="'EMERGENCY'" :disabled="disabled"
+                                          @successUploader="successUploader"></uploaderFile>
                         </el-form-item>
                     </el-col>
                 </el-row>
@@ -71,7 +62,7 @@
                 <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
                     <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">
                         <el-tab-pane label="应急队伍人员" name="first" >
-                            <el-button type="primary" size="default" @click="onAddEmergencyPersonnel" :disabled="disabled">新增
+                            <el-button type="primary" size="default" @click="onAddEmergencyPersonnel(ruleFormRef)" :disabled="disabled">新增
                             </el-button>
                             <el-table
                                     :data="tableData"
@@ -142,6 +133,7 @@
     import DailogSearchUserManger from "/@/components/DailogSearchUserManger/index.vue"
     import {contingencyApi} from "/@/api/contingencyManagement/contingency";
     import {goalManagementApi} from "/@/api/goalManagement";
+    import uploaderFile from '/@/components/uploaderFile/index.vue';
     // import {releaseDrillPlanApi} from "/@/api/releaseDrillPlan";
 
 
@@ -150,6 +142,7 @@
         components: {
             AddEmergencyPersonnel,
             DailogSearchUserManger,
+            uploaderFile
         },
         setup(prop, {emit}) {
             const isShowDialog = ref(false);
@@ -168,7 +161,6 @@
             });
             const titles = ref();
             const disabled = ref();
-            const peopleInsertBtn = ref(false)
             const teamId = ref()
             // 打开弹窗
             const openDialog = (title: string, id: number, type: boolean) => {
@@ -176,26 +168,40 @@
                 titles.value = title;
                 disabled.value = type;
                 teamId.value = id
-                //如果是新增  无法添加人员
-                if(title == '新建应急队伍管理'){
-                    peopleInsertBtn.value = true
-                }else{
-                    peopleInsertBtn.value = false
-                }
                 if (title == '查看应急队伍管理' || title == '修改应急队伍管理') {
                     contingencyApi()
                         .seeEmergencyTeam(id)
                         .then((res) => {
                             if (res.data.code == 200) {
                                 ruleForm.value = res.data.data;
+                                fileList.value = (res.data.data.fileList?res.data.data.fileList:[])
+                                initFileListData()
                                 listApi()
                             }
                         });
                 }
             }
             // 上传附件
-            const fileList = ref<UploadUserFile[]>([])
-
+            const fileList = ref([])
+            const initFileListData = async () => {
+                for(var a = 0;a<fileList.value.length;a++){
+                    fileList.value[a].name = fileList.value[a].fileName
+                }
+            }
+            // 上传成功组装数据
+            const successUploader = (list) =>{
+                fileList.value = list
+                const formFileList = []
+                for(var a = 0;a<fileList.value.length;a++){
+                    formFileList.push(
+                        {
+                            fileName:fileList.value[a].fileName,
+                            fileUrl:''
+                        }
+                    )
+                }
+                ruleForm.value.fileList = formFileList
+            }
             //定义树形下拉框
             const principalDepartmentId = ref()
             const data = ref()
@@ -313,31 +319,43 @@
                 }
             };
             const onSubmit = async (title: string, formEl: FormInstance | undefined) => {
+                if(!ruleForm.value.fileList){
+                    ruleForm.value.fileList = []
+                }
                 if (title == '新建应急队伍管理') {
                     if (!formEl) return;
                     await formEl.validate((valid, fields) => {
                         if (valid) {
                             isShowDialog.value = false;
-                            contingencyApi()
-                                .addEmergencyTeam(ruleForm.value)
-                                .then((res) => {
-                                    if (res.data.code == 200) {
-                                        ElMessage({
-                                            showClose: true,
-                                            message: res.data.msg,
-                                            type: 'success',
-                                        });
-                                        emit('myAdd', true);
-                                    } else {
-                                        ElMessage({
-                                            showClose: true,
-                                            message: res.data.msg,
-                                            type: 'error',
-                                        });
-                                        emit('myAdd', true);
-                                    }
-                                    formEl.resetFields();
+                            if(teamId.value==null||teamId.value==''){
+                                contingencyApi()
+                                    .addEmergencyTeam(ruleForm.value)
+                                    .then((res) => {
+                                        if (res.data.code == 200) {
+                                            ElMessage({
+                                                showClose: true,
+                                                message: res.data.msg,
+                                                type: 'success',
+                                            });
+                                            emit('myAdd', true);
+                                        } else {
+                                            ElMessage({
+                                                showClose: true,
+                                                message: res.data.msg,
+                                                type: 'error',
+                                            });
+                                            emit('myAdd', true);
+                                        }
+                                        formEl.resetFields();
+                                    });
+                            }else {
+                                ElMessage({
+                                    showClose: true,
+                                    message: '添加成功',
+                                    type: 'success',
                                 });
+                                emit('myAdd', true);
+                            }
                         } else {
                             console.log('error submit!', fields);
                         }
@@ -346,7 +364,6 @@
                     if (!formEl) return;
                     await formEl.validate((valid, fields) => {
                         if (valid) {
-                          ruleForm.value.fileList=[]
                             isShowDialog.value = false;
                             contingencyApi()
                                 .editEmergencyTeam(ruleForm.value)
@@ -390,6 +407,7 @@
                 isShowDialog.value = false;
                 if (!formEl) return;
                 formEl.resetFields();
+                fileList.value = []
                 tableData.value=[]
                 ruleForm.value = {}
             };
@@ -397,17 +415,52 @@
             const tableData = ref([]);
             //添加队伍负责人弹窗
             const addRef = ref();
-            const onAddEmergencyPersonnel = () => {
-                //未添加队伍 无法修改人员
-                if(peopleInsertBtn.value == true){
-                    ElMessage({
-                        showClose: true,
-                        message: '请先添加应急队伍',
-                        type: 'warning',
-                    });
-                }else {
-                    addRef.value.openDialog('新建应急队伍人员','',teamId.value);
+            const onAddEmergencyPersonnel = async (formEl: FormInstance | undefined) => {
+                if(!ruleForm.value.fileList){
+                    ruleForm.value.fileList = []
                 }
+                if (!formEl) return;
+                await formEl.validate((valid, fields) => {
+                    if (valid) {
+                        // isShowDialog.value = false;
+                        if(teamId.value == ''||teamId.value==null){
+                            ElMessageBox.confirm('确认添加此应急队伍?', '提示', {
+                                confirmButtonText: '确定',
+                                cancelButtonText: '取消',
+                                type: 'warning',
+                            })
+                                .then(() => {
+                                    contingencyApi()
+                                        .addEmergencyTeam(ruleForm.value)
+                                        .then((res) => {
+                                            if (res.data.code == 200) {
+                                                ElMessage({
+                                                    showClose: true,
+                                                    message: res.data.msg,
+                                                    type: 'success',
+                                                });
+                                                teamId.value = res.data.data.id
+                                                addRef.value.openDialog('新建应急队伍人员','',teamId.value);
+                                            } else {
+                                                ElMessage({
+                                                    showClose: true,
+                                                    message: res.data.msg,
+                                                    type: 'error',
+                                                });
+                                            }
+                                        });
+                                })
+                                .catch(() => {});
+
+                        }else {
+                            addRef.value.openDialog('新建应急队伍人员','',teamId.value);
+                        }
+
+
+                    } else {
+                        console.log('error submit!', fields);
+                    }
+                });
             };
             // 请求列表数据
             const listApi = async () => {
@@ -492,9 +545,10 @@
                 onEdit,
                 onRowDel,
                 department,
-                peopleInsertBtn,
                 teamId,
-                newTreeList
+                newTreeList,
+                successUploader,
+                initFileListData
             };
         },
     });

--
Gitblit v1.9.2