From a4d0446d7c1c1e56641fd4e887ad4d0ecd0534ca Mon Sep 17 00:00:00 2001
From: zhangwencui <1064582902@qq.com>
Date: 星期四, 05 三月 2026 17:43:55 +0800
Subject: [PATCH] 排班管理页面完成70%

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

diff --git a/src/views/personnelManagement/employeeRecord/components/BasicInfoSection.vue b/src/views/personnelManagement/employeeRecord/components/BasicInfoSection.vue
new file mode 100644
index 0000000..22ffb29
--- /dev/null
+++ b/src/views/personnelManagement/employeeRecord/components/BasicInfoSection.vue
@@ -0,0 +1,182 @@
+<template>
+  <el-card class="form-card" shadow="never">
+    <template #header>
+      <span class="card-title">
+        <span class="card-title-line">|</span>
+        鍩烘湰淇℃伅
+      </span>
+    </template>
+
+    <el-row :gutter="24">
+      <el-col :span="5">
+        <el-form-item label="鍛樺伐缂栧彿" prop="staffNo">
+          <el-input
+            v-model="form.staffNo"
+            placeholder="璇疯緭鍏�"
+            clearable
+            maxlength="20"
+            show-word-limit
+            :disabled="operationType !== 'add'"
+          />
+        </el-form-item>
+      </el-col>
+      <el-col :span="5">
+        <el-form-item label="濮撳悕" prop="staffName">
+          <el-input
+            v-model="form.staffName"
+            placeholder="璇疯緭鍏�"
+            clearable
+            maxlength="50"
+            show-word-limit
+          />
+        </el-form-item>
+      </el-col>
+      <el-col :span="5">
+        <el-form-item label="鍒悕" prop="aliasName">
+          <el-input
+            v-model="form.aliasName"
+            placeholder="璇疯緭鍏�"
+            clearable
+            maxlength="50"
+            show-word-limit
+          />
+        </el-form-item>
+      </el-col>
+      <el-col :span="5">
+        <el-form-item label="鎵嬫満" prop="phone">
+          <el-input
+            v-model="form.phone"
+            placeholder="璇疯緭鍏�"
+            clearable
+            maxlength="11"
+            show-word-limit
+          />
+        </el-form-item>
+      </el-col>
+      <el-col :span="4">
+        <el-form-item label="鎬у埆" prop="sex">
+          <el-select
+            v-model="form.sex"
+            placeholder="璇烽�夋嫨"
+            clearable
+            style="width: 100%"
+          >
+            <el-option label="鐢�" value="鐢�" />
+            <el-option label="濂�" value="濂�" />
+          </el-select>
+        </el-form-item>
+      </el-col>
+    </el-row>
+
+    <el-row :gutter="24">
+      <el-col :span="5">
+        <el-form-item label="鍑虹敓鏃ユ湡" prop="birthDate">
+          <el-date-picker
+            v-model="form.birthDate"
+            type="date"
+            value-format="YYYY-MM-DD"
+            format="YYYY-MM-DD"
+            placeholder="璇烽�夋嫨"
+            style="width: 100%"
+            clearable
+          />
+        </el-form-item>
+      </el-col>
+      <el-col :span="5">
+        <el-form-item label="骞撮緞" prop="age">
+          <el-input-number
+            v-model="form.age"
+            :min="0"
+            :max="150"
+            :precision="0"
+            :step="1"
+            style="width: 100%"
+          />
+        </el-form-item>
+      </el-col>
+      <el-col :span="5">
+        <el-form-item label="绫嶈疮" prop="nativePlace">
+          <el-input
+            v-model="form.nativePlace"
+            placeholder="璇疯緭鍏�"
+            clearable
+            maxlength="50"
+            show-word-limit
+          />
+        </el-form-item>
+      </el-col>
+      <el-col :span="5">
+        <el-form-item label="姘戞棌" prop="nation">
+          <el-input
+            v-model="form.nation"
+            placeholder="璇疯緭鍏�"
+            clearable
+            maxlength="20"
+            show-word-limit
+          />
+        </el-form-item>
+      </el-col>
+      <el-col :span="4">
+        <el-form-item label="濠氬Щ鐘跺喌" prop="maritalStatus">
+          <el-select
+            v-model="form.maritalStatus"
+            placeholder="璇烽�夋嫨"
+            clearable
+            style="width: 100%"
+          >
+            <el-option label="鏈" value="single" />
+            <el-option label="宸插" value="married" />
+            <el-option label="绂诲紓" value="divorced" />
+            <el-option label="涓у伓" value="widowed" />
+          </el-select>
+        </el-form-item>
+      </el-col>
+    </el-row>
+
+    <el-row :gutter="24">
+      <el-col :span="10">
+        <el-form-item label="瑙掕壊" prop="roleIds">
+          <el-select
+            v-model="form.roleIds"
+            multiple
+            placeholder="璇烽�夋嫨"
+            clearable
+            style="width: 100%"
+          >
+            <el-option
+              v-for="item in roleOptions"
+              :key="item.roleId"
+              :label="item.roleName"
+              :value="item.roleId"
+              :disabled="item.status == 1"
+            />
+          </el-select>
+        </el-form-item>
+      </el-col>
+    </el-row>
+  </el-card>
+</template>
+
+<script setup>
+import { toRefs } from "vue";
+
+const props = defineProps({
+  form: { type: Object, required: true },
+  operationType: { type: String, default: "add" },
+  roleOptions: { type: Array, default: () => [] },
+});
+
+const { form, operationType, roleOptions } = toRefs(props);
+</script>
+
+<style scoped>
+.form-card {
+  margin-bottom: 16px;
+}
+
+.card-title-line {
+  color: #f56c6c;
+  margin-right: 4px;
+}
+</style>
+

--
Gitblit v1.9.3