zhxy-jsd/src/pages/view/hr/teacherProfile/PositionInfo.vue
2025-04-22 10:22:33 +08:00

115 lines
2.6 KiB
Vue

<template>
<BasicLayout>
<view class="p-15">
<view v-if="education.xl.length > 0">
<template v-for="(item, index) in education.xl" :key="index">
<view class="po-re mb-15">
<BasicForm
v-model="item.value"
:schema="schema"
:formsProps="{ labelWidth: 100 }"
/>
<view
@click="deleteMemberFamily(index as number, item.value)"
class="delete-icon"
>
<BasicIcon type="clear" size="30" />
</view>
</view>
</template>
</view>
<view
class="flex-row items-center justify-center pb-10 pt-5"
style="border: 1px solid #e8e8e8"
@click="addEducation"
>
<uni-icons type="plus" size="16" color="#447ADE"></uni-icons>
<view class="ml-5 cor-447ADE">新增</view>
</view>
</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 text="提交" class="mr-15 mr-7" type="primary" @click="submit"/>
</view>
</template>
</BasicLayout>
</template>
<script lang="ts" setup>
import { useForm } from "@/components/BasicForm/hooks/useForm";
import { navigateTo,navigateBack } from "@/utils/uniapp";
import { cloneDeep } from "lodash";
const schema = reactive<FormsSchema[]>([
{
field: "xm",
label: "岗位级别",
component: "BasicInput",
required: true,
componentProps: {},
},
{
field: "nl",
label: "岗位任职时间",
component: "BasicDateTimes",
required: true,
componentProps: {},
},
{
field: "yhzgx",
label: "岗位任职年限",
component: "BasicInput",
required: true,
componentProps: {},
},
{
field: "yhzgx",
label: "主任学科",
component: "BasicInput",
required: true,
componentProps: {},
},
{
field: "yhzgx",
label: "班主任",
component: "BasicInput",
required: true,
componentProps: {},
},
{
field: "yhzgx",
label: "党政职务",
component: "BasicInput",
required: true,
componentProps: {},
},
]);
const education = reactive<any>({
xl: [{ value: {} }],
});
function addEducation() {
education.xl.push({ value: {} });
}
function deleteMemberFamily(index: number, item: any) {
const list = cloneDeep(education.xl);
list.splice(index, 1);
education.xl = list;
}
function submit() {
navigateTo("/pages/view/hr/teacherProfile/FamilyInfo");
}
</script>
<style>
.delete-icon {
position: absolute;
right: 0;
top: 0;
z-index: 1;
}
</style>