Browse Source

api 调试

master
xuhuajiao 2 years ago
parent
commit
2c34f9692a
  1. 10
      .env.development
  2. 6
      src/api/system/dept.js
  3. 51
      src/api/system/fonds.js
  4. 46
      src/api/system/role.js
  5. 10
      src/api/system/user.js
  6. 9
      src/views/prearchiveLibrary/module/form.vue
  7. 49
      src/views/prearchiveLibrary/module/mergeFile.vue
  8. 219
      src/views/system/groupManage/index.vue
  9. 173
      src/views/system/role/index.vue
  10. 44
      src/views/system/user/index.vue

10
.env.development

@ -3,16 +3,16 @@ ENV = 'development'
# 接口地址
#内网服务地址
VUE_APP_BASE_API = 'http://192.168.99.107:7077'
VUE_APP_WS_API = 'ws://192.168.99.107:7077'
VUE_APP_CAMERA_API = '192.168.99.107:3000'
# VUE_APP_BASE_API = 'http://192.168.99.107:7077'
# VUE_APP_WS_API = 'ws://192.168.99.107:7077'
# VUE_APP_CAMERA_API = '192.168.99.107:3000'
# 许镇-本地服地址
# VUE_APP_BASE_API = 'http://192.168.99.84:7070'
# VUE_APP_WS_API = 'ws://192.168.99.84:7070'
#VUE_APP_BASE_API = 'http://192.168.99.84:11100'
#VUE_APP_WS_API = 'ws://192.168.99.84:11100'
VUE_APP_BASE_API = 'http://192.168.99.67:11100'
VUE_APP_WS_API = 'ws://192.168.99.67:11100'
# 是否启用 babel-plugin-dynamic-import-node插件
VUE_CLI_BABEL_TRANSPILE_MODULES = true

6
src/api/system/dept.js

@ -2,7 +2,7 @@ import request from '@/utils/request'
export function getDepts(params) {
return request({
url: 'api/dept',
url: 'api/depts/initDeptsList',
method: 'get',
params
})
@ -27,7 +27,7 @@ export function add(data) {
export function del(ids) {
return request({
url: 'api/dept',
url: 'api/depts/editDepts',
method: 'delete',
data: ids
})
@ -35,7 +35,7 @@ export function del(ids) {
export function edit(data) {
return request({
url: 'api/dept',
url: 'api/depts/editDepts',
method: 'put',
data
})

51
src/api/system/fonds.js

@ -0,0 +1,51 @@
import request from '@/utils/request'
export function FetchInitFondsList(params) {
return request({
url: 'api/fonds/initFondsList',
method: 'get',
params
})
}
export function add(data) {
return request({
url: 'api/fonds/editFonds',
method: 'post',
data
})
}
export function edit(data) {
return request({
url: 'api/fonds/editFonds',
method: 'post',
data
})
}
export function del(data) {
return request({
url: 'api/fonds/delFonds',
method: 'post',
data
})
}
export function FetchUpdateFondsStatus(data) {
return request({
url: '/api/fonds/updateFondsStatus',
method: 'post',
data
})
}
export function FetchDownload(params) {
return request({
url: '/api/fonds/download',
method: 'get',
params
})
}
export default { add, edit, del, FetchInitFondsList, FetchUpdateFondsStatus, FetchDownload }

46
src/api/system/role.js

@ -3,44 +3,38 @@ import request from '@/utils/request'
// 获取所有的Role
export function getAll() {
return request({
url: 'api/roles/all',
url: 'api/role/initRoleList',
method: 'get'
})
}
export function add(data) {
return request({
url: 'api/roles',
url: 'api/role/editRole',
method: 'post',
data
})
}
export function get(id) {
return request({
url: 'api/roles/' + id,
method: 'get'
})
}
export function getLevel() {
export function edit(data) {
return request({
url: 'api/roles/level',
method: 'get'
url: 'api/role/editRole',
method: 'post',
data
})
}
export function del(ids) {
return request({
url: 'api/roles',
method: 'delete',
url: 'api/role/delRole',
method: 'post',
data: ids
})
}
export function edit(data) {
export function editFonds(data) {
return request({
url: 'api/roles',
url: 'api/role/fonds',
method: 'put',
data
})
@ -48,10 +42,26 @@ export function edit(data) {
export function editMenu(data) {
return request({
url: 'api/roles/menu',
url: 'api/role/menu',
method: 'put',
data
})
}
export default { add, edit, del, get, editMenu, getLevel }
export function get(id) {
return request({
url: 'api/role/' + id,
method: 'get'
})
}
// ----------------------------------------
export function getLevel() {
return request({
url: 'api/roles/level',
method: 'get'
})
}
export default { add, edit, del, get, editMenu, editFonds }

10
src/api/system/user.js

@ -4,7 +4,7 @@ import { getToken } from '@/utils/auth'
export function add(data) {
return request({
url: 'api/users',
url: 'api/users/editUser',
method: 'post',
data
})
@ -12,16 +12,16 @@ export function add(data) {
export function del(ids) {
return request({
url: 'api/users',
method: 'delete',
url: 'api/users/delUsers',
method: 'post',
data: ids
})
}
export function edit(data) {
return request({
url: 'api/users',
method: 'put',
url: 'api//users/editUser',
method: 'post',
data
})
}

9
src/views/prearchiveLibrary/module/form.vue

@ -29,6 +29,7 @@ export default {
methods: {
handleClose(done) {
done()
this.formVisible = false
},
save() {
// this.loading = true
@ -69,11 +70,5 @@ export default {
}
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
.fields-list {
max-height: calc(100vh - 312px);
overflow-x: hidden;
overflow-y: auto;
position: relative;
}
<style lang="scss" scoped>
</style>

49
src/views/prearchiveLibrary/module/mergeFile.vue

@ -0,0 +1,49 @@
<template>
<!-- 合并成件 -->
<el-dialog :modal-append-to-body="false" :close-on-click-modal="false" :before-close="handleClose" :visible="mergeVisible" 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="80px">
<el-form-item label="档案门类" prop="target">
<treeselect
v-model="form.target"
:options="targetOptions"
:load-options="loadSource"
style="width: 400px;"
placeholder="请选择档案门类"
/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="text" @click="formVisible = false">取消</el-button>
<el-button type="primary" @click="formVisible = false">确定</el-button>
</div>
</div>
</el-dialog>
</template>
<script>
export default {
data() {
return {
mergeVisible: false,
targetOptions: [],
rules: {
target: [
{ required: true, message: '请选择档案门类', trigger: 'input' }
]
}
}
},
methods: {
handleClose(done) {
this.mergeVisible = false
done()
}
}
}
</script>
<style lang="scss" scoped>
</style>

219
src/views/system/groupManage/index.vue

@ -8,10 +8,27 @@
<div v-if="crud.props.searchToggle" class="head-search">
<!-- 搜索 -->
<el-input v-model="query.blurry" size="small" clearable 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" />
<date-range-picker v-model="blurryTime" class="date-item" />
<el-select v-model="query.status" clearable size="small" placeholder="状态" class="filter-item" style="width: 100px" @change="crud.toQuery">
<i slot="prefix" class="iconfont icon-zhuangtai" />
<el-option v-for="item in enabledTypeOptions" :key="item.key" :label="item.display_name" :value="item.key" />
</el-select>
<rrOperation />
</div>
<crudOperation :permission="permission" />
<crudOperation :permission="permission">
<template v-slot:middle>
<el-button slot="reference" size="mini" :loading="crud.delAllLoading" :disabled="crud.selections.length === 0" @click="toDelete(crud.selections)">
<i class="iconfont icon-shanchu" />
删除
</el-button>
</template>
<template v-slot:right>
<el-button :loading="crud.downloadLoading" :disabled="!crud.data.length" size="mini" @click="doExport">
<i class="iconfont icon-daochu" />
导出
</el-button>
</template>
</crudOperation>
</div>
<div class="container-right">
<span class="right-top-line" />
@ -23,47 +40,49 @@
<div class="setting-dialog">
<el-form ref="form" :inline="true" :model="form" :rules="rules" size="small" label-width="90px">
<el-row>
<el-form-item label="全宗号" prop="groupNumber">
<el-input v-model="form.groupNumber" />
<el-form-item label="全宗号" prop="fondsNo">
<el-input v-model="form.fondsNo" />
</el-form-item>
</el-row>
<el-form-item label="全宗名称" prop="groupName" class="form-item-style">
<el-input v-model="form.groupName" />
<el-form-item label="全宗名称" prop="fondsName" class="form-item-style">
<el-input v-model="form.fondsName" />
</el-form-item>
<el-form-item label="全宗简称" prop="groupShort">
<el-input v-model="form.groupShort" />
<el-form-item label="全宗简称" prop="fondsNameAbbr">
<el-input v-model="form.fondsNameAbbr" />
</el-form-item>
<el-form-item label="排序" prop="sort" class="form-item-style">
<el-form-item label="排序" prop="fondsOrders" class="form-item-style">
<el-input-number
v-model.number="form.sort"
v-model.number="form.fondsOrders"
:min="0"
:max="999"
controls-position="right"
/>
</el-form-item>
<el-form-item label="状态" prop="enabled">
<el-radio label="启用" />
<el-radio label="停用" />
<el-form-item label="状态" prop="fondsStatus">
<el-radio-group v-model="form.fondsStatus">
<el-radio :label="1">启用</el-radio>
<el-radio :label="0">停用</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="description">
<el-input v-model="form.description" style="width: 586px;" rows="5" type="textarea" />
<el-form-item label="备注" prop="fondsRemarks">
<el-input v-model="form.fondsRemarks" style="width: 586px;" rows="5" type="textarea" />
</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-button :loading="crud.status.cu === 2" type="primary" @click="crud.submitCU"></el-button>
</div>
</div>
</el-dialog>
<el-table ref="table" v-loading="crud.loading" highlight-current-row style="width: 100%;" :data="crud.data" @selection-change="crud.selectionChangeHandler" @current-change="handleCurrentChange">
<el-table-column :selectable="checkboxT" type="selection" align="center" width="55" />
<el-table-column prop="groupNumber" label="全宗号" />
<el-table-column prop="groupName" label="全宗名称" />
<el-table-column prop="dept" label="部门" />
<el-table-column prop="sort" label="排序" />
<el-table-column label="状态" align="center" prop="enabled" width="60">
<el-table-column type="selection" align="center" width="55" />
<el-table-column prop="fondsNo" label="全宗号" />
<el-table-column prop="fondsName" label="全宗名称" />
<el-table-column prop="deptsCount" label="部门" />
<el-table-column prop="fondsOrders" label="排序" />
<el-table-column label="状态" align="center" prop="fondsStatus" width="60">
<template slot-scope="scope">
<el-switch v-model="scope.row.enabled" />
<el-switch v-model="scope.row.fondsStatus" active-color="#409EFF" inactive-color="#F56C6C" :active-value="1" :inactive-value="0" @change="changeStatus(scope.row, scope.row.fondsStatus)" />
</template>
</el-table-column>
<el-table-column :show-overflow-tooltip="true" prop="createTime" label="创建日期">
@ -112,7 +131,7 @@
</template>
<script>
import crudRoles from '@/api/system/role'
import crudfonds from '@/api/system/fonds'
import { getDepts, getDeptSuperior } from '@/api/system/dept'
import { getMenusTree, getChild } from '@/api/system/menu'
import CRUD, { presenter, header, form, crud } from '@crud/crud'
@ -120,13 +139,21 @@ import rrOperation from '@crud/RR.operation'
import crudOperation from '@crud/CRUD.operation'
import pagination from '@crud/Pagination'
import DateRangePicker from '@/components/DateRangePicker'
import { downloadFile } from '@/utils/index'
const defaultForm = { groupNumber: null, groupName: null, groupShort: null, description: null, enabled: 'true', sort: '' }
const defaultForm = { id: null, fondsName: null, fondsNameAbbr: null, fondsNo: null, fondsOrders: 999, fondsStatus: null, fondsRemarks: null }
export default {
name: 'Group',
components: { pagination, crudOperation, rrOperation, DateRangePicker },
cruds() {
return CRUD({ title: '全宗', url: 'api/roles', sort: 'level,asc', crudMethod: { ...crudRoles }})
return CRUD({ title: '全宗', idField: 'fondsId', url: 'api/fonds/initFondsList', sort: 'update_time,asc', crudMethod: { ...crudfonds }, optShow: {
add: true,
edit: true,
del: false,
reset: true,
download: false,
group: false
}})
},
mixins: [presenter(), header(), form(defaultForm), crud()],
data() {
@ -135,33 +162,36 @@ export default {
currentId: 0, menuLoading: false, showButton: false,
menus: [], menuIds: [], depts: [], deptDatas: [], // 使
permission: {
add: ['admin', 'roles:add'],
edit: ['admin', 'roles:edit'],
del: ['admin', 'roles:del']
add: ['admin', 'fonds:add'],
edit: ['admin', 'fonds:edit'],
del: ['admin', 'fonds:del']
},
rules: {
groupNumber: [
fondsNo: [
{ required: true, message: '请输入全宗号', trigger: 'blur' }
],
groupName: [
fondsName: [
{ required: true, message: '请输入全宗名称', trigger: 'blur' }
],
groupShort: [
fondsNameAbbr: [
{ required: true, message: '请输入全宗简称', trigger: 'blur' }
],
sort: [
{ required: true, message: '请输入排序', trigger: 'blur' }
fondsOrders: [
{ required: true, message: '请输入排序', trigger: 'blur', type: 'number' }
],
enabled: [
fondsStatus: [
{ required: true, message: '请选择状态', trigger: 'change' }
]
}
},
enabledTypeOptions: [
{ key: '1', display_name: '启用' },
{ key: '0', display_name: '停用' }
],
blurryTime: null,
deleteData: [] // data
}
},
created() {
crudRoles.getLevel().then(data => {
this.level = data.level
})
},
methods: {
getMenuDatas(node, resolve) {
@ -171,63 +201,102 @@ export default {
})
}, 100)
},
[CRUD.HOOK.beforeRefresh]() {
if (this.blurryTime) {
this.crud.query.startTime = this.blurryTime[0]
this.crud.query.endTime = this.blurryTime[1]
}
},
[CRUD.HOOK.afterRefresh]() {
this.$refs.menu.setCheckedKeys([])
},
//
[CRUD.HOOK.beforeToAdd](crud, form) {
this.deptDatas = []
form.menus = null
},
//
[CRUD.HOOK.beforeToEdit](crud, form) {
this.deptDatas = []
if (form.dataScope === '自定义') {
this.getSupDepts(form.depts)
}
const _this = this
form.depts.forEach(function(dept) {
_this.deptDatas.push(dept.id)
})
//
form.menus = null
// form.menus = null
},
//
[CRUD.HOOK.afterValidateCU](crud) {
if (crud.form.dataScope === '自定义' && this.deptDatas.length === 0) {
this.$message({
message: '自定义数据权限不能为空',
type: 'warning'
})
return false
} else if (crud.form.dataScope === '自定义') {
const depts = []
this.deptDatas.forEach(function(data) {
const dept = { id: data }
depts.push(dept)
})
crud.form.depts = depts
} else {
crud.form.depts = []
}
return true
},
//
handleCurrentChange(val) {
if (val) {
const _this = this
// const _this = this
//
this.$refs.menu.setCheckedKeys([])
// id
this.currentId = val.id
// key
this.menuIds = []
val.menus.forEach(function(data) {
_this.menuIds.push(data.id)
})
// val.menus.forEach(function(data) {
// _this.menuIds.push(data.id)
// })
this.showButton = true
}
},
toDelete(datas) {
this.deleteData = datas
this.$confirm('此操作将删除当前所选' + this.crud.title + '<span>你是否还要继续?</span>', '提示', {
confirmButtonText: '继续',
cancelButtonText: '取消',
type: 'warning',
dangerouslyUseHTMLString: true
}).then(() => {
this.crud.delAllLoading = true
const ids = []
this.deleteData.forEach(val => {
ids.push(val.fondsId)
})
crudfonds.del(ids).then(() => {
this.crud.notify('删除成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
this.crud.delAllLoading = false
this.crud.refresh()
}).catch(err => {
this.crud.delAllLoading = false
console.log(err)
})
}).catch(() => {
})
},
changeStatus(data, val) {
this.$confirm('此操作将禁用 / 启用全宗 “' + data.fondsName + '”' + '<span>你是否还要继续?</span>', '提示', {
confirmButtonText: '继续',
cancelButtonText: '取消',
type: 'warning',
dangerouslyUseHTMLString: true
}).then(() => {
crudfonds.FetchUpdateFondsStatus(data).then(res => {
this.crud.notify('修改成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
}).catch(() => {
data.fondsStatus = !data.fondsStatus
})
}).catch(() => {
this.crud.notify('已取消修改', CRUD.NOTIFICATION_TYPE.INFO)
data.fondsStatus = !data.fondsStatus
})
},
doExport() {
crud.downloadLoading = true
this.$confirm('此操作将导出所选数据' + '<span>你是否还要继续?</span>', '提示', {
confirmButtonText: '继续',
cancelButtonText: '取消',
type: 'warning',
dangerouslyUseHTMLString: true
}).then(() => {
console.log(this.crud.data)
crudfonds.FetchDownload().then(result => {
downloadFile(result, crud.title + '数据', 'xlsx')
crud.downloadLoading = false
}).catch(() => {
crud.downloadLoading = false
})
}).catch(() => {
})
},
menuChange(menu) {
// id
getChild(menu.id).then(childIds => {
@ -259,7 +328,7 @@ export default {
const menu = { id: id }
role.menus.push(menu)
})
crudRoles.editMenu(role).then(() => {
crudfonds.editMenu(role).then(() => {
this.crud.notify('保存成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
this.menuLoading = false
this.update()
@ -271,9 +340,9 @@ export default {
//
update() {
//
crudRoles.get(this.currentId).then(res => {
crudfonds.FetchInitFondsList().then(res => {
for (let i = 0; i < this.crud.data.length; i++) {
if (res.id === this.crud.data[i].id) {
if (res.fondsId === this.crud.data[i].fondsId) {
this.crud.data[i] = res
break
}
@ -311,9 +380,6 @@ export default {
data.children = null
}
})
},
checkboxT(row) {
return row.level >= this.level
}
}
}
@ -334,5 +400,4 @@ export default {
.tree-tab span.role-span.role-tab-active{
border-bottom: none;
}
</style>

173
src/views/system/role/index.vue

@ -7,8 +7,8 @@
<div class="head-container">
<div v-if="crud.props.searchToggle" class="head-search">
<!-- 搜索 -->
<el-input v-model="query.blurry" size="small" clearable 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-input v-model="query.blurry" size="small" clearable placeholder="输入部门名称搜索" prefix-icon="el-icon-search" style="width: 200px;" class="filter-item" @clear="crud.toQuery" @keyup.enter.native="crud.toQuery" />
<date-range-picker v-model="blurryTime" class="date-item" />
<rrOperation />
</div>
<crudOperation :permission="permission" />
@ -35,13 +35,18 @@
</div>
</div>
</el-dialog>
<!-- table -->
<el-table ref="table" v-loading="crud.loading" highlight-current-row style="width: 100%;" :data="crud.data" @selection-change="crud.selectionChangeHandler" @current-change="handleCurrentChange">
<el-table-column :selectable="checkboxT" type="selection" align="center" width="55" />
<el-table-column type="selection" align="center" width="55" />
<el-table-column prop="name" label="角色名称" />
<!-- <el-table-column prop="dataScope" label="数据权限" /> -->
<!-- <el-table-column prop="level" label="角色级别" /> -->
<el-table-column :show-overflow-tooltip="true" prop="description" label="描述信息" />
<el-table-column prop="number" label="人数" />
<el-table-column prop="users" label="人数" algin="center">
<template slot-scope="scope">
<div>{{ scope.row.users.length }}</div>
</template>
</el-table-column>
<el-table-column :show-overflow-tooltip="true" prop="createTime" label="创建日期">
<template slot-scope="scope">
<div>{{ scope.row.createTime | parseTime }}</div>
@ -101,7 +106,7 @@
<script>
import crudRoles from '@/api/system/role'
import { getDepts, getDeptSuperior } from '@/api/system/dept'
// import { getDepts, getDeptSuperior } from '@/api/system/dept'
import { getMenusTree, getChild } from '@/api/system/menu'
import CRUD, { presenter, header, form, crud } from '@crud/crud'
import rrOperation from '@crud/RR.operation'
@ -109,20 +114,22 @@ import crudOperation from '@crud/CRUD.operation'
import pagination from '@crud/Pagination'
import DateRangePicker from '@/components/DateRangePicker'
const defaultForm = { id: null, name: null, depts: [], description: null, dataScope: '全部', level: 3 }
// depts: [], level: 3
const defaultForm = { id: null, name: null, description: null, dataScope: null }
export default {
name: 'Role',
components: { pagination, crudOperation, rrOperation, DateRangePicker },
cruds() {
return CRUD({ title: '角色', url: 'api/roles', sort: 'level,asc', crudMethod: { ...crudRoles }})
return CRUD({ title: '角色', url: 'api/role/initRoleList', sort: 'update_time,asc', crudMethod: { ...crudRoles }})
},
mixins: [presenter(), header(), form(defaultForm), crud()],
data() {
return {
defaultProps: { children: 'children', label: 'label', isLeaf: 'leaf' },
dateScopes: ['全部', '本级', '自定义'], level: 3,
// dateScopes: ['', '', ''], level: 3,
currentId: 0, menuLoading: false, showButton: false,
menus: [], menuIds: [], depts: [], deptDatas: [], // 使
menus: [], menuIds: [],
// depts: [], deptDatas: [], // 使
permission: {
add: ['admin', 'roles:add'],
edit: ['admin', 'roles:edit'],
@ -136,13 +143,14 @@ export default {
{ required: true, message: '请输入权限', trigger: 'blur' }
]
},
roleTabIndex: 0
roleTabIndex: 0,
blurryTime: null
}
},
created() {
crudRoles.getLevel().then(data => {
this.level = data.level
})
// crudRoles.getLevel().then(data => {
// this.level = data.level
// })
},
methods: {
changeActiveTab(index) {
@ -155,49 +163,56 @@ export default {
})
}, 100)
},
[CRUD.HOOK.beforeRefresh]() {
if (this.blurryTime) {
this.crud.query.startTime = this.blurryTime[0]
this.crud.query.endTime = this.blurryTime[1]
}
},
[CRUD.HOOK.afterRefresh]() {
this.$refs.menu.setCheckedKeys([])
},
//
[CRUD.HOOK.beforeToAdd](crud, form) {
this.deptDatas = []
// this.deptDatas = []
form.menus = null
},
//
[CRUD.HOOK.beforeToEdit](crud, form) {
this.deptDatas = []
if (form.dataScope === '自定义') {
this.getSupDepts(form.depts)
}
const _this = this
form.depts.forEach(function(dept) {
_this.deptDatas.push(dept.id)
})
// this.deptDatas = []
// if (form.dataScope === '') {
// this.getSupDepts(form.depts)
// }
// const _this = this
// form.depts.forEach(function(dept) {
// _this.deptDatas.push(dept.id)
// })
//
form.menus = null
},
//
[CRUD.HOOK.afterValidateCU](crud) {
if (crud.form.dataScope === '自定义' && this.deptDatas.length === 0) {
this.$message({
message: '自定义数据权限不能为空',
type: 'warning'
})
return false
} else if (crud.form.dataScope === '自定义') {
const depts = []
this.deptDatas.forEach(function(data) {
const dept = { id: data }
depts.push(dept)
})
crud.form.depts = depts
} else {
crud.form.depts = []
}
return true
// if (crud.form.dataScope === '' && this.deptDatas.length === 0) {
// this.$message({
// message: '',
// type: 'warning'
// })
// return false
// } else if (crud.form.dataScope === '') {
// const depts = []
// this.deptDatas.forEach(function(data) {
// const dept = { id: data }
// depts.push(dept)
// })
// crud.form.depts = depts
// } else {
// crud.form.depts = []
// }
// return true
},
//
handleCurrentChange(val) {
console.log(val)
if (val) {
const _this = this
//
@ -263,48 +278,48 @@ export default {
}
}
})
},
//
getDepts() {
getDepts({ enabled: true }).then(res => {
this.depts = res.content.map(function(obj) {
if (obj.hasChildren) {
obj.children = null
}
return obj
})
})
},
getSupDepts(depts) {
const ids = []
depts.forEach(dept => {
ids.push(dept.id)
})
getDeptSuperior(ids).then(res => {
const date = res.content
this.buildDepts(date)
this.depts = date
})
},
buildDepts(depts) {
depts.forEach(data => {
if (data.children) {
this.buildDepts(data.children)
}
if (data.hasChildren && !data.children) {
data.children = null
}
})
},
//
// getDepts() {
// getDepts({ enabled: true }).then(res => {
// this.depts = res.content.map(function(obj) {
// if (obj.hasChildren) {
// obj.children = null
// }
// return obj
// })
// })
// },
// getSupDepts(depts) {
// const ids = []
// depts.forEach(dept => {
// ids.push(dept.id)
// })
// getDeptSuperior(ids).then(res => {
// const date = res.content
// this.buildDepts(date)
// this.depts = date
// })
// },
// buildDepts(depts) {
// depts.forEach(data => {
// if (data.children) {
// this.buildDepts(data.children)
// }
// if (data.hasChildren && !data.children) {
// data.children = null
// }
// })
// }
//
changeScope() {
if (this.form.dataScope === '自定义') {
this.getDepts()
}
},
checkboxT(row) {
return row.level >= this.level
}
// changeScope() {
// if (this.form.dataScope === '') {
// this.getDepts()
// }
// }
// checkboxT(row) {
// return row.level >= this.level
// }
}
}
</script>

44
src/views/system/user/index.vue

@ -19,8 +19,8 @@
<div 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" />
<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">
<date-range-picker v-model="blurryTime" class="date-item" />
<el-select v-model="query.userStatus" clearable size="small" placeholder="状态" class="filter-item" style="width: 100px" @change="crud.toQuery">
<i slot="prefix" class="iconfont icon-zhuangtai" />
<el-option v-for="item in enabledTypeOptions" :key="item.key" :label="item.display_name" :value="item.key" />
</el-select>
@ -114,19 +114,15 @@
<!--表格渲染-->
<el-table ref="table" v-loading="crud.loading" :data="crud.data" style="width: 100%;" @row-click="clickRowHandler" @selection-change="crud.selectionChangeHandler">
<el-table-column :selectable="checkboxT" type="selection" align="center" width="55" />
<el-table-column :show-overflow-tooltip="true" prop="username" label="账号" />
<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="性别" width="60" />
<el-table-column :show-overflow-tooltip="true" prop="phone" label="电话" />
<el-table-column :show-overflow-tooltip="true" 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 :show-overflow-tooltip="true" prop="deptsName" label="部门" />
<el-table-column label="状态" align="center" prop="enabled" width="60">
<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.userId" active-color="#409EFF" inactive-color="#F56C6C" :active-value="1" :inactive-value="0" @change="changeEnabled(scope.row, scope.row.enabled)" />
</template>
</el-table-column>
<el-table-column :show-overflow-tooltip="true" prop="createTime" label="创建日期">
@ -173,7 +169,7 @@ export default {
name: 'User',
components: { Treeselect, crudOperation, rrOperation, pagination, DateRangePicker },
cruds() {
return CRUD({ title: '用户', url: 'api/users', crudMethod: { ...crudUser }})
return CRUD({ title: '用户', url: 'api/users/initUserList', sort: 'update_time,asc', crudMethod: { ...crudUser }})
},
mixins: [presenter(), header(), form(defaultForm), crud()],
//
@ -201,6 +197,7 @@ export default {
headers: {
Authorization: getToken()
},
blurryTime: null,
btnLoading: false,
resetVisible: false,
// delVisible: false,
@ -215,8 +212,8 @@ export default {
del: ['admin', 'user:del']
},
enabledTypeOptions: [
{ key: 'true', display_name: '激活' },
{ key: 'false', display_name: '锁定' }
{ key: '1', display_name: '激活' },
{ key: '0', display_name: '锁定' }
],
rules: {
username: [
@ -263,8 +260,15 @@ export default {
window.onresize = function temp() {
that.height = document.documentElement.clientHeight - 180 + 'px;'
}
console.log(this.user)
},
methods: {
[CRUD.HOOK.beforeRefresh]() {
if (this.blurryTime) {
this.crud.query.startTime = this.blurryTime[0]
this.crud.query.endTime = this.blurryTime[1]
}
},
clickRowHandler(row) {
// this.$refs.table.toggleRowSelection(row) //
},
@ -379,7 +383,7 @@ export default {
},
//
getDeptDatas(node, resolve) {
const sort = 'id,desc'
const sort = 'update_time,desc'
const params = { sort: sort }
if (typeof node !== 'object') {
if (node) {
@ -487,20 +491,8 @@ export default {
}).catch(() => { })
},
checkboxT(row, rowIndex) {
return row.id !== this.user.id
return row.userId !== this.user.id
}
// handleClose() {
// this.delVisible = false
// },
// toDelete(data) {
// this.deleteData = data
// this.delVisible = true
// },
// handleDelConfirm() {
// this.delVisible = false
// this.crud.delAllLoading = true
// this.crud.doDelete(this.deleteData)
// }
}
}
</script>

Loading…
Cancel
Save