1
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -399,8 +399,8 @@ export const onboardingTaskApi = {
|
||||
},
|
||||
|
||||
uploadDocx(params: FormData) {
|
||||
return moduleRequest("/sys/dev/file/").post<number>(
|
||||
"uploadLocal",
|
||||
return moduleRequest("/biz/onboarding/contract-template/").post<number>(
|
||||
"file/upload-docx",
|
||||
params
|
||||
);
|
||||
},
|
||||
|
||||
+1
-1
@@ -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 = "";
|
||||
|
||||
@@ -155,7 +155,7 @@
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xs="24" :sm="12">
|
||||
<el-col :xs="24" :sm="6">
|
||||
<el-form-item label="性别">
|
||||
<el-select v-model="form.gender" placeholder="请选择性别" :disabled="!canEdit" class="full-width">
|
||||
<el-option label="男" value="男" />
|
||||
@@ -163,18 +163,76 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</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-form-item label="通讯地址" prop="contactAddress">
|
||||
<el-form-item label="现居住/通讯地址" prop="contactAddress">
|
||||
<el-input
|
||||
v-model="form.contactAddress"
|
||||
type="textarea"
|
||||
:rows="3"
|
||||
:rows="2"
|
||||
placeholder="请输入详细现居/通讯地址"
|
||||
:disabled="!canEdit"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</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>
|
||||
</div>
|
||||
|
||||
@@ -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'"
|
||||
>
|
||||
<el-button size="small" type="primary" plain>重新上传</el-button>
|
||||
@@ -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%;
|
||||
}
|
||||
|
||||
@@ -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(); //字典仓库
|
||||
|
||||
Reference in New Issue
Block a user