教师档案调整

This commit is contained in:
hb 2025-06-16 11:05:17 +08:00
parent 1d1d8c795c
commit 7a05e5e544
3 changed files with 14879 additions and 67 deletions

14797
src/api/base/ChinaCitys.json Normal file

File diff suppressed because it is too large Load Diff

View File

@ -15,7 +15,7 @@
@click="deleteMemberFamily(index, item.value)" @click="deleteMemberFamily(index, item.value)"
class="delete-icon" class="delete-icon"
> >
<BasicIcon type="clear" size="30" /> <BasicIcon type="clear" size="30"/>
</view> </view>
</view> </view>
</template> </template>
@ -55,10 +55,10 @@
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { dicApi } from "@/api/system/dic"; import {dicApi} from "@/api/system/dic";
import { useDataStore } from "@/store/modules/data"; import {useDataStore} from "@/store/modules/data";
import { navigateBack, navigateTo } from "@/utils/uniapp"; import {navigateBack, navigateTo} from "@/utils/uniapp";
import { cloneDeep, map } from "lodash"; import {cloneDeep, map} from "lodash";
import dayjs from "dayjs"; import dayjs from "dayjs";
// //
@ -67,7 +67,7 @@ const calculatePositionYears = (startDate: string, endDate?: string) => {
const start = dayjs(startDate); const start = dayjs(startDate);
const end = endDate ? dayjs(endDate) : dayjs(); const end = endDate ? dayjs(endDate) : dayjs();
const years = end.diff(start, "year"); const years = end.diff(start, "year");
console.log("计算任岗年限:", { startDate, endDate, years }); console.log("计算任岗年限:", {startDate, endDate, years});
// 0 // 0
return years.toString(); return years.toString();
}; };
@ -77,7 +77,7 @@ const forceUpdateKey = ref(0);
// //
const updatePositionYears = (itemValue: any) => { const updatePositionYears = (itemValue: any) => {
const { gwrztime, gwpyjssj } = itemValue; const {gwrztime, gwpyjssj} = itemValue;
if (gwrztime) { if (gwrztime) {
const years = calculatePositionYears(gwrztime, gwpyjssj); const years = calculatePositionYears(gwrztime, gwpyjssj);
itemValue.gwrznx = years; itemValue.gwrznx = years;
@ -85,24 +85,24 @@ const updatePositionYears = (itemValue: any) => {
}; };
const schema = reactive<FormsSchema[]>([ const schema = reactive<FormsSchema[]>([
// {
// field: "xj",
// label: "",
// component: "BasicPicker",
// componentProps: {
// api: dicApi,
// param: { pid: 434953981 },
// rangeKey: "dictionaryValue",
// savaKey: "dictionaryCode",
// },
// },
{ {
field: "gwjbId", field: "gwjbId",
label: "岗位类别", label: "岗位类别",
component: "BasicPicker", component: "BasicPicker",
componentProps: { componentProps: {
api: dicApi, api: dicApi,
param: { pid: 260783972 }, param: {pid: 260783972},
rangeKey: "dictionaryValue",
savaKey: "dictionaryCode",
},
},
{
field: "xj",
label: "岗位级别",
component: "BasicPicker",
componentProps: {
api: dicApi,
param: {pid: 434953981},
rangeKey: "dictionaryValue", rangeKey: "dictionaryValue",
savaKey: "dictionaryCode", savaKey: "dictionaryCode",
}, },
@ -188,7 +188,7 @@ const schema = reactive<FormsSchema[]>([
// savaKey: "key", // savaKey: "key",
// }, // },
// }, // },
{ /*{
field: "dzzw", field: "dzzw",
label: "职务", label: "职务",
component: "BasicPicker", component: "BasicPicker",
@ -198,17 +198,17 @@ const schema = reactive<FormsSchema[]>([
rangeKey: "dictionaryValue", rangeKey: "dictionaryValue",
savaKey: "dictionaryCode", savaKey: "dictionaryCode",
}, },
}, },*/
]); ]);
const education = reactive<any>({ const education = reactive<any>({
xl: [{ value: {} }], xl: [{value: {}}],
}); });
const { getFile, setFile } = useDataStore(); const {getFile, setFile} = useDataStore();
if (getFile.rgqkList && getFile.rgqkList.length > 0) { if (getFile.rgqkList && getFile.rgqkList.length > 0) {
education.xl = map(getFile.rgqkList, (item) => { education.xl = map(getFile.rgqkList, (item) => {
return { value: item }; return {value: item};
}); });
// //
@ -260,7 +260,7 @@ const calculateAllPositionYears = () => {
}; };
function addEducation() { function addEducation() {
education.xl.push({ value: {} }); education.xl.push({value: {}});
// //
forceUpdateKey.value++; forceUpdateKey.value++;
} }

View File

@ -19,10 +19,27 @@ import { dicApi, findDicTreeByPidApi } from "@/api/system/dic";
import { useDataStore } from "@/store/modules/data"; import { useDataStore } from "@/store/modules/data";
import { map } from "lodash"; import { map } from "lodash";
import dayjs from "dayjs"; import dayjs from "dayjs";
import chinaCitys from "@/api/base/ChinaCitys.json";
const { getFile, setFile } = useDataStore(); const { getFile, setFile } = useDataStore();
const jsjg = ref(""); const jsjg = ref("");
//
const cityTreeData = computed(() => {
return chinaCitys.map(province => ({
text: province.province,
value: province.code,
children: province.citys.map(city => ({
text: city.city,
value: city.code,
children: city.areas.map(area => ({
text: area.area,
value: area.code
}))
}))
}));
});
// //
const calculateYearDiff = (startDate: string) => { const calculateYearDiff = (startDate: string) => {
if (!startDate) return ""; if (!startDate) return "";
@ -41,9 +58,7 @@ const [register, { getValue, setValue, setSchema }] = useForm({
field: "jsdah", field: "jsdah",
label: "档案号", label: "档案号",
component: "BasicInput", component: "BasicInput",
componentProps: { componentProps: {},
disabled: true,
},
}, },
{ {
field: "jsxm", field: "jsxm",
@ -67,15 +82,15 @@ const [register, { getValue, setValue, setSchema }] = useForm({
label: "籍贯", label: "籍贯",
component: "BasicDataPicker", component: "BasicDataPicker",
componentProps: { componentProps: {
api: findDicTreeByPidApi, range: cityTreeData.value,
param: { pid: 3701 }, rangeKey: "text",
rangeKey: "dictionaryValue", savaKey: "value",
savaKey: "dictionaryCode",
onChange: (e: any) => { onChange: (e: any) => {
jsjg.value = map(e.detail.value, (item) => { const selectedNodes = e.detail.data;
return item.text; if (selectedNodes && selectedNodes.length > 0) {
}).join(""); jsjg.value = selectedNodes.map((node: any) => node.text).join("");
}, }
}
}, },
}, },
{ {
@ -251,7 +266,7 @@ const [register, { getValue, setValue, setSchema }] = useForm({
component: "BasicInput", component: "BasicInput",
componentProps: {}, componentProps: {},
}, },
{ /*{
field: "gwjbId", field: "gwjbId",
label: "岗位级别", label: "岗位级别",
component: "BasicPicker", component: "BasicPicker",
@ -272,7 +287,7 @@ const [register, { getValue, setValue, setSchema }] = useForm({
rangeKey: "dictionaryValue", rangeKey: "dictionaryValue",
savaKey: "dictionaryCode", savaKey: "dictionaryCode",
}, },
}, },*/
{ {
field: "sbkh", field: "sbkh",
label: "社保卡号", label: "社保卡号",