duy 2 år sedan
förälder
incheckning
c9c06c6107
1 ändrade filer med 58 tillägg och 26 borttagningar
  1. 58 26
      src/views/system/user.vue

+ 58 - 26
src/views/system/user.vue

@@ -65,7 +65,25 @@
                 <template #header>
                     <div class="hac-card-title">机构信息</div>
                 </template>
-                <template v-for="(item, index) in formModel.deptList">
+                <el-form ref="formRef3" :model="formModel" :rules="formRules" label-position="left" label-width="auto" size="large">
+                    <el-form-item label="部门:" prop="deptId">
+                        <el-select v-model="formModel.deptId" placeholder="选择部门" style="width: 100%;" @change="getpostData" clearable>
+                                        <el-option v-for="item in sectionData" :label="item.deptName" :value="item.id"/>
+                        </el-select>
+                    </el-form-item>
+                    <el-form-item label="岗位:" prop="postId">
+                        <el-select v-model="formModel.postId" placeholder="选择岗位" style="width: 100%;" clearable  :getdata="getpostData(formModel.deptId)">
+                            <el-option v-for="item in postData" :label="item.deptName" :value="item.id" />
+                        </el-select>
+                    </el-form-item>
+                    <el-form-item label="部门负责人:">
+                        <el-select v-model="isLeaderIds" placeholder="是否为部门负责人"   style="width: 100%;" multiple clearable>
+                            <el-option v-for="item in sectionData" :label="item.deptName" :value="item.id"/>
+                        </el-select>
+                    </el-form-item>
+                </el-form>
+           
+                <!-- <template v-for="(item, index) in formModel.deptList">
                     <el-form :ref="(el) => setFormItemRefs(el, index)" class="mt-4" :model="item" :rules="formRules" label-position="top" size="large">
                         <el-row :gutter="10">
                             <el-col :span="7">
@@ -98,7 +116,7 @@
                             </el-col>
                         </el-row>
                     </el-form>
-                </template>
+                </template> -->
             </HcCardItem>
 
             <HcCardItem ui="hac-bg-grey" class="h-auto mt-4">
@@ -212,6 +230,7 @@ const formModal = ref(false)
 //用户信息表单
 const formRef = ref(null)
 const formRef1 = ref(null)
+const formRef3=ref(null)
 
 //循环表单的ref
 const formRefs = ref([])
@@ -232,15 +251,16 @@ const getFormRef = async (index) => {
 }
 
 const formModel = ref({
-    deptList: [{isLeader: 0}], status: 1
+    // deptList: [{isLeader: 0}], status: 1
 })
+const isLeaderIds=ref([])
 const formRules = {
     account: [{required: true, message: '请输入登录账号', trigger: 'blur'}],
     password: [{required: true, message: '请输入密码', trigger: 'blur'}],
     password1: [{required: true, message: '请输入确认密码', trigger: 'blur'}],
     deptId: [{required: true, message: '请选择选择部门', trigger: 'change'}],
     postId: [{required: true, message: '请选择选择岗位', trigger: 'change'}],
-    isLeader: [{required: true, message: '请选择是否为部门负责人', trigger: 'change'}],
+
     oneMoney: [{required: true, message: '请输入日单价', trigger: 'blur'}],
     status: [{required: true, message: '请选择启用状态', trigger: 'change'}],
     phone: {
@@ -261,7 +281,7 @@ const formRules = {
 //添加用户
 const addUserClick = () => {
     formModel.value = {
-        deptList: [{isLeader: 0}],
+        // deptList: [{isLeader: 0}],
         tenantId: useAppState.tenantId,
         status: 1,
         userType: 5
@@ -273,32 +293,36 @@ const addUserClick = () => {
 
 //编辑用户信息
 const rowEidtClick = (row) => {
-    const deptList = getArrValue(row.deptList)
+    // const deptList = getArrValue(row.deptList)
     //设置表单数据
     const form = {
         id: row.id,
         account: row.account,
         password: '',
-        deptList: deptList,
+        // deptList: deptList,
         tenantId: useAppState.tenantId,
         realName: row.realName,
         phone: row.phone,
         idNumber: row.idNumber,
         oneMoney: row.oneMoney,
         status: row.status,
-        userType: row.userType || 5
-    }
-    //如果部门列表为空,就添加一个空对象
-    if (deptList.length > 0){
-        deptList.forEach(() => {
-            postData.value.push({})
-        })
-    } else {
-        form.deptList = [{isLeader: 0}]
-        postData.value = [{}]
+        userType: row.userType || 5,
+        isLeader:row?.isLeader,
+        deptId:row?.deptId,
+        postId:row?.postId
     }
+    // //如果部门列表为空,就添加一个空对象
+    // if (deptList.length > 0){
+    //     deptList.forEach(() => {
+    //         postData.value.push({})
+    //     })
+    // } else {
+    //     // form.deptList = [{isLeader: 0}]
+    //     postData.value = [{}]
+    // }
     //设置表单数据
     formModel.value = form
+    isLeaderIds.value=form?.isLeader?.split()
     formModal.value = true
     getSectionData()
 }
@@ -316,6 +340,18 @@ const getSectionData = async () => {
 
 //获取岗位数据
 const postData = ref([])
+const getpostData=async(id)=>{
+    if(id){
+        //获取岗位数据
+         const { error, code, data } = await organizationApi.getList({parentId: id})
+        if (!error && code === 200) {
+            postData.value = getArrValue(data)
+        } else {
+            postData.value = []
+        }
+    }
+}
+
 const initPostData = async (id, index) => {
     if (id) {
         //获取岗位数据
@@ -375,19 +411,15 @@ const delOrganizationClick = (index) => {
 const formModalSave = async () => {
     const isForm = await formValidate(formRef.value)
     const isForm1 = await formValidate(formRef1.value)
-    if (!isForm || !isForm1) {
+    const isForm3 = await formValidate(formRef3.value)
+    if (!isForm || !isForm1||!isForm3) {
         window.$message?.error('请先完善表单信息')
         return
     }
     const form = formModel.value
-    for (let i = 0; i < form.deptList.length; i++) {
-        const refs = await getFormRef(i)
-        const isRefs = await formValidate(refs)
-        if (!isRefs) {
-            window.$message?.error('请先完善表单信息')
-            return
-        }
-    }
+    console.log(form,'form');
+    let isLeader=isLeaderIds.value.join()
+    form.isLeader=isLeader
     //判断密码是否一致
     if (form.password && !form.password1) {
         window.$message?.error('请输入确认密码')