From 5c45db7c1be28da293b3583c16834ee97e8bac47 Mon Sep 17 00:00:00 2001
From: 马宇豪 <978517621@qq.com>
Date: 星期三, 02 四月 2025 13:43:06 +0800
Subject: [PATCH] 修改

---
 src/views/experiment/project/components/projectDialog.vue |   65 ++++++++++++++++++++++++++------
 1 files changed, 53 insertions(+), 12 deletions(-)

diff --git a/src/views/experiment/project/components/projectDialog.vue b/src/views/experiment/project/components/projectDialog.vue
index 15f901a..34fc950 100644
--- a/src/views/experiment/project/components/projectDialog.vue
+++ b/src/views/experiment/project/components/projectDialog.vue
@@ -3,7 +3,7 @@
         <el-dialog :title="projectDialogState.title" v-model="projectDialogState.projectDialogVisible" width="80%" :before-close="handleClose">
             <el-form ref="ProjectFormRef" :rules="projectDialogState.projectFormRules" :model="projectDialogState.projectForm" size="default" label-width="0">
                 <table class="report-table">
-                  <th class="m-color b-font" style="text-align: center">***研究所/***大学<br />科学研究实验项目安全风险基础信息录入表(新立项)(带<span style="color: red">*</span>为必填项)</th>
+                  <th class="m-color b-font" style="text-align: center">材料科学姑苏实验室<br/>科学研究实验项目安全风险基础信息录入表(新立项)(带<span style="color: red">*</span>为必填项)</th>
                     <tr>
                         <td class="w-25 m-color required">实验名称</td>
                         <td class="w-75 m-color">
@@ -33,8 +33,18 @@
                     <tr>
                         <td class="w-25 m-color required">部门</td>
                         <td class="w-25 m-color">
+<!--                          <el-form-item prop="dep">-->
+<!--                            <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.dep" />-->
+<!--                          </el-form-item>-->
                           <el-form-item prop="dep">
-                            <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.dep" />
+                          <el-select style="width: 100%" v-model="projectDialogState.projectForm.dep" clearable filterable>
+                            <el-option
+                                v-for="item in projectDialogState.deptList"
+                                :key="item.id"
+                                :value="item.depName"
+                                :label="item.depName"
+                            ></el-option>
+                          </el-select>
                           </el-form-item>
                         </td>
                         <td class="w-25 m-color required">立项时间</td>
@@ -81,8 +91,18 @@
 <!--                          ></el-option>-->
 <!--                        </el-select>-->
                         <el-form-item prop="safeLiabilityUser">
-                          <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.safeLiabilityUser" />
+                        <el-select style="width: 100%" v-model="projectDialogState.projectForm.safeLiabilityUser" clearable filterable @change="getSafeLiabilityUserPhone($event)">
+                          <el-option
+                              v-for="item in projectDialogState.systemPersonList"
+                              :key="item.id"
+                              :value="item.realName"
+                              :label="item.realName"
+                          ></el-option>
+                        </el-select>
                         </el-form-item>
+<!--                        <el-form-item prop="safeLiabilityUser">-->
+<!--                          <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.safeLiabilityUser" />-->
+<!--                        </el-form-item>-->
                       </td>
                       <td class="w-25 m-color required">电话</td>
                       <td class="w-25 m-color">
@@ -292,6 +312,7 @@
 import {useUserInfo} from "/@/stores/userInfo";
 import {storeToRefs} from "pinia";
 import {checkChineseName, verifyPhone} from "/@/utils/toolsValidate";
+import {departmentApi} from "/@/api/systemManage/department";
 
 const SelectEquipment = defineAsyncComponent(() => import('./selectEquipment.vue'))
 const SelectMaterial = defineAsyncComponent(() => import('./selectMaterial.vue'))
@@ -384,11 +405,17 @@
     allPersonList: [],
     allRoomList: [],
     systemPersonList: [],
+    deptList: []
 })
 
 const getLiabilityUserPhone = (value: number)=>{
   const data = projectDialogState.systemPersonList.find(item => item.id === value) as AllPersonListType
   projectDialogState.projectForm.liabilityUserPhone = data.phone
+}
+
+const getSafeLiabilityUserPhone = (value: number)=>{
+  const data = projectDialogState.systemPersonList.find(item => item.realName === value) as AllPersonListType
+  projectDialogState.projectForm.safeLiabilityUserPhone = data.phone
 }
 
 // const getSafeLiabilityUserPhone = (value: number)=>{
@@ -461,7 +488,7 @@
             siteList: [],
             deviceList: [],
             stuffList: [],
-            hazardousWasteList: []
+            hazardousWasteList: [],
         };
     }else if(title === '整改' || title === '编辑'){
       projectDialogState.title = title;
@@ -533,14 +560,14 @@
               }
             }
             if(projectDialogState.title === '新增'){
-                if(checkChineseName(projectDialogState.projectForm.safeLiabilityUser) == false){
-                  ElMessage({
-                    type: 'warning',
-                    message: '安全负责人姓名格式有误',
-                    duration: 1000
-                  });
-                  return
-                }
+                // if(checkChineseName(projectDialogState.projectForm.safeLiabilityUser) == false){
+                //   ElMessage({
+                //     type: 'warning',
+                //     message: '安全负责人姓名格式有误',
+                //     duration: 1000
+                //   });
+                //   return
+                // }
                 if(verifyPhone(projectDialogState.projectForm.safeLiabilityUserPhone) == false || verifyPhone(projectDialogState.projectForm.liabilityUserPhone) == false){
                   ElMessage({
                     type: 'warning',
@@ -659,6 +686,19 @@
     }
 };
 
+const getDeptData =async () => {
+  let res = await departmentApi().getDepartmentList()
+  if (res.data.code === 100) {
+    projectDialogState.deptList = res.data.data
+  } else {
+    ElMessage({
+      type: 'warning',
+      message: res.data.msg
+    });
+  }
+}
+
+
 const emit = defineEmits(['refresh']);
 
 defineExpose({
@@ -668,6 +708,7 @@
 onMounted(() => {
     getAllPersonList();
     getPersonList();
+    getDeptData();
 });
 </script>
 

--
Gitblit v1.9.2