| | |
| | | ref="logCrud" |
| | | :data="tableData" |
| | | :option="option" |
| | | :page.sync="page" |
| | | :table-loading="tableLoading" |
| | | @on-load="getTableList" |
| | | @refresh-change="handleRefresh" |
| | | @search-change="handleSearch" |
| | | @search-reset="handleReset" |
| | | @size-change="sizeChange" |
| | | @current-change="currentChange" |
| | | @row-save="rowSaveHandler" |
| | | @row-update="rowUpdateHandler" |
| | | @row-del="rowDeleteHandler" |
| | | > |
| | | <template slot="menuLeft" slot-scope="scope"> |
| | | <el-button icon="el-icon-download" plain size="small" type="primary" @click="exportClickHandler">导出</el-button> |
| | | </template> |
| | | <template #menu="{row,index,size}"> |
| | | <el-button icon="el-icon-user" type="text" size="small" @click="userHandler(row,index)">分配成员</el-button> |
| | | </template> |
| | | </avue-crud> |
| | | <!-- 分配成员穿梭框 --> |
| | | <transfer ref="transfer" :left-role-data="leftRoleData" :right-role-data="rightRoleData" |
| | | :transferTitle="transferTitle" title="文件柜添加成员" |
| | | @transferSend="roleSendHandler"> |
| | | </transfer> |
| | | </basic-container> |
| | | </template> |
| | | |
| | |
| | | import {exportLog, getLogListByContion} from "@/api/system/log/logBasic"; |
| | | import func from "@/util/func"; |
| | | import basicOption from "@/util/basic-option"; |
| | | import {addUser, deleteUser, updateUser} from "@/api/system/user/api"; |
| | | import {listUserByRoleOid, listUserUnInRoleOid, saveRight} from "@/api/system/role/api"; |
| | | |
| | | export default { |
| | | name: "index", |
| | |
| | | tableData: [], |
| | | option: { |
| | | ...basicOption, |
| | | addBtn:false, |
| | | editBtn: false, |
| | | delBtn: false, |
| | | calcHeight: -60, |
| | | align:'left', |
| | | headerAlign:'center', |
| | | menu:false, |
| | | searchMenuSpan: 6, |
| | | searchIcon:false, |
| | | menuWidth:260, |
| | | dialogMenuPosition: 'right', |
| | | dialogWidth:600, |
| | | column: [ |
| | | { |
| | | label: '卷名', |
| | | prop: 'truename', |
| | | width: 300 |
| | | }, { |
| | | label: '机器类型', |
| | | prop: 'username', |
| | | width: 150 |
| | | },{ |
| | | label: '路径名称', |
| | | prop: 'userIp' |
| | | },{ |
| | | label: '首选路径', |
| | | prop: 'moduleName', |
| | | width: 200, |
| | | span: 24, |
| | | rules: [{ required: true, message: '请输入卷名', trigger: 'blur' }] |
| | | },{ |
| | | label: '服务器', |
| | | prop: 'type', |
| | | width: 150 |
| | | span: 24, |
| | | rules: [{ required: true, message: '请输入服务器', trigger: 'blur' }] |
| | | },{ |
| | | label: '卷服务', |
| | | prop: 'date', |
| | | span: 24, |
| | | rules: [{ required: true, message: '请输入卷服务', trigger: 'blur' }] |
| | | }, { |
| | | label: '机器类型', |
| | | prop: 'username', |
| | | width: 120, |
| | | span: 24, |
| | | type:'radio', |
| | | dicData:[{ |
| | | label:'Unix', |
| | | value:'Unix' |
| | | },{ |
| | | label:'Win NT', |
| | | value:'Win NT' |
| | | }], |
| | | value:'Win NT' |
| | | },{ |
| | | label: '路径名称', |
| | | prop: 'userIp', |
| | | span: 24, |
| | | overHidden: true, |
| | | rules: [{ required: true, message: '请输入路径名称', trigger: 'blur' }] |
| | | },{ |
| | | label: '首选路径', |
| | | prop: 'loc', |
| | | width: 120, |
| | | span: 24, |
| | | type: 'switch', |
| | | value:false |
| | | }] |
| | | }, |
| | | page: { |
| | | currentPage: 1, |
| | | pageSize: 50, |
| | | total: 0, |
| | | pageSizes: [10, 30, 50, 100], |
| | | }, |
| | | searchParams: {} |
| | | currentRow:null, |
| | | leftRoleData: [], // 分配成员穿梭框左侧初始数据 |
| | | rightRoleData: [], // 分配成员穿梭框右侧初始数据 |
| | | transferTitle: ['文件柜外成员', '文件柜内成员'], |
| | | } |
| | | }, |
| | | methods: { |
| | | // 表格请求 |
| | | getTableList() { |
| | | this.tableLoading = true; |
| | | getLogListByContion(this.page.currentPage, this.page.pageSize, {'logType':this.$route.query.logType,...this.searchParams}).then(res => { |
| | | getLogListByContion(1, 50, {}).then(res => { |
| | | this.tableData = res.data.data; |
| | | this.page.total = res.data.total; |
| | | this.tableLoading = false; |
| | | }) |
| | | }, |
| | | |
| | | // 搜索查询 |
| | | handleSearch(params, done) { |
| | | this.searchParams = { |
| | | userName:params.truename, |
| | | ipText:params.userIp, |
| | | startDate:params.date[0], |
| | | endDate:params.date[1] |
| | | }; |
| | | |
| | | this.getTableList(); |
| | | done(); |
| | | // 新增 |
| | | rowSaveHandler(row, done,loading) { |
| | | addUser(row).then(res => { |
| | | if (res.data.code === 200) { |
| | | this.$message.success(res.data.obj); |
| | | this.getTableList(); |
| | | done(); |
| | | } |
| | | }).catch(err => { |
| | | loading() |
| | | }); |
| | | }, |
| | | |
| | | // 重置搜索条件 |
| | | handleReset() { |
| | | this.searchParams = {}; |
| | | this.getTableList(); |
| | | // 编辑 |
| | | rowUpdateHandler(row, index, done,loading) { |
| | | updateUser(row).then(res => { |
| | | if (res.data.code === 200) { |
| | | this.$message.success(res.data.obj); |
| | | this.getTableList(); |
| | | done() |
| | | } |
| | | }).catch(err => { |
| | | loading() |
| | | }); |
| | | }, |
| | | |
| | | // 条数 |
| | | sizeChange(val) { |
| | | this.page.pageSize = val; |
| | | }, |
| | | // 删除 |
| | | rowDeleteHandler(row) { |
| | | let params = { |
| | | ids: row.id |
| | | } |
| | | |
| | | // 页码 |
| | | currentChange(val) { |
| | | this.page.currentPage = val; |
| | | }, |
| | | |
| | | handleRefresh(){ |
| | | this.getTableList(); |
| | | this.$confirm('您确定要删除当前的卷节点吗?', '提示', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | deleteUser(params).then(res => { |
| | | if (res.data.code === 200) { |
| | | this.$message.success(res.data.obj); |
| | | this.getTableList(); |
| | | } |
| | | }); |
| | | }).catch(() => { |
| | | this.$message({ |
| | | type: 'info', |
| | | message: '已取消删除' |
| | | }); |
| | | }); |
| | | }, |
| | | // 导出 |
| | | exportClickHandler() { |
| | |
| | | loading.close(); |
| | | }) |
| | | }, |
| | | |
| | | //分配成员 |
| | | userHandler(row,index){ |
| | | this.currentRow=row; |
| | | Promise.all([ |
| | | listUserUnInRoleOid({pkRole: row.id}), |
| | | listUserByRoleOid({pkRole: row.id}) |
| | | ]).then(([unInRoleRes, byRoleRes]) => { |
| | | if (unInRoleRes.data.code === 200 && byRoleRes.data.code === 200) { |
| | | const leftData = [...unInRoleRes.data.data, ...byRoleRes.data.data]; |
| | | // 组装好穿梭框可用数据 |
| | | this.leftRoleData = leftData.map(item => { |
| | | return { |
| | | name: item.name + `(${item.id})`, |
| | | oid: item.oid |
| | | } |
| | | }) |
| | | this.rightRoleData = byRoleRes.data.data.map(item => item.oid); |
| | | this.$refs.transfer.visible = true; |
| | | } |
| | | }); |
| | | }, |
| | | // 分配成员穿梭框回填 |
| | | roleSendHandler(row) { |
| | | let params = { |
| | | userOids: row.join(','), |
| | | roleId: this.currentRow.id |
| | | } |
| | | saveRight(params).then(res => { |
| | | this.$message.success(res.data.obj); |
| | | this.getTableList(); |
| | | }) |
| | | }, |
| | | } |
| | | } |
| | | </script> |