This commit is contained in:
fuenmao
2026-08-24 19:32:24 +08:00
parent c6509a3545
commit 542cc635e3
5 changed files with 98 additions and 9 deletions
+4
View File
@@ -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: onlyBuiltDependencies:
- '@parcel/watcher' - '@parcel/watcher'
- esbuild - esbuild
+2 -2
View File
@@ -399,8 +399,8 @@ export const onboardingTaskApi = {
}, },
uploadDocx(params: FormData) { uploadDocx(params: FormData) {
return moduleRequest("/sys/dev/file/").post<number>( return moduleRequest("/biz/onboarding/contract-template/").post<number>(
"uploadLocal", "file/upload-docx",
params params
); );
}, },
+1 -1
View File
@@ -26,7 +26,7 @@ export const USER_CENTER_URL: string = "/userCenter";
export const DEFAULT_PRIMARY: string = "#409EFF"; export const DEFAULT_PRIMARY: string = "#409EFF";
// 路由白名单地址(本地存在的路由 staticRouter.ts 中) // 路由白名单地址(本地存在的路由 staticRouter.ts 中)
export const ROUTER_WHITE_LIST: string[] = ["/500"]; export const ROUTER_WHITE_LIST: string[] = ["/500", "/onboarding/fill"];
// 高德地图 key // 高德地图 key
export const AMAP_MAP_KEY: string = ""; export const AMAP_MAP_KEY: string = "";
+90 -5
View File
@@ -155,7 +155,7 @@
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :xs="24" :sm="12"> <el-col :xs="24" :sm="6">
<el-form-item label="性别"> <el-form-item label="性别">
<el-select v-model="form.gender" placeholder="请选择性别" :disabled="!canEdit" class="full-width"> <el-select v-model="form.gender" placeholder="请选择性别" :disabled="!canEdit" class="full-width">
<el-option label="男" value="男" /> <el-option label="男" value="男" />
@@ -163,18 +163,76 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :xs="24" :sm="6">
<el-form-item label="民族">
<el-input v-model="form.nation" placeholder="如:汉族" :disabled="!canEdit" clearable />
</el-form-item>
</el-col>
<el-col :xs="24"> <el-col :xs="24">
<el-form-item label="通讯地址" prop="contactAddress"> <el-form-item label="现居住/通讯地址" prop="contactAddress">
<el-input <el-input
v-model="form.contactAddress" v-model="form.contactAddress"
type="textarea" type="textarea"
:rows="3" :rows="2"
placeholder="请输入详细现居/通讯地址" placeholder="请输入详细现居/通讯地址"
:disabled="!canEdit" :disabled="!canEdit"
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<div class="sub-section-title">
<span>工资银行卡信息 (发薪与合同登记)</span>
</div>
<el-row :gutter="16">
<el-col :xs="24" :sm="12">
<el-form-item label="工资银行卡号" prop="bankCardNumber">
<el-input
v-model="form.bankCardNumber"
placeholder="请输入本人借记卡卡号"
:disabled="!canEdit"
clearable
/>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="12">
<el-form-item label="开户银行名称">
<el-input
v-model="form.bankName"
placeholder="如:中国工商银行北京分行"
:disabled="!canEdit"
clearable
/>
</el-form-item>
</el-col>
</el-row>
<div class="sub-section-title">
<span>学历背景信息</span>
</div>
<el-row :gutter="16">
<el-col :xs="24" :sm="8">
<el-form-item label="最高学历">
<el-select v-model="form.education" placeholder="请选择学历" :disabled="!canEdit" class="full-width">
<el-option label="大专" value="大专" />
<el-option label="本科" value="本科" />
<el-option label="硕士研究生" value="硕士研究生" />
<el-option label="博士研究生" value="博士研究生" />
<el-option label="中专/高中及以下" value="中专/高中及以下" />
</el-select>
</el-form-item>
</el-col>
<el-col :xs="24" :sm="8">
<el-form-item label="毕业院校">
<el-input v-model="form.college" placeholder="如:北京大学" :disabled="!canEdit" clearable />
</el-form-item>
</el-col>
<el-col :xs="24" :sm="8">
<el-form-item label="所学专业">
<el-input v-model="form.major" placeholder="如:软件工程" :disabled="!canEdit" clearable />
</el-form-item>
</el-col>
</el-row>
</el-form> </el-form>
</div> </div>
@@ -324,6 +382,7 @@
:action="uploadUrl(item.materialTypeId)" :action="uploadUrl(item.materialTypeId)"
:show-file-list="false" :show-file-list="false"
:on-success="onUploadSuccess" :on-success="onUploadSuccess"
:on-error="onUploadError"
:accept="item.allowedExtensions ? formatAccept(item.allowedExtensions) : 'image/*,.pdf'" :accept="item.allowedExtensions ? formatAccept(item.allowedExtensions) : 'image/*,.pdf'"
> >
<el-button size="small" type="primary" plain>重新上传</el-button> <el-button size="small" type="primary" plain>重新上传</el-button>
@@ -339,6 +398,7 @@
:action="uploadUrl(item.materialTypeId)" :action="uploadUrl(item.materialTypeId)"
:show-file-list="false" :show-file-list="false"
:on-success="onUploadSuccess" :on-success="onUploadSuccess"
:on-error="onUploadError"
:accept="item.allowedExtensions ? formatAccept(item.allowedExtensions) : 'image/*,.pdf'" :accept="item.allowedExtensions ? formatAccept(item.allowedExtensions) : 'image/*,.pdf'"
drag drag
> >
@@ -490,7 +550,14 @@ const form = reactive({
phone: "", phone: "",
idCardNumber: "", idCardNumber: "",
gender: "", gender: "",
contactAddress: "" nation: "",
contactAddress: "",
bankCardNumber: "",
bankName: "",
bankAccountName: "",
college: "",
education: "",
major: ""
}); });
const baseRules: FormRules = { const baseRules: FormRules = {
@@ -740,11 +807,20 @@ function uploadUrl(materialTypeId: number) {
return `/api/open/onboarding/upload-material?token=${encodeURIComponent(token)}&materialTypeId=${materialTypeId}`; 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("材料上传成功"); ElMessage.success("材料上传成功");
load(); load();
} }
function onUploadError(error: Error) {
ElMessage.error(error?.message || "材料上传失败,请重试");
}
function viewContract(taskContractId: number) { function viewContract(taskContractId: number) {
window.open( window.open(
`/api/open/onboarding/contract-source?token=${encodeURIComponent(token)}&taskContractId=${taskContractId}`, `/api/open/onboarding/contract-source?token=${encodeURIComponent(token)}&taskContractId=${taskContractId}`,
@@ -906,6 +982,15 @@ onMounted(load);
margin: 0; 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 { .full-width {
width: 100%; width: 100%;
} }
+1 -1
View File
@@ -105,7 +105,7 @@
import { menuApi, Menu } from "@/api"; import { menuApi, Menu } from "@/api";
import { required } from "@/utils/formRules"; import { required } from "@/utils/formRules";
import { FormOptEnum, SysDictEnum, MenuTypeDictEnum } from "@/enums"; 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"; import { useDictStore } from "@/stores/modules";
const visible = ref(false); //是否显示表单 const visible = ref(false); //是否显示表单
const dictStore = useDictStore(); //字典仓库 const dictStore = useDictStore(); //字典仓库