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

bug修改

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