Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
mp-enterprise-people-recruitment-h5
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
彭佳妮(贵阳日报)
mp-enterprise-people-recruitment-h5
Commits
0e0f3a11
Commit
0e0f3a11
authored
Nov 01, 2024
by
李明环(东信)
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
bug修改
parent
2c4954cc
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
151 additions
and
88 deletions
+151
-88
settings.json
.vscode/settings.json
+1
-1
step4.vue
src/pages/recommend/releasePostion/step4.vue
+100
-48
step5.vue
src/pages/recommend/releasePostion/step5.vue
+45
-35
index.vue
src/pages/user/positionManagement/index.vue
+3
-3
utils.js
src/utils/utils.js
+2
-1
No files found.
.vscode/settings.json
View file @
0e0f3a11
...
...
@@ -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"
...
...
src/pages/recommend/releasePostion/step4.vue
View file @
0e0f3a11
...
...
@@ -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
;
...
...
src/pages/recommend/releasePostion/step5.vue
View file @
0e0f3a11
...
...
@@ -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
();
});
}
}
};
...
...
src/pages/user/positionManagement/index.vue
View file @
0e0f3a11
...
...
@@ -80,7 +80,7 @@ const filterJobList = code => {
getJobList
(
code
);
};
const
getTopFilter
=
async
()
=>
{
const
data
=
await
getEumData
(
"Enum
Job
Status"
);
const
data
=
await
getEumData
(
"Enum
Position
Status"
);
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
(
"Enum
Job
Status"
,
v
.
status
));
const
{
data
:
statusText
}
=
useAsync
(
getEnumText
(
"Enum
Position
Status"
,
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
(
"Enum
Job
Status"
,
v
.
status
);
v
.
statusText
=
await
getEnumText
(
"Enum
Position
Status"
,
v
.
status
);
uni
.
showToast
({
title
:
"操作成功"
,
icon
:
"none"
...
...
src/utils/utils.js
View file @
0e0f3a11
...
...
@@ -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
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment