Jelajahi Sumber

Merge branch 'master' of http://120.26.64.82:3000/BFFE/Foshan4A4.0

chenjun 3 tahun lalu
induk
melakukan
d08e10e1e9

+ 57 - 294
src/views/jobsManagement/add.vue

@@ -2,7 +2,7 @@
   <div class="pageBody">
     <div class="topPart">
       <div class="title">
-        <div class="tltleLeft">新增岗位</div>
+        <div class="tltleLeft">编辑岗位</div>
         <!-- <div class="isUsed">
           是否启用
           <el-radio
@@ -18,32 +18,22 @@
         </div> -->
         <div>
           <!-- <button type="submmit" class="delBtn" @click="delate">删除</button> -->
-          <button type="submmit" class="saveBtn" @click="saveJob()">
+          <button type="submmit" style="cursor: pointer;" class="saveBtn" @click="saveJob('form')">
             保存
           </button>
         </div>
       </div>
       <div class="titleContent">
-        <el-form ref="form" :model="FormData" label-width="80px">
+        <el-form ref="form" :model="FormData" :rules="rules" label-width="80px">
           <el-row :gutter="40">
             <el-col :span="5">
-              <el-form-item label="岗位名称" prop="name">
-                <el-input
-                  v-model="FormData.JobName"
-                  maxlength="32"
-                  placeholder="请输入岗位名称"
-                  size="small"
-                ></el-input>
+              <el-form-item label="岗位名称" prop="JobName">
+                <el-input v-model="FormData.JobName" maxlength="32" placeholder="请输入岗位名称" size="small"></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="10">
-              <el-form-item label="描述" prop="diesc">
-                <el-input
-                  v-model="FormData.JobDesc"
-                  maxlength="128"
-                  placeholder="描述内容"
-                  size="small"
-                ></el-input>
+              <el-form-item label="描述">
+                <el-input v-model="FormData.JobDesc" maxlength="128" placeholder="描述内容" size="small"></el-input>
               </el-form-item>
             </el-col>
           </el-row>
@@ -52,92 +42,9 @@
     </div>
     <div class="content">
       <el-row :gutter="25">
-        <el-col :span="24" v-if="systemSet.UserOfficerMulti != 0">
+        <el-col :span="24">
           <div class="part">
-            <Organization
-              title="所属组织"
-              :data="dataList"
-              :defaultProps="defaultProps"
-              :nodekey="'Organid'"
-              @getCheckedData="getOrganTreeData"
-              :checkedKeys="checkedIdList"
-            />
-          </div>
-        </el-col>
-        <el-col :span="8" v-if="systemSet.UserOfficerMulti === 0">
-          <div class="part">
-            <Organization
-              title="所属组织"
-              :data="originData"
-              :defaultProps="defaultProps"
-              :nodekey="'Organid'"
-              :checkedKeys="checkedIdList"
-            />
-          </div>
-        </el-col>
-        <el-col
-          :span="8"
-          v-if="
-            systemSet.OpenRole === 0 &&
-            systemSet.OpenGroup === 0 &&
-            systemSet.UserOfficerMulti === 0
-          "
-        >
-          <div class="part">
-            <Permissiontree
-              @getTreeData="getAuthTreeData"
-              :checkedKeys="checkedAuthKeys"
-              :queryType="queryType"
-              :queryId="originId"
-              title="权限树"
-            />
-          </div>
-        </el-col>
-        <el-col
-          :span="8"
-          v-if="
-            systemSet.OpenRole === 0 &&
-            systemSet.OpenGroup === 0 &&
-            systemSet.UserOfficerMulti === 0
-          "
-        >
-          <div class="part">
-            <Rulesofcompetency title="权限规则" />
-          </div>
-        </el-col>
-        <el-col
-          :span="8"
-          v-if="
-            (systemSet.OpenRole != 0 || systemSet.OpenGroup != 0) &&
-            systemSet.UserOfficerMulti === 0
-          "
-        >
-          <div class="part">
-            <rolelist
-              :title="title"
-              @checkChange="checkRoleChange"
-              :dataList="originRoleList"
-              :checkBoxList="checkedRoleKeys"
-              @checkClick="roleClick"
-              :number="8"
-            />
-          </div>
-        </el-col>
-        <el-col
-          :span="8"
-          v-if="
-            (systemSet.OpenRole != 0 || systemSet.OpenGroup != 0) &&
-            systemSet.UserOfficerMulti === 0
-          "
-        >
-          <div class="part">
-            <permissionlist
-              title="权限列表"
-              :RoleList="powerList"
-              :check="true"
-              class="hucPower"
-              @Competen="Competen"
-            />
+            <Organization title="上级组织" :active="0" :data="dataObj" :defaultProps="defaultProps" nodekey="OrganId" @getTreeData="getOrganTreeData" :checkedKeys="checkedIdList" />
           </div>
         </el-col>
       </el-row>
@@ -145,34 +52,17 @@
   </div>
 </template>
 <script>
-import Permissiontree from "@/components/permissiontree/index.vue";
-import Rulesofcompetency from "@/components/rulesofcompetency/index.vue";
-import Organization from "@/components/organization/index.vue";
-import rolelist from "@/components/rolelist/index.vue";
-import permissionlist from "@/components/permissionlist/index.vue";
-
+import Organization from "@/components/organization";
 import treeData from "./minixs/treeData";
-import roleData from "./minixs/roleData";
-
 import { SaveJob } from "@/api/jobApi";
-import { newOrganall } from "@/api/postInterface";
-import { RoleAuths } from "@/api/apiAuthority";
-import { GroupAuths } from '@/api/authGroupApi'
-
 export default {
-  data() {
+  data () {
     return {
-      queryType: "origin",
-      JobId: 0, //当前岗位ID
-      systemSet: null, //系统设置
+      JobId: null, //当前岗位ID
+      OrganId: null,
       FormData: {
         JobName: "",
-        AuthList: [],
         JobDesc: "",
-        JobName: "",
-        OrganId: 0,
-        RoleList: [],
-        GroupList: [],
       },
       rules: {
         JobName: [
@@ -189,197 +79,70 @@ export default {
         children: "children",
         label: "OrganName",
       },
-      listData: [], //上级组织树
-      originId: "-1", //所属组织ID
-      originData: [], //所属组织详情
-      checkedIdList: [], //选中组织树
-      AuthList: [], //选中权限(包含规则组)
-      RoleList: [], //选中角色/权限组组
-      checkedAuthKeys: [],
-      checkedRoleKeys: [],
-      originRoleList: [], //所属组织角色/权限组权限组列表
-      powerList: [], //角色/权限组权限列表
+      dataObj: [], //上级组织树
+      checkedIdList: [],
       title: "",
     };
   },
-  mixins: [treeData, roleData],
-  watch: {
-    arrs: {
-      handler(arr) {
-        arr.forEach((item) => {
-          item.name = item.RoleName;
-          if (this.systemSet.OpenRole != 0) {
-            item.name = item.RoleName;
-          } else {
-            item.name = item.GroupName;
-          }
-          if (
-            item.IsSelected == 1 &&
-            _.indexOf(this.originRoleList, item) == -1
-          ) {
-            this.originRoleList.push(item);
-          }
-        });
-        this.checkedRoleKeys = [];
-        this.RoleList.forEach((item) => {
-          this.originRoleList.forEach((value, index) => {
-            if (this.systemSet.OpenRole != 0) {
-              if (item.RoleId == value.RoleId) {
-                this.checkedRoleKeys.push(index);
-              }
-            } else {
-              if (item.GroupId == value.GroupId) {
-                this.checkedRoleKeys.push(index);
-              }
-            }
-          });
-        });
-      },
-      deep: true,
-    },
-  },
-  created: function () {
-    const systemData = this.$store.state.app.systemSet;
-    this.originId = this.$route.query.OrganId;
-    if (typeof systemData == "string") {
-      this.systemSet = JSON.parse(systemData);
-    } else {
-      this.systemSet = systemData;
-    }
-    if (this.systemSet.OpenRole != 0 && this.systemSet.UserOfficerMulti === 0) {
-      this.title = "角色/列表";
-      this.getRoleByOrgan(this.originId);
-    } else if (
-      this.systemSet.OpenRole == 0 &&
-      this.systemSet.OpenGroup != 0 &&
-      this.systemSet.UserOfficerMulti === 0
-    ) {
-      this.title = "权限组列表";
-      this.getGroupByOrgan(this.originId);
-    }
-
-    this.checkedIdList.push(this.originId);
-    this.getOrganDetails();
+  mixins: [treeData],
+  created () {
+    const { OrganId } = this.$route.query
+    this.OrganId = OrganId
+    this.checkedIdList = [OrganId]
   },
   components: {
     Organization,
-    Permissiontree,
-    Rulesofcompetency,
-    rolelist,
-    permissionlist,
+  },
+  watch: {
+    dataList: {
+      handler (val) {
+        this.decompose([val], this.OrganId)
+      },
+      deep: true
+    }
   },
   methods: {
-    //获取所属组织详情
-    getOrganDetails() {
-      try {
-        let data = {
-          OrganId: this.originId,
-        };
-        newOrganall(data).then((result) => {
-          if (result.code == 0) {
-            this.originData = [];
-            this.originData.push(result.returnData);
-          }
-        });
-      } catch (error) {
-        console.log("newOrganall");
-        console.log(error);
-      }
-    },
-    //获取当权选中权限树
-    getAuthTreeData(data) {
-      this.checkedAuthTreeList = _.cloneDeep(data);
+    //点击获取组织
+    getOrganTreeData (arr) {
+      const { OrganId } = arr[0]
+      this.OrganId = OrganId
     },
-    //获取组织树点击
-    getOrganTreeData(data) {
-      console.log(data);
-    },
-    //角色/权限组选中后
-    checkRoleChange(data) {
-      this.RoleList = [];
-      data.forEach((item) => {
-        this.originRoleList[item].IsSelected = 1;
-        this.RoleList.push(this.originRoleList[item]);
-      });
-    },
-    //点击角色/权限组后
-    roleClick(data) {
-      if (this.systemSet.OpenRole != 0) {
-        try {
-          let params = {
-            RoleId: data.RoleId,
-          };
-          RoleAuths(params).then((result) => {
-            this.powerList = result.returnData;
-          });
-        } catch (error) {
-          console.log("RoleAuths");
-          console.log(error);
-        }
-      }
-      else{
-        try {
-          let params = {
-            GroupId: data.GroupId,
-          };
-          GroupAuths(params).then((result) => {
-            this.powerList = result.returnData;
-          });
-        } catch (error) {
-          console.log("GroupAuths");
-          console.log(error);
+    //保存
+    saveJob (formName) {
+      this.$refs[formName].validate((valid) => {
+        if (valid) {
+          this.saveData()
+        } else {
+          console.log('error submit!!')
+          return false
         }
-      }
+      })
     },
-    //保存
-    saveJob() {
+    async saveData () {
       try {
-        let arr = _.cloneDeep(this.checkedAuthTreeList);
-        let authArrs = _.cloneDeep(this.$store.state.auth.authArrs);
-        if (arr) {
-          this.AuthList = [];
-          arr.forEach((item) => {
-            this.AuthList.push(item.AuthList);
-          });
-          this.AuthList.forEach((item, index) => {
-            authArrs.forEach((item2) => {
-              if (item.AuthId == item2.AuthId) {
-                this.AuthList[index] = item2.AuthList;
-              }
-            });
-          });
+        const data = {
+          JobName: this.FormData.JobName,
+          JobDesc: this.FormData.JobDesc,
+          OrganId: this.OrganId
         }
-        this.FormData.AuthList = this.AuthList;
-        if (this.systemSet.OpenRole != 0) {
-          this.FormData.RoleList = this.RoleList;
+        const result = await SaveJob(data)
+        if (result.code == 0) {
+          this.$message.success(result.message)
+          this.$store.dispatch('tagsView/delView', this.$route)
+          this.$router.push("/jobs")
         } else {
-          this.FormData.GroupList = this.RoleList;
+          this.$message.error(result.message)
         }
-        this.FormData.OrganId = this.originId;
-        let data = _.cloneDeep(this.FormData);
-        SaveJob(data).then((result) => {
-          if (result.code == 0) {
-            this.$message.success(result.message);
-            this.$store.dispatch('tagsView/delView', this.$route)
-            this.$router.push("/jobs");
-          }
-        });
       } catch (error) {
-        console.log("EditJob");
-        console.log(error);
+        this.$message.error(error)
       }
     },
-    //查看权限列表明细
-    Competen(data) {
-      this.$emit("Competen", data);
-    },
     //获取指定数据
-    decompose(data, id) {
+    decompose (data, id) {
       for (let i = 0; i < data.length; i++) {
-        if (data[i].GroupId == id) {
-          this.dataObj = data[i];
-          delete this.dataObj.children;
-          this.dataObj = [this.dataObj];
+        if (data[i].OrganId == id) {
+          delete data[i].children;
+          this.dataObj = [data[i]];
         } else if (data[i].children && data[i].children.length > 0) {
           this.decompose(data[i].children, id);
         }

+ 71 - 331
src/views/jobsManagement/edit.vue

@@ -18,32 +18,22 @@
         </div> -->
         <div>
           <!-- <button type="submmit" class="delBtn" @click="delate">删除</button> -->
-          <button type="submmit" class="saveBtn" @click="saveJob()">
+          <button type="submmit" style="cursor: pointer;" class="saveBtn" @click="saveJob('form')">
             保存
           </button>
         </div>
       </div>
       <div class="titleContent">
-        <el-form ref="form" :model="FormData" label-width="80px">
+        <el-form ref="form" :model="FormData" :rules="rules" label-width="80px">
           <el-row :gutter="40">
             <el-col :span="5">
-              <el-form-item label="岗位名称" prop="name">
-                <el-input
-                  v-model="FormData.JobName"
-                  maxlength="32"
-                  placeholder="请输入岗位名称"
-                  size="small"
-                ></el-input>
+              <el-form-item label="岗位名称" prop="JobName">
+                <el-input v-model="FormData.JobName" maxlength="32" placeholder="请输入岗位名称" size="small"></el-input>
               </el-form-item>
             </el-col>
             <el-col :span="10">
               <el-form-item label="描述" prop="diesc">
-                <el-input
-                  v-model="FormData.JobDesc"
-                  maxlength="128"
-                  placeholder="描述内容"
-                  size="small"
-                ></el-input>
+                <el-input v-model="FormData.JobDesc" maxlength="128" placeholder="描述内容" size="small"></el-input>
               </el-form-item>
             </el-col>
           </el-row>
@@ -52,92 +42,9 @@
     </div>
     <div class="content">
       <el-row :gutter="25">
-        <el-col :span="24" v-if="systemSet.UserOfficerMulti != 0">
+        <el-col :span="24">
           <div class="part">
-            <Organization
-              title="所属组织"
-              :data="dataList"
-              :defaultProps="defaultProps"
-              :nodekey="'Organid'"
-              @getCheckedData="getOrganTreeData"
-              :checkedKeys="checkedIdList"
-            />
-          </div>
-        </el-col>
-        <el-col :span="8" v-if="systemSet.UserOfficerMulti === 0">
-          <div class="part">
-            <Organization
-              title="所属组织"
-              :data="originData"
-              :defaultProps="defaultProps"
-              :nodekey="'Organid'"
-              :checkedKeys="checkedIdList"
-            />
-          </div>
-        </el-col>
-        <el-col
-          :span="8"
-          v-if="
-            systemSet.OpenRole === 0 &&
-            systemSet.OpenGroup == 0 &&
-            systemSet.UserOfficerMulti === 0
-          "
-        >
-          <div class="part">
-            <Permissiontree
-              @getTreeData="getAuthTreeData"
-              :checkedKeys="checkedAuthKeys"
-              :queryType="queryType"
-              :queryId="originId"
-              title="权限树"
-            />
-          </div>
-        </el-col>
-        <el-col
-          :span="8"
-          v-if="
-            systemSet.OpenRole === 0 &&
-            systemSet.OpenGroup == 0 &&
-            systemSet.UserOfficerMulti === 0
-          "
-        >
-          <div class="part">
-            <Rulesofcompetency title="权限规则" />
-          </div>
-        </el-col>
-        <el-col
-          :span="8"
-          v-if="
-            (systemSet.OpenRole != 0 || systemSet.OpenGroup != 0) &&
-            systemSet.UserOfficerMulti === 0
-          "
-        >
-          <div class="part">
-            <rolelist
-              :title="title"
-              @checkChange="checkRoleChange"
-              :dataList="originRoleList"
-              :checkBoxList="checkedRoleKeys"
-              @checkClick="roleClick"
-              :number="8"
-            />
-          </div>
-        </el-col>
-        <el-col
-          :span="8"
-          v-if="
-            (systemSet.OpenRole != 0 || systemSet.OpenGroup != 0) &&
-            systemSet.UserOfficerMulti === 0
-          "
-        >
-          <div class="part">
-            <permissionlist
-              title="权限列表"
-              :RoleList="powerList"
-              :check="true"
-              class="hucPower"
-              @Competen="Competen"
-            />
+            <Organization title="上级组织" :active="0" :data="dataObj" :defaultProps="defaultProps" nodekey="OrganId" @getTreeData="getOrganTreeData" :checkedKeys="checkedIdList" />
           </div>
         </el-col>
       </el-row>
@@ -145,35 +52,17 @@
   </div>
 </template>
 <script>
-import Permissiontree from "@/components/permissiontree/index.vue";
-import Rulesofcompetency from "@/components/rulesofcompetency/index.vue";
-import Organization from "@/components/organization/index.vue";
-import rolelist from "@/components/rolelist/index.vue";
-import permissionlist from "@/components/permissionlist/index.vue";
-
+import Organization from "@/components/organization";
 import treeData from "./minixs/treeData";
-import roleData from "./minixs/roleData";
-
 import { GetJobDetails, EditJob } from "@/api/jobApi";
-import { newOrganall } from "@/api/postInterface";
-import { RoleAuths } from "@/api/apiAuthority";
-import { GroupAuths } from "@/api/authGroupApi";
-
 export default {
-  data() {
+  data () {
     return {
-      queryType: "origin",
-      JobId: 0, //当前岗位ID
-      systemSet: null, //系统设置
+      JobId: null, //当前岗位ID
+      OrganId: null,
       FormData: {
         JobName: "",
-        AuthList: [],
         JobDesc: "",
-        JobId: 0,
-        JobName: "",
-        OrganId: 0,
-        RoleList: [],
-         GroupList: [],
       },
       rules: {
         JobName: [
@@ -190,241 +79,92 @@ export default {
         children: "children",
         label: "OrganName",
       },
-      listData: [], //上级组织树
-      originId: "-1", //所属组织ID
-      originData: [], //所属组织详情
-      checkedIdList: [], //选中组织树
-      AuthList: [], //选中权限(包含规则组)
-      RoleList: [], //选中角色/权限组组
-      checkedAuthKeys: [],
-      checkedRoleKeys: [],
-      originRoleList: [], //所属组织角色/权限组列表
-      powerList: [], //角色/权限组权限列表
+      dataObj: [], //上级组织树
+      checkedIdList: [],
       title: "",
     };
   },
-  mixins: [treeData, roleData],
-  watch: {
-    arrs: {
-      handler(arr) {
-        arr.forEach((item) => {
-          item.name = item.RoleName;
-          if (this.systemSet.OpenRole != 0) {
-            item.name = item.RoleName;
-          } else {
-            item.name = item.GroupName;
-          }
-          if (
-            item.IsSelected == 1 &&
-            _.indexOf(this.originRoleList, item) == -1
-          ) {
-            this.originRoleList.push(item);
-          }
-        });
-        this.checkedRoleKeys = [];
-        this.RoleList.forEach((item) => {
-          this.originRoleList.forEach((value, index) => {
-            if (this.systemSet.OpenRole != 0) {
-              if (item.RoleId == value.RoleId) {
-                this.checkedRoleKeys.push(index);
-              }
-            } else {
-              if (item.GroupId == value.GroupId) {
-                this.checkedRoleKeys.push(index);
-              }
-            }
-          });
-        });
-      },
-      deep: true,
-    },
-  },
-  created: function () {
-    const systemData = this.$store.state.app.systemSet;
-    if (typeof systemData == "string") {
-      this.systemSet = JSON.parse(systemData);
-    } else {
-      this.systemSet = systemData;
-    }
-    if (this.systemSet.OpenRole != 0) {
-      this.title = "角色列表";
-    } else {
-      this.title = "权限组列表";
-    }
-    this.JobId = this.$route.query.JobId;
-    this.getJobDetails();
-    console.log(this.$route)
+  mixins: [treeData],
+  created () {
+    const { JobId } = this.$route.query;
+    this.getJobDetails(JobId);
   },
   components: {
     Organization,
-    Permissiontree,
-    Rulesofcompetency,
-    rolelist,
-    permissionlist,
+  },
+  watch: {
+    dataList: {
+      handler (val) {
+        this.decompose([val], this.OrganId)
+      },
+      deep: true
+    }
   },
   methods: {
-    //获取岗位详情
-    getJobDetails() {
-      try {
-        let data = {
-          JobId: this.JobId,
-        };
-        GetJobDetails(data).then((result) => {
-          if (result.code === 0) {
-            this.FormData = _.cloneDeep(result.returnData);
-            this.originId = result.returnData.OrganId + "";
-            this.AuthList = _.cloneDeep(result.returnData.AuthList);
-            this.$store.state.auth.authList = _.cloneDeep(
-              result.returnData.AuthList
-            );
-
-            if (this.AuthList) {
-              this.AuthList.forEach((item) => {
-                this.checkedAuthKeys.push(item.AuthId);
-              });
-            }
-            this.checkedIdList.push(result.returnData.OrganId);
-            this.getOrganDetails();
-
-            let list = [];
-            if (
-              this.systemSet.OpenRole != 0 &&
-              this.systemSet.UserOfficerMulti === 0
-            ) {
-              list = _.cloneDeep(result.returnData.RoleList)
-              this.getRoleByOrgan(this.originId);
-            } else if (
-              this.systemSet.OpenRole == 0 &&
-              this.systemSet.OpenGroup != 0 &&
-              this.systemSet.UserOfficerMulti === 0
-            ) {
-              list = _.cloneDeep(result.returnData.GroupList)
-              this.getGroupByOrgan(this.originId);
-            }
-            if (list) {
-              list.forEach((item, index) => {
-                if (item.IsSelected == 1) {
-                  this.RoleList.push(item);
-                }
-              });
-            }
-          }
-        });
-      } catch (error) {
-        console.log("GetJobDetails");
-        console.log(error);
-      }
+    //点击获取组织
+    getOrganTreeData (arr) {
+      const { OrganId } = arr[0]
+      this.OrganId = OrganId
     },
-    //获取所属组织详情
-    getOrganDetails() {
+    //获取岗位详情
+    async getJobDetails (id) {
       try {
         let data = {
-          OrganId: this.originId,
+          JobId: id,
         };
-        newOrganall(data).then((result) => {
-          if (result.code == 0) {
-            this.originData = [];
-            this.originData.push(result.returnData);
-          }
-        });
+        const result = await GetJobDetails(data)
+        if (result.code === 0) {
+          const obj = result.returnData
+          const { JobDesc, JobName, JobId, OrganId } = obj
+          this.FormData.JobName = JobName
+          this.FormData.JobDesc = JobDesc
+          this.JobId = JobId
+          this.OrganId = OrganId
+          this.checkedIdList = [OrganId]
+        } else {
+          this.$message.error(result.message)
+        }
       } catch (error) {
-        console.log("newOrganall");
-        console.log(error);
+        this.$message.error(error)
       }
     },
-    //获取当权选中权限树
-    getAuthTreeData(data) {
-      this.checkedAuthTreeList = _.cloneDeep(data);
-    },
-    //获取组织树点击
-    getOrganTreeData(data) {
-      console.log(data);
-    },
-    //角色/权限组选中后角色/权限组
-    checkRoleChange(data) {
-      this.RoleList = [];
-      data.forEach((item) => {
-        this.originRoleList[item].IsSelected = 1;
-        this.RoleList.push(this.originRoleList[item]);
-      });
-    },
-    //点击角色/权限组后
-    roleClick(data) {
-      if (this.systemSet.OpenRole != 0) {
-        try {
-          let params = {
-            RoleId: data.RoleId,
-          };
-          RoleAuths(params).then((result) => {
-            this.powerList = result.returnData;
-          });
-        } catch (error) {
-          console.log("RoleAuths");
-          console.log(error);
-        }
-      }
-      else{
-        try {
-          let params = {
-            GroupId: data.GroupId,
-          };
-          GroupAuths(params).then((result) => {
-            this.powerList = result.returnData;
-          });
-        } catch (error) {
-          console.log("GroupAuths");
-          console.log(error);
+    //保存
+    async saveJob (formName) {
+      this.$refs[formName].validate((valid) => {
+        if (valid) {
+          this.saveData()
+        } else {
+          console.log('error submit!!')
+          return false
         }
-      }
+      })
     },
-    //保存
-    saveJob() {
+    async saveData () {
       try {
-        let arr = _.cloneDeep(this.checkedAuthTreeList);
-        let authArrs = _.cloneDeep(this.$store.state.auth.authArrs);
-        if (arr) {
-          this.AuthList = [];
-          arr.forEach((item) => {
-            this.AuthList.push(item.AuthList);
-          });
-          this.AuthList.forEach((item, index) => {
-            authArrs.forEach((item2) => {
-              if (item.AuthId == item2.AuthId) {
-                this.AuthList[index] = item2.AuthList;
-              }
-            });
-          });
+        const data = {
+          JobName: this.FormData.JobName,
+          JobDesc: this.FormData.JobDesc,
+          OrganId: this.OrganId,
+          JobId: this.JobId
         }
-        this.FormData.AuthList = this.AuthList;
-        if (this.systemSet.OpenRole != 0) {
-          this.FormData.RoleList = this.RoleList;
+        const result = await EditJob(data)
+        if (result.code == 0) {
+          this.$message.success(result.message)
+          this.$store.dispatch('tagsView/delView', this.$route)
+          this.$router.push("/jobs")
         } else {
-          this.FormData.GroupList = this.RoleList;
+          this.$message.error(result.message)
         }
-        let data = _.cloneDeep(this.FormData);
-        EditJob(data).then((result) => {
-          if (result.code == 0) {
-            this.$message.success(result.message);
-            this.$store.dispatch('tagsView/delView', this.$route)
-            this.$router.push("/jobs");
-          }
-        });
       } catch (error) {
-        console.log("EditJob");
-        console.log(error);
+        this.$message.error(error)
       }
     },
-    //查看权限列表明细
-    Competen(data) {
-      this.$emit("Competen", data);
-    },
     //获取指定数据
-    decompose(data, id) {
+    decompose (data, id) {
       for (let i = 0; i < data.length; i++) {
-        if (data[i].GroupId == id) {
-          this.dataObj = data[i];
-          delete this.dataObj.children;
-          this.dataObj = [this.dataObj];
+        if (data[i].OrganId == id) {
+          delete data[i].children;
+          this.dataObj = [data[i]];
         } else if (data[i].children && data[i].children.length > 0) {
           this.decompose(data[i].children, id);
         }

+ 4 - 3
src/views/jobsManagement/list.vue

@@ -26,11 +26,12 @@
 
           <el-row class="conntent" v-if="radio == 1">
             <el-col :span="12">上级组织:<span>{{ item.OrganName }}</span></el-col>
-            <el-col :span="12" class="flexLeft">权限项数:<span>{{ item.AuthCount }}</span></el-col>
+            <el-col :span="12">拥有职员:<span>{{ item.OfficerCount }}</span></el-col>
+            <!-- <el-col :span="12" class="flexLeft">权限项数:<span>{{ item.AuthCount }}</span></el-col> -->
           </el-row>
-          <el-row class="conntent" v-if="radio == 1">
+          <!-- <el-row class="conntent" v-if="radio == 1">
             <el-col :span="24">拥有职员:<span>{{ item.OfficerCount }}</span></el-col>
-          </el-row>
+          </el-row> -->
           <el-row class="conntent2" v-if="radio == 2">
             <el-col :span="24"><span>{{ item.UpLink }}</span></el-col>
           </el-row>

+ 2 - 12
src/views/jobsManagement/minixs/treeData.js

@@ -1,7 +1,7 @@
 /*
  * @Author: your name
  * @Date: 2021-12-22 17:00:22
- * @LastEditTime: 2022-01-06 16:10:10
+ * @LastEditTime: 2022-02-10 10:45:54
  * @LastEditors: Please set LastEditors
  * @Description: 获取权限树
  * @FilePath: \Foshan4A2.0\src\views\authorityManagement\minixs\treeData.js
@@ -12,17 +12,7 @@ import { tissueTreeList } from '@/api/postInterface'
 export default {
   data () {
     return {
-      dataList: {
-        AuthCount: 0,
-        JobCount: 0,
-        OfficerCount: 0,
-        OrganId: -1,
-        OrganName: "佛山路桥",
-        OrganUpid: -2,
-        QueryTarget: "0",
-        Type: 0,
-        children: []
-      }
+      dataList: []
     }
   },
   created () {

+ 61 - 166
src/views/organizationManagement/components/organizationHome.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2021-11-29 09:27:43
- * @LastEditTime: 2022-01-07 15:13:05
+ * @LastEditTime: 2022-02-10 09:46:51
  * @LastEditors: Please set LastEditors
  * @Description: 权限管理
  * @FilePath: \Foshan4A2.0\src\views\authorityManagement\components\home.vue
@@ -14,29 +14,17 @@
         <div class="status1"><span class="icon"></span>集团内</div>
         <div class="status2"><span class="icon"></span>集团外</div>
       </div>
-      <Search
-        @getSearchData="getSearchData"
-        @clearSearchData="clearSearchData"
-      />
+      <Search @getSearchData="getSearchData" @clearSearchData="clearSearchData" />
     </div>
     <!--权限树-->
     <div class="authority-content">
       <!-- <OrgTree :dataList="dataList" :renderContent="renderContent" /> -->
       <el-row :gutter="24" class="bodyContent">
-        <el-col :span="6" class="bodyPart"
-          ><div class="grid-content">
+        <el-col :span="6" class="bodyPart">
+          <div class="grid-content">
             <div class="title">组织树</div>
             <div class="contentTree">
-              <el-tree
-                ref="tree"
-                :data="dataListTree"
-                :props="defaultProps"
-                node-key="OrganId"
-                :filter-node-method="filterNode"
-                highlight-current
-                :default-expanded-keys="[currentKey]"
-                @node-click="handleNodeClick"
-              >
+              <el-tree ref="tree" :data="dataListTree" :props="defaultProps" node-key="OrganId" :filter-node-method="filterNode" highlight-current :default-expanded-keys="[currentKey]" @node-click="handleNodeClick">
               </el-tree>
             </div>
           </div>
@@ -47,11 +35,7 @@
             <div class="content">
               <el-empty :image-size="100" style="padding:0" v-if="currDataArr.length<1"></el-empty>
               <el-row>
-                <el-col
-                  :span="8"
-                  v-for="data in currDataArr"
-                  :key="data.OrganId"
-                >
+                <el-col :span="8" v-for="data in currDataArr" :key="data.OrganId">
                   <div class="itemBox">
                     <div class="status" v-if="data.OrganType == 1"></div>
                     <div class="status2" v-if="data.OrganType != 1"></div>
@@ -62,56 +46,21 @@
                       <el-col :span="12">
                         <div class="flex info">
                           <div class="icon">
-                            <el-tooltip
-                              effect="dark"
-                              content="新增岗位"
-                              placement="bottom"
-                            >
-                              <span
-                                title="新增岗位"
-                                class="cap cap-job"
-                                @click="renderJob(data)"
-                                v-if="data.OrganId != -1"
-                              ></span
-                            ></el-tooltip>
+                            <el-tooltip effect="dark" content="新增岗位" placement="bottom">
+                              <span title="新增岗位" class="cap cap-job" @click="renderJob(data)" v-if="data.OrganId != -1"></span>
+                            </el-tooltip>
 
-                            <el-tooltip
-                              effect="dark"
-                              content="新增职员"
-                              placement="bottom"
-                            >
-                              <span
-                                title="新增职员"
-                                v-if="data.OrganId != -1"
-                                class="cap cap-member"
-                                @click="renderMember(data)"
-                              ></span
-                            ></el-tooltip>
+                            <el-tooltip effect="dark" content="新增职员" placement="bottom">
+                              <span title="新增职员" v-if="data.OrganId != -1" class="cap cap-member" @click="renderMember(data)"></span>
+                            </el-tooltip>
 
-                            <el-tooltip
-                              effect="dark"
-                              content="编辑组织"
-                              placement="bottom"
-                            >
-                              <span
-                                title="编辑组织"
-                                class="cap cap-edit"
-                                @click="renderEdit(data)"
-                                v-if="data.OrganId != -1"
-                              ></span
-                            ></el-tooltip>
+                            <el-tooltip effect="dark" content="编辑组织" placement="bottom">
+                              <span title="编辑组织" class="cap cap-edit" @click="renderEdit(data)" v-if="data.OrganId != -1"></span>
+                            </el-tooltip>
 
-                            <el-tooltip
-                              effect="dark"
-                              content="新增组织"
-                              placement="bottom"
-                            >
-                              <span
-                                title="新增组织"
-                                class="cap cap-sub"
-                                @click="renderAdd(data)"
-                              ></span
-                            ></el-tooltip>
+                            <el-tooltip effect="dark" content="新增组织" placement="bottom">
+                              <span title="新增组织" class="cap cap-sub" @click="renderAdd(data)"></span>
+                            </el-tooltip>
                           </div>
                         </div>
                       </el-col>
@@ -123,23 +72,17 @@
                         <span class="msg">职员:</span>
                         <span>{{ data.OfficerCount }}</span>
                       </el-col>
-                      <el-col :span="8" v-if="data.OrganId != -1">
+                      <!-- <el-col :span="8" v-if="data.OrganId != -1">
                         <span class="msg">权限:</span>
                         <span>{{ data.AuthCount }}</span>
-                      </el-col>
+                      </el-col> -->
                       <el-col :span="12" v-if="data.OrganId != -1">
                         <span class="msg">状态:</span>
                         <span class="use" v-if="data.Status == '1'">启用</span>
-                        <span class="unUse" v-if="data.Status != '1'"
-                          >禁用</span
-                        >
+                        <span class="unUse" v-if="data.Status != '1'">禁用</span>
                       </el-col>
                       <el-col :span="12" v-if="data.OrganId != -1">
-                        <el-switch
-                          active-color="#6F81BC"
-                          v-model="data.flag"
-                          @change="renderChange(data)"
-                        ></el-switch>
+                        <el-switch active-color="#6F81BC" v-model="data.flag" @change="renderChange(data)"></el-switch>
                       </el-col>
                     </el-row>
                   </div>
@@ -150,13 +93,9 @@
           <div class="grid-contentBottom">
             <div class="title">下级组织</div>
             <div class="content">
-              <el-empty :image-size="150"  v-if="childrenData.length<1"></el-empty>
+              <el-empty :image-size="150" v-if="childrenData.length<1"></el-empty>
               <el-row :gutter="24">
-                <el-col
-                  :span="8"
-                  v-for="(data, index) in childrenData"
-                  :key="data.OrganId"
-                >
+                <el-col :span="8" v-for="(data, index) in childrenData" :key="data.OrganId">
                   <div class="info-close" @click="onNodeClick(data,index)">
                     <i class="el-icon-close"></i>
                   </div>
@@ -170,56 +109,21 @@
                       <el-col :span="12">
                         <div class="flex info">
                           <div class="icon">
-                            <el-tooltip
-                              effect="dark"
-                              content="新增岗位"
-                              placement="bottom"
-                            >
-                              <span
-                                title="新增岗位"
-                                class="cap cap-job"
-                                @click.stop="renderJob(data)"
-                                v-if="data.OrganId != -1"
-                              ></span
-                            ></el-tooltip>
+                            <el-tooltip effect="dark" content="新增岗位" placement="bottom">
+                              <span title="新增岗位" class="cap cap-job" @click.stop="renderJob(data)" v-if="data.OrganId != -1"></span>
+                            </el-tooltip>
 
-                            <el-tooltip
-                              effect="dark"
-                              content="新增职员"
-                              placement="bottom"
-                            >
-                              <span
-                                title="新增职员"
-                                v-if="data.OrganId != -1"
-                                class="cap cap-member"
-                                @click.stop="renderMember(data)"
-                              ></span
-                            ></el-tooltip>
+                            <el-tooltip effect="dark" content="新增职员" placement="bottom">
+                              <span title="新增职员" v-if="data.OrganId != -1" class="cap cap-member" @click.stop="renderMember(data)"></span>
+                            </el-tooltip>
 
-                            <el-tooltip
-                              effect="dark"
-                              content="编辑组织"
-                              placement="bottom"
-                            >
-                              <span
-                                title="编辑组织"
-                                class="cap cap-edit"
-                                @click.stop="renderEdit(data)"
-                                v-if="data.OrganId != -1"
-                              ></span
-                            ></el-tooltip>
+                            <el-tooltip effect="dark" content="编辑组织" placement="bottom">
+                              <span title="编辑组织" class="cap cap-edit" @click.stop="renderEdit(data)" v-if="data.OrganId != -1"></span>
+                            </el-tooltip>
 
-                            <el-tooltip
-                              effect="dark"
-                              content="新增组织"
-                              placement="bottom"
-                            >
-                              <span
-                                title="新增组织"
-                                class="cap cap-sub"
-                                @click.stop="renderAdd(data)"
-                              ></span
-                            ></el-tooltip>
+                            <el-tooltip effect="dark" content="新增组织" placement="bottom">
+                              <span title="新增组织" class="cap cap-sub" @click.stop="renderAdd(data)"></span>
+                            </el-tooltip>
                           </div>
                         </div>
                       </el-col>
@@ -231,24 +135,17 @@
                         <span class="msg">职员:</span>
                         <span>{{ data.OfficerCount }}</span>
                       </el-col>
-                      <el-col :span="8" v-if="data.OrganId != -1">
+                      <!-- <el-col :span="8" v-if="data.OrganId != -1">
                         <span class="msg">权限:</span>
                         <span>{{ data.AuthCount }}</span>
-                      </el-col>
+                      </el-col> -->
                       <el-col :span="12" v-if="data.OrganId != -1">
                         <span class="msg">状态:</span>
                         <span class="use" v-if="data.Status == '1'">启用</span>
-                        <span class="unUse" v-if="data.Status != '1'"
-                          >禁用</span
-                        >
+                        <span class="unUse" v-if="data.Status != '1'">禁用</span>
                       </el-col>
                       <el-col :span="12" v-if="data.OrganId != -1">
-                        <el-switch
-                          active-color="#6F81BC"
-                          v-model="data.flag"
-                          @click.stop.native
-                          @change="childrenRenderChange(data, index)"
-                        ></el-switch>
+                        <el-switch active-color="#6F81BC" v-model="data.flag" @click.stop.native @change="childrenRenderChange(data, index)"></el-switch>
                       </el-col>
                     </el-row>
                   </div>
@@ -265,9 +162,7 @@
         <div class="title">删除{{ title }}</div>
         <div class="content">是否确认删除{{ title }}?</div>
         <div class="foot right t30">
-          <el-button size="medium" class="r24" @click="remove" type="danger"
-            >删除</el-button
-          >
+          <el-button size="medium" class="r24" @click="remove" type="danger">删除</el-button>
           <el-button size="medium" @click="flag = false">取消</el-button>
         </div>
       </div>
@@ -285,7 +180,7 @@ export default {
   name: "Authority",
   components: { Search, Dialog },
   mixins: [treeData],
-  data() {
+  data () {
     return {
       dataIndex: 1,
       dataNum: 0,
@@ -302,7 +197,7 @@ export default {
       childrenData: [],
       dataListTree: [],
       currentKey: -1,
-      delIndex:0
+      delIndex: 0
     };
   },
   created: function () {
@@ -322,53 +217,53 @@ export default {
     },
   },
   methods: {
-    filterNode(value, data) {
+    filterNode (value, data) {
       if (!value) return true;
       return data.OrganName.indexOf(value) !== -1;
     },
     // 添加组织
-    renderAdd(data) {
+    renderAdd (data) {
       this.$router.push({
         path: "/organization/organizationAdd",
         query: { OrganUpid: data.OrganUpid, OrganId: data.OrganId },
       });
     },
     // 新增岗位
-    renderJob(data) {
+    renderJob (data) {
       this.$router.push({
         path: "/jobs/add",
         query: { OrganUpid: data.OrganUpid, OrganId: data.OrganId },
       });
     },
     // 新增职员
-    renderMember(data) {
+    renderMember (data) {
       this.$router.push({
         path: "/staff/staffAdd",
         query: { OrganUpid: data.OrganUpid, OrganId: data.OrganId },
       });
     },
     // 修改组织
-    renderEdit(data) {
+    renderEdit (data) {
       this.$router.push({
         path: "/organization/organizationEdit",
         query: { OrganUpid: data.OrganUpid, OrganId: data.OrganId },
       });
     },
     // 新增组织
-    renderSub(data) {
+    renderSub (data) {
       this.$router.push({
         path: "/organization/organizationAdd",
         query: { OrganUpid: data.OrganUpid, OrganId: data.OrganId },
       });
     },
     // 关闭开启
-    renderChange(data) {
+    renderChange (data) {
       const { OrganId, flag } = data;
       const Status = flag ? 1 : 0;
       this.handleChange(OrganId, Status);
     },
     //下级关闭
-    childrenRenderChange(data, index) {
+    childrenRenderChange (data, index) {
       try {
         const { OrganId, flag } = data;
         const Status = flag ? 1 : 0;
@@ -391,26 +286,26 @@ export default {
       }
     },
     //删除组织
-    remove() {
+    remove () {
       this.deleteOrg(this.dataId);
     },
     //查询
-    getSearchData(val) {
+    getSearchData (val) {
       this.$refs.tree.filter(val);
     },
     //清除查询
-    clearSearchData() {
+    clearSearchData () {
       this.getOrganTree();
     },
     //节点关闭按钮点击
-    onNodeClick(data,index) {
+    onNodeClick (data, index) {
       this.delIndex = index
       this.flag = true;
       this.dataId = data.OrganId;
       this.title = data.OrganName;
     },
     //获取指定数据
-    decompose(value, key, id) {
+    decompose (value, key, id) {
       let data = _.cloneDeep(value);
       let arr = [];
       for (let i = 0; i < data.length; i++) {
@@ -424,7 +319,7 @@ export default {
 
     //-----------获取数据------------
     //应用状态变更
-    async handleChange(id, val) {
+    async handleChange (id, val) {
       try {
         const res = await tissueTreeStart({
           OrganId: id,
@@ -444,7 +339,7 @@ export default {
       }
     },
     //组织删除
-    async deleteOrg(id) {
+    async deleteOrg (id) {
       try {
         const res = await organele({
           OrganId: id,
@@ -453,7 +348,7 @@ export default {
           this.$message.success(res.message);
           this.flag = false;
           this.getOrganTree();
-          this.childrenData.splice(this.delIndex,1);
+          this.childrenData.splice(this.delIndex, 1);
           this.$refs.tree.setCurrentKey(this.currDataArr[0].OrganId);
           this.currentKey = this.currDataArr[0].OrganId;
         } else {
@@ -465,7 +360,7 @@ export default {
       }
     },
     //树点击
-    handleNodeClick(data) {
+    handleNodeClick (data) {
       const dataNew = _.cloneDeep(data);
       this.currDataArrId = dataNew.OrganId;
       this.currDataArr = [];
@@ -482,7 +377,7 @@ export default {
       );
     },
     //下级卡片点击
-    childrenClick(data) {
+    childrenClick (data) {
       const dataNew = _.cloneDeep(data);
       this.currDataArrId = dataNew.OrganId;
       this.currDataArr = [];