Przeglądaj źródła

添加后线人员转岗操作

hxl13994548489 1 rok temu
rodzic
commit
3cdb44d184

+ 9 - 0
src/http/moudules/user.js

@@ -748,3 +748,12 @@ export const findAllUsers = (data) => {
     data
   })
 }
+
+// 转岗
+export const transferPost = (data) => {
+  return axios({
+    url: '/user/transferPost',
+    method: 'post',
+    data
+  })
+}

+ 138 - 1
src/views/PeopleManage/Staff/StaffManage.vue

@@ -133,6 +133,9 @@
             :button7Name="'离司'"
             :button7Status="'在职'"
             @handleButton7="handleButton7"
+            :button8Name="'转岗'"
+            :button8Status="'在职'"
+            @handleButton8="handleSubTransfer"
             :button9Name="'离司恢复'"
             :button9Status="'离司'"
             @handleButton9="handleRest"
@@ -143,7 +146,34 @@
         <!-- 右侧列表页面End -->
       </Split>
     </el-main>
-
+    <!-- 转岗   -->
+    <el-dialog
+      title="转出部门"
+      width="40%"
+      :visible.sync="showTransfer"
+      @close="closeDialogTransfer"
+      class="dialogOut people-style"
+    >
+      <div>
+        <el-form class="personnelInformation">
+          <el-form-item label="转出部门" prop="logoutTime">
+            <el-cascader
+              v-model="tracferDeptId"
+              :size="overSize"
+              :show-all-levels="false"
+              :options="deptList"
+              :props="optionProps"
+              clearable
+              filterable
+            ></el-cascader>
+          </el-form-item>
+        </el-form>
+      </div>
+      <div class="footerHandle" style="text-align: right">
+        <el-button type="primary" @click="handleTransferPost">确定</el-button>
+        <el-button @click="closeDialogTransfer">取消</el-button>
+      </div>
+    </el-dialog>
     <!-- 新增修改界面 -->
     <el-dialog
       :title="dialogTitle"
@@ -517,6 +547,18 @@ export default {
   mixins: [mixin],
   data() {
     return {
+      tracferDeptId:[],
+      ztreeNodes: [],
+      deptList: [],
+      optionProps: {
+        //公司下拉列表配置
+        checkStrictly: true,
+        value: "id",
+        label: "name"
+      },
+      overSize: "small",
+      transferRow:{}, //转出行
+      showTransfer: false, //转出页面标志
       deptId: "99",
       logoutTime: "", // 离司 离职时间
       logoutImg: "", // 离司 图片
@@ -685,6 +727,7 @@ export default {
     };
   },
   created() {
+    this.getAllCompany();
     // this.getDictItems("sex");
     this.getDictItems("user_status");
     this.getFindRoleByUserId();
@@ -701,6 +744,100 @@ export default {
     },
   },
   methods: {
+    // 获取所有机构列表
+    getAllCompany() {
+      this.$api.task.findAllTree().then((res) => {
+        this.setNodeNames(res.data)
+        this.deptList = res.data;
+      });
+    },
+    setNodeNames(nodes) {
+      nodes.forEach(node => {
+        var deptType="";
+        if(node.deptType==null){
+        }else if(node.deptType==="C"){
+           deptType="(子公司)";
+        }else if(node.deptType==="D"){
+          deptType="(部门)";
+        }else if(node.deptType==="M"){
+          deptType="(门店)";
+        }
+        var managementSource="";
+        if(node.managementSource!=null){
+          if(node.managementSource==="1"){
+            managementSource="(渠道)";
+          }else if(node.managementSource==="2"){
+            managementSource="(个代)";
+          }else if(node.managementSource==="3"){
+            managementSource="(电销)";
+          }
+        }
+        node.name = node.name +deptType+managementSource;
+        if (node.children) {
+          this.setNodeNames(node.children);
+        }
+      });
+    },
+    //打开转出部门列表
+    handleSubTransfer(data){
+      this.transferRow = {};
+      this.transferRow = data.row;
+      this.tracferDeptId =[];
+      this.showTransfer = true;
+    },
+    //关闭
+    closeDialogTransfer(){
+       this.showTransfer = false;
+       this.transferRow = {};
+       this.tracferDeptId =[];
+    },
+    handleTransferPost(){
+      var deptId ="";
+      if (
+        this.tracferDeptId &&
+        this.tracferDeptId.length > 0
+      ) {
+        deptId =
+          this.tracferDeptId[
+          this.tracferDeptId.length - 1
+            ];
+      }else{
+        this.$message.error("请选择转出部门!");
+        return;
+      }
+      this.$confirm("确定转部门吗?转出后此账号为离司,重新生成账号", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      })
+        .then(() => {
+          this.$api.user
+            .transferPost(
+              {
+                userId:this.transferRow.userId,
+                deptId:deptId
+              },
+            )
+            .then((res) => {
+              if (res.code == 200) {
+                this.$message({
+                  type: "success",
+                  message: res.msg,
+                });
+                this.closeDialogTransfer();
+                this.findPage();
+              }else{
+                this.$message.error(res.msg);
+              }
+            });
+        })
+        .catch(() => {
+          this.$message({
+            type: "info",
+            message: "已取消",
+          });
+        });
+    },
     // 离司恢复
     handleRest(data) {
       this.$confirm("是否恢复", "提示", {