From 952a20f1c005d80e9bf881287c40e6f4e4266a0b Mon Sep 17 00:00:00 2001
From: lxp <1928192722@qq.com>
Date: 星期三, 12 三月 2025 15:34:52 +0800
Subject: [PATCH] Merge branch 'dev' of http://114.132.189.42:9002/r/center-lims-before-ruoyi into dev

---
 src/views/CNAS/personnel/personnelInfo/Department/index.vue |  152 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 152 insertions(+), 0 deletions(-)

diff --git a/src/views/CNAS/personnel/personnelInfo/Department/index.vue b/src/views/CNAS/personnel/personnelInfo/Department/index.vue
new file mode 100644
index 0000000..9bccaf2
--- /dev/null
+++ b/src/views/CNAS/personnel/personnelInfo/Department/index.vue
@@ -0,0 +1,152 @@
+<template>
+  <el-tabs v-model="activeName" :lazy="true" type="border-card">
+    <el-tab-pane label="浜哄憳鍩烘湰淇℃伅" name="浜哄憳鍩烘湰淇℃伅">
+      <PersonnelList v-if="activeName === '浜哄憳鍩烘湰淇℃伅' && isShowAll" ref="personnelList"
+        :currentCompaniesList="currentCompaniesList" :departId="departId" @refreshTree="refreshTree"
+        @updatePerson="updatePerson"></PersonnelList>
+      <personnelInformation v-if="activeName === '浜哄憳鍩烘湰淇℃伅' && !isShowAll" :clickNodeVal="clickNodeVal">
+      </personnelInformation>
+    </el-tab-pane>
+    <el-tab-pane label="鍩硅璁″垝" name="鍩硅璁″垝">
+      <PersonnelTraining v-if="activeName === '鍩硅璁″垝'" ref="personnelTraining" :flag="flag" :departId="departId"
+        :isDepartment="isDepartment"></PersonnelTraining>
+    </el-tab-pane>
+    <el-tab-pane label="鐩戠潱璁″垝" name="鐩戠潱璁″垝">
+      <Plan v-if="activeName === '鐩戠潱璁″垝'" :departId="departId"></Plan>
+    </el-tab-pane>
+    <el-tab-pane label="宀椾綅鑱岃矗" name="宀椾綅鑱岃矗">
+      <job-responsibilities v-if="activeName === '宀椾綅鑱岃矗'" ref="jobResponsibilities" :departId="departId"
+        :isDepartment="isDepartment"></job-responsibilities>
+    </el-tab-pane>
+    <el-tab-pane label="宸ヤ綔灞ュ巻" name="宸ヤ綔灞ュ巻">
+      <trackRecord v-if="activeName === '宸ヤ綔灞ュ巻'" :clickNodeVal="clickNodeVal"></trackRecord>
+    </el-tab-pane>
+    <el-tab-pane label="濂栨儵璁板綍" name="濂栨儵璁板綍">
+      <rewardPunishmentRecord v-if="activeName === '濂栨儵璁板綍'" :departId="departId" :isDepartment="isDepartment">
+      </rewardPunishmentRecord>
+    </el-tab-pane>
+    <el-tab-pane label="鍩硅璁板綍" name="鍩硅璁板綍">
+      <training-record v-if="activeName === '鍩硅璁板綍'" ref="trainingRecord" :departId="departId"
+        :isDepartment="isDepartment"></training-record>
+    </el-tab-pane>
+    <el-tab-pane label="鐩戠潱璁板綍" name="鐩戠潱璁板綍">
+      <Records v-if="activeName === '鐩戠潱璁板綍'" ref="recordsRef" :departId="departId" :isDepartment="isDepartment">
+      </Records>
+    </el-tab-pane>
+    <el-tab-pane label="浠昏亴鎺堟潈璁板綍" name="浠昏亴鎺堟潈璁板綍">
+      <Mandate v-if="activeName === '浠昏亴鎺堟潈璁板綍'" ref="manDateRef" :departId="departId" :isDepartment="isDepartment">
+      </Mandate>
+    </el-tab-pane>
+    <el-tab-pane label="浜哄憳鑳藉姏" name="浜哄憳鑳藉姏">
+      <personnel-capacity v-if="activeName === '浜哄憳鑳藉姏'" ref="personnelCapacity" :departId="departId"
+        :isDepartment="isDepartment"></personnel-capacity>
+    </el-tab-pane>
+    <el-tab-pane label="娌熼�氳褰�" name="娌熼�氳褰�">
+      <Communicate v-if="activeName === '娌熼�氳褰�'" ref="communicateRef" :departId="departId" :isDepartment="isDepartment">
+      </Communicate>
+    </el-tab-pane>
+  </el-tabs>
+</template>
+<script>
+import Plan from './components/Plan/index.vue';
+import Records from './components/Records/index.vue';
+import Communicate from './components/Communicate/index.vue';
+import Mandate from './components/Mandate/index.vue';
+import PersonnelList from './components/PersonnelList/index.vue';
+import PersonnelTraining from './components/PersonnelTraining/index.vue';
+import JobResponsibilities from './components/JobResponsibilities/index.vue';
+import TrainingRecord from './components/TrainingRecord/index.vue';
+import PersonnelCapacity from './components/PersonnelCapacity/index.vue';
+import trackRecord from "./components/trackRecord/index.vue";
+import rewardPunishmentRecord from "./components/rewardPunishmentRecord/index.vue";
+import PersonnelInformation from "./components/PersonnelInformation/index.vue";
+
+export default {
+  props: {
+    clickNodeVal: {
+      type: Object,
+      default: () => {
+        return {};
+      }
+    },
+    departId: {
+      type: Number,
+      default: 0
+    },
+    isDepartment: {
+      type: Boolean,
+      default: false
+    },
+    isShowAll: {
+      type: Boolean,
+      default: false
+    },
+    currentCompaniesList: {
+      type: Array,
+      default: []
+    }
+  },
+  components: {
+    PersonnelInformation,
+    rewardPunishmentRecord,
+    trackRecord,
+    PersonnelCapacity,
+    TrainingRecord,
+    JobResponsibilities,
+    PersonnelTraining,
+    PersonnelList,
+    Plan,
+    Records,
+    Communicate,
+    Mandate
+  },
+  watch: {
+    departId: {
+      handler(newId, oldId) {
+        if (newId) {
+          switch (this.activeName) {
+            case '娌熼�氳褰�':
+              this.$refs.communicateRef.getDepart(newId);
+              break;
+            case '浠昏亴鎺堟潈璁板綍':
+              this.$refs.manDateRef.getDepart(newId);
+              break;
+            default:
+              break;
+          }
+        }
+      }
+    }
+  },
+  data() {
+    return {
+      flag: true,
+      activeName: '浜哄憳鍩烘湰淇℃伅',
+    }
+  },
+  created() {
+    // this.flag =  isPermission('personTrainingSelect')
+    // console.log('this.flag',this.flag);
+  },
+  methods: {
+    updatePerson(row) {
+      this.$parent.updatePerson(row);
+    },
+    refreshTree() {
+      this.$parent.refreshTree();
+    },
+  }
+};
+</script>
+<style scoped>
+.el-tabs>>>.el-tabs--border-card {
+  box-shadow: unset;
+  border: unset;
+}
+
+.flex_column {
+  display: flex;
+  flex-direction: column;
+  justify-content: space-between;
+}
+</style>

--
Gitblit v1.9.3