From fe167dd71a1300aeae07522db990d6b3fdb77a0e Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期四, 12 三月 2026 13:26:02 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_New' into dev_中兴实强

---
 src/views/personnelManagement/employeeRecord/components/EducationWorkSection.vue |  263 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 263 insertions(+), 0 deletions(-)

diff --git a/src/views/personnelManagement/employeeRecord/components/EducationWorkSection.vue b/src/views/personnelManagement/employeeRecord/components/EducationWorkSection.vue
new file mode 100644
index 0000000..c1470e7
--- /dev/null
+++ b/src/views/personnelManagement/employeeRecord/components/EducationWorkSection.vue
@@ -0,0 +1,263 @@
+<template>
+  <div>
+    <!-- 鏁欒偛缁忓巻 -->
+    <el-card class="form-card" shadow="never">
+      <template #header>
+        <span class="card-title">
+          <span class="card-title-line">|</span>
+          鏁欒偛缁忓巻
+        </span>
+      </template>
+      <el-table :data="form.staffEducationList" border>
+        <el-table-column label="瀛﹀巻" prop="education" width="120">
+          <template #default="{ row }">
+            <el-select
+              v-model="row.education"
+              placeholder="璇烽�夋嫨"
+              clearable
+              style="width: 100%"
+            >
+              <el-option label="涓笓鍙婁互涓�" value="secondary" />
+              <el-option label="澶т笓" value="junior_college" />
+              <el-option label="鏈" value="bachelor" />
+              <el-option label="纭曞+" value="master" />
+              <el-option label="鍗氬+鍙婁互涓�" value="doctor" />
+            </el-select>
+          </template>
+        </el-table-column>
+        <el-table-column label="姣曚笟闄㈡牎" prop="schoolName" min-width="160">
+          <template #default="{ row }">
+            <el-input
+              v-model="row.schoolName"
+              placeholder="璇疯緭鍏�"
+              clearable
+              maxlength="30"
+              show-word-limit
+            />
+          </template>
+        </el-table-column>
+        <el-table-column label="鍏ュ鏃堕棿" prop="enrollTime" width="150">
+          <template #default="{ row }">
+            <el-date-picker
+              v-model="row.enrollTime"
+              type="date"
+              value-format="YYYY-MM-DD"
+              format="YYYY-MM-DD"
+              placeholder="璇烽�夋嫨"
+              style="width: 100%"
+              clearable
+            />
+          </template>
+        </el-table-column>
+        <el-table-column label="姣曚笟鏃堕棿" prop="graduateTime" width="150">
+          <template #default="{ row }">
+            <el-date-picker
+              v-model="row.graduateTime"
+              type="date"
+              value-format="YYYY-MM-DD"
+              format="YYYY-MM-DD"
+              placeholder="璇烽�夋嫨"
+              style="width: 100%"
+              clearable
+            />
+          </template>
+        </el-table-column>
+        <el-table-column label="涓撲笟" prop="major" min-width="140">
+          <template #default="{ row }">
+            <el-input
+              v-model="row.major"
+              placeholder="璇疯緭鍏�"
+              clearable
+              maxlength="20"
+              show-word-limit
+            />
+          </template>
+        </el-table-column>
+        <el-table-column label="瀛︿綅" prop="degree" width="140">
+          <template #default="{ row }">
+            <el-input
+              v-model="row.degree"
+              placeholder="璇疯緭鍏�"
+              clearable
+              maxlength="20"
+              show-word-limit
+            />
+          </template>
+        </el-table-column>
+        <el-table-column label="鎿嶄綔" width="80" align="center">
+          <template #default="scope">
+            <el-button
+              v-if="form.staffEducationList.length > 1"
+              type="primary"
+              link
+              @click="removeEducationRow(scope.$index)"
+            >
+              鍒犻櫎
+            </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <div class="table-add-row" @click="addEducationRow">鏂板缓涓�琛�</div>
+    </el-card>
+
+    <!-- 宸ヤ綔缁忓巻 -->
+    <el-card class="form-card" shadow="never">
+      <template #header>
+        <span class="card-title">
+          <span class="card-title-line">|</span>
+          宸ヤ綔缁忓巻
+        </span>
+      </template>
+      <el-table :data="form.staffWorkExperienceList" border>
+        <el-table-column label="鍓嶅叕鍙�" prop="formerCompany" min-width="180">
+          <template #default="{ row }">
+            <el-input
+              v-model="row.formerCompany"
+              placeholder="璇疯緭鍏�"
+              clearable
+              maxlength="30"
+              show-word-limit
+            />
+          </template>
+        </el-table-column>
+        <el-table-column label="鍓嶅叕鍙搁儴闂�" prop="formerDept" min-width="140">
+          <template #default="{ row }">
+            <el-input
+              v-model="row.formerDept"
+              placeholder="璇疯緭鍏�"
+              clearable
+              maxlength="20"
+              show-word-limit
+            />
+          </template>
+        </el-table-column>
+        <el-table-column label="鍓嶅叕鍙歌亴浣�" prop="formerPosition" min-width="140">
+          <template #default="{ row }">
+            <el-input
+              v-model="row.formerPosition"
+              placeholder="璇疯緭鍏�"
+              clearable
+              maxlength="20"
+              show-word-limit
+            />
+          </template>
+        </el-table-column>
+        <el-table-column label="寮�濮嬫棩鏈�" prop="startDate" width="150">
+          <template #default="{ row }">
+            <el-date-picker
+              v-model="row.startDate"
+              type="date"
+              value-format="YYYY-MM-DD"
+              format="YYYY-MM-DD"
+              placeholder="璇烽�夋嫨"
+              style="width: 100%"
+              clearable
+            />
+          </template>
+        </el-table-column>
+        <el-table-column label="缁撴潫鏃ユ湡" prop="endDate" width="150">
+          <template #default="{ row }">
+            <el-date-picker
+              v-model="row.endDate"
+              type="date"
+              value-format="YYYY-MM-DD"
+              format="YYYY-MM-DD"
+              placeholder="璇烽�夋嫨"
+              style="width: 100%"
+              clearable
+            />
+          </template>
+        </el-table-column>
+        <el-table-column label="宸ヤ綔鎻忚堪" prop="workDesc" min-width="220">
+          <template #default="{ row }">
+            <el-input
+              v-model="row.workDesc"
+              type="textarea"
+              :rows="2"
+              placeholder="璇疯緭鍏�"
+              clearable
+              maxlength="500"
+              show-word-limit
+            />
+          </template>
+        </el-table-column>
+        <el-table-column label="鎿嶄綔" width="80" align="center">
+          <template #default="scope">
+            <el-button
+              v-if="form.staffWorkExperienceList.length > 1"
+              type="primary"
+              link
+              @click="removeWorkRow(scope.$index)"
+            >
+              鍒犻櫎
+            </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <div class="table-add-row" @click="addWorkRow">鏂板缓涓�琛�</div>
+    </el-card>
+  </div>
+</template>
+
+<script setup>
+import { toRefs } from "vue";
+
+const props = defineProps({
+  form: { type: Object, required: true },
+});
+
+const emit = defineEmits(["update:form"]);
+
+const { form } = toRefs(props);
+
+const addEducationRow = () => {
+  form.value.staffEducationList.push({
+    education: "",
+    schoolName: "",
+    enrollTime: "",
+    graduateTime: "",
+    major: "",
+    degree: "",
+  });
+};
+
+const removeEducationRow = (index) => {
+  if (form.value.staffEducationList.length <= 1) return;
+  form.value.staffEducationList.splice(index, 1);
+};
+
+const addWorkRow = () => {
+  form.value.staffWorkExperienceList.push({
+    formerCompany: "",
+    formerDept: "",
+    formerPosition: "",
+    startDate: "",
+    endDate: "",
+    workDesc: "",
+  });
+};
+
+const removeWorkRow = (index) => {
+  if (form.value.staffWorkExperienceList.length <= 1) return;
+  form.value.staffWorkExperienceList.splice(index, 1);
+};
+</script>
+
+<style scoped>
+.form-card {
+  margin-bottom: 16px;
+}
+
+.card-title-line {
+  color: #f56c6c;
+  margin-right: 4px;
+}
+
+.table-add-row {
+  margin-top: 8px;
+  color: #409eff;
+  cursor: pointer;
+  font-size: 14px;
+}
+</style>
+

--
Gitblit v1.9.3