diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index d3a3ea9..64f1006 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,3 +1,7 @@ +allowBuilds: + '@parcel/watcher': set this to true or false + esbuild: set this to true or false + vue-demi: set this to true or false onlyBuiltDependencies: - '@parcel/watcher' - esbuild diff --git a/src/api/modules/biz/onboarding.ts b/src/api/modules/biz/onboarding.ts index c19e93f..41a0257 100644 --- a/src/api/modules/biz/onboarding.ts +++ b/src/api/modules/biz/onboarding.ts @@ -399,8 +399,8 @@ export const onboardingTaskApi = { }, uploadDocx(params: FormData) { - return moduleRequest("/sys/dev/file/").post( - "uploadLocal", + return moduleRequest("/biz/onboarding/contract-template/").post( + "file/upload-docx", params ); }, diff --git a/src/config/index.ts b/src/config/index.ts index f1c477c..48b7092 100644 --- a/src/config/index.ts +++ b/src/config/index.ts @@ -26,7 +26,7 @@ export const USER_CENTER_URL: string = "/userCenter"; export const DEFAULT_PRIMARY: string = "#409EFF"; // 路由白名单地址(本地存在的路由 staticRouter.ts 中) -export const ROUTER_WHITE_LIST: string[] = ["/500"]; +export const ROUTER_WHITE_LIST: string[] = ["/500", "/onboarding/fill"]; // 高德地图 key export const AMAP_MAP_KEY: string = ""; diff --git a/src/views/onboarding/fill/index.vue b/src/views/onboarding/fill/index.vue index 84299cf..312f9fa 100644 --- a/src/views/onboarding/fill/index.vue +++ b/src/views/onboarding/fill/index.vue @@ -155,7 +155,7 @@ /> - + @@ -163,18 +163,76 @@ + + + + + - + + +
+ 工资银行卡信息 (发薪与合同登记) +
+ + + + + + + + + + + + + +
+ 学历背景信息 +
+ + + + + + + + + + + + + + + + + + + + + + + @@ -324,6 +382,7 @@ :action="uploadUrl(item.materialTypeId)" :show-file-list="false" :on-success="onUploadSuccess" + :on-error="onUploadError" :accept="item.allowedExtensions ? formatAccept(item.allowedExtensions) : 'image/*,.pdf'" > 重新上传 @@ -339,6 +398,7 @@ :action="uploadUrl(item.materialTypeId)" :show-file-list="false" :on-success="onUploadSuccess" + :on-error="onUploadError" :accept="item.allowedExtensions ? formatAccept(item.allowedExtensions) : 'image/*,.pdf'" drag > @@ -490,7 +550,14 @@ const form = reactive({ phone: "", idCardNumber: "", gender: "", - contactAddress: "" + nation: "", + contactAddress: "", + bankCardNumber: "", + bankName: "", + bankAccountName: "", + college: "", + education: "", + major: "" }); const baseRules: FormRules = { @@ -740,11 +807,20 @@ function uploadUrl(materialTypeId: number) { return `/api/open/onboarding/upload-material?token=${encodeURIComponent(token)}&materialTypeId=${materialTypeId}`; } -function onUploadSuccess() { +function onUploadSuccess(response: any) { + if (response?.code !== 200) { + ElMessage.error(response?.msg || "材料上传失败,请重试"); + return; + } + ElMessage.success("材料上传成功"); load(); } +function onUploadError(error: Error) { + ElMessage.error(error?.message || "材料上传失败,请重试"); +} + function viewContract(taskContractId: number) { window.open( `/api/open/onboarding/contract-source?token=${encodeURIComponent(token)}&taskContractId=${taskContractId}`, @@ -906,6 +982,15 @@ onMounted(load); margin: 0; } +.sub-section-title { + font-size: 14px; + font-weight: 600; + color: #334155; + border-left: 3px solid #2563eb; + padding-left: 8px; + margin: 18px 0 12px; +} + .full-width { width: 100%; } diff --git a/src/views/sys/limit/menu/components/form.vue b/src/views/sys/limit/menu/components/form.vue index cf54ce6..b463290 100644 --- a/src/views/sys/limit/menu/components/form.vue +++ b/src/views/sys/limit/menu/components/form.vue @@ -105,7 +105,7 @@ import { menuApi, Menu } from "@/api"; import { required } from "@/utils/formRules"; import { FormOptEnum, SysDictEnum, MenuTypeDictEnum } from "@/enums"; -import { FormInstance } from "element-plus/es/components/form"; +import type { FormInstance } from "element-plus"; import { useDictStore } from "@/stores/modules"; const visible = ref(false); //是否显示表单 const dictStore = useDictStore(); //字典仓库