2025-04-22 10:22:33 +08:00
|
|
|
<template>
|
|
|
|
|
<BasicLayout>
|
2025-05-13 15:39:44 +08:00
|
|
|
<view class="px-15 pb-15">
|
2025-04-22 10:22:33 +08:00
|
|
|
<BasicForm @register="register"> </BasicForm>
|
|
|
|
|
</view>
|
|
|
|
|
<template #bottom>
|
|
|
|
|
<view class="flex-row items-center pb-10 pt-5">
|
|
|
|
|
<u-button
|
|
|
|
|
text="返回"
|
|
|
|
|
class="ml-15 mr-7"
|
|
|
|
|
:plain="true"
|
|
|
|
|
@click="navigateBack"
|
|
|
|
|
/>
|
|
|
|
|
<u-button
|
2025-05-13 15:39:44 +08:00
|
|
|
text="下一步"
|
2025-04-22 10:22:33 +08:00
|
|
|
class="mr-15 mr-7"
|
|
|
|
|
type="primary"
|
|
|
|
|
@click="submit"
|
|
|
|
|
/>
|
|
|
|
|
</view>
|
|
|
|
|
</template>
|
|
|
|
|
</BasicLayout>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script setup lang="ts">
|
|
|
|
|
import { navigateBack, navigateTo } from "@/utils/uniapp";
|
|
|
|
|
|
|
|
|
|
import { useForm } from "@/components/BasicForm/hooks/useForm";
|
2025-05-13 15:39:44 +08:00
|
|
|
import { dicApi, findDicTreeByPidApi } from "@/api/system/dic";
|
|
|
|
|
import { useDataStore } from "@/store/modules/data";
|
|
|
|
|
import { map } from "lodash";
|
|
|
|
|
import dayjs from "dayjs";
|
|
|
|
|
|
|
|
|
|
const { getFile, setFile } = useDataStore();
|
|
|
|
|
const jsjg = ref("");
|
2025-04-22 10:22:33 +08:00
|
|
|
|
2025-05-13 15:39:44 +08:00
|
|
|
// 计算日期与当前日期相差的年数
|
|
|
|
|
const calculateYearDiff = (startDate: string) => {
|
|
|
|
|
if (!startDate) return "";
|
|
|
|
|
const start = dayjs(startDate);
|
|
|
|
|
const now = dayjs();
|
2025-05-13 15:43:34 +08:00
|
|
|
console.log(now.diff(start, "year"));
|
2025-05-13 15:39:44 +08:00
|
|
|
return now.diff(start, "year");
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const [register, { getValue, setValue }] = useForm({
|
2025-04-22 10:22:33 +08:00
|
|
|
schema: [
|
|
|
|
|
{
|
2025-05-13 15:39:44 +08:00
|
|
|
title: "基础信息",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field: "jsdah",
|
|
|
|
|
label: "档案号",
|
|
|
|
|
component: "BasicInput",
|
|
|
|
|
componentProps: {
|
|
|
|
|
disabled: true,
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field: "jsxm",
|
2025-04-22 10:22:33 +08:00
|
|
|
label: "姓名",
|
|
|
|
|
component: "BasicInput",
|
|
|
|
|
componentProps: {},
|
|
|
|
|
},
|
|
|
|
|
{
|
2025-05-13 15:39:44 +08:00
|
|
|
field: "jsxbId",
|
|
|
|
|
label: "性别",
|
|
|
|
|
component: "BasicPicker",
|
|
|
|
|
componentProps: {
|
|
|
|
|
api: dicApi,
|
|
|
|
|
param: { pid: 13001 },
|
|
|
|
|
rangeKey: "dictionaryValue",
|
|
|
|
|
savaKey: "dictionaryCode",
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field: "jsjgId",
|
2025-04-22 10:22:33 +08:00
|
|
|
label: "籍贯",
|
2025-05-13 15:39:44 +08:00
|
|
|
component: "BasicDataPicker",
|
|
|
|
|
componentProps: {
|
|
|
|
|
api: findDicTreeByPidApi,
|
|
|
|
|
param: { pid: 3701 },
|
|
|
|
|
rangeKey: "dictionaryValue",
|
|
|
|
|
savaKey: "dictionaryCode",
|
|
|
|
|
onChange: (e: any) => {
|
|
|
|
|
jsjg.value = map(e.detail.value, (item) => {
|
|
|
|
|
return item.text;
|
|
|
|
|
}).join("");
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field: "mzId",
|
|
|
|
|
label: "民族",
|
2025-04-22 10:22:33 +08:00
|
|
|
component: "BasicPicker",
|
2025-05-13 15:39:44 +08:00
|
|
|
componentProps: {
|
|
|
|
|
api: dicApi,
|
|
|
|
|
param: { pid: 19204295 },
|
|
|
|
|
rangeKey: "dictionaryValue",
|
|
|
|
|
savaKey: "dictionaryCode",
|
|
|
|
|
},
|
2025-04-22 10:22:33 +08:00
|
|
|
},
|
|
|
|
|
{
|
2025-05-13 15:39:44 +08:00
|
|
|
field: "sfzh",
|
2025-04-22 10:22:33 +08:00
|
|
|
label: "身份证号",
|
|
|
|
|
component: "BasicInput",
|
|
|
|
|
componentProps: {},
|
|
|
|
|
},
|
|
|
|
|
{
|
2025-05-13 15:39:44 +08:00
|
|
|
field: "age",
|
2025-04-22 10:22:33 +08:00
|
|
|
label: "年龄",
|
|
|
|
|
component: "BasicInput",
|
|
|
|
|
componentProps: {},
|
|
|
|
|
},
|
|
|
|
|
{
|
2025-05-13 15:39:44 +08:00
|
|
|
field: "cstime",
|
2025-04-22 10:22:33 +08:00
|
|
|
label: "出生日期",
|
|
|
|
|
component: "BasicDateTimes",
|
|
|
|
|
componentProps: {},
|
|
|
|
|
},
|
|
|
|
|
{
|
2025-05-13 15:39:44 +08:00
|
|
|
field: "zzmmId",
|
2025-04-22 10:22:33 +08:00
|
|
|
label: "政治面貌",
|
|
|
|
|
component: "BasicPicker",
|
2025-05-13 15:39:44 +08:00
|
|
|
componentProps: {
|
|
|
|
|
api: dicApi,
|
|
|
|
|
param: { pid: 385536488 },
|
|
|
|
|
rangeKey: "dictionaryValue",
|
|
|
|
|
savaKey: "dictionaryCode",
|
|
|
|
|
},
|
2025-04-22 10:22:33 +08:00
|
|
|
},
|
|
|
|
|
{
|
2025-05-13 15:39:44 +08:00
|
|
|
field: "rdtime",
|
2025-04-22 10:22:33 +08:00
|
|
|
label: "入党时间",
|
|
|
|
|
component: "BasicDateTimes",
|
|
|
|
|
componentProps: {},
|
|
|
|
|
},
|
|
|
|
|
{
|
2025-05-13 15:39:44 +08:00
|
|
|
field: "lxdh",
|
|
|
|
|
label: "联系电话",
|
2025-04-22 10:22:33 +08:00
|
|
|
component: "BasicInput",
|
|
|
|
|
componentProps: {},
|
|
|
|
|
},
|
|
|
|
|
{
|
2025-05-13 15:39:44 +08:00
|
|
|
field: "dzyx",
|
|
|
|
|
label: "电子邮箱",
|
2025-04-22 10:22:33 +08:00
|
|
|
component: "BasicInput",
|
|
|
|
|
componentProps: {},
|
|
|
|
|
},
|
2025-05-13 15:39:44 +08:00
|
|
|
|
2025-04-22 10:22:33 +08:00
|
|
|
{
|
2025-05-13 15:39:44 +08:00
|
|
|
field: "sbkh",
|
|
|
|
|
label: "社保卡号",
|
2025-04-22 10:22:33 +08:00
|
|
|
component: "BasicInput",
|
|
|
|
|
componentProps: {},
|
|
|
|
|
},
|
|
|
|
|
{
|
2025-05-13 15:39:44 +08:00
|
|
|
title: "学历情况",
|
2025-04-22 10:22:33 +08:00
|
|
|
},
|
|
|
|
|
{
|
2025-05-13 15:39:44 +08:00
|
|
|
field: "dyxlId",
|
2025-04-22 10:22:33 +08:00
|
|
|
label: "初始学历",
|
|
|
|
|
component: "BasicPicker",
|
2025-05-13 15:39:44 +08:00
|
|
|
componentProps: {
|
|
|
|
|
api: dicApi,
|
|
|
|
|
param: { pid: 1914632204 },
|
|
|
|
|
rangeKey: "dictionaryValue",
|
|
|
|
|
savaKey: "dictionaryCode",
|
|
|
|
|
},
|
2025-04-22 10:22:33 +08:00
|
|
|
},
|
|
|
|
|
{
|
2025-05-13 15:39:44 +08:00
|
|
|
field: "dybyyx",
|
2025-04-22 10:22:33 +08:00
|
|
|
label: "全日制学历毕业院校",
|
|
|
|
|
component: "BasicInput",
|
|
|
|
|
componentProps: {},
|
|
|
|
|
},
|
|
|
|
|
{
|
2025-05-13 15:39:44 +08:00
|
|
|
field: "dybyzy",
|
|
|
|
|
label: "全日制学历专业",
|
2025-04-22 10:22:33 +08:00
|
|
|
component: "BasicInput",
|
|
|
|
|
componentProps: {},
|
|
|
|
|
},
|
|
|
|
|
{
|
2025-05-13 15:39:44 +08:00
|
|
|
field: "zhxlId",
|
|
|
|
|
label: "最后学历",
|
|
|
|
|
component: "BasicPicker",
|
|
|
|
|
componentProps: {
|
|
|
|
|
api: dicApi,
|
|
|
|
|
param: { pid: 1914632204 },
|
|
|
|
|
rangeKey: "dictionaryValue",
|
|
|
|
|
savaKey: "dictionaryCode",
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field: "zhbyyx",
|
2025-04-22 10:22:33 +08:00
|
|
|
label: "最后学历毕业院校",
|
|
|
|
|
component: "BasicInput",
|
|
|
|
|
componentProps: {},
|
|
|
|
|
},
|
|
|
|
|
{
|
2025-05-13 15:39:44 +08:00
|
|
|
field: "zhbyzy",
|
2025-04-22 10:22:33 +08:00
|
|
|
label: "最后学历专业",
|
|
|
|
|
component: "BasicInput",
|
|
|
|
|
componentProps: {},
|
|
|
|
|
},
|
|
|
|
|
{
|
2025-05-13 15:39:44 +08:00
|
|
|
field: "zhbynytime",
|
2025-04-22 10:22:33 +08:00
|
|
|
label: "最后学历毕业年月",
|
|
|
|
|
component: "BasicDateTimes",
|
|
|
|
|
componentProps: {},
|
|
|
|
|
},
|
|
|
|
|
{
|
2025-05-13 15:39:44 +08:00
|
|
|
field: "xwlbId",
|
2025-04-22 10:22:33 +08:00
|
|
|
label: "学位类别",
|
2025-05-13 15:39:44 +08:00
|
|
|
component: "BasicInput",
|
2025-04-22 10:22:33 +08:00
|
|
|
componentProps: {},
|
|
|
|
|
},
|
|
|
|
|
{
|
2025-05-13 15:39:44 +08:00
|
|
|
field: "xw",
|
2025-04-22 10:22:33 +08:00
|
|
|
label: "学位",
|
2025-05-13 15:39:44 +08:00
|
|
|
component: "BasicPicker",
|
|
|
|
|
componentProps: {
|
|
|
|
|
api: dicApi,
|
|
|
|
|
param: { pid: 1513282965 },
|
|
|
|
|
rangeKey: "dictionaryValue",
|
|
|
|
|
savaKey: "dictionaryCode",
|
|
|
|
|
},
|
2025-04-22 10:22:33 +08:00
|
|
|
},
|
|
|
|
|
{
|
2025-05-13 15:39:44 +08:00
|
|
|
field: "xwzy",
|
2025-04-22 10:22:33 +08:00
|
|
|
label: "学位专业",
|
|
|
|
|
component: "BasicInput",
|
|
|
|
|
componentProps: {},
|
|
|
|
|
},
|
|
|
|
|
{
|
2025-05-13 15:39:44 +08:00
|
|
|
title: "教师资格",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field: "zgxdId",
|
2025-04-22 10:22:33 +08:00
|
|
|
label: "教师资格学段",
|
2025-05-13 15:39:44 +08:00
|
|
|
component: "BasicPicker",
|
|
|
|
|
componentProps: {
|
|
|
|
|
api: dicApi,
|
|
|
|
|
param: { pid: 1680570189 },
|
|
|
|
|
rangeKey: "dictionaryValue",
|
|
|
|
|
savaKey: "dictionaryCode",
|
|
|
|
|
},
|
2025-04-22 10:22:33 +08:00
|
|
|
},
|
|
|
|
|
{
|
2025-05-13 15:39:44 +08:00
|
|
|
field: "zgxkId",
|
2025-04-22 10:22:33 +08:00
|
|
|
label: "教师资格学科",
|
2025-05-13 15:39:44 +08:00
|
|
|
component: "BasicPicker",
|
|
|
|
|
componentProps: {
|
|
|
|
|
api: dicApi,
|
|
|
|
|
param: { pid: 1029593616 },
|
|
|
|
|
rangeKey: "dictionaryValue",
|
|
|
|
|
savaKey: "dictionaryCode",
|
|
|
|
|
},
|
2025-04-22 10:22:33 +08:00
|
|
|
},
|
|
|
|
|
{
|
2025-05-13 15:39:44 +08:00
|
|
|
field: "zgzs",
|
2025-04-22 10:22:33 +08:00
|
|
|
label: "教师资格证书号",
|
|
|
|
|
component: "BasicInput",
|
|
|
|
|
componentProps: {},
|
|
|
|
|
},
|
|
|
|
|
{
|
2025-05-13 15:39:44 +08:00
|
|
|
field: "zgnytime",
|
2025-04-22 10:22:33 +08:00
|
|
|
label: "教师资格取得年月",
|
|
|
|
|
component: "BasicDateTimes",
|
|
|
|
|
componentProps: {},
|
|
|
|
|
},
|
|
|
|
|
{
|
2025-05-13 15:39:44 +08:00
|
|
|
field: "zgzctime",
|
2025-04-22 10:22:33 +08:00
|
|
|
label: "教师资格注册时间",
|
|
|
|
|
component: "BasicDateTimes",
|
|
|
|
|
componentProps: {},
|
|
|
|
|
},
|
|
|
|
|
{
|
2025-05-13 15:39:44 +08:00
|
|
|
title: "任职情况",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field: "cgtime",
|
|
|
|
|
label: "参公时间",
|
|
|
|
|
component: "BasicDateTimes",
|
|
|
|
|
componentProps: {
|
|
|
|
|
change: (e: any) => {
|
|
|
|
|
const yearDiff = calculateYearDiff(e);
|
|
|
|
|
setValue({ jsgl: yearDiff });
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field: "jsgl",
|
|
|
|
|
label: "工龄",
|
2025-04-22 10:22:33 +08:00
|
|
|
component: "BasicInput",
|
2025-05-13 15:39:44 +08:00
|
|
|
componentProps: {
|
|
|
|
|
disabled: true,
|
|
|
|
|
placeholder: "请选择参公时间",
|
|
|
|
|
},
|
2025-04-22 10:22:33 +08:00
|
|
|
},
|
|
|
|
|
{
|
2025-05-13 15:39:44 +08:00
|
|
|
field: "jrdwtime",
|
|
|
|
|
label: "进入本单位时间",
|
|
|
|
|
component: "BasicDateTimes",
|
|
|
|
|
componentProps: {
|
|
|
|
|
change: (e: any) => {
|
|
|
|
|
const yearDiff = calculateYearDiff(e);
|
|
|
|
|
setValue({ jrdwnx: yearDiff });
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field: "jrdwnx",
|
|
|
|
|
label: "进入本单位年限",
|
2025-04-22 10:22:33 +08:00
|
|
|
component: "BasicInput",
|
2025-05-13 15:39:44 +08:00
|
|
|
componentProps: {
|
|
|
|
|
placeholder: "请选择进入本单位时间",
|
|
|
|
|
disabled: true,
|
|
|
|
|
},
|
2025-04-22 10:22:33 +08:00
|
|
|
},
|
|
|
|
|
{
|
2025-05-13 15:39:44 +08:00
|
|
|
field: "jsTime",
|
|
|
|
|
label: "教龄时间",
|
2025-04-22 10:22:33 +08:00
|
|
|
component: "BasicDateTimes",
|
2025-05-13 15:39:44 +08:00
|
|
|
componentProps: {
|
|
|
|
|
change: (e: any) => {
|
|
|
|
|
const yearDiff = calculateYearDiff(e);
|
|
|
|
|
setValue({ jl: yearDiff });
|
|
|
|
|
},
|
|
|
|
|
},
|
2025-04-22 10:22:33 +08:00
|
|
|
},
|
|
|
|
|
{
|
2025-05-13 15:39:44 +08:00
|
|
|
field: "jl",
|
|
|
|
|
label: "教龄",
|
|
|
|
|
component: "BasicInput",
|
|
|
|
|
componentProps: {
|
|
|
|
|
disabled: true,
|
|
|
|
|
placeholder: "请选择教龄时间",
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
field: "jrly",
|
|
|
|
|
label: "进入来源",
|
2025-04-22 10:22:33 +08:00
|
|
|
component: "BasicInput",
|
|
|
|
|
componentProps: {},
|
|
|
|
|
},
|
2025-05-13 15:39:44 +08:00
|
|
|
{
|
|
|
|
|
field: "bzqkId",
|
|
|
|
|
label: "编制情况",
|
|
|
|
|
component: "BasicPicker",
|
|
|
|
|
componentProps: {
|
|
|
|
|
api: dicApi,
|
|
|
|
|
param: { pid: 290357612 },
|
|
|
|
|
rangeKey: "dictionaryValue",
|
|
|
|
|
savaKey: "dictionaryCode",
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field: "zdqkId",
|
|
|
|
|
label: "在岗情况",
|
|
|
|
|
component: "BasicPicker",
|
|
|
|
|
componentProps: {
|
|
|
|
|
api: dicApi,
|
|
|
|
|
param: { pid: 810984651 },
|
|
|
|
|
rangeKey: "dictionaryValue",
|
|
|
|
|
savaKey: "dictionaryCode",
|
|
|
|
|
},
|
|
|
|
|
},
|
2025-04-22 10:22:33 +08:00
|
|
|
],
|
|
|
|
|
});
|
2025-05-13 15:39:44 +08:00
|
|
|
setValue(getFile);
|
2025-04-22 10:22:33 +08:00
|
|
|
|
2025-05-13 15:39:44 +08:00
|
|
|
async function submit() {
|
|
|
|
|
try {
|
|
|
|
|
const value = await getValue();
|
|
|
|
|
setFile({ ...getFile, ...value, jsjg: jsjg.value });
|
|
|
|
|
navigateTo("/pages/view/hr/teacherProfile/TitleInfo");
|
|
|
|
|
} catch (error) {}
|
2025-04-22 10:22:33 +08:00
|
|
|
}
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
|
|
.delete-icon {
|
|
|
|
|
position: absolute;
|
|
|
|
|
right: 0;
|
|
|
|
|
top: 0;
|
|
|
|
|
z-index: 1;
|
|
|
|
|
}
|
|
|
|
|
</style>
|