Commit 0e0f3a11 authored by 李明环(东信)'s avatar 李明环(东信)

bug修改

parent 2c4954cc
......@@ -8,7 +8,7 @@
"files.eol": "\n",
"typescript.tsdk": "node_modules/typescript/lib",
"[vue]": {
"editor.defaultFormatter": "octref.vetur"
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
......
......@@ -24,6 +24,7 @@
</wd-picker>
</form-item>
</form-row>
<form-row :fill="false">
<form-item title="学历要求">
<wd-picker
......@@ -42,19 +43,24 @@
</wd-picker>
</form-item>
<form-item title="年龄要求">
<wd-col-picker
<!-- <wd-col-picker
v-model="value"
:columns="columns"
:column-change="columnChange"
@confirm="handleConfirm"
use-default-slot
>
<view :class="`inner flex-between ${ageText ? '' : 'placeholder'}`" bind:tap="onOpen">
{{ ageText || "请选择年龄范围" }}
</view>
</wd-col-picker>
</wd-col-picker> -->
<view
@click="isShowAgeSelect = true"
:class="`inner flex-between ${ageText ? '' : 'placeholder'}`"
bind:tap="onOpen"
>
{{ ageText || "请选择年龄范围" }}
</view>
</form-item>
</form-row>
<form-row :fill="false">
<form-item title="专业技术职称" icon="edit">
<input type="text" v-model="majorInputValue" placeholder="请填写职称" />
......@@ -101,6 +107,18 @@
</form-item>
</form-row>
</view>
<!-- 年龄选择器 -->
<wd-action-sheet v-model="isShowAgeSelect" title="年龄选择" :actions="actions" @close="close">
<div class="age-action-sheet">
<div class="age-select-tips">
<p>最小年龄</p>
<p>最大年龄</p>
</div>
<wd-picker-view :columns="ageColumns" v-model="value" :column-change="onChangeAge" />
<wd-button block @click="ageSelectConfirm">确认</wd-button>
</div>
</wd-action-sheet>
<wd-tabbar
custom-style="display: flex;justify-content: center !important;z-index:1;"
fixed
......@@ -140,16 +158,57 @@ const handleConfirmEducation = ({ selectedItems }) => {
educationText.value = selectedItems.text;
};
/* 年龄要求 */
const value = ref([]);
const columns = ref([]);
const value = ref(["", ""]);
const ageText = ref("");
const isShowAgeSelect = ref(false);
const ageColumns = ref([]);
const onChangeAge = (pickerView, value, columnIndex, resolve) => {
const minAge = 16;
const maxAge = 81;
const createColumns = (min, max) => {
const temp = [];
for (let i = min; i < max; i++) {
temp.push({
value: i,
label: i + "岁",
next: true
});
}
return temp;
};
if (columnIndex === 0) {
const min = value[0].value;
const columns = min
? createColumns(min, maxAge)
: [
{
value: "",
label: "不限",
next: false
}
];
pickerView.setColumnData(1, columns);
}
// console.log(pickerView, "value", value, "columnIndex", columnIndex, resolve);
resolve();
};
const ageSelectConfirm = () => {
if (value.value[0]) {
ageText.value = `${value.value[0]}-${value.value[1]}岁`;
} else {
ageText.value = "不限";
}
isShowAgeSelect.value = false;
};
const initSalaryColumns = () => {
const temp = [
{
/* {
value: "不限",
label: "不限",
next: false
}
} */
];
for (let i = 16; i < 81; i++) {
temp.push({
......@@ -158,39 +217,26 @@ const initSalaryColumns = () => {
next: true
});
}
columns.value.push(temp);
};
initSalaryColumns();
const columnChange = ({ selectedItem, resolve, finish }) => {
console.log(selectedItem);
if (selectedItem.next) {
const temp = [];
for (let i = 1; i < 50; i++) {
temp.push({
value: i + selectedItem.value,
label: i + selectedItem.value + "岁",
// columns.value.push(temp);
ageColumns.value = [
[
{
value: "",
label: "不限",
next: false
});
resolve(temp);
}
} else {
finish();
}
};
const handleConfirm = ({ value, selectedItem }) => {
ageText.value = value.join("~");
const [min, max] = value;
console.log([min, max]);
if (max) {
// 没有选择不限
pinias.setFormDataKey("maxAgeRequirement", max);
pinias.setFormDataKey("minAgeRequirement", min);
} else {
pinias.setFormDataKey("maxAgeRequirement", 0);
pinias.setFormDataKey("minAgeRequirement", 0);
}
},
...temp
],
[
{
value: "",
label: "不限",
next: false
}
]
];
};
initSalaryColumns();
/* 等级选择项 */
const levelOptions = ref(["初级", "中级", "高级", "高级以上"]);
......@@ -205,8 +251,7 @@ const majorSelectValue = ref("");
/* 证书 certificate */
const certificateInputValue = ref("");
const certificateSelectValue = ref("");
/* 特种作业证 specialLicense */
const specialLicenseValue = ref("");
/* 初始化页面数据 */
const initViewData = async () => {
if (pinias.formData.id) {
......@@ -244,12 +289,7 @@ const next = () => {
if (certificateInputValue.value && certificateSelectValue.value)
pinias.formData.professionalCertificates = certificateInputValue.value + "-" + certificateSelectValue.value;
console.log(pinias.formData);
if (
validateForm(pinias.formData, [
"identityRequirement",
"educationRequirement",
])
) {
if (validateForm(pinias.formData, ["identityRequirement", "educationRequirement"])) {
uni.redirectTo({
url: "/pages/recommend/releasePostion/step5"
});
......@@ -264,6 +304,18 @@ const next = () => {
padding-top: 0;
}
}
.age-action-sheet {
.age-select-tips {
display: flex;
p {
flex: 1;
text-align: center;
}
}
.wd-button {
margin: 32rpx;
}
}
.foot-btn {
position: fixed;
display: flex;
......
......@@ -53,45 +53,16 @@ const submit = () => {
});
if (pinias.formData.id) {
// 更新
updateJobApi(pinias.formData).then(res => {
if (res.code == 200) {
pinias.resetForm();
setTimeout(() => {
wx.hideLoading({
complete: complete => {
if (complete.errMsg == "hideLoading:ok") {
wx.showToast({
title: "更新成功",
icon: "none"
});
}
}
});
}, 2000);
setTimeout(() => {
uni.switchTab({
url: "/pages/user/positionManagement/index"
});
}, 3000);
} else {
uni.showToast({
title: res.msg,
icon: "none",
duration: 2000
});
}
});
} else {
if (validateForm(pinias.formData, ["contactPhone", "contactPerson"])) {
// 提交
createJobApi(pinias.formData).then(res => {
updateJobApi(pinias.formData)
.then(res => {
if (res.code == 200) {
pinias.resetForm();
setTimeout(() => {
wx.hideLoading({
complete: complete => {
if (complete.errMsg == "hideLoading:ok") {
wx.showToast({
title: "发布成功",
title: "更新成功",
icon: "none"
});
}
......@@ -100,9 +71,8 @@ const submit = () => {
}, 2000);
setTimeout(() => {
uni.switchTab({
url: "/pages/user/index"
url: "/pages/user/positionManagement/index"
});
pinias.resetForm();
}, 3000);
} else {
uni.showToast({
......@@ -111,7 +81,47 @@ const submit = () => {
duration: 2000
});
}
})
.catch(err => {
console.log(err);
uni.hideLoading();
});
} else {
if (validateForm(pinias.formData, ["contactPhone", "contactPerson"])) {
// 提交
createJobApi(pinias.formData)
.then(res => {
if (res.code == 200) {
setTimeout(() => {
wx.hideLoading({
complete: complete => {
if (complete.errMsg == "hideLoading:ok") {
wx.showToast({
title: "发布成功",
icon: "none"
});
}
}
});
}, 2000);
setTimeout(() => {
uni.switchTab({
url: "/pages/user/index"
});
pinias.resetForm();
}, 3000);
} else {
uni.showToast({
title: res.msg,
icon: "none",
duration: 2000
});
}
})
.catch(err => {
console.log(err);
uni.hideLoading();
});
}
}
};
......
......@@ -80,7 +80,7 @@ const filterJobList = code => {
getJobList(code);
};
const getTopFilter = async () => {
const data = await getEumData("EnumJobStatus");
const data = await getEumData("EnumPositionStatus");
data.unshift({
code: "",
text: "全部"
......@@ -95,7 +95,7 @@ const getJobList = (status = "") => {
xma.hideLoading();
res.data.forEach(v => {
const { data: workModeText } = useAsync(getEnumText("EnumWorkMode", v.workMode));
const { data: statusText } = useAsync(getEnumText("EnumJobStatus", v.status));
const { data: statusText } = useAsync(getEnumText("EnumPositionStatus", v.status));
v.workModeText = workModeText;
v.statusText = statusText;
});
......@@ -136,7 +136,7 @@ const switchJobStatus = async v => {
});
}
if (res && res.code === 200) {
v.statusText = await getEnumText("EnumJobStatus", v.status);
v.statusText = await getEnumText("EnumPositionStatus", v.status);
uni.showToast({
title: "操作成功",
icon: "none"
......
......@@ -8,7 +8,8 @@ import { getDictDataApi } from "@/api/common";
* @returns {Promise} - 返回一个Promise对象,该对象在数据获取成功后解析为相应的数据。
*/
export const getEumData = type => {
const storage = getStorageSync(type);
// const storage = getStorageSync(type);
const storage = false;
const codeToNumbers = data => {
data.forEach(v => {
v.code = Number(v.code);
......
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