祖安之光
7 天以前 d4534c231f7c25ca64d40c8bcaadf83f64b640c3
src/views/work/selfProblems/plan/components/planDialog.vue
@@ -3,13 +3,13 @@
    <el-dialog
        v-model="dialogVisible"
        :title="title"
        width="50%"
        width="950px"
        :before-close="handleClose"
        :close-on-press-escape="false"
        :close-on-click-modal="false"
    >
      <el-form :model="state.form" size="default" ref="busRef" :rules="state.formRules"  label-width="100px" >
        <el-form-item label="企业名称:" prop="companyId" v-if="state.isAdmin">
        <el-form-item label="单位名称:" prop="companyId" v-if="state.isAdmin">
          <el-select
              v-model="state.form.companyId"
              filterable
@@ -175,10 +175,10 @@
                      <el-form-item :prop="'deptList.' + '[' + $index + ']' + '.checkId'" :rules="state.rules.checkId">
                        <el-select clearable v-model="row.checkId" :disabled="title =='查看'" filterable  style="width: 240px">
                          <el-option
                              v-for="item in state.peopleList"
                              :key="item.id"
                              :label="item.name"
                              :value="item.id"
                              v-for="item in state.interUserList"
                              :key="item.personId"
                              :label="item.personName"
                              :value="item.personId"
                          />
                        </el-select>
                      </el-form-item>
@@ -272,6 +272,7 @@
import {getUser} from "@/api/onlineEducation/user";
import {getDept} from "@/api/qualityObjectives/object";
import {addPlan, editPlan} from "@/api/selfProblems/plan";
import {getPersonPage} from "@/api/selfProblems/nameList";
const dialogVisible = ref(false);
const title = ref("");
@@ -299,7 +300,7 @@
  form: {
    id: '',
    companyId: null,
    year: "", //年份
    year: "2025", //年份
    auditPurpose: "", //审核目的
    reviewBasis: "", //审核依据
    reviewScope: "", //审核范围
@@ -316,6 +317,7 @@
    ratifyId: null, //批准人id
    deptList: []
  },
  interUserList: [],
  formRules:{
    companyId: [{ required: true, message: '请选择企业', trigger: 'blur' }],
    year:  [{ required: true, message: '请输入年份', trigger: 'blur' }],
@@ -381,6 +383,7 @@
  }
  await getDeptList()
  title.value = type === 'add' ? '新增' : type ==='edit' ? '编辑' : '查看' ;
  state.form.year = new Date().getFullYear().toString()
  if(type === 'edit' || type === 'review') {
    state.form = JSON.parse(JSON.stringify(value));
    checkTime.value = [state.form.reviewStart,state.form.reviewEnd]
@@ -396,6 +399,7 @@
      })
    })
  }
  await getUserList()
  await  getPeopleList()
  dialogVisible.value = true;
@@ -419,7 +423,7 @@
const onSubmit = async () => {
  state.form.reviewStart = checkTime.value[0]
  state.form.reviewEnd = checkTime.value[0]
  state.form.reviewEnd = checkTime.value[1]
  state.form.firstStarttime = checkStartTime.value[0]
  state.form.firstEndtime = checkStartTime.value[1]
  state.form.lastStarttime = checkEndTime.value[0]
@@ -541,13 +545,14 @@
  state.form.checkId = null
  state.form.ratifyId = null
  getPeopleList()
  getUserList()
  getDeptList()
}
const reset = () => {
  state.form = {
    id: '',
    companyId: null,
    year: "", //年份
    year: "2025", //年份
    auditPurpose: "", //审核目的
    reviewBasis: "", //审核依据
    reviewScope: "", //审核范围
@@ -571,6 +576,25 @@
  checkStartTime.value = []
  checkEndTime.value = []
}
const getUserList = async ()=> {
  if(state.isAdmin && (state.form.companyId == 0 || state.form.companyId == null)){
    return
  }
  const res = await getPersonPage({companyId: state.form.companyId,pageNum: 1,pageSize: 999})
  if(res.code == 200){
    state.userList = res.data.list?res.data.list.map(item=>{
      const user = item.id
      const {id, ...data} = item
      return {
        ...data,
        userId: user
      }
    }):[]
    state.interUserList = state.userList
  }else{
    ElMessage.warning(res.message)
  }
}
defineExpose({
  openDialog
});