findUserByDept.vue 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. <template>
  2. <div class="app-container">
  3. <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
  4. <el-form-item label="姓名" prop="nickName">
  5. <el-input
  6. v-model="queryParams.nickName"
  7. placeholder="姓名"
  8. />
  9. </el-form-item>
  10. <el-form-item label="手机号" prop="phonenumber">
  11. <el-input
  12. v-model="queryParams.phonenumber"
  13. placeholder="手机号"
  14. />
  15. </el-form-item>
  16. <el-form-item label="部门列表" prop="deptId" v-if="ishy">
  17. <el-select v-model="queryParams.deptId" @change="getList" clearable>
  18. <el-option v-for="item in depteventList" :key="item.deptId" :label="item.deptName" :value="item.deptId" />
  19. </el-select>
  20. </el-form-item>
  21. <el-form-item>
  22. <el-button type="primary" icon="el-icon-search" size="mini" @click="getList">搜索</el-button>
  23. <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
  24. <el-button icon="el-icon-success" type="primary" size="mini" @click="addSelection">确认</el-button>
  25. </el-form-item>
  26. </el-form>
  27. <el-table v-loading="loading" :data="userList" @selection-change="handleSelectionChange" :height="ishy?'645':'690'">
  28. <el-table-column align="center" type="selection" width="60"></el-table-column>
  29. <el-table-column label="姓名" align="center" prop="nickName"></el-table-column>
  30. <el-table-column label="岗位" align="center" prop="postName" ></el-table-column>
  31. <el-table-column label="手机号" align="center" prop="phonenumber"></el-table-column>
  32. </el-table>
  33. </div>
  34. </template>
  35. <script>
  36. import {userFeginlist} from "@/api/forest";
  37. export default {
  38. name: "findUserByDept",
  39. data() {
  40. return {
  41. // 遮罩层
  42. loading: true,
  43. // 选中数组
  44. ids: [],
  45. // 非单个禁用
  46. single: true,
  47. // 非多个禁用
  48. multiple: false,
  49. // 显示搜索条件
  50. showSearch: true,
  51. // 总条数
  52. total: 0,
  53. // 可视化前端配置表表格数据
  54. userList: [],
  55. // 弹出层标题
  56. title: "",
  57. // 是否显示弹出层
  58. open: false,
  59. // 查询参数
  60. queryParams: {
  61. deptId: null,
  62. nickName:null,
  63. phonenumber:null,
  64. deptIds:[]
  65. },
  66. // 表单参数
  67. form: {},
  68. resUser:[],
  69. };
  70. },
  71. props: {
  72. deptId: {
  73. type: String,
  74. required: true
  75. },
  76. depteventList: {
  77. type: Array,
  78. required: true
  79. },
  80. ishy: {
  81. type: Boolean,
  82. required: true
  83. }
  84. },
  85. created() {
  86. this.queryParams.deptId = this.deptId;
  87. this.getList();
  88. },
  89. methods: {
  90. /** 查询可视化前端配置表列表 */
  91. getList() {
  92. this.loading = true;
  93. const deptIdAll = [];
  94. if(this.queryParams.deptId == null ||this.queryParams.deptId == undefined || this.queryParams.deptId == ''){
  95. for (let i in this.depteventList){
  96. deptIdAll.push(this.depteventList[i].deptId);
  97. }
  98. this.queryParams.deptIds = deptIdAll
  99. }
  100. userFeginlist(this.queryParams).then(response => {
  101. this.userList = response.data;
  102. this.loading = false;
  103. });
  104. },
  105. /** 重置按钮操作 */
  106. resetQuery() {
  107. this.queryParams.nickName=null;
  108. this.queryParams.phonenumber=null;
  109. this.getList();
  110. },
  111. // 多选框选中数据
  112. handleSelectionChange(selection) {
  113. this.resUser = [];
  114. for (let i in selection){
  115. const res = {};
  116. res.id = '';
  117. res.userId = selection[i].userId;
  118. res.dept = '';
  119. res.depteventId = '';
  120. res.name = selection[i].nickName;
  121. res.post = selection[i].postName;
  122. res.telphone = selection[i].phonenumber;
  123. this.resUser.push(res);
  124. }
  125. },
  126. //数据提交到父页
  127. addSelection(){
  128. this.$emit("addSelection",this.resUser);
  129. }
  130. }
  131. };
  132. </script>