|
|
@ -26,11 +26,9 @@ |
|
|
|
/> |
|
|
|
</el-col> |
|
|
|
<!--用户数据--> |
|
|
|
<el-col class="container-right" :xs="15" :sm="18" :md="19" :lg="20" :xl="20"> |
|
|
|
<span class="right-top-line" /> |
|
|
|
<span class="left-bottom-line" /> |
|
|
|
<el-col :xs="15" :sm="18" :md="19" :lg="20" :xl="20"> |
|
|
|
<!--工具栏--> |
|
|
|
<div class="head-container"> |
|
|
|
<div class="head-container" style="padding:20px 0"> |
|
|
|
<div v-if="crud.props.searchToggle" class="head-search"> |
|
|
|
<!-- 搜索 --> |
|
|
|
<el-input |
|
|
@ -65,137 +63,141 @@ |
|
|
|
</div> |
|
|
|
<crudOperation show="" :permission="permission" /> |
|
|
|
</div> |
|
|
|
<!--表单渲染--> |
|
|
|
<el-dialog append-to-body :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0" :title="crud.status.title"> |
|
|
|
<span class="dialog-right-top" /> |
|
|
|
<span class="dialog-left-bottom" /> |
|
|
|
<div class="setting-dialog"> |
|
|
|
<el-form ref="form" :inline="true" :model="form" :rules="rules" size="small" label-width="66px"> |
|
|
|
<el-form-item label="用户名" prop="username"> |
|
|
|
<el-input v-model="form.username" @keydown.native="keydown($event)" /> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="电话" prop="phone"> |
|
|
|
<el-input v-model.number="form.phone" /> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="昵称" prop="nickName"> |
|
|
|
<el-input v-model="form.nickName" @keydown.native="keydown($event)" /> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="邮箱" prop="email"> |
|
|
|
<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="选择部门" |
|
|
|
/> |
|
|
|
</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-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="性别"> |
|
|
|
<el-radio-group v-model="form.gender" style="width: 184px"> |
|
|
|
<el-radio label="男">男</el-radio> |
|
|
|
<el-radio label="女">女</el-radio> |
|
|
|
</el-radio-group> |
|
|
|
</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-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" |
|
|
|
<div class="container-right" style="min-height: calc(100vh - 312px);"> |
|
|
|
<span class="right-top-line" /> |
|
|
|
<span class="left-bottom-line" /> |
|
|
|
<!--表单渲染--> |
|
|
|
<el-dialog append-to-body :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0" :title="crud.status.title"> |
|
|
|
<span class="dialog-right-top" /> |
|
|
|
<span class="dialog-left-bottom" /> |
|
|
|
<div class="setting-dialog"> |
|
|
|
<el-form ref="form" :inline="true" :model="form" :rules="rules" size="small" label-width="66px"> |
|
|
|
<el-form-item label="用户名" prop="username"> |
|
|
|
<el-input v-model="form.username" @keydown.native="keydown($event)" /> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="电话" prop="phone"> |
|
|
|
<el-input v-model.number="form.phone" /> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="昵称" prop="nickName"> |
|
|
|
<el-input v-model="form.nickName" @keydown.native="keydown($event)" /> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="邮箱" prop="email"> |
|
|
|
<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="选择部门" |
|
|
|
/> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<div slot="footer" class="dialog-footer"> |
|
|
|
<el-button type="text" @click="crud.cancelCU">取消</el-button> |
|
|
|
<el-button :loading="crud.status.cu === 2" type="primary" @click="crud.submitCU">确认</el-button> |
|
|
|
</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-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="性别"> |
|
|
|
<el-radio-group v-model="form.gender" style="width: 184px"> |
|
|
|
<el-radio label="男">男</el-radio> |
|
|
|
<el-radio label="女">女</el-radio> |
|
|
|
</el-radio-group> |
|
|
|
</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-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> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<div slot="footer" class="dialog-footer"> |
|
|
|
<el-button type="text" @click="crud.cancelCU">取消</el-button> |
|
|
|
<el-button :loading="crud.status.cu === 2" type="primary" @click="crud.submitCU">确认</el-button> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</el-dialog> |
|
|
|
<!--表格渲染--> |
|
|
|
<el-table ref="table" v-loading="crud.loading" :data="crud.data" style="width: 100%;" @selection-change="crud.selectionChangeHandler"> |
|
|
|
<el-table-column :selectable="checkboxT" type="selection" width="55" /> |
|
|
|
<el-table-column :show-overflow-tooltip="true" prop="username" label="用户名" /> |
|
|
|
<el-table-column :show-overflow-tooltip="true" prop="nickName" label="昵称" /> |
|
|
|
<el-table-column prop="gender" label="性别" /> |
|
|
|
<el-table-column :show-overflow-tooltip="true" prop="phone" width="100" label="电话" /> |
|
|
|
<el-table-column :show-overflow-tooltip="true" width="135" prop="email" label="邮箱" /> |
|
|
|
<el-table-column :show-overflow-tooltip="true" prop="dept" label="部门"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<div>{{ scope.row.dept.name }}</div> |
|
|
|
</template> |
|
|
|
</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)" |
|
|
|
/> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column :show-overflow-tooltip="true" prop="createTime" width="145" label="创建日期"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<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" |
|
|
|
> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<udOperation |
|
|
|
:data="scope.row" |
|
|
|
:permission="permission" |
|
|
|
:disabled-dle="scope.row.id === user.id" |
|
|
|
/> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
|
<!--分页组件--> |
|
|
|
<pagination /> |
|
|
|
</el-dialog> |
|
|
|
<!--表格渲染--> |
|
|
|
<el-table ref="table" v-loading="crud.loading" :data="crud.data" style="width: 100%;" @selection-change="crud.selectionChangeHandler"> |
|
|
|
<el-table-column :selectable="checkboxT" type="selection" width="55" /> |
|
|
|
<el-table-column :show-overflow-tooltip="true" prop="username" label="用户名" /> |
|
|
|
<el-table-column :show-overflow-tooltip="true" prop="nickName" label="昵称" /> |
|
|
|
<el-table-column prop="gender" label="性别" /> |
|
|
|
<el-table-column :show-overflow-tooltip="true" prop="phone" width="100" label="电话" /> |
|
|
|
<el-table-column :show-overflow-tooltip="true" width="135" prop="email" label="邮箱" /> |
|
|
|
<el-table-column :show-overflow-tooltip="true" prop="dept" label="部门"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<div>{{ scope.row.dept.name }}</div> |
|
|
|
</template> |
|
|
|
</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)" |
|
|
|
/> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column :show-overflow-tooltip="true" prop="createTime" width="145" label="创建日期"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<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" |
|
|
|
> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<udOperation |
|
|
|
:data="scope.row" |
|
|
|
:permission="permission" |
|
|
|
:disabled-dle="scope.row.id === user.id" |
|
|
|
/> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
|
<!--分页组件--> |
|
|
|
<pagination /> |
|
|
|
</div> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
</div> |
|
|
|