Browse Source

完善岗位管理

yanglzh 3 years ago
parent
commit
1a5cccb401

+ 8 - 9
src/views/system/dept/index.vue

@@ -7,7 +7,7 @@
             <el-input size="default" v-model="tableData.param.deptName" placeholder="请输入部门名称" class="w-50 m-2" clearable />
             <el-input size="default" v-model="tableData.param.deptName" placeholder="请输入部门名称" class="w-50 m-2" clearable />
           </el-form-item>
           </el-form-item>
           <el-form-item label="状态">
           <el-form-item label="状态">
-            <el-select size="default" placeholder="请选择状态" class="w-50 m-2" v-model="tableData.param.status" clearable>
+            <el-select size="default" placeholder="请选择状态" class="w-50 m-2" v-model="tableData.param.status">
               <el-option label="全部" :value="-1" />
               <el-option label="全部" :value="-1" />
               <el-option label="启用" :value="1" />
               <el-option label="启用" :value="1" />
               <el-option label="禁用" :value="0" />
               <el-option label="禁用" :value="0" />
@@ -48,7 +48,7 @@
         </el-table-column>
         </el-table-column>
       </el-table>
       </el-table>
     </el-card>
     </el-card>
-    <EditDept ref="editDeptRef" @deptList="deptList"/>
+    <EditDept ref="editDeptRef" @deptList="deptList" />
   </div>
   </div>
 </template>
 </template>
 
 
@@ -119,13 +119,12 @@ export default defineComponent({
 				confirmButtonText: '删除',
 				confirmButtonText: '删除',
 				cancelButtonText: '取消',
 				cancelButtonText: '取消',
 				type: 'warning',
 				type: 'warning',
-			})
-				.then(() => {
-					api.dept.del(row.deptId).then(() => {
-						ElMessage.success('删除成功');
-						deptList();
-					});
-				})
+			}).then(() => {
+				api.dept.del(row.deptId).then(() => {
+					ElMessage.success('删除成功');
+					deptList();
+				});
+			});
 		};
 		};
 		// 页面加载时
 		// 页面加载时
 		onMounted(() => {
 		onMounted(() => {

+ 1 - 1
src/views/system/dict/dataList.vue

@@ -10,7 +10,7 @@
             <el-input v-model="tableData.param.dictLabel" placeholder="请输入字典标签" clearable size="default" @keyup.enter.native="dataList" />
             <el-input v-model="tableData.param.dictLabel" placeholder="请输入字典标签" clearable size="default" @keyup.enter.native="dataList" />
           </el-form-item>
           </el-form-item>
           <el-form-item label="状态" prop="status" style="width: 200px;">
           <el-form-item label="状态" prop="status" style="width: 200px;">
-            <el-select v-model="tableData.param.status" placeholder="字典状态" clearable size="default" style="width: 240px">
+            <el-select v-model="tableData.param.status" placeholder="字典状态" size="default" style="width: 240px">
               <el-option label="全部" :value="-1" />
               <el-option label="全部" :value="-1" />
               <el-option label="启用" :value="1" />
               <el-option label="启用" :value="1" />
               <el-option label="禁用" :value="0" />
               <el-option label="禁用" :value="0" />

+ 2 - 2
src/views/system/org/index.vue

@@ -7,7 +7,7 @@
             <el-input size="default" v-model="tableData.param.name" placeholder="请输入组织名称" class="w-50 m-2" clearable />
             <el-input size="default" v-model="tableData.param.name" placeholder="请输入组织名称" class="w-50 m-2" clearable />
           </el-form-item>
           </el-form-item>
           <el-form-item label="状态">
           <el-form-item label="状态">
-            <el-select size="default" placeholder="请选择状态" class="w-50 m-2" v-model="tableData.param.status" clearable>
+            <el-select size="default" placeholder="请选择状态" class="w-50 m-2" v-model="tableData.param.status" >
               <el-option label="全部" :value="-1" />
               <el-option label="全部" :value="-1" />
               <el-option label="启用" :value="1" />
               <el-option label="启用" :value="1" />
               <el-option label="禁用" :value="0" />
               <el-option label="禁用" :value="0" />
@@ -29,7 +29,7 @@
           </el-form-item>
           </el-form-item>
         </el-form>
         </el-form>
       </div>
       </div>
-      <el-table :data="tableData.data" style="width: 100%" row-key="id" default-expand-all :tree-props="{ children: 'children', hasChildren: 'hasChildren' }">
+      <el-table :data="tableData.data" style="width: 100%"  default-expand-all row-key="id" :tree-props="{ children: 'children', hasChildren: 'hasChildren' }">
         <el-table-column prop="name" label="组织名称" show-overflow-tooltip> </el-table-column>
         <el-table-column prop="name" label="组织名称" show-overflow-tooltip> </el-table-column>
         <el-table-column prop="status" label="组织状态" align="center" min-width="120">
         <el-table-column prop="status" label="组织状态" align="center" min-width="120">
           <template #default="scope">
           <template #default="scope">

+ 18 - 5
src/views/system/post/component/editPost.vue

@@ -1,10 +1,17 @@
 <template>
 <template>
   <div class="system-edit-post-container">
   <div class="system-edit-post-container">
-    <el-dialog v-model="isShowDialog" width="769px">
-      <template #title>
-        <div v-drag="['.system-edit-post-container .el-dialog', '.system-edit-post-container .el-dialog__header']">{{(formData.postId===0?'添加':'修改')+'岗位'}}</div>
-      </template>
+    <el-dialog v-model="isShowDialog" :title="(!formData.postId?'添加':'修改')+'岗位'" width="769px">
       <el-form ref="formRef" :model="formData" :rules="rules" size="default" label-width="90px">
       <el-form ref="formRef" :model="formData" :rules="rules" size="default" label-width="90px">
+        <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+          <el-form-item label="上级岗位">
+            <el-cascader :options="postData" :props="{ checkStrictly: true,emitPath: false, value: 'postId', label: 'postName' }" placeholder="请选择组织" clearable class="w100" v-model="formData.parentId">
+              <template #default="{ node, data }">
+                <span>{{ data.postName }}</span>
+                <span v-if="!node.isLeaf"> ({{ data.children.length }}) </span>
+              </template>
+            </el-cascader>
+          </el-form-item>
+        </el-col>
         <el-form-item label="岗位名称" prop="postName">
         <el-form-item label="岗位名称" prop="postName">
           <el-input v-model="formData.postName" placeholder="请输入岗位名称" />
           <el-input v-model="formData.postName" placeholder="请输入岗位名称" />
         </el-form-item>
         </el-form-item>
@@ -52,6 +59,7 @@ interface PostState {
 	menuExpand: boolean;
 	menuExpand: boolean;
 	menuNodeAll: boolean;
 	menuNodeAll: boolean;
 	menuCheckStrictly: boolean;
 	menuCheckStrictly: boolean;
+	postData: DialogRow[];
 	menuProps: {
 	menuProps: {
 		children: string;
 		children: string;
 		label: string;
 		label: string;
@@ -75,6 +83,7 @@ export default defineComponent({
 		const state = reactive<PostState>({
 		const state = reactive<PostState>({
 			loading: false,
 			loading: false,
 			isShowDialog: false,
 			isShowDialog: false,
+			postData: [],
 			formData: {
 			formData: {
 				...baseForm,
 				...baseForm,
 			},
 			},
@@ -97,6 +106,10 @@ export default defineComponent({
 		// 打开弹窗
 		// 打开弹窗
 		const openDialog = (row?: DialogRow) => {
 		const openDialog = (row?: DialogRow) => {
 			resetForm();
 			resetForm();
+      api.post.getList({ status: 1 }).then((res: any) => {
+        console.log(res)
+				state.postData = res || [];
+			});
 			if (row) {
 			if (row) {
 				state.formData = row;
 				state.formData = row;
 			}
 			}
@@ -153,7 +166,7 @@ export default defineComponent({
 			state.menuExpand = false;
 			state.menuExpand = false;
 			state.menuNodeAll = false;
 			state.menuNodeAll = false;
 			state.formData = {
 			state.formData = {
-				...baseForm
+				...baseForm,
 			};
 			};
 		};
 		};
 
 

+ 3 - 3
src/views/system/post/index.vue

@@ -10,7 +10,7 @@
             <el-input size="default" v-model="tableData.param.postCode" placeholder="请输入岗位编码" class="w-50 m-2" clearable />
             <el-input size="default" v-model="tableData.param.postCode" placeholder="请输入岗位编码" class="w-50 m-2" clearable />
           </el-form-item>
           </el-form-item>
           <el-form-item label="状态">
           <el-form-item label="状态">
-            <el-select size="default" placeholder="请选择状态" class="w-50 m-2" v-model="tableData.param.status" clearable>
+            <el-select size="default" placeholder="请选择状态" class="w-50 m-2" v-model="tableData.param.status">
               <el-option label="全部" :value="-1" />
               <el-option label="全部" :value="-1" />
               <el-option label="启用" :value="1" />
               <el-option label="启用" :value="1" />
               <el-option label="禁用" :value="0" />
               <el-option label="禁用" :value="0" />
@@ -38,10 +38,10 @@
           </el-form-item>
           </el-form-item>
         </el-form>
         </el-form>
       </div>
       </div>
-      <el-table :data="tableData.data" style="width: 100%" @selection-change="handleSelectionChange">
+      <el-table :data="tableData.data" style="width: 100%" @selection-change="handleSelectionChange" row-key="postId" :tree-props="{ children: 'children', hasChildren: 'hasChildren' }">
         <el-table-column type="selection" width="55" align="center" />
         <el-table-column type="selection" width="55" align="center" />
         <el-table-column type="index" label="序号" width="60" align="center" />
         <el-table-column type="index" label="序号" width="60" align="center" />
-        <el-table-column prop="postCode" label="岗位编码" width="180" show-overflow-tooltip></el-table-column>
+        <el-table-column prop="postCode" label="岗位编码" width="220" show-overflow-tooltip></el-table-column>
         <el-table-column prop="postName" label="岗位名称" show-overflow-tooltip></el-table-column>
         <el-table-column prop="postName" label="岗位名称" show-overflow-tooltip></el-table-column>
         <el-table-column prop="postSort" label="排序" width="60" align="center"></el-table-column>
         <el-table-column prop="postSort" label="排序" width="60" align="center"></el-table-column>
         <el-table-column prop="status" label="岗位状态" width="120" align="center">
         <el-table-column prop="status" label="岗位状态" width="120" align="center">

+ 1 - 1
src/views/system/user/index.vue

@@ -20,7 +20,7 @@
                 <el-input v-model="tableData.param.mobile" placeholder="请输入手机号码" clearable size="default" style="width: 240px" @keyup.enter.native="userList" />
                 <el-input v-model="tableData.param.mobile" placeholder="请输入手机号码" clearable size="default" style="width: 240px" @keyup.enter.native="userList" />
               </el-form-item>
               </el-form-item>
               <el-form-item label="状态" prop="status" style="width: 200px;">
               <el-form-item label="状态" prop="status" style="width: 200px;">
-                <el-select v-model="tableData.param.status" placeholder="用户状态" clearable size="default" style="width: 240px">
+                <el-select v-model="tableData.param.status" placeholder="用户状态" size="default" style="width: 240px">
                   <el-option label="全部" :value="-1" />
                   <el-option label="全部" :value="-1" />
                   <el-option label="启用" :value="1" />
                   <el-option label="启用" :value="1" />
                   <el-option label="禁用" :value="0" />
                   <el-option label="禁用" :value="0" />