添加页面
This commit is contained in:
@@ -1,11 +1,11 @@
|
||||
<!--
|
||||
* @Date: 2024-10-08 14:29:36
|
||||
* @LastEditors: shirlwang
|
||||
* @LastEditTime: 2025-11-04 14:29:24
|
||||
* @LastEditTime: 2025-11-04 17:33:17
|
||||
-->
|
||||
<template>
|
||||
<view class="input-outer-part">
|
||||
<scroll-view scroll-y="true" :style="{height: edit?'calc(100vh - 200rpx)':'calc(100vh - 194rpx)'}">
|
||||
<scroll-view scroll-y="true" :style="{height: edit?'calc(100vh - 380rpx)':'calc(100vh - 194rpx)'}">
|
||||
<view class="inner">
|
||||
<view class="part-title" style="display: flex;justify-content: space-between;">创业需求信息
|
||||
<view v-if="!edit&&formData.id&&formData.currentStatus!=3" class="btn"
|
||||
@@ -31,10 +31,27 @@
|
||||
<u-icon slot="right" name="edit-pen" color="#A6A6A6"></u-icon>
|
||||
</uni-forms-item> -->
|
||||
<uni-forms-item label="有无场地需求" name="ywcdxq" required>
|
||||
<radio-group :disabled="!edit" :value="formData.ywcdxq" placement="row">
|
||||
<!-- <radio-group :disabled="!edit" :value="formData.ywcdxq" placement="row">
|
||||
<radio :customStyle="{marginRight: '16px'}" label="是" value="是">是</radio>
|
||||
<radio :customStyle="{marginRight: '16px'}" label="否" value="否">否</radio>
|
||||
</radio-group>
|
||||
</radio-group> -->
|
||||
<view class="radio-group">
|
||||
<view
|
||||
:class="['radio-item', { 'radio-disabled': !edit }]"
|
||||
@click="formData.ywcdxq = '是'"
|
||||
v-if="edit">
|
||||
<view :class="['radio', { 'radio-checked': formData.ywcdxq === '是' }]"></view>
|
||||
<text>是</text>
|
||||
</view>
|
||||
<view
|
||||
:class="['radio-item', { 'radio-disabled': !edit }]"
|
||||
@click="formData.ywcdxq = '否'"
|
||||
v-if="edit">
|
||||
<view :class="['radio', { 'radio-checked': formData.ywcdxq === '否' }]"></view>
|
||||
<text>否</text>
|
||||
</view>
|
||||
<view v-else>{{ formData.ywcdxq }}</view>
|
||||
</view>
|
||||
</uni-forms-item>
|
||||
<uni-forms-item label="场地面积" name="cdmj">
|
||||
<input :disabled="!edit" v-model="formData.cdmj" border="none"
|
||||
@@ -225,8 +242,8 @@
|
||||
},
|
||||
// setName(){
|
||||
// this.formData.personName = this.name
|
||||
// this.formData.personId = this.needid
|
||||
// this.formData.userId = this.needid
|
||||
// this.formData.personId = this.needId
|
||||
// this.formData.userId = this.needId
|
||||
|
||||
// this.$forceUpdate();
|
||||
// },
|
||||
@@ -255,13 +272,13 @@
|
||||
}
|
||||
this.formData.fileUrl = this.$arrayToString(this.formData.fileUrl)
|
||||
},
|
||||
addOne() {
|
||||
addOne(userId) {
|
||||
this.formData = {}
|
||||
this.setDefaultValues()
|
||||
this.getPersonInfo()
|
||||
if(this.name){
|
||||
this.formData.personName = this.name
|
||||
this.formData.userId = this.needid
|
||||
this.formData.userId = userId
|
||||
}
|
||||
this.edit = true
|
||||
},
|
||||
@@ -349,23 +366,33 @@
|
||||
this.formData.demandType = 2;
|
||||
let successMessage;
|
||||
if (this.formData.id) {
|
||||
response = await updatePersonDemand(this.formData);
|
||||
successMessage = '修改成功';
|
||||
updatePersonDemand(this.formData).then(response => {
|
||||
uni.showToast({title: '修改成功', icon: 'none'});
|
||||
if (response.code == 200) {
|
||||
// 如果是编辑模式,关闭编辑状态;否则返回上一页
|
||||
if (this.formData.id) {
|
||||
this.edit = false;
|
||||
} else {
|
||||
setTimeout(() => {
|
||||
uni.navigateBack();
|
||||
}, 2000);
|
||||
}
|
||||
}
|
||||
})
|
||||
} else {
|
||||
response = await addPersonDemand(this.formData);
|
||||
successMessage = '保存成功';
|
||||
}
|
||||
|
||||
// 检查响应码是否为200
|
||||
if (response.code === 200) {
|
||||
uni.showToast({title: successMessage, icon: 'none'});
|
||||
// 如果是编辑模式,关闭编辑状态;否则返回上一页
|
||||
if (this.formData.id) {
|
||||
this.edit = false;
|
||||
} else {
|
||||
await this.$delay(1000); // 延迟1秒后返回上一页
|
||||
uni.navigateBack();
|
||||
}
|
||||
addPersonDemand(this.formData).then(response => {
|
||||
uni.showToast({title: '保存成功', icon: 'none'});
|
||||
if (response.code == 200) {
|
||||
// 如果是编辑模式,关闭编辑状态;否则返回上一页
|
||||
if (this.formData.id) {
|
||||
this.edit = false;
|
||||
} else {
|
||||
setTimeout(() => {
|
||||
uni.navigateBack();
|
||||
}, 2000);
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
} catch (error) {
|
||||
if(error.length){
|
||||
@@ -423,6 +450,49 @@
|
||||
.noValue {
|
||||
color: rgb(192, 196, 204);
|
||||
}
|
||||
/* 单选框样式 */
|
||||
.radio-group {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.radio-item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-right: 32rpx;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.radio-item.radio-disabled {
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
.radio {
|
||||
width: 28rpx;
|
||||
height: 28rpx;
|
||||
border-radius: 50%;
|
||||
border: 2rpx solid #dcdfe6;
|
||||
margin-right: 12rpx;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.radio.radio-checked {
|
||||
border-color: #409eff;
|
||||
background-color: #409eff;
|
||||
}
|
||||
|
||||
.radio.radio-checked::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
width: 12rpx;
|
||||
height: 12rpx;
|
||||
border-radius: 50%;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.disabledLine {
|
||||
background: rgb(245, 247, 250);
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
<!--
|
||||
* @Date: 2024-10-08 14:29:36
|
||||
* @LastEditors: shirlwang
|
||||
* @LastEditTime: 2025-11-04 14:00:51
|
||||
* @LastEditTime: 2025-11-04 17:32:32
|
||||
-->
|
||||
<template>
|
||||
|
||||
<view class="input-outer-part">
|
||||
<scroll-view scroll-y="true" :style="{height: edit?'calc(100vh - 200rpx)':'calc(100vh - 194rpx)'}">
|
||||
<scroll-view scroll-y="true" :style="{height: edit?'calc(100vh - 380rpx)':'calc(100vh - 194rpx)'}">
|
||||
<view class="inner">
|
||||
<view class="part-title" style="display: flex;justify-content: space-between;">求职需求信息
|
||||
<view v-if="!edit&&formData.id&&formData.currentStatus!=3" class="btn"
|
||||
@@ -335,12 +335,12 @@
|
||||
}
|
||||
this.formData.fileUrl = this.$arrayToString(this.formData.fileUrl)
|
||||
},
|
||||
addOne() {
|
||||
addOne(userId) {
|
||||
this.formData = {}
|
||||
this.getPersonInfo()
|
||||
if(this.name){
|
||||
this.formData.personName = this.name
|
||||
this.formData.userId = this.needId
|
||||
this.formData.userId = userId
|
||||
}
|
||||
this.edit = true
|
||||
},
|
||||
@@ -422,7 +422,7 @@
|
||||
if (this.edit) {
|
||||
if(type === 'workTypeTree') {
|
||||
if (!this.workTypeTreeColumns[0] || !this.workTypeTreeColumns[0].length) {
|
||||
uni.showToast({title: '工种数据未加载,请稍后重试'});
|
||||
uni.showToast({title: '工种数据未加载,请稍后重试', icon: 'none'});
|
||||
return;
|
||||
}
|
||||
// 弹窗打开时,初始化临时columns和index
|
||||
@@ -452,7 +452,7 @@
|
||||
try {
|
||||
// 先检查求职说明是否为空,如果为空直接提示
|
||||
if (!this.formData.jobDescription || this.formData.jobDescription.trim() === '') {
|
||||
uni.showToast({title: '请填写求职说明!'});
|
||||
uni.showToast({title: '请填写求职说明!', icon: 'none'});
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -466,34 +466,43 @@
|
||||
this.formData.demandType = 1;
|
||||
// this.formData.userId = this.formData.personId
|
||||
// 根据 formData 是否有 id 来决定是更新还是新增
|
||||
let response;
|
||||
let successMessage;
|
||||
if (this.formData.id) {
|
||||
response = await updatePersonDemand(this.formData);
|
||||
successMessage = '修改成功';
|
||||
updatePersonDemand(this.formData).then(response => {
|
||||
uni.showToast({title: '修改成功', icon: 'none'});
|
||||
if (response.code == 200) {
|
||||
// 如果是编辑模式,关闭编辑状态;否则返回上一页
|
||||
if (this.formData.id) {
|
||||
this.edit = false;
|
||||
} else {
|
||||
setTimeout(() => {
|
||||
uni.navigateBack();
|
||||
}, 2000);
|
||||
}
|
||||
}
|
||||
})
|
||||
} else {
|
||||
response = await addPersonDemand(this.formData);
|
||||
successMessage = '保存成功';
|
||||
}
|
||||
// 检查响应码是否为200
|
||||
if (response.code === 200) {
|
||||
uni.showToast({title: successMessage});
|
||||
// 如果是编辑模式,关闭编辑状态;否则返回上一页
|
||||
if (this.formData.id) {
|
||||
this.edit = false;
|
||||
} else {
|
||||
setTimeout(() => {
|
||||
uni.navigateBack();
|
||||
}, 2000);
|
||||
}
|
||||
addPersonDemand(this.formData).then(response => {
|
||||
uni.showToast({title: '保存成功', icon: 'none'});
|
||||
if (response.code == 200) {
|
||||
// 如果是编辑模式,关闭编辑状态;否则返回上一页
|
||||
if (this.formData.id) {
|
||||
this.edit = false;
|
||||
} else {
|
||||
setTimeout(() => {
|
||||
uni.navigateBack();
|
||||
}, 2000);
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
} catch (error) {
|
||||
if(error.length){
|
||||
uni.showToast({title: '请填写完整信息!'});
|
||||
uni.showToast({title: '请填写完整信息!', icon: 'none'});
|
||||
}else{
|
||||
uni.showToast({title: '系统错误,请联系管理员!'});
|
||||
uni.showToast({title: '系统错误,请联系管理员!', icon: 'none'});
|
||||
}
|
||||
// uni.showToast({title: '请检查必填项填写'});
|
||||
// uni.showToast({title: '请检查必填项填写', icon: 'none'});
|
||||
|
||||
} finally {
|
||||
// 确保加载页总是会被隐藏
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
<!--
|
||||
* @Date: 2024-10-08 14:29:36
|
||||
* @LastEditors: shirlwang
|
||||
* @LastEditTime: 2025-11-04 14:16:26
|
||||
* @LastEditTime: 2025-11-05 08:57:34
|
||||
-->
|
||||
<template>
|
||||
|
||||
<view class="input-outer-part">
|
||||
<scroll-view scroll-y="true" :style="{height: edit?'calc(100vh - 200rpx)':'calc(100vh - 194rpx)'}">
|
||||
<scroll-view scroll-y="true" :style="{height: edit?'calc(100vh - 380rpx)':'calc(100vh - 194rpx)'}">
|
||||
<view class="inner">
|
||||
<view class="part-title" style="display: flex;justify-content: space-between;">需求信息
|
||||
<view v-if="!edit&&formData.id&&formData.currentStatus!=3" class="btn"
|
||||
@@ -16,18 +16,18 @@
|
||||
<view class="inner-part">
|
||||
<uni-forms labelPosition="left" :model="formData" :rules="rules" ref="uForm" class="self-form"
|
||||
labelWidth="100">
|
||||
<u-form-item label="姓名" prop="personName" required
|
||||
<uni-forms-item label="姓名" prop="personName" required
|
||||
v-if="$store.getters.roles.includes('shequn')|| $store.getters.roles.includes('gly')">
|
||||
<view style="width: 100%;" @click="openPersonChooser"
|
||||
:class="{disabledLine: !edit||!canChoosePerson, noValue: !formData.personName}">
|
||||
{{ formData.personName || '请选择' }}
|
||||
</view>
|
||||
<u-icon slot="right" name="edit-pen" color="#A6A6A6"></u-icon>
|
||||
</u-form-item>
|
||||
</uni-forms-item>
|
||||
|
||||
<u-form-item label="需求说明" prop="jobDescription" required>
|
||||
<u-textarea :disabled="!edit" v-model="formData.jobDescription" placeholder="请输入"></u-textarea>
|
||||
</u-form-item>
|
||||
<uni-forms-item label="需求说明" prop="jobDescription" required>
|
||||
<textarea :disabled="!edit" v-model="formData.jobDescription" placeholder="请输入"></textarea>
|
||||
</uni-forms-item>
|
||||
</uni-forms>
|
||||
</view>
|
||||
</view>
|
||||
@@ -167,12 +167,12 @@
|
||||
}
|
||||
this.formData.fileUrl = this.$arrayToString(this.formData.fileUrl)
|
||||
},
|
||||
addOne() {
|
||||
addOne(userId) {
|
||||
this.formData = {}
|
||||
this.getPersonInfo()
|
||||
if(this.name){
|
||||
this.formData.personName = this.name
|
||||
this.formData.userId = this.needid
|
||||
this.formData.userId = userId
|
||||
}
|
||||
this.edit = true
|
||||
|
||||
@@ -181,7 +181,6 @@
|
||||
getPersonDemand(id).then(res => {
|
||||
this.formData = res.data;
|
||||
this.edit = false
|
||||
this.fileList = this.$processFileUrl(this.formData.fileUrl)
|
||||
})
|
||||
},
|
||||
confirmDate(type, e) {
|
||||
@@ -259,24 +258,35 @@
|
||||
this.formData.demandType = 9;
|
||||
// this.formData.userId = this.formData.personId
|
||||
if (this.formData.id) {
|
||||
response = await updatePersonDemand(this.formData);
|
||||
successMessage = '修改成功';
|
||||
updatePersonDemand(this.formData).then(response => {
|
||||
uni.showToast({title: '修改成功', icon: 'none'});
|
||||
if (response.code == 200) {
|
||||
// 如果是编辑模式,关闭编辑状态;否则返回上一页
|
||||
if (this.formData.id) {
|
||||
this.edit = false;
|
||||
} else {
|
||||
setTimeout(() => {
|
||||
uni.navigateBack();
|
||||
}, 2000);
|
||||
}
|
||||
}
|
||||
uni.hideLoading();
|
||||
})
|
||||
} else {
|
||||
response = await addPersonDemand(this.formData);
|
||||
successMessage = '保存成功';
|
||||
}
|
||||
// 检查响应码是否为200
|
||||
if (response.code === 200) {
|
||||
this.$u.toast(successMessage);
|
||||
// 如果是编辑模式,关闭编辑状态;否则返回上一页
|
||||
if (this.formData.id) {
|
||||
this.edit = false;
|
||||
} else {
|
||||
await this.$delay(1000); // 延迟1秒后返回上一页
|
||||
uni.navigateBack();
|
||||
}
|
||||
} else {
|
||||
throw new Error('服务器响应错误');
|
||||
addPersonDemand(this.formData).then(response => {
|
||||
uni.showToast({title: '保存成功', icon: 'none'});
|
||||
if (response.code == 200) {
|
||||
// 如果是编辑模式,关闭编辑状态;否则返回上一页
|
||||
if (this.formData.id) {
|
||||
this.edit = false;
|
||||
} else {
|
||||
setTimeout(() => {
|
||||
uni.navigateBack();
|
||||
}, 2000);
|
||||
}
|
||||
}
|
||||
uni.hideLoading();
|
||||
})
|
||||
}
|
||||
} catch (error) {
|
||||
if(error.length){
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
<!--
|
||||
* @Date: 2024-10-08 14:29:36
|
||||
* @LastEditors: shirlwang
|
||||
* @LastEditTime: 2025-11-04 14:29:43
|
||||
* @LastEditTime: 2025-11-04 17:45:50
|
||||
-->
|
||||
<template>
|
||||
|
||||
<view class="input-outer-part">
|
||||
<scroll-view scroll-y="true" :style="{height: edit?'calc(100vh - 200rpx)':'calc(100vh - 194rpx)'}">
|
||||
<scroll-view scroll-y="true" :style="{height: edit?'calc(100vh - 380rpx)':'calc(100vh - 194rpx)'}">
|
||||
<view class="inner">
|
||||
<view class="part-title" style="display: flex;justify-content: space-between;">培训需求信息
|
||||
<view v-if="!edit&&formData.id&&formData.currentStatus!=3" class="btn"
|
||||
@@ -46,15 +46,23 @@
|
||||
</view>
|
||||
</uni-forms-item>
|
||||
<uni-forms-item label="期望培训时间" prop="qwpxsj" required>
|
||||
<view class="bordered" style="width: 100%" @click="showTime = true"
|
||||
|
||||
<uni-datetime-picker
|
||||
type="date"
|
||||
:value="formData.qwpxsj"
|
||||
start="2021-3-20"
|
||||
end="2030-6-20"
|
||||
@change="change"
|
||||
/>
|
||||
<!-- <view class="bordered" style="width: 100%" @click="showTime = true"
|
||||
:class="{ noValue: !formData.qwpxsj }">
|
||||
{{ formData.qwpxsj || "请选择" }}</view>
|
||||
<u-icon slot="right" name="arrow-down" color="#A6A6A6"></u-icon>
|
||||
<u-icon slot="right" name="arrow-down" color="#A6A6A6"></u-icon> -->
|
||||
</uni-forms-item>
|
||||
</uni-forms>
|
||||
<uni-forms labelPosition="left" class="self-form" labelWidth="110">
|
||||
<uni-forms-item label="需求说明" prop="jobDescription">
|
||||
<u-textarea :disabled="!edit" v-model="formData.jobDescription" placeholder="请输入"></u-textarea>
|
||||
<textarea :disabled="!edit" v-model="formData.jobDescription" placeholder="请输入"></textarea>
|
||||
</uni-forms-item>
|
||||
</uni-forms>
|
||||
</view>
|
||||
@@ -196,6 +204,9 @@
|
||||
this.workTypeRemoteMethod('');
|
||||
},
|
||||
methods: {
|
||||
change(e) {
|
||||
this.formData.qwpxsj = e;
|
||||
},
|
||||
cancelPage() {
|
||||
if (this.formData.id) {
|
||||
this.edit = false;
|
||||
@@ -238,12 +249,12 @@
|
||||
}
|
||||
this.formData.fileUrl = this.$arrayToString(this.formData.fileUrl)
|
||||
},
|
||||
addOne() {
|
||||
addOne(userId) {
|
||||
this.formData = {}
|
||||
this.getPersonInfo()
|
||||
if(this.name){
|
||||
this.formData.personName = this.name
|
||||
this.formData.userId = this.needid
|
||||
this.formData.userId = userId
|
||||
}
|
||||
this.edit = true
|
||||
},
|
||||
@@ -337,58 +348,57 @@
|
||||
},
|
||||
async saveInfo() {
|
||||
uni.showLoading();
|
||||
try {
|
||||
// 手动检查培训意愿工种是否已选择
|
||||
if (!this.formData.qwpxgz || this.formData.qwpxgz.trim() === '') {
|
||||
this.$u.toast('请选择培训意愿工种!');
|
||||
return;
|
||||
}
|
||||
|
||||
// 手动检查期望培训时间是否已选择
|
||||
if (!this.formData.qwpxsj || this.formData.qwpxsj.trim() === '') {
|
||||
this.$u.toast('请选择期望培训时间!');
|
||||
return;
|
||||
}
|
||||
|
||||
// // 手动检查培训意愿工种是否已选择
|
||||
// if (!this.formData.qwpxgz || this.formData.qwpxgz.trim() === '') {
|
||||
// uni.showToast({title: '请选择培训意愿工种!', icon: 'none'});
|
||||
// return;
|
||||
// }
|
||||
|
||||
|
||||
// 验证表单
|
||||
const isValid = await this.$refs.uForm.validate();
|
||||
if (!isValid) {
|
||||
throw new Error('请检查必填项填写');
|
||||
return
|
||||
}
|
||||
let response;
|
||||
let successMessage;
|
||||
// // 手动检查期望培训时间是否已选择
|
||||
// if (!this.formData.qwpxsj || this.formData.qwpxsj.trim() === '') {
|
||||
// uni.showToast({title: '请选择期望培训时间!', icon: 'none'});
|
||||
// return;
|
||||
// }
|
||||
// 验证表单
|
||||
const isValid = await this.$refs.uForm.validate();
|
||||
if (isValid) {
|
||||
this.formData.demandType = 3;
|
||||
if (this.formData.id) {
|
||||
response = await updatePersonDemand(this.formData);
|
||||
successMessage = '修改成功';
|
||||
updatePersonDemand(this.formData).then(response => {
|
||||
uni.showToast({title: '修改成功', icon: 'none'});
|
||||
if (response.code == 200) {
|
||||
// 如果是编辑模式,关闭编辑状态;否则返回上一页
|
||||
if (this.formData.id) {
|
||||
this.edit = false;
|
||||
} else {
|
||||
setTimeout(() => {
|
||||
uni.navigateBack();
|
||||
}, 2000);
|
||||
}
|
||||
}
|
||||
uni.hideLoading();
|
||||
})
|
||||
} else {
|
||||
response = await addPersonDemand(this.formData);
|
||||
successMessage = '保存成功';
|
||||
addPersonDemand(this.formData).then(response => {
|
||||
uni.showToast({title: '保存成功', icon: 'none'});
|
||||
if (response.code == 200) {
|
||||
// 如果是编辑模式,关闭编辑状态;否则返回上一页
|
||||
if (this.formData.id) {
|
||||
this.edit = false;
|
||||
} else {
|
||||
setTimeout(() => {
|
||||
uni.navigateBack();
|
||||
}, 2000);
|
||||
}
|
||||
}
|
||||
uni.hideLoading();
|
||||
})
|
||||
}
|
||||
// 检查响应码是否为200
|
||||
if (response.code === 200) {
|
||||
this.$u.toast(successMessage);
|
||||
// 如果是编辑模式,关闭编辑状态;否则返回上一页
|
||||
if (this.formData.id) {
|
||||
this.edit = false;
|
||||
} else {
|
||||
await this.$delay(1000); // 延迟1秒后返回上一页
|
||||
uni.navigateBack();
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
if(error.length){
|
||||
this.$u.toast('请填写完整信息!');
|
||||
}else{
|
||||
this.$u.toast('系统错误,请联系管理员!');
|
||||
}
|
||||
} finally {
|
||||
// 确保加载页总是会被隐藏
|
||||
}else{
|
||||
uni.showToast({title: '请填写完整信息!', icon: 'none'});
|
||||
uni.hideLoading();
|
||||
}
|
||||
// 确保加载页总是会被隐藏
|
||||
},
|
||||
// getWorkTypeTree() {
|
||||
// listJobType({
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
<!--
|
||||
* @Date: 2024-10-08 14:29:36
|
||||
* @LastEditors: shirlwang
|
||||
* @LastEditTime: 2025-11-04 14:04:39
|
||||
* @LastEditTime: 2025-11-04 17:16:49
|
||||
-->
|
||||
<template>
|
||||
<view class="page" style="background-image: url('../../../packageRc/static/pageBg.png');">
|
||||
<!-- 需求新增 -->
|
||||
<view class="tab-list" v-if="showTab != 1">
|
||||
<view class="tab" :class="{active: activeType == 1}" @click="canChangeType ? changeType(1) : ''">求职<br>需求
|
||||
<view class="tab" :class="{active: activeType == 1}" @click="canChangeType ? changeType(1, options) : ''">求职<br>需求
|
||||
</view>
|
||||
<view class="tab" :class="{active: activeType == 3}" @click="canChangeType ? changeType(3) : ''">创业<br>需求
|
||||
<view class="tab" :class="{active: activeType == 3}" @click="canChangeType ? changeType(3, options) : ''">创业<br>需求
|
||||
</view>
|
||||
<view class="tab" :class="{active: activeType == 4}" @click="canChangeType ? changeType(4) : ''">培训<br>需求
|
||||
<view class="tab" :class="{active: activeType == 4}" @click="canChangeType ? changeType(4, options) : ''">培训<br>需求
|
||||
</view>
|
||||
<view class="tab" :class="{active: activeType == 5}" @click="canChangeType ? changeType(5) : ''">其他<br>需求
|
||||
<view class="tab" :class="{active: activeType == 5}" @click="canChangeType ? changeType(5, options) : ''">其他<br>需求
|
||||
</view>
|
||||
</view>
|
||||
<jobService v-if="activeType == 1" :needId="id" :name="name" ref="type1" />
|
||||
@@ -44,12 +44,14 @@
|
||||
canChangeType: true,
|
||||
id: '',
|
||||
name:"",
|
||||
options: {}
|
||||
}
|
||||
},
|
||||
onLoad(options) {
|
||||
this.showTab = options.showTab
|
||||
this.id = options.id
|
||||
this.name = options.name
|
||||
this.options=options
|
||||
if (options.id && options.type) {
|
||||
this.isAdd = false
|
||||
this.activeType = options.type
|
||||
@@ -59,15 +61,15 @@
|
||||
})
|
||||
} else {
|
||||
// 添加需求的时候根据传入的类型 判断对应的表单
|
||||
this.changeType(options.activeType || 1)
|
||||
this.changeType(options.activeType || 1, options)
|
||||
}
|
||||
|
||||
},
|
||||
methods: {
|
||||
changeType(type) {
|
||||
changeType(type, options) {
|
||||
this.activeType = type
|
||||
this.$nextTick(() => {
|
||||
this.$refs['type' + type].addOne()
|
||||
this.$refs['type' + type].addOne(options.userId)
|
||||
})
|
||||
},
|
||||
goBack() {
|
||||
|
||||
@@ -259,11 +259,11 @@
|
||||
// 需求推荐/培训
|
||||
requirementTraining(item, index) {
|
||||
if (index == 1) {
|
||||
this.$tab.navigateTo(
|
||||
uni.navigateTo(
|
||||
`/pages/services/serviceDetail?personName=${item.personName}&personId=${item.personId}&jobDemandInfoId=${item.id}&jobWorkType=${item.jobWorkType}&type=3&showTab=1`
|
||||
)
|
||||
} else {
|
||||
this.$tab.navigateTo(
|
||||
uni.navigateTo(
|
||||
`/pages/services/serviceDetail?personName=${item.personName}&personId=${item.personId}&skillTrainingId=${item.id}&personStatus=${item.personStatus}&type=4&showTab=1`
|
||||
)
|
||||
}
|
||||
|
||||
@@ -1,13 +1,8 @@
|
||||
<template>
|
||||
<view>
|
||||
<view class="page">
|
||||
<view class="page-header">
|
||||
<u-icon class="back-icon" name="arrow-left" color="#fff" size="16" @click="goBack()"></u-icon>
|
||||
<view class="title">需求列表</view>
|
||||
<view style="width: 16rpx;"></view> <!-- 占位,保证左右对称 -->
|
||||
</view>
|
||||
<view class="page" style="background-image: url('../../../packageRc/static/pageBg.png');">
|
||||
<view class="input-outer-part"
|
||||
style="padding-top: 12rpx;margin-top: 16rpx;padding-bottom: 0;max-height: unset;">
|
||||
style="padding-top: 32rpx;padding-bottom: 0;max-height: unset;">
|
||||
<!-- <view class="inner"
|
||||
style="width: calc(100% + 64rpx);margin-left: -32rpx;height: 122rpx;position: relative;z-index: 2;">
|
||||
<PopupList :checkData="checkData" @searchCheck="search" ref="PopupList"
|
||||
@@ -15,9 +10,9 @@
|
||||
</view> -->
|
||||
<scroll-view :scroll-y="true" style="height: calc(100vh - 242rpx);position: relative;z-index: 1;"
|
||||
@scrolltolower="getBottomList">
|
||||
<u-swipe-action>
|
||||
<u-swipe-action-item @click="clickDelete(item)" v-for="(item, index) in tableData" :key="index"
|
||||
style="margin-bottom: 24rpx;border-radius: 16rpx;" :options="options1">
|
||||
<uni-swipe-action>
|
||||
<uni-swipe-action-item @click="clickDelete(item)" v-for="(item, index) in tableData" :key="index"
|
||||
style="margin-bottom: 24rpx;border-radius: 16rpx;" :right-options="options1">
|
||||
<view @click="goNeedsDetail(item)" class="job-item">
|
||||
<view class="title-line" v-if="queryParams.needsType==1">
|
||||
<view class="type-tag qz">求职需求</view>
|
||||
@@ -50,8 +45,8 @@
|
||||
<view style="font-size:12px;">左划删除需求</view>
|
||||
</view>
|
||||
</view>
|
||||
</u-swipe-action-item>
|
||||
</u-swipe-action>
|
||||
</uni-swipe-action-item>
|
||||
</uni-swipe-action>
|
||||
<img v-if="!total&&!loading" src="https://rc.jinan.gov.cn/qcwjyH5/static/images/person/empty.png"
|
||||
style="width: 100%;display: block;margin: 0 auto;" />
|
||||
<view v-if="loading"><u-loading-icon></u-loading-icon>
|
||||
@@ -83,15 +78,15 @@
|
||||
import {
|
||||
listAssistService,
|
||||
delAssistService
|
||||
} from '@/api/apiRc/assistService'
|
||||
} from '@/apiRc/needs/assistService'
|
||||
import {
|
||||
listEntrepreneurshipService,
|
||||
delEntrepreneurshipService
|
||||
} from '@/api/apiRc/entrepreneurshipService'
|
||||
} from '@/apiRc/needs/entrepreneurshipService'
|
||||
import {
|
||||
listTrainService,
|
||||
delTrainService
|
||||
} from '@/api/apiRc/trainService'
|
||||
} from '@/apiRc/needs/trainService'
|
||||
import { listJobType } from "@/apiRc/jobType/index";
|
||||
|
||||
|
||||
@@ -104,6 +99,7 @@ import { listJobType } from "@/apiRc/jobType/index";
|
||||
PopupList,
|
||||
},
|
||||
onShow() {
|
||||
console.log('search',34224234)
|
||||
this.search();
|
||||
},
|
||||
data() {
|
||||
@@ -116,8 +112,8 @@ import { listJobType } from "@/apiRc/jobType/index";
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
needsType: 1,
|
||||
userId: '',
|
||||
needsType: 1,
|
||||
},
|
||||
jobTypeList:[],
|
||||
total: 0,
|
||||
@@ -134,27 +130,30 @@ import { listJobType } from "@/apiRc/jobType/index";
|
||||
onLoad({
|
||||
dictValue,userId
|
||||
}) {
|
||||
this.queryParams.needsType = dictValue
|
||||
dictValue ? this.queryParams.needsType = dictValue : ''
|
||||
this.queryParams.userId = userId
|
||||
this.getCheckData()
|
||||
this.getDicts('qcjy_xqlc').then(res => {
|
||||
this.$getDict('qcjy_xqlc').then(res => {
|
||||
this.currentStatusList = res.data;
|
||||
})
|
||||
this.workTypeRemoteMethod()
|
||||
this.getDicts('qcjy_zgzpgz').then(res => {
|
||||
this.$getDict('qcjy_zgzpgz').then(res => {
|
||||
this.salaryList = res.data;
|
||||
})
|
||||
console.log(this.$store.state.user, 234234234)
|
||||
getPersonBase(this.$store.state.user.userId).then(resp => {
|
||||
this.person = resp.data
|
||||
this.queryParams.personId = resp.data.id
|
||||
this.person = resp.data || {}
|
||||
// this.queryParams.personId = resp.data.id
|
||||
})
|
||||
},
|
||||
methods: {
|
||||
getJobWorkTypeName(data){
|
||||
if (data) {
|
||||
let arr = this.jobTypeList.filter((ele) => ele.id == data);
|
||||
|
||||
return arr[0].workTypeName;
|
||||
if(arr.length){
|
||||
return arr[0].workTypeName;
|
||||
}else{
|
||||
return '--'
|
||||
}
|
||||
}
|
||||
},
|
||||
workTypeRemoteMethod(key) {
|
||||
@@ -164,11 +163,13 @@ import { listJobType } from "@/apiRc/jobType/index";
|
||||
pageSize: 50,
|
||||
}).then((res) => {
|
||||
this.jobTypeList = res.rows;
|
||||
|
||||
});
|
||||
},
|
||||
goAddNeeds() {
|
||||
this.$tab.navigateTo(`/pages/needs/needDetail?activeType=${this.queryParams.needsType}&showTab=1`)
|
||||
uni.navigateTo({
|
||||
url: `/packageRc/pages/needs/needDetail?userId=${this.$store.state.user.userId}&type=1&name=${this.$store.state.user.nick}`,
|
||||
// url: `/packageRc/pages/needs/needDetail?activeType=${this.queryParams.needsType}&showTab=1`
|
||||
})
|
||||
},
|
||||
goBack() {
|
||||
uni.navigateBack()
|
||||
@@ -206,7 +207,7 @@ import { listJobType } from "@/apiRc/jobType/index";
|
||||
},
|
||||
goNeedsDetail(item) {
|
||||
uni.navigateTo({
|
||||
url: `/pages/needs/needDetail?id=${item.id}&type=${this.queryParams.needsType}&showTab=1`
|
||||
url: `/packageRc/pages/needs/needDetail?id=${item.id}&type=${this.queryParams.needsType}`
|
||||
})
|
||||
},
|
||||
getDictLabel(value, list) {
|
||||
@@ -219,30 +220,6 @@ import { listJobType } from "@/apiRc/jobType/index";
|
||||
}
|
||||
}
|
||||
},
|
||||
async getCheckData() {
|
||||
let workExperienceYears
|
||||
await this.getDicts('qcjy_gznx').then(res => {
|
||||
workExperienceYears = res.data
|
||||
})
|
||||
this.checkData = [
|
||||
// {
|
||||
// name: "需求类型",
|
||||
// type: "needsType",
|
||||
// data: [{dictLabel: '求职需求', dictValue: '1'},{dictLabel: '援助需求', dictValue: '2'},{dictLabel: '创业需求', dictValue: '3'},{dictLabel: '培训需求', dictValue: '4'},{dictLabel: '其他需求', dictValue: '5'}],
|
||||
// activeIndex: 0,
|
||||
// },
|
||||
// {
|
||||
// name: "工作经验",
|
||||
// type: "workExperienceYears",
|
||||
// data: [{
|
||||
// dictLabel: '全部',
|
||||
// dictValue: ''
|
||||
// }].concat(workExperienceYears),
|
||||
// activeIndex: 0,
|
||||
// },
|
||||
|
||||
];
|
||||
},
|
||||
popupSearch(queryParams) {
|
||||
queryParams.forEach((item, index) => {
|
||||
if (item.data[item.activeIndex].dictLabel == "全部") {
|
||||
@@ -285,6 +262,7 @@ import { listJobType } from "@/apiRc/jobType/index";
|
||||
},
|
||||
// 获取列表
|
||||
async getList() {
|
||||
console.log('getlist',this.queryParams.needsType, 234234234)
|
||||
this.loading = true;
|
||||
if (this.queryParams.needsType == 1) {
|
||||
this.queryParams.demandType = 1
|
||||
@@ -313,6 +291,7 @@ import { listJobType } from "@/apiRc/jobType/index";
|
||||
}
|
||||
},
|
||||
gettedData(res) {
|
||||
console.log('this.gettedData')
|
||||
if (res.code == 200) {
|
||||
if (res.rows.length < 10) {
|
||||
this.showMorePage = false;
|
||||
@@ -334,9 +313,9 @@ import { listJobType } from "@/apiRc/jobType/index";
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.page {
|
||||
background-color: #eef1f5 !important;
|
||||
background-color: #f4f4f4 !important;
|
||||
height: 100vh;
|
||||
background-image: url('https://rc.jinan.gov.cn/qcwjyH5/static/images/top.png');
|
||||
// background-image: url('https://rc.jinan.gov.cn/qcwjyH5/static/images/top.png');
|
||||
background-repeat: no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
@@ -361,9 +340,9 @@ import { listJobType } from "@/apiRc/jobType/index";
|
||||
}
|
||||
|
||||
.job-item {
|
||||
border-radius: 24rpx; /* 增大圆角,使界面更圆润 */
|
||||
padding: 32rpx;
|
||||
margin: 30rpx 30rpx 24rpx 30rpx; /* 添加左右30rpx边距 */
|
||||
border-radius: 16rpx; /* 增大圆角,使界面更圆润 */
|
||||
padding: 24rpx 32rpx;
|
||||
margin: 0 30rpx 24rpx 30rpx; /* 添加左右30rpx边距 */
|
||||
background-color: #FFFFFF; /* 设置白色背景,避免与底层背景重合 */
|
||||
box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.05); /* 添加轻微阴影增强层次感 */
|
||||
|
||||
@@ -407,6 +386,8 @@ import { listJobType } from "@/apiRc/jobType/index";
|
||||
color: #3D3D3D;
|
||||
width: calc(100% - 137rpx);
|
||||
overflow: hidden;
|
||||
padding-left: 24rpx;
|
||||
text-align: left;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
line-height: 40rpx;
|
||||
|
||||
Reference in New Issue
Block a user