|  |  | 
 |  |  |       <el-form-item label="手机号码" prop="mobile"> | 
 |  |  |         <el-input v-model="searchForm.mobile" v-trim placeholder="请输入手机号码" @keypress.enter.native="search"/> | 
 |  |  |       </el-form-item> | 
 |  |  |             <el-form-item label="所属部门" prop="rootDeptId"> | 
 |  |  |         <DepartmentSelect v-model="searchForm.rootDeptId" placeholder="请选择所属部门" clearable/> | 
 |  |  |       <el-form-item label="组织" prop="companyName"> | 
 |  |  |         <el-input v-model="searchForm.companyName" v-trim placeholder="请输入组织" @keypress.enter.native="search"/> | 
 |  |  |       </el-form-item> | 
 |  |  |       <el-form-item label="岗位" prop="positionId"> | 
 |  |  |         <PositionSelect v-model="searchForm.positionId" placeholder="请选择岗位" clearable/> | 
 |  |  |       <el-form-item label="角色" prop="roleId"> | 
 |  |  |         <el-select v-model="searchForm.roleId" placeholder="请选择角色" @change="search"> | 
 |  |  |           <el-option :label="item.name" :value="item.id" v-for="(item, index) in rolesList" :key="index"></el-option> | 
 |  |  |         </el-select> | 
 |  |  |       </el-form-item> | 
 |  |  | <!--            <el-form-item label="所属部门" prop="rootDeptId">--> | 
 |  |  | <!--        <DepartmentSelect v-model="searchForm.rootDeptId" placeholder="请选择所属部门" clearable/>--> | 
 |  |  | <!--      </el-form-item>--> | 
 |  |  | <!--      <el-form-item label="岗位" prop="positionId">--> | 
 |  |  | <!--        <PositionSelect v-model="searchForm.positionId" placeholder="请选择岗位" clearable/>--> | 
 |  |  | <!--      </el-form-item>--> | 
 |  |  |       <section> | 
 |  |  |         <el-button type="primary" icon="el-icon-search" @click="search">搜索</el-button> | 
 |  |  |         <el-button @click="reset">重置</el-button> | 
 |  |  | 
 |  |  |         <li v-permissions="['system:user:delete']"><el-button icon="el-icon-delete" @click="deleteByIdInBatch">删除</el-button></li> | 
 |  |  |       </ul> | 
 |  |  |       <el-table | 
 |  |  |         v-loading="isWorking.search" | 
 |  |  |         :data="tableData.list" | 
 |  |  |         :default-sort = "{prop: 'createTime', order: 'descending'}" | 
 |  |  |         stripe | 
 |  |  |         @selection-change="handleSelectionChange" | 
 |  |  |         @sort-change="handleSortChange" | 
 |  |  |       > | 
 |  |  |           :height="tableHeightNew" | 
 |  |  |           v-loading="isWorking.search" | 
 |  |  |           :data="tableData.list" | 
 |  |  |           :default-sort = "{prop: 'createTime', order: 'descending'}" | 
 |  |  |           stripe | 
 |  |  |           @selection-change="handleSelectionChange" | 
 |  |  |           @sort-change="handleSortChange" | 
 |  |  |         > | 
 |  |  |         <el-table-column type="selection" width="55"></el-table-column> | 
 |  |  | <!--        <el-table-column prop="avatar" label="头像" width="80px" class-name="table-column-avatar" fixed="left">--> | 
 |  |  | <!--          <template slot-scope="{row}">--> | 
 |  |  | <!--            <img :src="row.avatar == null ? '/static/avatar/man.png' : row.avatar">--> | 
 |  |  | <!--          </template>--> | 
 |  |  | <!--        </el-table-column>--> | 
 |  |  |         <el-table-column prop="realname" label="姓名" min-width="100px" fixed="left"></el-table-column> | 
 |  |  |         <el-table-column prop="realname" label="姓名" width="80px" fixed="left"></el-table-column> | 
 |  |  |         <el-table-column prop="username" label="用户名" min-width="120px"></el-table-column> | 
 |  |  |         <el-table-column prop="empNo" label="工号" sortable="custom" sort-by="EMP_NO" min-width="80px"></el-table-column> | 
 |  |  |         <el-table-column prop="department" label="部门" min-width="120px"> | 
 |  |  |           <template slot-scope="{row}">{{row.department == null ? '' : row.department.name}}</template> | 
 |  |  |         </el-table-column> | 
 |  |  |         <el-table-column prop="position" label="岗位" min-width="160px" class-name="table-column-strings"> | 
 |  |  |           <template slot-scope="{row}"> | 
 |  |  |             <ul> | 
 |  |  |               <li v-for="position in row.positions" :key="position.id">{{position.name}}</li> | 
 |  |  |             </ul> | 
 |  |  |           </template> | 
 |  |  |         </el-table-column> | 
 |  |  |         <el-table-column prop="companyName" label="所属组织" show-overflow-tooltip  min-width="250px"></el-table-column> | 
 |  |  | <!--        <el-table-column prop="department" label="部门" min-width="120px">--> | 
 |  |  | <!--          <template slot-scope="{row}">{{row.department == null ? '' : row.department.name}}</template>--> | 
 |  |  | <!--        </el-table-column>--> | 
 |  |  | <!--        <el-table-column prop="position" label="岗位" min-width="160px" class-name="table-column-strings">--> | 
 |  |  | <!--          <template slot-scope="{row}">--> | 
 |  |  | <!--            <ul>--> | 
 |  |  | <!--              <li v-for="position in row.positions" :key="position.id">{{position.name}}</li>--> | 
 |  |  | <!--            </ul>--> | 
 |  |  | <!--          </template>--> | 
 |  |  | <!--        </el-table-column>--> | 
 |  |  |         <el-table-column prop="sex" label="性别" sortable="custom" sort-by="SEX" min-width="80px"> | 
 |  |  |           <template slot-scope="{row}"> | 
 |  |  |             {{row.sex | sex}} | 
 |  |  |           </template> | 
 |  |  |         </el-table-column> | 
 |  |  |         <el-table-column prop="mobile" label="手机号码" min-width="100px"></el-table-column> | 
 |  |  |         <el-table-column prop="email" label="邮箱" min-width="180px"></el-table-column> | 
 |  |  |         <el-table-column prop="birthday" label="生日" sortable="custom" sort-by="BIRTHDAY" min-width="100px"></el-table-column> | 
 |  |  |         <el-table-column prop="openid" label="微信openid" show-overflow-tooltip min-width="100px"></el-table-column> | 
 |  |  | <!--        <el-table-column prop="email" label="邮箱" min-width="180px"></el-table-column>--> | 
 |  |  | <!--        <el-table-column prop="birthday" label="生日" sortable="custom" sort-by="BIRTHDAY" min-width="100px"></el-table-column>--> | 
 |  |  |         <el-table-column prop="roles" label="角色" min-width="160px" class-name="table-column-strings"> | 
 |  |  |           <template slot-scope="{row}"> | 
 |  |  |             <ul> | 
 |  |  | 
 |  |  |             </ul> | 
 |  |  |           </template> | 
 |  |  |         </el-table-column> | 
 |  |  |         <el-table-column prop="prohibitStatus" label="禁止登录" min-width="160px" class-name="table-column-strings"> | 
 |  |  |           <template slot-scope="{row}"> | 
 |  |  |             <el-switch | 
 |  |  |               v-model="row.prohibitStatus" | 
 |  |  |               @change="changeStatus($event, row.id)" | 
 |  |  |               active-color="#13ce66" | 
 |  |  |               inactive-color="#ff4949" | 
 |  |  |               :active-value="0" | 
 |  |  |               :inactive-value="1"> | 
 |  |  |             </el-switch> | 
 |  |  |           </template> | 
 |  |  |         </el-table-column> | 
 |  |  |         <el-table-column prop="prohibitRemark" label="禁用备注" min-width="100px"></el-table-column> | 
 |  |  |         <el-table-column label="初始化密码" min-width="100px"> | 
 |  |  |           <template slot-scope="{row}"> | 
 |  |  |             <span v-if="row.needChangePwd === 0">{{row.firstPassword}}</span> | 
 |  |  |             <span v-else>-</span> | 
 |  |  |           </template> | 
 |  |  |         </el-table-column> | 
 |  |  |         <el-table-column prop="createUser" label="创建人" min-width="100px"> | 
 |  |  |           <template slot-scope="{row}">{{row.createUserInfo == null ? '' : row.createUserInfo.username}}</template> | 
 |  |  |         </el-table-column> | 
 |  |  |         <el-table-column prop="createTime" label="创建时间" sortable="custom" sort-by="CREATE_TIME" min-width="140px"></el-table-column> | 
 |  |  |         <el-table-column prop="createTime" label="创建时间" sortable="custom" sort-by="CREATE_TIME" min-width="150px"></el-table-column> | 
 |  |  |         <el-table-column prop="updateUser" label="更新人" min-width="100px"> | 
 |  |  |           <template slot-scope="{row}">{{row.updateUserInfo == null ? '' : row.updateUserInfo.username}}</template> | 
 |  |  |         </el-table-column> | 
 |  |  |         <el-table-column prop="updateTime" label="更新时间" sortable="custom" sort-by="UPDATE_TIME" min-width="140px"></el-table-column> | 
 |  |  |         <el-table-column prop="updateTime" label="更新时间" sortable="custom" sort-by="UPDATE_TIME" min-width="150px"></el-table-column> | 
 |  |  |         <el-table-column | 
 |  |  |           v-if="containPermissions(['system:user:update', 'system:user:createUserRole', 'system:user:resetPwd', 'system:user:delete'])" | 
 |  |  |           label="操作" | 
 |  |  | 
 |  |  | import ResetPwdWindow from '@/components/system/user/ResetPwdWindow' | 
 |  |  | import DepartmentSelect from '@/components/common/DepartmentSelect' | 
 |  |  | import PositionSelect from '@/components/common/PositionSelect' | 
 |  |  |  | 
 |  |  | import { fetchAll as fetchAllRoles, fetchAll } from '@/api/system/role' | 
 |  |  | import { updUserProhibitStatus } from '@/api/system/user' | 
 |  |  | export default { | 
 |  |  |   name: 'SystemUser', | 
 |  |  |   extends: BaseTable, | 
 |  |  | 
 |  |  |         realname: '', // 姓名 | 
 |  |  |         rootDeptId: null, // 部门ID | 
 |  |  |         positionId: null, // 岗位ID | 
 |  |  |         companyName: null, // 企业名称 | 
 |  |  |         roleId: null, // 角色 | 
 |  |  |         mobile: '' // 手机号码 | 
 |  |  |       } | 
 |  |  |       }, | 
 |  |  |       rolesList: [] | 
 |  |  |     } | 
 |  |  |   }, | 
 |  |  |   created () { | 
 |  |  | 
 |  |  |       }] | 
 |  |  |     }) | 
 |  |  |     this.search() | 
 |  |  |     fetchAllRoles() | 
 |  |  |       .then(records => { | 
 |  |  |         this.rolesList = records | 
 |  |  |       }) | 
 |  |  |       .catch(e => { | 
 |  |  |         this.$tip.apiFailed(e) | 
 |  |  |       }) | 
 |  |  |   }, | 
 |  |  |   methods: { | 
 |  |  |     changeStatus(prohibitStatus, id) { | 
 |  |  |       console.log(id) | 
 |  |  |       console.log(prohibitStatus) | 
 |  |  |       updUserProhibitStatus({ | 
 |  |  |         prohibitStatus, | 
 |  |  |         id | 
 |  |  |       }).then(res => { | 
 |  |  |         this.search() | 
 |  |  |       }) | 
 |  |  |     } | 
 |  |  |   } | 
 |  |  | } | 
 |  |  | </script> |