招聘会

parent a61f8e84
...@@ -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": "esbenp.prettier-vscode" "editor.defaultFormatter": "octref.vetur"
}, },
"[typescript]": { "[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode" "editor.defaultFormatter": "esbenp.prettier-vscode"
......
...@@ -8,7 +8,7 @@ export const getArticleDetailApi = id => instance.post(`/article/detail/${id}`); ...@@ -8,7 +8,7 @@ export const getArticleDetailApi = id => instance.post(`/article/detail/${id}`);
export const getArticleTypesApi = type => instance.post(`/article/category/list/${type}`); export const getArticleTypesApi = type => instance.post(`/article/category/list/${type}`);
//招聘会报名状态 //招聘会报名状态
export const registerStatus = articleId => instance.post(`/jobFair/register/status/${articleId}`); export const registerStatus = articleId => instance.post(`/article/jobFair/check/${articleId}`);
// 参加招聘会 // 参加招聘会
......
...@@ -49,6 +49,10 @@ export const companyReviewInfo = params => instance.post("/b/company/review/info ...@@ -49,6 +49,10 @@ export const companyReviewInfo = params => instance.post("/b/company/review/info
export const companyReviewUpdate = params => instance.post("/b/company/review/update", params); export const companyReviewUpdate = params => instance.post("/b/company/review/update", params);
//职位列表 //职位列表
export const positionList = params => instance.post("/b/position/list", params); export const positionList = params => instance.post("/b/position/list", params);
//批量创建岗位
export const positionAddList = params => instance.post("/b/position/addList", params);
//批量更新职位
export const positionuUdateList = params => instance.post("/b/position/updateList", params);
//根据id获取反馈信息 //根据id获取反馈信息
export const feedbackById = params => instance.post(`/feedback/${params}`); export const feedbackById = params => instance.post(`/feedback/${params}`);
...@@ -39,6 +39,7 @@ const iconPath = new URL(`../../static/image/icon/${props.icon}.png`, import.met ...@@ -39,6 +39,7 @@ const iconPath = new URL(`../../static/image/icon/${props.icon}.png`, import.met
font-size: 32rpx; font-size: 32rpx;
font-weight: 600; font-weight: 600;
line-height: 36rpx; line-height: 36rpx;
white-space: nowrap;
} }
.icon { .icon {
position: absolute; position: absolute;
......
...@@ -26,10 +26,14 @@ ...@@ -26,10 +26,14 @@
placeholder placeholder
safeAreaInsetBottom safeAreaInsetBottom
> >
<wd-button @tap="next" :disabled="data.bmStutas || !data.bm" round="false" class="foot-btn">{{ <!-- <wd-button @tap="next" :disabled="data.bmStutas || !data.bm" round="false" class="foot-btn">{{
!data.bmStutas && data.bm ? "立即报名" : data.bmStutas ? "已报名" : "报名结束" !data.bmStutas && data.bm ? "立即报名" : data.bmStutas ? "已报名" : "报名结束"
}}</wd-button> -->
<wd-button @tap="next" :disabled="!data.bm" round="false" class="foot-btn">{{
data.bm ? "立即报名" : "报名结束"
}}</wd-button> }}</wd-button>
</wd-tabbar> </wd-tabbar>
<wd-action-sheet v-model="show" :actions="actions" @close="close" @select="select" />
</div> </div>
</template> </template>
...@@ -39,6 +43,15 @@ import evn from "@/utils/config.js"; ...@@ -39,6 +43,15 @@ import evn from "@/utils/config.js";
import { ref } from "vue"; import { ref } from "vue";
import dayjs from "dayjs"; import dayjs from "dayjs";
const data = ref({}); const data = ref({});
const show = ref(false);
const actions = ref([
{
name: "更新岗位"
},
{
name: "新增岗位"
}
]);
let articleId = ref(null); let articleId = ref(null);
onLoad(({ id }) => { onLoad(({ id }) => {
articleId.value = id; articleId.value = id;
...@@ -53,12 +66,27 @@ onLoad(({ id }) => { ...@@ -53,12 +66,27 @@ onLoad(({ id }) => {
data.value.bm = false; data.value.bm = false;
} }
registerStatus(id).then(Res => { // registerStatus(id).then(Res => {
data.value.bmStutas = Res.data; // data.value.bmStutas = Res.data;
}); // });
}); });
console.log("data.value", data.value.bm, data.value.bmStutas);
}); });
function showActions() {}
function close() {
show.value = false;
}
function select({ item, index }) {
if (index == 0) {
xma.navigateTo({
url: `/pages/signUp/addPost?articleId=${articleId.value}&type=update`
});
} else {
xma.navigateTo({
url: `/pages/signUp/addPost?articleId=${articleId.value}&type=add`
});
}
}
onShow(() => { onShow(() => {
const currentTime = Date.now(); const currentTime = Date.now();
getArticleDetailApi(articleId.value).then(res => { getArticleDetailApi(articleId.value).then(res => {
...@@ -71,16 +99,14 @@ onShow(() => { ...@@ -71,16 +99,14 @@ onShow(() => {
data.value.bm = false; data.value.bm = false;
} }
registerStatus(articleId.value).then(Res => { // registerStatus(articleId.value).then(Res => {
data.value.bmStutas = Res.data; // data.value.bmStutas = Res.data;
}); // });
}); });
}); });
const form = ref();
function next() { function next() {
xma.navigateTo({ show.value = true;
url: `/pages/signUp/index?articleId=${articleId.value}`
});
} }
</script> </script>
......
This diff is collapsed.
...@@ -38,14 +38,16 @@ import { getCompanyInfoApi } from "@/api/user"; ...@@ -38,14 +38,16 @@ import { getCompanyInfoApi } from "@/api/user";
import { useStore } from "./store"; import { useStore } from "./store";
const pinias = useStore(); const pinias = useStore();
const enterpriseInformation = ref({}); const enterpriseInformation = ref({});
onLoad(options => { const articleIds = ref("");
onLoad(({ articleId }) => {
articleIds.value = articleId;
getCompanyInfoApi().then(res => { getCompanyInfoApi().then(res => {
enterpriseInformation.value = res.data; enterpriseInformation.value = res.data;
}); });
}); });
const next = () => { const next = () => {
uni.navigateTo({ uni.navigateTo({
url: "/pages/signUp/addPost" url: `/pages/signUp/addPost?articleId=${articleIds.value}`
}); });
}; };
</script> </script>
......
...@@ -71,6 +71,7 @@ export const formatTimestamp = (timestamp, formatString = "YYYY-MM-DD hh:mm:ss") ...@@ -71,6 +71,7 @@ export const formatTimestamp = (timestamp, formatString = "YYYY-MM-DD hh:mm:ss")
export const validateForm = (formData, requiredFields) => { export const validateForm = (formData, requiredFields) => {
const phoneRegex = /^1[3-9]\d{9}$/; // 正则表达式匹配中国大陆手机号码 const phoneRegex = /^1[3-9]\d{9}$/; // 正则表达式匹配中国大陆手机号码
for (const field of requiredFields) { for (const field of requiredFields) {
const fieldValue = formData[field];
if (field === "contactPhone" || field === "phone") { if (field === "contactPhone" || field === "phone") {
if (!formData[field] || !phoneRegex.test(formData[field])) { if (!formData[field] || !phoneRegex.test(formData[field])) {
uni.showToast({ uni.showToast({
...@@ -80,7 +81,7 @@ export const validateForm = (formData, requiredFields) => { ...@@ -80,7 +81,7 @@ export const validateForm = (formData, requiredFields) => {
}); });
return false; return false;
} }
} else if (!formData[field]) { } else if (fieldValue === null || fieldValue === undefined || fieldValue === "") {
console.log(field); console.log(field);
uni.showToast({ uni.showToast({
......
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