whycwx
2021-12-10 2487eafc338a7de98a19c1c444dc4efaa799702e
用户管理页面
3个文件已修改
316 ■■■■■ 已修改文件
src/views/userMager/addEdit.vue 202 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/userMager/apis/apis.js 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/userMager/userInfo.vue 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/userMager/addEdit.vue
@@ -12,13 +12,13 @@
        <div class="table-row">
          <el-form-item label="维护区:" class="table-cell">
            <el-select
              v-model="formData.UDepartment"
              v-model="formData.udepartment"
              size="mini"
              placeholder="请选择维护区"
              class="width_140"
            >
              <el-option
                v-for="item in UDepartmentList"
                v-for="item in udepartmentList"
                :key="item.value"
                :label="item.label"
                :value="item.value"
@@ -26,10 +26,10 @@
              </el-option>
            </el-select>
          </el-form-item>
          <el-form-item label="姓名:" class="table-cell" prop="UName">
          <el-form-item label="姓名:" class="table-cell" prop="uname">
            <el-input
              class="width_140"
              v-model="formData.UName"
              v-model="formData.uname"
              size="mini"
              placeholder="请输入姓名"
            ></el-input>
@@ -37,12 +37,12 @@
          <el-form-item
            label="密码:"
            class="table-cell"
            prop="Upassword"
            prop="upassword"
            v-if="status == 'add'"
          >
            <el-input
              class="width_140"
              v-model="formData.Upassword"
              v-model="formData.upassword"
              type="password"
              size="mini"
              placeholder="请输入密码"
@@ -52,7 +52,7 @@
          <el-form-item label="性别:" class="table-cell">
            <el-select
              class="width_140"
              v-model="formData.USex"
              v-model="formData.usex"
              size="mini"
              placeholder="请选择性别"
            >
@@ -61,10 +61,10 @@
            </el-select>
          </el-form-item>
          <div class="clear" v-if="status == 'edit'"></div>
          <el-form-item label="手机:" class="table-cell" prop="UMobilephone">
          <el-form-item label="手机:" class="table-cell" prop="umobilephone">
            <el-input
              class="width_140"
              v-model="formData.UMobilephone"
              v-model="formData.umobilephone"
              size="mini"
              placeholder="请输入手机"
            >
@@ -74,7 +74,7 @@
          <el-form-item label="邮箱:" class="table-cell">
            <el-input
              class="width_140"
              v-model="formData.UEmail"
              v-model="formData.uemail"
              size="mini"
              placeholder="请输入邮箱"
            >
@@ -83,13 +83,13 @@
          <div class="clear" v-if="status == 'add'"></div>
          <el-form-item label="工作班组:" class="table-cell">
            <el-select
              v-model="formData.UJobGroup"
              v-model="formData.ujobGroup"
              size="mini"
              placeholder="请选择工作班组"
              class="width_140"
            >
              <el-option
                v-for="item in UJobGroupList"
                v-for="item in ujobGroupList"
                :key="item.value"
                :label="item.label"
                :value="item.value"
@@ -100,13 +100,13 @@
          <div class="clear" v-if="status == 'edit'"></div>
          <el-form-item label="用户角色:" class="table-cell">
            <el-select
              v-model="formData.uRole"
              v-model="formData.urole"
              size="mini"
              placeholder="请选择用户角色"
              class="width_140"
            >
              <el-option
                v-for="item in URoleList"
                v-for="item in uroleList"
                :key="item.value"
                :label="item.label"
                :value="item.value"
@@ -117,31 +117,31 @@
        </div>
        <!-- <div class="clear" v-if="status == 'edit'"></div> -->
        <!-- <el-form-item label="身份证号:" class="table-cell">
                <el-input class="width_140" v-model="formData.UShenFenId" size="mini" placeholder="请输入身份证号"></el-input>
                <el-input class="width_140" v-model="formData.ushenFenId" size="mini" placeholder="请输入身份证号"></el-input>
            </el-form-item> -->
        <!-- <el-form-item label="员工编号:" class="table-cell">
                <el-input class="width_140" v-model="formData.UEmployeeId" size="mini" placeholder="请输入员工编号"></el-input>
                <el-input class="width_140" v-model="formData.uemployeeId" size="mini" placeholder="请输入员工编号"></el-input>
            </el-form-item> -->
        <!-- <div class="clear" style="clear:both" v-if="status == 'add'"></div> -->
        <!-- <el-form-item label="出生日期:" class="table-cell" prop="UBirthDay">
                <el-date-picker class="width_140" v-model="formData.UBirthDay" size="mini" type="date" placeholder="选择日期"> </el-date-picker>
        <!-- <el-form-item label="出生日期:" class="table-cell" prop="ubirthDay">
                <el-date-picker class="width_140" v-model="formData.ubirthDay" size="mini" type="date" placeholder="选择日期"> </el-date-picker>
            </el-form-item> -->
      </div>
      <!-- <div class="staff">
        <p> <span class="iconfont el-icon-icon-sms"></span> 员工联系方式</p>
        <div class="table-row">
            <el-form-item label="电话:" class="table-cell">
                <el-input class="width_140" v-model="formData.UTelephone" size="mini" placeholder="请输入电话"></el-input>
                <el-input class="width_140" v-model="formData.utelephone" size="mini" placeholder="请输入电话"></el-input>
            </el-form-item>
            <el-form-item label="手机:" class="table-cell" prop="UMobilephone">
                <el-input class="width_140" v-model="formData.UMobilephone" size="mini" placeholder="请输入手机"></el-input>
            <el-form-item label="手机:" class="table-cell" prop="umobilephone">
                <el-input class="width_140" v-model="formData.umobilephone" size="mini" placeholder="请输入手机"></el-input>
            </el-form-item>
            <el-form-item label="邮箱:" class="table-cell">
                <el-input class="width_140" v-model="formData.UEmail" size="mini" placeholder="请输入邮箱"></el-input>
                <el-input class="width_140" v-model="formData.uemail" size="mini" placeholder="请输入邮箱"></el-input>
            </el-form-item>
            <div class="clear" style="clear:both"></div>
            <el-form-item label="地址:" class="table-cell">
                <el-input class="width_140" v-model="formData.UAddr" size="mini" placeholder="请输入地址"></el-input>
                <el-input class="width_140" v-model="formData.uaddr" size="mini" placeholder="请输入地址"></el-input>
            </el-form-item>
        </div>
    </div> -->
@@ -149,28 +149,28 @@
        <p> <span class="iconfont el-icon-yanjiangzhe"></span> 员工工作内容</p>
        <div class="table-row">
            <el-form-item label="职称:" class="table-cell">
                <el-input class="width_140" v-model="formData.UProTitle" size="mini" placeholder="请输入职称"></el-input>
                <el-input class="width_140" v-model="formData.uproTitle" size="mini" placeholder="请输入职称"></el-input>
            </el-form-item>
            
            <el-form-item label="备注:" class="table-cell">
                <el-input class="width_140" v-model="formData.UNote" size="mini" placeholder="请输入备注"></el-input>
                <el-input class="width_140" v-model="formData.unote" size="mini" placeholder="请输入备注"></el-input>
            </el-form-item>
           
            <el-form-item label="工作内容:" class="table-cell">
                <el-input class="width_140" v-model="formData.UTasks" size="mini" placeholder="请输入工作内容"></el-input>
                <el-input class="width_140" v-model="formData.utasks" size="mini" placeholder="请输入工作内容"></el-input>
            </el-form-item>
             <div class="clear:both"></div>
            <el-form-item label="工作职责:" class="table-cell">
                <el-input class="width_140" v-model="formData.UDuties" size="mini" placeholder="请输入工作职责"></el-input>
                <el-input class="width_140" v-model="formData.uduties" size="mini" placeholder="请输入工作职责"></el-input>
            </el-form-item>
            <el-form-item label="权限描述:" class="table-cell">
                <el-input class="width_140" v-model="formData.UAuthority" size="mini" placeholder="请输入权限描述"></el-input>
                <el-input class="width_140" v-model="formData.uauthority" size="mini" placeholder="请输入权限描述"></el-input>
            </el-form-item>
            
            <el-form-item label="工作班组:" class="table-cell">
                <el-select v-model="formData.UJobGroup"  size="mini" placeholder="请选择工作班组" class="width_140">
                <el-select v-model="formData.ujobGroup"  size="mini" placeholder="请选择工作班组" class="width_140">
                    <el-option
                    v-for="item in UJobGroupList"
                    v-for="item in ujobGroupList"
                    :key="item.value"
                    :label="item.label"
                    :value="item.value">
@@ -179,7 +179,7 @@
            </el-form-item>
            <div class="clear:both"></div>
            <el-form-item label="是否包机人:" class="table-cell">
                <el-select v-model="formData.UBaojiusr"  size="mini" placeholder="请选择是否包机人" class="width_140">
                <el-select v-model="formData.ubaojiusr"  size="mini" placeholder="请选择是否包机人" class="width_140">
                    <el-option label="是" :value="1"></el-option>
                    <el-option label="否" :value="0"></el-option>
                </el-select>
@@ -201,16 +201,17 @@
  </div>
</template>
<script>
// import { searchProvince } from "../../assets/js/api";
import { searchProvince } from "../../assets/js/api";
import { groupAndUserListOfCurrentUser,user } from './apis/apis'
export default {
  // name:'addEdit',
  props: ["status", "opt", "index", "seft"],
  data() {
    return {
      dialog: false,
      UDepartmentList: [],
      UJobGroupList: [],
      URoleList: [
      udepartmentList: [],
      ujobGroupList: [],
      uroleList: [
        {
          label: "领导层",
          value: 10
@@ -229,54 +230,54 @@
        },
      ],
      formData: {
        UId: this.opt.UId || 0,
        Upassword: this.opt.Upassword || "",
        USnId: this.opt.USnId || "",
        UName: this.opt.UName || "",
        UShenFenId: this.opt.UShenFenId || "",
        UTelephone: this.opt.UTelephone || "",
        UEmail: this.opt.UEmail || "",
        UAddr: this.opt.UAddr || "",
        UBirthDay:
          this.opt.UBirthDay || new Date().format("yyyy-MM-dd hh:mm:ss"),
        UAccessionDay:
          this.opt.UAccessionDay || new Date().format("yyyy-MM-dd hh:mm:ss"),
        USex: this.opt.USex || "",
        UDepartment: this.opt.UDepartment || "",
        UProTitle: this.opt.UProTitle || "",
        UJobGroup: this.opt.UJobGroup || "",
        UDuties: this.opt.UDuties || "",
        UTasks: this.opt.UTasks || "",
        UBaojiusr: this.opt.UBaojiusr || 0,
        UNote: this.opt.UNote || "",
        UAuthority: this.opt.UAuthority || "",
        UMobilephone: this.opt.UMobilephone || "",
        UEmployeeId: this.opt.UEmployeeId || "",
        uRole: 0,
        uid: this.opt.uid || 0,
        upassword: this.opt.upassword || "",
        usnId: this.opt.usnId || "",
        uname: this.opt.uname || "",
        ushenFenId: this.opt.ushenFenId || "",
        utelephone: this.opt.utelephone || "",
        uemail: this.opt.uemail || "",
        uaddr: this.opt.uaddr || "",
        // ubirthDay:
        //   this.opt.ubirthDay || new Date().format("yyyy-MM-dd hh:mm:ss"),
        // uaccessionDay:
        //   this.opt.uaccessionDay || new Date().format("yyyy-MM-dd hh:mm:ss"),
        usex: this.opt.usex || "",
        udepartment: this.opt.udepartment || "",
        uproTitle: this.opt.uproTitle || "",
        ujobGroup: this.opt.ujobGroup || "",
        uduties: this.opt.uduties || "",
        utasks: this.opt.utasks || "",
        ubaojiusr: this.opt.ubaojiusr || 0,
        unote: this.opt.unote || "",
        uauthority: this.opt.uauthority || "",
        umobilephone: this.opt.umobilephone || "",
        uemployeeId: this.opt.uemployeeId || "",
        urole: 0,
      },
      rules: {
        UName: [
        uname: [
          {
            required: true,
            message: "请输入姓名",
            trigger: "blur",
          },
        ],
        Upassword: [
        upassword: [
          {
            required: true,
            message: "请输入密码",
            trigger: "blur",
          },
        ],
        UBirthDay: [
        ubirthDay: [
          {
            required: true,
            message: "请选择出生日期",
            trigger: "blur",
          },
        ],
        UMobilephone: [
        umobilephone: [
          {
            required: true,
            message: "请输入手机",
@@ -289,7 +290,7 @@
            trigger: "blur",
          },
        ],
        UAccessionDay: [
        uaccessionDay: [
          {
            required: true,
            message: "请选择入职日期",
@@ -303,59 +304,56 @@
    this.queryWhq(); //维护区
    this.queryGzbz(); //工作班组
    if (this.status == "add") {
      this.formData.uRole = 2;
      this.formData.urole = 2;
    } else {
      this.formData.uRole = this.opt.uRole;
      this.formData.urole = this.opt.urole;
    }
  },
  methods: {
    // 查询工作班组
    queryGzbz: function() {
      let vm = this;
      vm.$apis.userMager.baojiGroup
        .searchBaojiGroup()
        .then((res) => {
          let re = JSON.parse(res.data.result);
      groupAndUserListOfCurrentUser().then((res) => {
          let re = res.data;
          let params = [];
          if (re.code == 1) {
            re.data.forEach((list) => {
              let objs = {
                label: list.Chart_name,
                value: list.Chart_name,
                label: list.baoJiGroupName,
                value: list.baoJiGroupId,
              };
              params.push(objs);
            });
            vm.UJobGroupList = params;
            vm.ujobGroupList = params;
          }
          if (vm.formData.UJobGroup == "" && params.length > 0) {
            vm.formData.UJobGroup = vm.UJobGroupList[0].value;
          if (vm.formData.ujobGroup == "" && params.length > 0) {
            vm.formData.ujobGroup = vm.ujobGroupList[0].value;
          }
        })
        .catch((error) => {});
    },
    // 查询维护区
    queryWhq: function() {
      // let vm = this;
      // searchProvince()
      //   .then((res) => {
      //     let rs = JSON.parse(res.data.result);
      //     let params = [];
      //     if (rs.code == 1) {
      //       rs.data.forEach((list) => {
      //         let obj = {
      //           label: list,
      //           value: list,
      //         };
      //         params.push(obj);
      //       });
      //       vm.UDepartmentList = params;
      //     }
      let vm = this;
      searchProvince().then((res) => {
          let rs = res.data;
          let params = [];
          if (rs.code == 1) {
            rs.data.forEach((list) => {
              let obj = {
                label: list,
                value: list,
              };
              params.push(obj);
            });
            vm.udepartmentList = params;
          }
      //     if (vm.formData.UDepartment == "") {
      //       vm.formData.UDepartment = vm.UDepartmentList[0].value;
      //     }
      //   })
      //   .catch((err) => {});
          if (vm.formData.udepartment == "") {
            vm.formData.udepartment = vm.udepartmentList[0].value;
          }
        })
        .catch((err) => {});
    },
    // 取消隐藏弹框
    cancelOpen: function() {
@@ -374,10 +372,8 @@
              vm.addUser(vm.formData);
              break;
            case "edit": //修改
              vm.$apis.userMager.userInfo
                .edit(data)
                .then((res) => {
                  let result = JSON.parse(res.data.result);
              user(data,"PUT").then((res) => {
                  let result = res.data;
                  if (result.code == 1) {
                    vm.$emit("success", result);
                  } else {
@@ -397,11 +393,9 @@
    // 新增用户
    addUser(data) {
      let vm = this;
      data.USnId = data.Upassword;
      vm.$apis.userMager.userInfo
        .add(data)
        .then((res) => {
          let result = JSON.parse(res.data.result);
      data.usnId = data.upassword;
      user(data,"POST").then((res) => {
          let result = res.data;
          if (result.code == 1) {
            vm.$emit("success", result);
          } else {
src/views/userMager/apis/apis.js
@@ -10,4 +10,76 @@
                    url: '/user/page',
                    params: data
                });
            }
            }
/*
*查询包机组/班组
*传参:无参
*
*/
export const groupAndUserListOfCurrentUser = function () {
    return axios({
        method: 'GET',
        url: '/baoJiGroupUser/groupAndUserListOfCurrentUser',
        params: null
    });
}
/*
*添加、编辑用户
*传参:{
    "face": {
        "id": 0,
        "url": ""
    },
    "license": "",
    "loginType": 0,
    "uaccessionDay": "",
    "uaddr": "",
    "uauthority": "",
    "ubaojiUsr": 0,
    "ubirthDay": "",
    "udepartment": "",
    "uduties": "",
    "uemail": "",
    "uemployeeId": "",
    "uid": 0,
    "ujobGroup": "",
    "ukeyId": "",
    "umobilephone": "",
    "uname": "",
    "unote": "",
    "upassword": "",
    "uproTitle": "",
    "upubKeyX": "",
    "upubKeyY": "",
    "urole": 0,
    "usex": "",
    "ushenFenId": "",
    "usnId": "",
    "utasks": "",
    "utelephone": ""
}
*请求方式:新增 = PUT  编辑 = POST
*/
export const user = function (data,str) {
    return axios({
        method: str,
        url: '/user',
        data: data
    });
}
/*
*删除用户信息
*传参:{id:10086}
*
*/
export const deleteInfo = function (data) {
    return axios({
        method: 'DELETE',
        url: '/user',
        params: data
    });
}
src/views/userMager/userInfo.vue
@@ -63,7 +63,7 @@
</template>
<script>
<script>
    // import { Form } from 'element-ui'
    import addEdit from './addEdit'
    import { Dialog } from 'element-ui'
@@ -71,13 +71,13 @@
    // 引入导出表格
    import { export_json_to_excel } from '@/assets/js/excel/Export2Excel'
    import { isHasPermit } from "@/assets/js/tools";
    import { userPage } from './apis/apis'
    import { userPage,deleteInfo } from './apis/apis'
    export default {
        data() {
            let permits = this.$store.state.user.permits;
            let isCanEdit = isHasPermit('usr_edit_permit', permits);
            return {
                isCanEdit: isCanEdit,
                isCanEdit: true,//isCanEdit,
                currentPage: 1,
                pagesize: 10,
                totalNum: 0,
@@ -114,9 +114,9 @@
                let tHeader = ['维护区', '姓名', '身份证号', '员工编号', '电话', '手机', '邮箱', '地址', '出生日期', '入职日期', '性别', '职称', '权限描述',
                    '工作班组', '工作职责', '工作内容', '是否包机人', '备注', '权限组'
                ];
                let filterVal = ['UDepartment', 'UName', 'UShenFenId', 'UEmployeeId', 'UTelephone', 'UMobilephone',
                    'UEmail', 'UAddr', 'UBirthDay', 'UAccessionDay', 'USex', 'UProTitle', 'UAuthority', 'UJobGroup',
                    'UDuties', 'UTasks', 'UisBaojiusr', 'UNote', 'UId'
                let filterVal = ['udepartment', 'uname', 'ushenFenId', 'uemployeeId', 'utelephone', 'umobilephone',
                    'uemail', 'uaddr', 'ubirthDay', 'uaccessionDay', 'usex', 'uproTitle', 'uauthority', 'ujobGroup',
                    'uduties', 'utasks', 'uisBaojiusr', 'unote', 'uid'
                ];
                let list = this.userList;
                if (list.length > 0) {
@@ -169,8 +169,8 @@
                    icon: 3
                }, function (index) {
                    vm.$layer.close(index);
                    vm.$apis.userMager.userInfo.del(data).then(res => {
                        let result = JSON.parse(res.data.result)
                    deleteInfo({id:data.uid}).then(res => {
                        let result = res.data;
                        vm.$layer.msg(result.msg)
                        vm.queryData();
                    }).catch(error => {
@@ -204,34 +204,33 @@
                        this.$layer.close(loading);
                        let rs = res.data;
                        let data = [];
                        if (rs.records.length>0) {
                            data = rs.records.map(item => {
                        if (rs.data.records.length>0) {
                            data = rs.data.records.map(item => {
                                return item;
                            });
                            if (data.length > 0) {
                                vm.totalNum = rs.total;
                                vm.totalNum = rs.data.total;
                            } else {
                                vm.totalNum = 0;
                            }
                    }
                    this.userList = data;
                    this.userList.map(item => {
                        switch (item.uRole) {
                        switch (item.urole) {
                            case 0:
                                item.URoleText = '管理员'
                                item.uroleText = '管理员'
                                break;
                            case 1:
                                item.URoleText = '维护组长'
                                item.uroleText = '维护组长'
                                break;
                            case 2:
                                item.URoleText = '维护组员'
                                item.uroleText = '维护组员'
                                break;
                            case 10:
                              item.URoleText = '领导层';
                              item.uroleText = '领导层';
                              break;
                        }
                    })
                    console.log(this.userList)
                }).catch(error => {
                });
@@ -245,7 +244,12 @@
            success: function (result) {
                let vm = this;
                vm.centerDialogVisible = false;
                vm.$layer.msg(result.msg)
                if(vm.status=="add"){
                    vm.$layer.msg("新增用户成功!")
                }else{
                    vm.$layer.msg("更新用户信息成功!")
                }
                vm.queryData();
            }
        },