enen

parent c0642abf
...@@ -63,8 +63,6 @@ getAreaListApi({ type: "province", code: "" }).then(res => { ...@@ -63,8 +63,6 @@ getAreaListApi({ type: "province", code: "" }).then(res => {
cityOpstion.value.push(res.data); cityOpstion.value.push(res.data);
}); });
const columnChangeCity = ({ selectedItem, resolve, index, finish }) => { const columnChangeCity = ({ selectedItem, resolve, index, finish }) => {
console.log(selectedItem.code);
console.log(index);
const type = keys[index]; const type = keys[index];
if (type) { if (type) {
getAreaListApi({ type, code: selectedItem.code }).then(res => { getAreaListApi({ type, code: selectedItem.code }).then(res => {
......
...@@ -155,8 +155,25 @@ ...@@ -155,8 +155,25 @@
{{ item.educationText || "请选择学历" }} {{ item.educationText || "请选择学历" }}
</view> </view>
</view> </view>
</wd-picker> </form-item </wd-picker>
><form-item title="年龄要求" icon=""> </form-item>
<form-item title="专业" icon="">
<wd-col-picker
v-model="majorValue"
:columns="majorOpstion"
value-key="name"
label-key="name"
:column-change="columnChangeMajor"
@confirm="params => handleConfirmMajor(params, item)"
use-default-slot
>
<p :class="{ placeholder: !item.majorText }" class="text-single" style="width: 100%">
{{ item.majorText || "请选择专业" }}
</p>
</wd-col-picker>
</form-item>
<form-item title="年龄要求" icon="">
<wd-col-picker <wd-col-picker
v-model="ageValue" v-model="ageValue"
:columns="ageColumns" :columns="ageColumns"
...@@ -289,7 +306,7 @@ import { positionList, positionAddList, positionuUdateList, jobFair, jobFairRegi ...@@ -289,7 +306,7 @@ import { positionList, positionAddList, positionuUdateList, jobFair, jobFairRegi
import Selectbox from "@/components/form/selectbox.vue"; import Selectbox from "@/components/form/selectbox.vue";
import FormItem from "@/components/form/form-item.vue"; import FormItem from "@/components/form/form-item.vue";
import FormRow from "@/components/form/form-row.vue"; import FormRow from "@/components/form/form-row.vue";
import { dictJobTypeApi, getAreaListApi } from "@/api/common"; import { dictJobTypeApi, getAreaListApi, getMajorTreeApi } from "@/api/common";
import { validateForm } from "@/utils/utils"; import { validateForm } from "@/utils/utils";
import town from "@/assets/town.json"; import town from "@/assets/town.json";
...@@ -309,6 +326,9 @@ const identityPostion = ref([]); ...@@ -309,6 +326,9 @@ const identityPostion = ref([]);
const educationPostion = ref([]); const educationPostion = ref([]);
/* 福利待遇 */ /* 福利待遇 */
/* 薪资选择 */ /* 薪资选择 */
/* 专业 */
const majorValue = ref([]);
const majorOpstion = ref([]);
let salaryText = ref(""); let salaryText = ref("");
const salaryColumns = ref([]); const salaryColumns = ref([]);
/* 是否提供住宿 */ /* 是否提供住宿 */
...@@ -353,6 +373,7 @@ const jobForm = ref([ ...@@ -353,6 +373,7 @@ const jobForm = ref([
street: "", street: "",
address: "", address: "",
contactPerson: "", contactPerson: "",
majorRequirement: "",
contactPhone: "", contactPhone: "",
positionalTitle: "", positionalTitle: "",
professionalCertificates: "", professionalCertificates: "",
...@@ -396,15 +417,39 @@ onLoad(({ articleId, type }) => { ...@@ -396,15 +417,39 @@ onLoad(({ articleId, type }) => {
pageType.value = type; pageType.value = type;
jobForm.value[0].articleId = articleId; jobForm.value[0].articleId = articleId;
jobFair(articleId).then(res => { jobFair(articleId).then(res => {
value.value = res.data.positionIds.split(","); if (res.data) {
console.log("res", res); value.value = res.data.positionIds.split(",");
}
}); });
}); });
getMajorTreeApi().then(res => {
console.log(res);
if (res.code === 200) {
majorOpstion.value.push(
Object.keys(res.data).map(key => ({
name: key,
children: res.data[key]
}))
);
}
});
const tabList = ref([ const tabList = ref([
{ id: 213213, name: "选择已有岗位", type: 1 }, { id: 213213, name: "选择已有岗位", type: 1 },
{ id: 1651651, name: "新增岗位", type: 2 } { id: 1651651, name: "新增岗位", type: 2 }
]); ]);
const columnChangeMajor = ({ selectedItem, resolve, finish }) => {
if (selectedItem.children) {
resolve(selectedItem.children);
} else {
finish();
}
};
const handleConfirmMajor = (params, item) => {
const { value } = params;
item.majorText = value[0];
item.majorRequirement = value[0];
};
const getEnumCertificatesLevel = async () => { const getEnumCertificatesLevel = async () => {
levelOptions.value = await getEumData("EnumCertificatesLevel"); levelOptions.value = await getEumData("EnumCertificatesLevel");
}; };
...@@ -448,20 +493,17 @@ initageColumns(); ...@@ -448,20 +493,17 @@ initageColumns();
const getEnumWorkMode = async () => { const getEnumWorkMode = async () => {
EnumWorkMode.value = await getEumData("EnumWorkMode"); EnumWorkMode.value = await getEumData("EnumWorkMode");
}; };
getAreaListApi({ type: "city", code: "52" }).then(res => { getAreaListApi({ type: "province", code: "" }).then(res => {
cityOpstion.value.push(res.data); cityOpstion.value.push(res.data);
}); });
const keys = ["district", "street"]; const keys = ["city", "district", "street"];
getEnumWorkMode(); getEnumWorkMode();
positionList({ status: 3 }).then(res => { positionList({ status: 3 }).then(res => {
res.data = res.data.map(item => { res.data = res.data.map(item => {
item.workDic = EnumWorkMode.value.find(v => v.code == item.workMode).text; item.workDic = EnumWorkMode.value.find(v => v.code == item.workMode).text;
return item; return item;
}); });
// res.data = res.data.filter(item => {
// return !item.articleId;
// });
gwList.value = res.data; gwList.value = res.data;
}); });
const getJobType = () => { const getJobType = () => {
...@@ -507,9 +549,9 @@ const handleConfirmCity = (params, item) => { ...@@ -507,9 +549,9 @@ const handleConfirmCity = (params, item) => {
const { selectedItems } = params; const { selectedItems } = params;
item.cityText = selectedItems.map(v => v.name || "").join("-"); item.cityText = selectedItems.map(v => v.name || "").join("-");
citySelectedItems = selectedItems; citySelectedItems = selectedItems;
const [city, district, street] = selectedItems; const [province, city, district, street] = selectedItems;
item.address = selectedItems.map(v => v.name || "").join(""); item.address = selectedItems.map(v => v.name || "").join("");
item.provinceCode = 520000; item.provinceCode = province.code;
item.cityName = city.name; item.cityName = city.name;
item.cityCode = city.code; item.cityCode = city.code;
item.districtCode = district.code; item.districtCode = district.code;
...@@ -722,7 +764,8 @@ const submitFrom = () => { ...@@ -722,7 +764,8 @@ const submitFrom = () => {
"educationRequirement", "educationRequirement",
"minAgeRequirement", "minAgeRequirement",
"contactPhone", "contactPhone",
"contactPerson" "contactPerson",
"majorRequirement"
], ],
"post" "post"
) )
...@@ -771,6 +814,7 @@ function addPost() { ...@@ -771,6 +814,7 @@ function addPost() {
maxAgeRequirement: null, maxAgeRequirement: null,
recruitmentNumber: 1, recruitmentNumber: 1,
accommodation: 0, accommodation: 0,
majorRequirement: "",
provinceCode: "", provinceCode: "",
cityCode: "", cityCode: "",
districtCode: "", districtCode: "",
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment