zhouwx
4 天以前 592c1750b148874737cdfba4b22b6229f9805fe6
src/views/build/conpanyFunctionConsult/orgStructure/departManage/components/departDialog.vue
@@ -8,7 +8,17 @@
        :close-on-press-escape="false"
        :close-on-click-modal="false"
    >
      <el-form :model="state.form" size="default" ref="superRef" :rules="state.formRules" label-width="150px" >
      <el-form :model="state.form" size="default" ref="superRef" :rules="state.formRules" label-width="150px">
        <el-form-item v-if="state.isAdmin" label="企业:" prop="companyId">
          <el-select v-model="state.form.companyId" placeholder="请选择" clearable @change="getDeptList()">
            <el-option
                v-for="item in state.companyList"
                :key="item.id"
                :label="item.name"
                :value="item.id">
            </el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="部门名称:"  prop="deptName">
          <el-input v-model.trim="state.form.deptName" :disabled="state.title =='查看'" placeholder="部门名称"></el-input>
        </el-form-item>
@@ -17,7 +27,7 @@
            <el-option
                v-for="item in state.userList"
                :key="item.id"
                :label="item.name"
                :label="item.username"
                :value="item.id"
            />
          </el-select>
@@ -73,7 +83,6 @@
import {ElMessage} from "element-plus";
import {getDepart, getSysClause, saveDepart} from "@/api/orgStructure/depart";
import {listUser} from "@/api/system/user";
const emit = defineEmits(["getList"]);
const dialogVisible = ref(false)
const superRef = ref()
@@ -89,15 +98,18 @@
    delCaluseIds: [],
    companyId: null
  },
  isAdmin: false,
  companyList: [],
  userList: [],
  departList: [],
  sysClauseList: [],
  oldClauseList: [],
  formRules:{
    companyId: [{ required: true, message: '请选择企业', trigger: 'blur' }],
    deptName: [{ required: true, message: '请输入部门名称', trigger: 'blur' }],
    leaderUserId: [{ required: true, message: '请选择负责人', trigger: 'blur' }],
    parentId: [{ required: true, message: '请选择负责部门', trigger: 'blur' }],
    caluseVO1List: [{ required: true, message: '请选择设计条款', trigger: 'blur' }],
    // leaderUserId: [{ required: true, message: '请选择负责人', trigger: 'blur' }],
    // parentId: [{ required: true, message: '请选择负责部门', trigger: 'blur' }],
    caluseVO1List: [{ required: true, message: '请选择涉及条款', trigger: 'blur' }],
  }
})
@@ -106,7 +118,11 @@
});
const disabled = ref(false);
const userInfo = ref()
const openDialog = async (type, value, companyId) => {
const openDialog = async (type, value, companyId, isAdmin, companyList) => {
  state.isAdmin = isAdmin
  if(isAdmin){
    state.companyList = companyList
  }
  await getUserList()
  await getDepartList(companyId)
  await getSysClauseList()
@@ -119,6 +135,7 @@
      }
    });
    state.oldClauseList = value.caluseVO1List
    console.log(state.oldClauseList,'old')
  }else{
    state.form.companyId = companyId
  }
@@ -133,6 +150,10 @@
    ElMessage.warning(res.message)
  }
};
const getDeptList = async ()=>{
  await getDepartList(state.form.companyId)
}
const getDepartList = async (companyId)=> {
  const params = {
@@ -155,7 +176,7 @@
      return {
        clauseId: i.id,
        clauseNum: i.clauseNum,
        content: i.name,
        content: i.clauseNum+'-'+i.name,
        id: null
      }
    })
@@ -167,6 +188,12 @@
const onSubmit = async () => {
  const valid = await superRef.value.validate();
  if(valid){
    state.form.caluseVO1List = state.form.caluseVO1List.map(i=>{
      return {
        ...i,
        content: i.content.split('-')[1]
      }
    })
    state.form.delCaluseIds = state.oldClauseList.filter(oldItem => !state.form.caluseVO1List.some(newItem => newItem.id === oldItem.id)).map(item => item.id)
    const res = await saveDepart(state.form)
    if(res.code == 200){