yz_08
2021-03-10 b99720f014aa025e11c92da75037f8398a887de6
src/views/febs/system/user/Edit.vue
@@ -11,7 +11,7 @@
      <el-form-item :label="$t('table.user.username')" prop="username">
        <el-input v-model="user.username" :readonly="user.userId === '' ? false : 'readonly'" />
      </el-form-item>
      <el-form-item label="员工姓名" prop="nickName">
      <el-form-item label="姓名" prop="nickName">
        <el-select v-model="user.nickName" filterable placeholder="" style="width:100%" @change="nickName">
          <el-option
            v-for="item in baseinfo"
@@ -73,6 +73,7 @@
          node-key="id"
          highlight-current
          style="border: 1px solid #DCDFE6;border-radius: 3px;padding: 6px;"
          @check="checkeTree"
        />
      </el-form-item>
      <el-form-item :label="$t('table.user.status')" prop="status">
@@ -180,6 +181,8 @@
      for (let i = 0; i < this.baseinfo.length; i++) {
        if (this.baseinfo[i].certificateNumb === data) {
          this.user.nickName = this.baseinfo[i].empName
          this.user.deptId = this.baseinfo[i].deptId
          this.user.mobile = this.baseinfo[i].telePhone
        }
      }
    },
@@ -254,6 +257,35 @@
    close() {
      this.$emit('close')
    },
    // 选中子节点,默认选中父节点
    checkeTree(data) {
      let thisNode = this.$refs.deptTree.getNode(data.id) // 获取当前节点
      const keys = this.$refs.deptTree.getCheckedKeys() // 获取已勾选节点的key值
      if (thisNode.checked) { // 当前节点若被选中
        // if (thisNode.data.id !== '1') {
        //   this.checkAllChild(thisNode, keys)
        // }
        for (let i = thisNode.level; i > 1; i--) { // 判断是否有父级节点
          if (!thisNode.parent.checked) { // 父级节点未被选中,则将父节点替换成当前节点,往上继续查询,并将此节点key存入keys数组
            thisNode = thisNode.parent
            keys.push(thisNode.data.id)
          }
        }
      }
      this.$refs.deptTree.setCheckedKeys(keys) // 将所有keys数组的节点全选中
    },
    checkAllChild(data, keys) {
      if (data.childNodes.length === 0) {
        return
      } else {
        for (let i = 0; i < data.childNodes.length; i++) {
          if (!data.childNodes[i].checked) {
            keys.push(data.childNodes[i].data.id)
          }
          this.checkAllChild(data.childNodes[i], keys)
        }
      }
    },
    submitForm() {
      this.$refs.form.validate((valid) => {
        if (valid) {