|  |  | @ -5,27 +5,12 @@ | 
			
		
	
		
			
				
					|  |  |  |       <el-col :xs="9" :sm="6" :md="5" :lg="4" :xl="4"> | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |         <div class="head-container" style="padding-left:0"> | 
			
		
	
		
			
				
					|  |  |  |           <el-input | 
			
		
	
		
			
				
					|  |  |  |             v-model="deptName" | 
			
		
	
		
			
				
					|  |  |  |             clearable | 
			
		
	
		
			
				
					|  |  |  |             size="small" | 
			
		
	
		
			
				
					|  |  |  |             placeholder="输入部门名称搜索" | 
			
		
	
		
			
				
					|  |  |  |             prefix-icon="el-icon-search" | 
			
		
	
		
			
				
					|  |  |  |             class="filter-item" | 
			
		
	
		
			
				
					|  |  |  |             @input="getDeptDatas" | 
			
		
	
		
			
				
					|  |  |  |           /> | 
			
		
	
		
			
				
					|  |  |  |           <el-input v-model="deptName" clearable size="small" placeholder="输入部门名称搜索" prefix-icon="el-icon-search" class="filter-item" @input="getDeptDatas" /> | 
			
		
	
		
			
				
					|  |  |  |         </div> | 
			
		
	
		
			
				
					|  |  |  |         <div class="container-left" style="min-height: calc(100vh - 262px)"> | 
			
		
	
		
			
				
					|  |  |  |           <span class="right-top-line" /> | 
			
		
	
		
			
				
					|  |  |  |           <span class="left-bottom-line" /> | 
			
		
	
		
			
				
					|  |  |  |           <el-tree | 
			
		
	
		
			
				
					|  |  |  |             :data="deptDatas" | 
			
		
	
		
			
				
					|  |  |  |             :load="getDeptDatas" | 
			
		
	
		
			
				
					|  |  |  |             :props="defaultProps" | 
			
		
	
		
			
				
					|  |  |  |             :expand-on-click-node="false" | 
			
		
	
		
			
				
					|  |  |  |             lazy | 
			
		
	
		
			
				
					|  |  |  |             @node-click="handleNodeClick" | 
			
		
	
		
			
				
					|  |  |  |           /> | 
			
		
	
		
			
				
					|  |  |  |           <el-tree :data="deptDatas" :load="getDeptDatas" :props="defaultProps" :expand-on-click-node="false" lazy @node-click="handleNodeClick" /> | 
			
		
	
		
			
				
					|  |  |  |         </div> | 
			
		
	
		
			
				
					|  |  |  |       </el-col> | 
			
		
	
		
			
				
					|  |  |  |       <!--用户数据--> | 
			
		
	
	
		
			
				
					|  |  | @ -34,33 +19,11 @@ | 
			
		
	
		
			
				
					|  |  |  |         <div class="head-container" style="padding:20px 0"> | 
			
		
	
		
			
				
					|  |  |  |           <div v-if="crud.props.searchToggle" class="head-search"> | 
			
		
	
		
			
				
					|  |  |  |             <!-- 搜索 --> | 
			
		
	
		
			
				
					|  |  |  |             <el-input | 
			
		
	
		
			
				
					|  |  |  |               v-model="query.blurry" | 
			
		
	
		
			
				
					|  |  |  |               clearable | 
			
		
	
		
			
				
					|  |  |  |               size="small" | 
			
		
	
		
			
				
					|  |  |  |               placeholder="输入名称或者邮箱搜索" | 
			
		
	
		
			
				
					|  |  |  |               prefix-icon="el-icon-search" | 
			
		
	
		
			
				
					|  |  |  |               style="width: 200px;" | 
			
		
	
		
			
				
					|  |  |  |               class="filter-item" | 
			
		
	
		
			
				
					|  |  |  |               @keyup.enter.native="crud.toQuery" | 
			
		
	
		
			
				
					|  |  |  |             /> | 
			
		
	
		
			
				
					|  |  |  |             <el-input v-model="query.blurry" clearable size="small" placeholder="输入名称或者邮箱搜索" prefix-icon="el-icon-search" style="width: 200px;" class="filter-item" @keyup.enter.native="crud.toQuery" /> | 
			
		
	
		
			
				
					|  |  |  |             <date-range-picker v-model="query.createTime" class="date-item" /> | 
			
		
	
		
			
				
					|  |  |  |             <el-select | 
			
		
	
		
			
				
					|  |  |  |               v-model="query.enabled" | 
			
		
	
		
			
				
					|  |  |  |               clearable | 
			
		
	
		
			
				
					|  |  |  |               size="small" | 
			
		
	
		
			
				
					|  |  |  |               placeholder="状态" | 
			
		
	
		
			
				
					|  |  |  |               class="filter-item" | 
			
		
	
		
			
				
					|  |  |  |               style="width: 100px" | 
			
		
	
		
			
				
					|  |  |  |               @change="crud.toQuery" | 
			
		
	
		
			
				
					|  |  |  |             > | 
			
		
	
		
			
				
					|  |  |  |             <el-select v-model="query.enabled" clearable size="small" placeholder="状态" class="filter-item" style="width: 100px" @change="crud.toQuery"> | 
			
		
	
		
			
				
					|  |  |  |               <i slot="prefix" class="iconfont icon-zhuangtai-fanbai" /> | 
			
		
	
		
			
				
					|  |  |  |               <el-option | 
			
		
	
		
			
				
					|  |  |  |                 v-for="item in enabledTypeOptions" | 
			
		
	
		
			
				
					|  |  |  |                 :key="item.key" | 
			
		
	
		
			
				
					|  |  |  |                 :label="item.display_name" | 
			
		
	
		
			
				
					|  |  |  |                 :value="item.key" | 
			
		
	
		
			
				
					|  |  |  |               /> | 
			
		
	
		
			
				
					|  |  |  |               <el-option v-for="item in enabledTypeOptions" :key="item.key" :label="item.display_name" :value="item.key" /> | 
			
		
	
		
			
				
					|  |  |  |             </el-select> | 
			
		
	
		
			
				
					|  |  |  |             <rrOperation /> | 
			
		
	
		
			
				
					|  |  |  |           </div> | 
			
		
	
	
		
			
				
					|  |  | @ -88,29 +51,11 @@ | 
			
		
	
		
			
				
					|  |  |  |                   <el-input v-model="form.email" /> | 
			
		
	
		
			
				
					|  |  |  |                 </el-form-item> | 
			
		
	
		
			
				
					|  |  |  |                 <el-form-item label="部门" prop="dept.id"> | 
			
		
	
		
			
				
					|  |  |  |                   <treeselect | 
			
		
	
		
			
				
					|  |  |  |                     v-model="form.dept.id" | 
			
		
	
		
			
				
					|  |  |  |                     :options="depts" | 
			
		
	
		
			
				
					|  |  |  |                     :load-options="loadDepts" | 
			
		
	
		
			
				
					|  |  |  |                     style="width: 184px" | 
			
		
	
		
			
				
					|  |  |  |                     placeholder="选择部门" | 
			
		
	
		
			
				
					|  |  |  |                   /> | 
			
		
	
		
			
				
					|  |  |  |                   <treeselect v-model="form.dept.id" :options="depts" :load-options="loadDepts" style="width: 184px" placeholder="选择部门" /> | 
			
		
	
		
			
				
					|  |  |  |                 </el-form-item> | 
			
		
	
		
			
				
					|  |  |  |                 <el-form-item label="岗位" prop="jobs"> | 
			
		
	
		
			
				
					|  |  |  |                   <el-select | 
			
		
	
		
			
				
					|  |  |  |                     v-model="jobDatas" | 
			
		
	
		
			
				
					|  |  |  |                     style="width: 184px" | 
			
		
	
		
			
				
					|  |  |  |                     multiple | 
			
		
	
		
			
				
					|  |  |  |                     placeholder="请选择" | 
			
		
	
		
			
				
					|  |  |  |                     @remove-tag="deleteTag" | 
			
		
	
		
			
				
					|  |  |  |                     @change="changeJob" | 
			
		
	
		
			
				
					|  |  |  |                   > | 
			
		
	
		
			
				
					|  |  |  |                     <el-option | 
			
		
	
		
			
				
					|  |  |  |                       v-for="item in jobs" | 
			
		
	
		
			
				
					|  |  |  |                       :key="item.name" | 
			
		
	
		
			
				
					|  |  |  |                       :label="item.name" | 
			
		
	
		
			
				
					|  |  |  |                       :value="item.id" | 
			
		
	
		
			
				
					|  |  |  |                     /> | 
			
		
	
		
			
				
					|  |  |  |                 <el-form-item label="岗位" prop="jobs" class="is-required"> | 
			
		
	
		
			
				
					|  |  |  |                   <el-select v-model="jobDatas" style="width: 184px" multiple placeholder="请选择" @remove-tag="deleteTag" @change="changeJob"> | 
			
		
	
		
			
				
					|  |  |  |                     <el-option v-for="item in jobs" :key="item.name" :label="item.name" :value="item.id" /> | 
			
		
	
		
			
				
					|  |  |  |                   </el-select> | 
			
		
	
		
			
				
					|  |  |  |                 </el-form-item> | 
			
		
	
		
			
				
					|  |  |  |                 <el-form-item label="性别"> | 
			
		
	
	
		
			
				
					|  |  | @ -121,29 +66,12 @@ | 
			
		
	
		
			
				
					|  |  |  |                 </el-form-item> | 
			
		
	
		
			
				
					|  |  |  |                 <el-form-item label="状态"> | 
			
		
	
		
			
				
					|  |  |  |                   <el-radio-group v-model="form.enabled" :disabled="form.id === user.id"> | 
			
		
	
		
			
				
					|  |  |  |                     <el-radio | 
			
		
	
		
			
				
					|  |  |  |                       v-for="item in dict.user_status" | 
			
		
	
		
			
				
					|  |  |  |                       :key="item.id" | 
			
		
	
		
			
				
					|  |  |  |                       :label="item.value" | 
			
		
	
		
			
				
					|  |  |  |                     >{{ item.label }}</el-radio> | 
			
		
	
		
			
				
					|  |  |  |                     <el-radio v-for="item in dict.user_status" :key="item.id" :label="item.value">{{ item.label }}</el-radio> | 
			
		
	
		
			
				
					|  |  |  |                   </el-radio-group> | 
			
		
	
		
			
				
					|  |  |  |                 </el-form-item> | 
			
		
	
		
			
				
					|  |  |  |                 <el-form-item style="margin-bottom: 0;" label="角色" prop="roles"> | 
			
		
	
		
			
				
					|  |  |  |                   <el-select | 
			
		
	
		
			
				
					|  |  |  |                     v-model="roleDatas" | 
			
		
	
		
			
				
					|  |  |  |                     style="width: 437px" | 
			
		
	
		
			
				
					|  |  |  |                     multiple | 
			
		
	
		
			
				
					|  |  |  |                     placeholder="请选择" | 
			
		
	
		
			
				
					|  |  |  |                     @remove-tag="deleteTag" | 
			
		
	
		
			
				
					|  |  |  |                     @change="changeRole" | 
			
		
	
		
			
				
					|  |  |  |                   > | 
			
		
	
		
			
				
					|  |  |  |                     <el-option | 
			
		
	
		
			
				
					|  |  |  |                       v-for="item in roles" | 
			
		
	
		
			
				
					|  |  |  |                       :key="item.name" | 
			
		
	
		
			
				
					|  |  |  |                       :disabled="level !== 1 && item.level <= level" | 
			
		
	
		
			
				
					|  |  |  |                       :label="item.name" | 
			
		
	
		
			
				
					|  |  |  |                       :value="item.id" | 
			
		
	
		
			
				
					|  |  |  |                     /> | 
			
		
	
		
			
				
					|  |  |  |                   <el-select v-model="roleDatas" style="width: 437px" multiple placeholder="请选择" @remove-tag="deleteTag" @change="changeRole"> | 
			
		
	
		
			
				
					|  |  |  |                     <el-option v-for="item in roles" :key="item.name" :disabled="level !== 1 && item.level <= level" :label="item.name" :value="item.id" /> | 
			
		
	
		
			
				
					|  |  |  |                   </el-select> | 
			
		
	
		
			
				
					|  |  |  |                 </el-form-item> | 
			
		
	
		
			
				
					|  |  |  |               </el-form> | 
			
		
	
	
		
			
				
					|  |  | @ -168,13 +96,7 @@ | 
			
		
	
		
			
				
					|  |  |  |             </el-table-column> | 
			
		
	
		
			
				
					|  |  |  |             <el-table-column label="状态" align="center" prop="enabled"> | 
			
		
	
		
			
				
					|  |  |  |               <template slot-scope="scope"> | 
			
		
	
		
			
				
					|  |  |  |                 <el-switch | 
			
		
	
		
			
				
					|  |  |  |                   v-model="scope.row.enabled" | 
			
		
	
		
			
				
					|  |  |  |                   :disabled="user.id === scope.row.id" | 
			
		
	
		
			
				
					|  |  |  |                   active-color="#409EFF" | 
			
		
	
		
			
				
					|  |  |  |                   inactive-color="#F56C6C" | 
			
		
	
		
			
				
					|  |  |  |                   @change="changeEnabled(scope.row, scope.row.enabled)" | 
			
		
	
		
			
				
					|  |  |  |                 /> | 
			
		
	
		
			
				
					|  |  |  |                 <el-switch v-model="scope.row.enabled" :disabled="user.id === scope.row.id" active-color="#409EFF" inactive-color="#F56C6C" @change="changeEnabled(scope.row, scope.row.enabled)" /> | 
			
		
	
		
			
				
					|  |  |  |               </template> | 
			
		
	
		
			
				
					|  |  |  |             </el-table-column> | 
			
		
	
		
			
				
					|  |  |  |             <el-table-column :show-overflow-tooltip="true" prop="createTime" width="145" label="创建日期"> | 
			
		
	
	
		
			
				
					|  |  | @ -182,19 +104,9 @@ | 
			
		
	
		
			
				
					|  |  |  |                 <div>{{ scope.row.createTime | parseTime }}</div> | 
			
		
	
		
			
				
					|  |  |  |               </template> | 
			
		
	
		
			
				
					|  |  |  |             </el-table-column> | 
			
		
	
		
			
				
					|  |  |  |             <el-table-column | 
			
		
	
		
			
				
					|  |  |  |               v-if="checkPer(['admin','user:edit','user:del'])" | 
			
		
	
		
			
				
					|  |  |  |               label="操作" | 
			
		
	
		
			
				
					|  |  |  |               width="120" | 
			
		
	
		
			
				
					|  |  |  |               align="center" | 
			
		
	
		
			
				
					|  |  |  |               fixed="right" | 
			
		
	
		
			
				
					|  |  |  |             > | 
			
		
	
		
			
				
					|  |  |  |             <el-table-column v-if="checkPer(['admin','user:edit','user:del'])" label="操作" width="120" align="center" fixed="right"> | 
			
		
	
		
			
				
					|  |  |  |               <template slot-scope="scope"> | 
			
		
	
		
			
				
					|  |  |  |                 <udOperation | 
			
		
	
		
			
				
					|  |  |  |                   :data="scope.row" | 
			
		
	
		
			
				
					|  |  |  |                   :permission="permission" | 
			
		
	
		
			
				
					|  |  |  |                   :disabled-dle="scope.row.id === user.id" | 
			
		
	
		
			
				
					|  |  |  |                 /> | 
			
		
	
		
			
				
					|  |  |  |                 <udOperation :data="scope.row" :permission="permission" :disabled-dle="scope.row.id === user.id" /> | 
			
		
	
		
			
				
					|  |  |  |               </template> | 
			
		
	
		
			
				
					|  |  |  |             </el-table-column> | 
			
		
	
		
			
				
					|  |  |  |           </el-table> | 
			
		
	
	
		
			
				
					|  |  | @ -245,6 +157,14 @@ export default { | 
			
		
	
		
			
				
					|  |  |  |         callback() | 
			
		
	
		
			
				
					|  |  |  |       } | 
			
		
	
		
			
				
					|  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |     // var validateJob = (rule, value, callback) => { | 
			
		
	
		
			
				
					|  |  |  |     //   console.log(value) | 
			
		
	
		
			
				
					|  |  |  |     //   if (this.jobDatas.length > 0) { | 
			
		
	
		
			
				
					|  |  |  |     //     callback() | 
			
		
	
		
			
				
					|  |  |  |     //   } else { | 
			
		
	
		
			
				
					|  |  |  |     //     callback(new Error('请选择岗位')) | 
			
		
	
		
			
				
					|  |  |  |     //   } | 
			
		
	
		
			
				
					|  |  |  |     // } | 
			
		
	
		
			
				
					|  |  |  |     return { | 
			
		
	
		
			
				
					|  |  |  |       height: document.documentElement.clientHeight - 180 + 'px;', | 
			
		
	
		
			
				
					|  |  |  |       deptName: '', depts: [], deptDatas: [], jobs: [], level: 3, roles: [], | 
			
		
	
	
		
			
				
					|  |  | @ -277,10 +197,11 @@ export default { | 
			
		
	
		
			
				
					|  |  |  |         ], | 
			
		
	
		
			
				
					|  |  |  |         'dept.id': [ | 
			
		
	
		
			
				
					|  |  |  |           { required: true, trigger: 'blur', message: '请选择部门' } | 
			
		
	
		
			
				
					|  |  |  |         ], | 
			
		
	
		
			
				
					|  |  |  |         jobs: [ | 
			
		
	
		
			
				
					|  |  |  |           { required: true, trigger: 'blur', message: '请选择岗位' } | 
			
		
	
		
			
				
					|  |  |  |         ] | 
			
		
	
		
			
				
					|  |  |  |         // , | 
			
		
	
		
			
				
					|  |  |  |         // jobs: [ | 
			
		
	
		
			
				
					|  |  |  |         //   { trigger: 'blur', validator: validateJob } | 
			
		
	
		
			
				
					|  |  |  |         // ] | 
			
		
	
		
			
				
					|  |  |  |       } | 
			
		
	
		
			
				
					|  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |   }, | 
			
		
	
	
		
			
				
					|  |  | @ -502,7 +423,9 @@ export default { | 
			
		
	
		
			
				
					|  |  |  | </script> | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  | <style rel="stylesheet/scss" lang="scss" scoped> | 
			
		
	
		
			
				
					|  |  |  |   ::v-deep .vue-treeselect__control,::v-deep .vue-treeselect__placeholder,::v-deep .vue-treeselect__single-value { | 
			
		
	
		
			
				
					|  |  |  | ::v-deep .vue-treeselect__control, | 
			
		
	
		
			
				
					|  |  |  | ::v-deep .vue-treeselect__placeholder, | 
			
		
	
		
			
				
					|  |  |  | ::v-deep .vue-treeselect__single-value { | 
			
		
	
		
			
				
					|  |  |  |   height: 30px; | 
			
		
	
		
			
				
					|  |  |  |   line-height: 30px; | 
			
		
	
		
			
				
					|  |  |  | } | 
			
		
	
	
		
			
				
					|  |  | 
 |