|
@@ -8,21 +8,21 @@
|
|
|
<a-form-item
|
|
|
label="岗位名称"
|
|
|
:label-col="{ span: 6 }"
|
|
|
- name="PostName"
|
|
|
+ name="postName"
|
|
|
:rules="[{ required: true, message: '请输入岗位名称!' }]"
|
|
|
>
|
|
|
- <a-input v-model:value="dataModel.PostName" placeholder=""/>
|
|
|
+ <a-input v-model:value="dataModel.postName" placeholder=""/>
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<a-col :span="8">
|
|
|
<a-form-item
|
|
|
label="有效开始时间"
|
|
|
:label-col="{ span: 6 }"
|
|
|
- name="ValidTime"
|
|
|
+ name="validTime"
|
|
|
:rules="[{ required: true, message: '请输入招聘有效开始时间' }]"
|
|
|
>
|
|
|
<a-date-picker
|
|
|
- v-model:value="dataModel.ValidTime"
|
|
|
+ v-model:value="dataModel.validTime"
|
|
|
picker="date"
|
|
|
value-format="YYYY-MM-DD"
|
|
|
/>
|
|
@@ -32,10 +32,10 @@
|
|
|
<a-form-item
|
|
|
label="有效期(天)"
|
|
|
:label-col="{ span: 6 }"
|
|
|
- name="ValidDay"
|
|
|
+ name="validDay"
|
|
|
:rules="[{ required: true, message: '请输入有效期(天)!' }]"
|
|
|
>
|
|
|
- <a-input v-model:value="dataModel.ValidDay" placeholder=""/>
|
|
|
+ <a-input v-model:value="dataModel.validDay" placeholder=""/>
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
</a-row>
|
|
@@ -46,13 +46,13 @@
|
|
|
<a-form-item
|
|
|
label="岗位状态"
|
|
|
:label-col="{ span: 6 }"
|
|
|
- name="RecordStatus"
|
|
|
+ name="recordStatus"
|
|
|
:rules="[{ required: true, message: '请岗位状态!' }]"
|
|
|
>
|
|
|
<a-select
|
|
|
ref="select"
|
|
|
- v-model:value="dataModel.RecordStatus"
|
|
|
- :options="studentTypelist"
|
|
|
+ v-model:value="dataModel.recordStatus"
|
|
|
+ :options="postStatusList"
|
|
|
:field-names="{ label: 'name', value: 'value' }"
|
|
|
>
|
|
|
</a-select>
|
|
@@ -62,14 +62,14 @@
|
|
|
<a-form-item
|
|
|
label="所属企业"
|
|
|
:label-col="{ span: 6 }"
|
|
|
- name="CompanyID"
|
|
|
+ name="companyID"
|
|
|
:rules="[{ required: true, message: '请选择企业!' }]"
|
|
|
>
|
|
|
<a-select
|
|
|
ref="select"
|
|
|
- v-model:value="dataModel.CompanyID"
|
|
|
- :options="studentTypelist"
|
|
|
- :field-names="{ label: 'name', value: 'value' }"
|
|
|
+ v-model:value="dataModel.companyID"
|
|
|
+ :options="companyList"
|
|
|
+ :field-names="{ label: 'companyName', value: 'companyID' }"
|
|
|
>
|
|
|
</a-select>
|
|
|
</a-form-item>
|
|
@@ -78,10 +78,10 @@
|
|
|
<a-form-item
|
|
|
label="工作性质"
|
|
|
:label-col="{ span: 6 }"
|
|
|
- name="WorkNature"
|
|
|
+ name="workNature"
|
|
|
:rules="[{ required: true, message: '请输入工作性质!' }]"
|
|
|
>
|
|
|
- <a-input v-model:value="dataModel.WorkNature" placeholder=""/>
|
|
|
+ <a-input v-model:value="dataModel.workNature" placeholder=""/>
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
</a-row>
|
|
@@ -92,33 +92,33 @@
|
|
|
<a-form-item
|
|
|
label="工作年限"
|
|
|
:label-col="{ span: 6 }"
|
|
|
- name="WorkYear"
|
|
|
+ name="workYear"
|
|
|
:rules="[{ required: true, message: '请输入工作年限!' }]"
|
|
|
>
|
|
|
- <a-input v-model:value="dataModel.WorkYear" placeholder=""/>
|
|
|
+ <a-input v-model:value="dataModel.workYear" placeholder=""/>
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<a-col :span="8">
|
|
|
<a-form-item
|
|
|
label="招聘人数"
|
|
|
:label-col="{ span: 6 }"
|
|
|
- name="RecruitCount"
|
|
|
+ name="recruitCount"
|
|
|
:rules="[{ required: true, message: '请输入招聘人数!' }]"
|
|
|
>
|
|
|
- <a-input v-model:value="dataModel.RecruitCount" placeholder=""/>
|
|
|
+ <a-input v-model:value="dataModel.recruitCount" placeholder=""/>
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<a-col :span="8">
|
|
|
<a-form-item
|
|
|
label="文化程度"
|
|
|
:label-col="{ span: 6 }"
|
|
|
- name="CultureRank"
|
|
|
+ name="cultureRank"
|
|
|
:rules="[{ required: true, message: '请选择文化程度!' }]"
|
|
|
>
|
|
|
<a-select
|
|
|
ref="select"
|
|
|
- v-model:value="dataModel.CultureRank"
|
|
|
- :options="studentStatuslist"
|
|
|
+ v-model:value="dataModel.cultureRank"
|
|
|
+ :options="cultureLevelList"
|
|
|
:field-names="{ label: 'name', value: 'value' }"
|
|
|
>
|
|
|
</a-select>
|
|
@@ -130,30 +130,30 @@
|
|
|
<a-form-item
|
|
|
label="最高薪酬"
|
|
|
:label-col="{ span: 6 }"
|
|
|
- name="MaxSalary"
|
|
|
+ name="maxSalary"
|
|
|
:rules="[{ required: true, message: '请输入最高薪酬!' }]"
|
|
|
>
|
|
|
- <a-input v-model:value="dataModel.MaxSalary" placeholder=""/>
|
|
|
+ <a-input v-model:value="dataModel.maxSalary" placeholder=""/>
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<a-col :span="8">
|
|
|
<a-form-item
|
|
|
label="最低薪酬"
|
|
|
:label-col="{ span: 6 }"
|
|
|
- name="MinSalary"
|
|
|
+ name="minSalary"
|
|
|
:rules="[{ required: true, message: '请输入最低薪酬!' }]"
|
|
|
>
|
|
|
- <a-input v-model:value="dataModel.MinSalary" placeholder=""/>
|
|
|
+ <a-input v-model:value="dataModel.minSalary" placeholder=""/>
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<a-col :span="8">
|
|
|
<a-form-item
|
|
|
label="福利待遇"
|
|
|
:label-col="{ span: 6 }"
|
|
|
- name="Welfare"
|
|
|
+ name="welfare"
|
|
|
:rules="[{ required: true, message: '请输入福利待遇!' }]"
|
|
|
>
|
|
|
- <a-input v-model:value="dataModel.Welfare" placeholder=""/>
|
|
|
+ <a-input v-model:value="dataModel.welfare" placeholder=""/>
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
</a-row>
|
|
@@ -162,30 +162,30 @@
|
|
|
<a-form-item
|
|
|
label="联系人"
|
|
|
:label-col="{ span: 6 }"
|
|
|
- name="UserName"
|
|
|
+ name="userName"
|
|
|
:rules="[{ required: true, message: '请选择联系人!' }]"
|
|
|
>
|
|
|
- <a-input v-model:value="dataModel.UserName" placeholder=""/>
|
|
|
+ <a-input v-model:value="dataModel.userName" placeholder=""/>
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<a-col :span="8">
|
|
|
<a-form-item
|
|
|
label="联系电话"
|
|
|
:label-col="{ span: 6 }"
|
|
|
- name="UserMobile"
|
|
|
+ name="userMobile"
|
|
|
:rules="[{ required: true, message: '请输入联系电话!' }]"
|
|
|
>
|
|
|
- <a-input v-model:value="dataModel.UserMobile" placeholder=""/>
|
|
|
+ <a-input v-model:value="dataModel.userMobile" placeholder=""/>
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<a-col :span="8">
|
|
|
<a-form-item
|
|
|
label="邮箱"
|
|
|
:label-col="{ span: 6 }"
|
|
|
- name="PostEmial"
|
|
|
+ name="postEmial"
|
|
|
:rules="[{ required: true, message: '请输入邮箱!' }]"
|
|
|
>
|
|
|
- <a-input v-model:value="dataModel.PostEmial" placeholder=""/>
|
|
|
+ <a-input v-model:value="dataModel.postEmial" placeholder=""/>
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
</a-row>
|
|
@@ -194,23 +194,23 @@
|
|
|
<a-form-item
|
|
|
label="工作时长"
|
|
|
:label-col="{ span: 6 }"
|
|
|
- name="WorkTime"
|
|
|
+ name="workTime"
|
|
|
:rules="[{ required: true, message: '请输入工作时长!' }]"
|
|
|
>
|
|
|
- <a-input v-model:value="dataModel.WorkTime" placeholder=""/>
|
|
|
+ <a-input v-model:value="dataModel.workTime" placeholder=""/>
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<a-col :span="8">
|
|
|
<a-form-item
|
|
|
label="是否试用期"
|
|
|
:label-col="{ span: 6 }"
|
|
|
- name="IsTrail"
|
|
|
+ name="isTrail"
|
|
|
:rules="[{ required: true, message: '请选择是否试用期!' }]"
|
|
|
>
|
|
|
<a-select
|
|
|
ref="select"
|
|
|
- v-model:value="dataModel.IsTrail"
|
|
|
- :options="studentStatuslist"
|
|
|
+ v-model:value="dataModel.isTrail"
|
|
|
+ :options="trialStatusList"
|
|
|
:field-names="{ label: 'name', value: 'value' }"
|
|
|
>
|
|
|
</a-select>
|
|
@@ -220,10 +220,10 @@
|
|
|
<a-form-item
|
|
|
label="试用期时长"
|
|
|
:label-col="{ span: 6 }"
|
|
|
- name="Trailtime"
|
|
|
+ name="trailtime"
|
|
|
:rules="[{ required: true, message: '请选择试用期时长!' }]"
|
|
|
>
|
|
|
- <a-input v-model:value="dataModel.Trailtime" placeholder=""/>
|
|
|
+ <a-input v-model:value="dataModel.trailtime" placeholder=""/>
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
</a-row>
|
|
@@ -232,28 +232,28 @@
|
|
|
<a-form-item
|
|
|
label="试用期最高薪酬"
|
|
|
:label-col="{ span: 6 }"
|
|
|
- name="TrailMaxSalary"
|
|
|
+ name="trailMaxSalary"
|
|
|
:rules="[{ required: true, message: '请输入试用期最高薪酬!' }]"
|
|
|
>
|
|
|
- <a-input v-model:value="dataModel.TrailMaxSalary" placeholder=""/>
|
|
|
+ <a-input v-model:value="dataModel.trailMaxSalary" placeholder=""/>
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
<a-col :span="8">
|
|
|
<a-form-item
|
|
|
label="试用期最低薪酬"
|
|
|
:label-col="{ span: 6 }"
|
|
|
- name="TrailMinSalary"
|
|
|
+ name="trailMinSalary"
|
|
|
:rules="[{ required: true, message: '' }]"
|
|
|
>
|
|
|
- <a-input v-model:value="dataModel.TrailMinSalary" placeholder=""/>
|
|
|
+ <a-input v-model:value="dataModel.trailMinSalary" placeholder=""/>
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
</a-row>
|
|
|
<a-divider orientation="left">其他信息</a-divider>
|
|
|
<a-row>
|
|
|
<a-col class="table-bottom-a1">
|
|
|
- <a-form-item :label-col="{span:8}" label="" name="PostDesc">
|
|
|
- <a-textarea v-model:value="dataModel.PostDesc" placeholder="岗位描述" :rows="4"/>
|
|
|
+ <a-form-item :label-col="{span:8}" label="" name="postDesc">
|
|
|
+ <a-textarea v-model:value="dataModel.postDesc" placeholder="岗位描述" :rows="4"/>
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
</a-row>
|
|
@@ -266,49 +266,79 @@
|
|
|
</template>
|
|
|
|
|
|
<script lang="ts">
|
|
|
-import { defineComponent, reactive, ref, toRefs } from 'vue';
|
|
|
-import { useRouter } from 'vue-router';
|
|
|
-import type { SelectProps } from 'ant-design-vue';
|
|
|
-import { useTabsViewStore } from '@/store/modules/tabsView';
|
|
|
+import {defineComponent, reactive, ref, toRefs} from 'vue';
|
|
|
+import {useRouter} from 'vue-router';
|
|
|
+import {save, getPostByID} from '@/api/companyService/post'
|
|
|
+import type {SelectProps} from 'ant-design-vue';
|
|
|
+import {useTabsViewStore} from '@/store/modules/tabsView';
|
|
|
import BUploadFile from '@/components/file/uploadFile.vue';
|
|
|
+import {get} from '@/api/common';
|
|
|
|
|
|
interface FormState {
|
|
|
dataModel: any;
|
|
|
}
|
|
|
|
|
|
export default defineComponent(
|
|
|
-{
|
|
|
- components: { BUploadFile },
|
|
|
- setup()
|
|
|
{
|
|
|
- const formState = reactive<FormState>({ dataModel: {} });
|
|
|
- const router = useRouter();
|
|
|
- const postStatuslist = ref<SelectProps['options']>();
|
|
|
- // const fullpath = router.currentRoute.value.fullPath;
|
|
|
- const tabsViewStore = useTabsViewStore();
|
|
|
+ name: 'PostEdit',
|
|
|
+ components: {BUploadFile},
|
|
|
+ setup() {
|
|
|
+ const formState = reactive<FormState>({dataModel: {}});
|
|
|
+ const router = useRouter();
|
|
|
+ const fullpath = router.currentRoute.value.fullPath;
|
|
|
+ const tabsViewStore = useTabsViewStore();
|
|
|
|
|
|
- const onClose = () => {
|
|
|
- tabsViewStore.closeCurrentTabByPath('/companyService/post/add');
|
|
|
- tabsViewStore.closeCurrentTabByPath('/companyService/post/edit');
|
|
|
- router.push({ name: '/companyService/post/index' });
|
|
|
- };
|
|
|
|
|
|
- const onFinish=()=>{
|
|
|
+ const cultureLevelList = ref<SelectProps['options']>();
|
|
|
+ const companyList = ref<SelectProps['options']>();
|
|
|
+ const postStatusList = [{name: '启用', value: 1}, {name: '禁用', value: 0}];
|
|
|
+ const trialStatusList = [{name: '是', value: 1}, {name: '否', value: 0}];
|
|
|
|
|
|
- }
|
|
|
+ get('system/dictionary/getDictionaryItemByCodeList', {code: 'CultureLevel'}).then(result => {
|
|
|
+ cultureLevelList.value = result;
|
|
|
+ });
|
|
|
+
|
|
|
+ get('companyService/company/getList', {pageIndex: 1, pageSize: 999}).then(result => {
|
|
|
+ companyList.value = result.list;
|
|
|
+ })
|
|
|
+
|
|
|
+ const onClose = () => {
|
|
|
+ tabsViewStore.closeCurrentTabByPath('/companyService/post/add');
|
|
|
+ tabsViewStore.closeCurrentTabByPath('/companyService/post/edit');
|
|
|
+ router.push({name: '/companyService/post/index'});
|
|
|
+ };
|
|
|
|
|
|
- const loadData = () => {
|
|
|
+ const onFinish = () => {
|
|
|
+ save(formState.dataModel).then((result) => {
|
|
|
+ if (result) {
|
|
|
+ tabsViewStore.closeCurrentTab(fullpath);
|
|
|
+ tabsViewStore.addTabByPath('/companyService/post/index', {reload: 1});
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
|
|
|
- };
|
|
|
+ const loadData = (id: any) => {
|
|
|
+ getPostByID(id).then(result => {
|
|
|
+ formState.dataModel = result;
|
|
|
+ })
|
|
|
+ };
|
|
|
|
|
|
- return {
|
|
|
- ...toRefs(formState),
|
|
|
- loadData,
|
|
|
- onClose,
|
|
|
- onFinish,
|
|
|
- postStatuslist
|
|
|
+ return {
|
|
|
+ ...toRefs(formState),
|
|
|
+ loadData,
|
|
|
+ onClose,
|
|
|
+ onFinish,
|
|
|
+ companyList,
|
|
|
+ postStatusList,
|
|
|
+ trialStatusList,
|
|
|
+ cultureLevelList
|
|
|
+ }
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+ const id = history.state.params?.id;
|
|
|
+ console.log(id);
|
|
|
+ this.loadData(id);
|
|
|
}
|
|
|
- }
|
|
|
-})
|
|
|
+ })
|
|
|
</script>
|
|
|
|