From ede717166fad5c6379b2fe9828b4dd9d17cdba9c Mon Sep 17 00:00:00 2001 From: anthonywj <yewenjie20@vip.qq.com> Date: Thu, 29 Dec 2022 09:40:59 +0800 Subject: [PATCH] =?UTF-8?q?=E9=83=A8=E9=97=A8=E4=BB=93=E5=BA=93=E7=9B=B8?= =?UTF-8?q?=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/system/dept/authDept.vue | 246 ++++++++++++++++++++----- src/views/system/dept/invWarehouse.vue | 4 - 2 files changed, 196 insertions(+), 54 deletions(-) diff --git a/src/views/system/dept/authDept.vue b/src/views/system/dept/authDept.vue index 5a93a1e8..585cb53e 100644 --- a/src/views/system/dept/authDept.vue +++ b/src/views/system/dept/authDept.vue @@ -1,5 +1,7 @@ <template> <div> + + <!-- 部门信息相关--> <el-card> <el-form :inline="true" :model="filterQuery" class="query-form" size="mini"> <el-row> @@ -23,7 +25,8 @@ type="primary" icon="el-icon-refresh" @click="onReset" - ></el-button> + >重置 + </el-button> <el-button type="primary" @click="onSubmit" icon="el-icon-search" >查询 @@ -171,10 +174,43 @@ /> </el-card> <el-tabs type="border-card" style="margin: 15px"> + + <!-- 部门绑定用户列表--> <el-tab-pane> - <span slot="label">{{ currentRow.name }} 用户列表</span> + <span slot="label">{{ currentRow.name }}-用户列表</span> - <el-table v-loading="loading" :data="userlist" style="width: 100%" border + <el-form :inline="true" :model="userQuery" class="query-form" size="mini"> + <el-form-item class="query-form-item" label="用户名称/账号:"> + <el-input + v-model="userQuery.key" + placeholder="请输入用户名称或用户账号" + clearable + ></el-input> + </el-form-item> + + <el-form-item> + <el-button-group> + <el-button + type="primary" + icon="el-icon-refresh" + @click="onUserReset" + >重置 + </el-button> + <el-button type="primary" @click="onUserReset" + icon="el-icon-search" + >查询 + </el-button + > + <el-button type="primary" @click="onUserSelect" + icon="el-icon-plus" + >选入用户 + </el-button + > + </el-button-group> + </el-form-item> + </el-form> + + <el-table v-loading="userloading" :data="userlist" style="width: 100%" border row-key="id" @current-change="handleDeptChange" > @@ -202,10 +238,89 @@ </el-table-column> </el-table> - + <pagination + v-show="userTotal>0" + :total="userTotal" + :page.sync="userQuery.page" + :limit.sync="userQuery.limit" + @pagination="getUerList" + /> </el-tab-pane> + <!--部门添加用户弹窗--> + <el-dialog + v-if="userFormVisible" + title="仓库信息-添加用户" + :close-on-click-modal="false" + :close-on-press-escape="false" + :visible.sync="userFormVisible" + > + <el-table v-loading="userloading" :data="selectUserList" + ref="selectUserList" + @selection-change="handleUserSelectionChange" + border + style="width: 100%"> + <el-table-column + type="selection" + :reserve-selection="false" + width="55"> + </el-table-column> + <el-table-column label="序号" type="index"></el-table-column> + <el-table-column label="账号" prop="userName"></el-table-column> + <el-table-column label="用户名" prop="employeeName"></el-table-column> + </el-table> + <div slot="footer" class="dialog-footer"> + <el-button @click.native="userFormVisible = !userFormVisible" + >取消 + </el-button + > + <el-button + type="primary" + @click.native="selectUserData()" + >选入 + </el-button> + </div> + <pagination + v-show="selectUserToatl>0" + :total="selectUserToatl" + :page.sync="selectUserQuery.page" + :limit.sync="selectUserQuery.limit" + @pagination="getSelectUser" + /> + </el-dialog> + + + <!-- 部门绑定仓库信息--> <el-tab-pane> - <span slot="label">{{ currentRow.name }} 仓库信息</span> + <span slot="label">{{ currentRow.name }}-仓库信息</span> + <el-form :inline="true" :model="userQuery" class="query-form" size="mini"> + <el-form-item class="query-form-item" label="仓库名称/编码:"> + <el-input + v-model="userQuery.key" + placeholder="请输入仓库名称或仓库编码" + clearable + ></el-input> + </el-form-item> + + <el-form-item> + <el-button-group> + <el-button + type="primary" + icon="el-icon-refresh" + @click="onUserReset" + >重置 + </el-button> + <el-button type="primary" @click="onUserSubmit" + icon="el-icon-search" + >查询 + </el-button + > + <el-tooltip content="请移步至系统管理-组织管理-仓库信息管理界面绑定仓库信息" placement="top" style="margin-left: 20px"> + <i class="el-icon-question">帮助</i> + </el-tooltip> + </el-button-group> + </el-form-item> + </el-form> + <el-table v-loading="loading" :data="userlist" style="width: 100%" border row-key="id" @current-change="handleDeptChange" @@ -233,7 +348,6 @@ </template> </el-table-column> </el-table> - </el-tab-pane> </el-tabs> @@ -247,6 +361,7 @@ import {filterList, deleteWarehouse, saveWarehouse} from "@/api/system/invWareho import {treeList, treeSelectedList} from "@/api/system/dataStatus"; import Treeselect from "@riophae/vue-treeselect"; import "@riophae/vue-treeselect/dist/vue-treeselect.css"; +import {selectNotSelectUser} from "@/api/auth/authUser"; export default { data() { @@ -269,10 +384,6 @@ export default { 2: "未验证", }, list: [], - isTip: { - 0: "否", - 1: "是", - }, formData: {}, formMap: { add: "部门管理-新增", @@ -295,7 +406,28 @@ export default { children: "children", label: "label" }, - currentRow: {}, + currentRow: { + name: "部门" + }, + + + userQuery: { + key: null, + page: 1, + limit: 10, + }, + userlist: [], + userFormVisible: false, + userloading: false, + userTotal: 0, + selectUserList: [], + selectAddUser: [], + selectUserToatl: 0, + selectUserQuery: { + code: null, + page: 1, + limit: 10 + } }; }, @@ -356,8 +488,6 @@ export default { this.cancelDialog(); this.loading = false; }); - - } else if (this.formName == "edit") { saveWarehouse(this.formData, "edit") .then((response) => { @@ -378,7 +508,6 @@ export default { this.loading = false; }); } - } }); @@ -437,22 +566,18 @@ export default { this.list = []; this.total = 0; }); - } - , + }, cancelDialog() { this.formVisible = false; - } - , + }, handleSizeChange(val) { this.filterQuery.limit = val; this.getList(); - } - , + }, handleCurrentChange(val) { this.filterQuery.page = val; this.getList(); - } - , + }, deleteDialog(row) { this.$confirm("是否删除该部门?", "提示", { confirmButtonText: "确定", @@ -474,18 +599,14 @@ export default { }) .catch(() => { }); - } - , - + }, toggleExpandAll() { this.refreshTable = false; this.isExpandAll = !this.isExpandAll; this.$nextTick(() => { this.refreshTable = true; }); - } - , - + }, /** 转换部门数据结构 */ normalizer(node) { if (node.children && !node.children.length) { @@ -496,43 +617,31 @@ export default { label: node.name, children: node.children }; - } - , - - + }, // 树权限(展开/折叠) handleCheckedTreeExpand(value) { let treeList = this.menuOptions; for (let i = 0; i < treeList.length; i++) { this.$refs.menu.store.nodesMap[treeList[i].id].expanded = value; } - } - , + }, // 树权限(全选/全不选) handleCheckedTreeNodeAll(value) { this.$refs.menu.setCheckedNodes(value ? this.menuOptions : []); - } - , - - + }, /** 查询菜单树结构 */ getStatusTreeselect() { treeList().then(response => { this.menuOptions = response.data; }); - } - , - - + }, getDeptStatusMenuTreeselect(deptId) { let query = {deptId: deptId}; return treeSelectedList(query).then(response => { this.menuOptions = response.data.menus; return response; }); - } - , - + }, getMenuAllCheckedKeys() { // 目前被选中的菜单节点 let checkedKeys = this.$refs.menu.getCheckedKeys(); @@ -540,13 +649,50 @@ export default { let halfCheckedKeys = this.$refs.menu.getHalfCheckedKeys(); checkedKeys.unshift.apply(checkedKeys, halfCheckedKeys); return checkedKeys; - } - , - + }, handleDeptChange(row) { - this.currentRow = row; - } + }, + + + //用户相关 + handleUserSelectionChange(val) { + this.selectAddUser = val; + }, + getSelectUser() { + selectNotSelectUser(this.selectUserQuery).then((res) => { + this.selectUserList = res.data.list; + this.selectUserToatl = res.data.total; + }).catch((error) => { + this.$message.error("用户数据加载失败") + }); + }, + onUserReset() { + this.userQuery = { + key: null, + page: 1, + limit: 10, + }; + this.getUerList(); + }, + onUserSubmit() { + this.getUerList(); + }, + onUserSelect(){ + this.userQuery = { + key: null, + page: 1, + limit: 10, + }; + this.getUerList(); + }, + + getUerList() { + + }, + selectUserData(){ + + }, }, diff --git a/src/views/system/dept/invWarehouse.vue b/src/views/system/dept/invWarehouse.vue index 0956030d..b117a505 100644 --- a/src/views/system/dept/invWarehouse.vue +++ b/src/views/system/dept/invWarehouse.vue @@ -88,7 +88,6 @@ </el-table-column> </el-table> </el-card> - <el-tabs type="border-card" style="margin: 15px"> <el-tab-pane> <span slot="label">{{ currentRow.name }}-用户列表</span> @@ -169,8 +168,6 @@ <invSpaceManage :invInfo="currentInvInfo"></invSpaceManage> </el-tab-pane> </el-tabs> - - <!--添加用户弹窗--> <el-dialog v-if="userFormVisible" @@ -322,7 +319,6 @@ </el-select> </el-form-item> - <el-row :gutter="20" class="el-row" type="flex"> <el-col :span="12" class="el-col"> <el-form-item label="分库编码" prop="title" class="query-form-item">