| | |
| | | <basic-container> |
| | | <avue-crud |
| | | ref="userCrud" |
| | | :before-open="beforeOpen" |
| | | :data="tableData" |
| | | :option="option" |
| | | :page.sync="page" |
| | |
| | | @row-save="rowSaveHandler" |
| | | @row-update="rowUpdateHandler" |
| | | > |
| | | <!-- 部门头部搜索插槽 --> |
| | | <template slot-scope="{disabled,size}" slot="pkDepartmentNameSearch"> |
| | | <div style="display: flex;gap: 5px"> |
| | | <el-select v-model="departSearchValue" clearable placeholder="请选择部门"> |
| | | <el-option :label="departSearchObj.name" :value="departSearchObj.oid"></el-option> |
| | | </el-select> |
| | | <el-button size="small" type="success" @click="dialogDepartSearchHandler">选择部门</el-button> |
| | | </div> |
| | | </template> |
| | | |
| | | <!-- 对话框部门插槽 --> |
| | | <template slot="pkDepartmentNameForm" slot-scope="scope"> |
| | | <div style="display: flex;gap: 5px"> |
| | | <el-select v-model="departValue" clearable placeholder="请选择部门"> |
| | | <el-option :label="departObj.name" :value="departObj.oid"></el-option> |
| | | </el-select> |
| | | <el-button size="small" type="success" @click="dialogDepartHandler">选择部门</el-button> |
| | | </div> |
| | | </template> |
| | | |
| | | <template slot="status" slot-scope="{row}"> |
| | | <el-tag v-if="row.status === 0" type="success">启用</el-tag> |
| | | <el-tag v-if="row.status === 1" type="danger">停用</el-tag> |
| | |
| | | departSearchValue:'', |
| | | loadKey: 0, |
| | | departStatus: '', // 区分不同方式打开部门对话框 |
| | | departValue: '', // 部门对话框下拉框绑定值 |
| | | departObj: {}, // 部门对话框下拉框选项绑定值 |
| | | departCurrenRow: {}, |
| | | departOption: { |
| | | ...basicOption, |
| | |
| | | menu: false, |
| | | refreshBtn: false, |
| | | gridBtn: false, |
| | | header:false, |
| | | column: [ |
| | | { |
| | | label: '名称', |
| | |
| | | created() { |
| | | }, |
| | | methods: { |
| | | // 新增或修改对话框打开前 |
| | | beforeOpen(done, type) { |
| | | if(type == 'add'){ |
| | | this.departObj = {}; |
| | | this.departValue = ""; |
| | | } |
| | | done(); |
| | | }, |
| | | |
| | | // 表格请求 |
| | | getTableList() { |
| | | this.tableLoading = true; |
| | |
| | | this.page.total = res.data.total; |
| | | this.tableLoading = false; |
| | | }) |
| | | this.departmentQueryOnLoad() |
| | | }, |
| | | |
| | | // 表格右侧刷新图标 |
| | |
| | | // 搜索查询 |
| | | handleSearch(params, done) { |
| | | this.searchParams = {}; |
| | | if(this.departSearchObj && this.departSearchValue){ |
| | | this.searchParams['conditionMap["pkDepartment"]'] = this.departSearchValue; |
| | | } |
| | | |
| | | if (!func.isEmptyObject(params)) { |
| | | for (let key in params) { |
| | | if (params.hasOwnProperty(key)) { |
| | |
| | | } |
| | | } |
| | | |
| | | if (func.isEmptyObject(params) && !this.departSearchValue) { |
| | | if (func.isEmptyObject(params)) { |
| | | this.searchParams = {}; |
| | | } |
| | | |
| | |
| | | |
| | | // 重置搜索条件 |
| | | handleReset() { |
| | | this.departSearchObj = {}; |
| | | this.departSearchValue = ""; |
| | | this.searchParams = {}; |
| | | this.getTableList(); |
| | | }, |
| | |
| | | this.$message.error('请检查两次密码是否输入一致!') |
| | | return this.$refs.userCrud.$refs.dialogForm.$refs.tableForm.allDisabled = false; |
| | | } |
| | | row.pkDepartment = this.departValue; // 将当前行的部门参数pkDepartment 赋值为下拉框绑定的值 |
| | | addUser(row).then(res => { |
| | | if (res.data.code === 200) { |
| | | this.$message.success(res.data.obj); |
| | |
| | | |
| | | // 操作栏编辑 |
| | | rowEditHandler(row, index) { |
| | | let obj = { name: row.pkDepartmentName, oid: row.pkDepartment, rowOid: row.oid }; |
| | | this.departValue = row.pkDepartment; |
| | | this.departObj = obj; |
| | | |
| | | if (this.departObj.rowOid) { |
| | | this.$refs.userCrud.rowEdit(row, index); |
| | | } |
| | | |
| | | this.$refs.userCrud.rowEdit(row, index); |
| | | }, |
| | | |
| | | // 编辑 |
| | |
| | | this.$message.error('请检查两次密码是否输入一致!') |
| | | return this.$refs.userCrud.$refs.dialogForm.$refs.tableForm.allDisabled = false; |
| | | } |
| | | row.pkDepartment = this.departValue; // 将当前行的部门参数pkDepartment 赋值为下拉框绑定的值 |
| | | updateUser(row).then(res => { |
| | | if (res.data.code === 200) { |
| | | this.$message.success(res.data.obj); |
| | |
| | | // 下载导入模板 |
| | | downloadHandler() { |
| | | download().then(res => { |
| | | console.log(res); |
| | | func.downloadFileByBlobHandler(res); |
| | | this.$message.success('下载成功'); |
| | | }).catch(err => { |
| | | this.$message.error(err); |
| | | }) |
| | | }, |
| | | |
| | |
| | | return; |
| | | } |
| | | this.departStatus = 'default'; // 区分不同方式打开部门对话框 |
| | | this.departmentQueryOnLoad(); |
| | | this.departVisible = true; |
| | | }, |
| | | |
| | | // 分配部门表格初始化请求 |
| | |
| | | departmentQueryController({queryAllLevel: true}).then(res => { |
| | | const data = res.data.treeData; |
| | | this.departData = this.departDtaFormAtter(data); |
| | | this.departVisible = true; |
| | | this.option.column[7].dicData=[{oid:'ALLDept',name:'所有部门',expand:true,disabled:true,children:this.departData}] |
| | | this.option.column[7].defaultExpandedKeys=['ALLDept']; |
| | | }).catch(err => { |
| | | this.$message.error(err); |
| | | }) |
| | |
| | | return; |
| | | } |
| | | |
| | | //分配部门 |
| | | if (this.departStatus == 'default') { |
| | | let params = { |
| | | userOIds: this.selectList.map(item => item.oid).join(','), |
| | |
| | | this.getTableList(); |
| | | this.$message.success('分配成功!') |
| | | } |
| | | }).catch(err => { |
| | | console.log(err); |
| | | }) |
| | | return; |
| | | } |
| | | |
| | | if (this.departStatus == 'handle') { |
| | | this.departObj = this.departCurrenRow; |
| | | this.departValue = this.departCurrenRow.oid; |
| | | this.departVisible = false; |
| | | return;; |
| | | } |
| | | |
| | | if(this.departStatus == 'search'){ |
| | | this.departSearchObj = this.departCurrenRow; |
| | | this.departSearchValue = this.departCurrenRow.oid; |
| | | this.departVisible = false; |
| | | return; |
| | | } |
| | | }, |
| | | |
| | | // 对话框分配部门按钮 |
| | | dialogDepartHandler() { |
| | | this.departmentQueryOnLoad(); |
| | | this.departStatus = 'handle'; // 区分不同方式打开部门对话框 |
| | | }, |
| | | |
| | | // 搜索对话框分配部门按钮 |
| | | dialogDepartSearchHandler(){ |
| | | this.departmentQueryOnLoad(); |
| | | this.departStatus = 'search'; // 区分不同方式打开部门对话框 |
| | | }, |
| | | } |
| | | |