zhouwx
2025-01-13 6f5336ab50c25e8a4a8c4df7ec703a0dfa418583
src/views/experiment/project/components/projectDialog.vue
@@ -33,9 +33,17 @@
                    <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-form-item>-->
                          <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>
                        </td>
                        <td class="w-25 m-color required">立项时间</td>
                        <td class="w-25 m-color">
@@ -80,9 +88,17 @@
<!--                              :label="item.personName"-->
<!--                          ></el-option>-->
<!--                        </el-select>-->
                        <el-form-item prop="safeLiabilityUser">
                          <el-input :disabled="projectDialogState.disabled" v-model="projectDialogState.projectForm.safeLiabilityUser" />
                        </el-form-item>
                        <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 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 +308,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 +401,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 +484,7 @@
            siteList: [],
            deviceList: [],
            stuffList: [],
            hazardousWasteList: []
            hazardousWasteList: [],
        };
    }else if(title === '整改' || title === '编辑'){
      projectDialogState.title = title;
@@ -533,14 +556,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 +682,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 +704,7 @@
onMounted(() => {
    getAllPersonList();
    getPersonList();
    getDeptData();
});
</script>