添加和修改功能

This commit is contained in:
2025-11-06 12:16:28 +08:00
parent d3fef15fa3
commit b31fcd34c7
16 changed files with 1192 additions and 288 deletions

View File

@@ -1,7 +1,7 @@
<!--
* @Date: 2024-10-08 14:29:36
* @LastEditors: shirlwang
* @LastEditTime: 2025-11-04 17:33:17
* @LastEditTime: 2025-11-06 12:14:22
-->
<template>
<view class="input-outer-part">
@@ -13,12 +13,12 @@
color="#A6A6A6"></u-icon></view>
</view>
<view class="inner-part">
<uni-forms labelPosition="left" :model="formData" :rules="rules" ref="uForm" class="self-form"
labelWidth="100">
<uni-forms labelPosition="right" :model="formData" :rules="rules" ref="uForm" class="self-form"
labelWidth="150rpx">
<uni-forms-item label="姓名" name="personName" required
v-if="$store.getters.roles.includes('shequn'|| $store.getters.roles.includes('gly'))"
>
<view style="width: 100%;" @click="openPersonChooser"
<view class="input-area" style="width: 100%;" @click="openPersonChooser"
:class="{disabledLine: !edit||!canChoosePerson, noValue: !formData.personName}">
{{ formData.personName || '请选择' }}
</view>
@@ -36,16 +36,16 @@
<radio :customStyle="{marginRight: '16px'}" label="否" value="否"></radio>
</radio-group> -->
<view class="radio-group">
<view
:class="['radio-item', { 'radio-disabled': !edit }]"
@click="formData.ywcdxq = '是'"
<view class="radio-item"
:class="!edit ? 'radio-disabled' : ''"
@click="edit ? 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 = '否'"
<view class="radio-item"
:class="!edit ? 'radio-disabled' : ''"
@click="edit ? formData.ywcdxq = '否': ''"
v-if="edit">
<view :class="['radio', { 'radio-checked': formData.ywcdxq === '否' }]"></view>
<text></text>
@@ -54,26 +54,43 @@
</view>
</uni-forms-item>
<uni-forms-item label="场地面积" name="cdmj">
<input :disabled="!edit" v-model="formData.cdmj" border="none"
<input class="input-area" :disabled="!edit" v-model="formData.cdmj" border="none"
placeholder="请输入"/>
<!-- <u-icon slot="right" name="edit-pen" color="#A6A6A6"></u-icon> -->
</uni-forms-item>
<uni-forms-item label="办公人数" name="bgrs">
<input :disabled="!edit" v-model="formData.bgrs" border="none"
<input class="input-area" :disabled="!edit" v-model="formData.bgrs" border="none"
placeholder="请输入"/>
<!-- <u-icon slot="right" name="edit-pen" color="#A6A6A6"></u-icon> -->
</uni-forms-item>
<uni-forms-item label="办公位置" name="bgdd">
<input :disabled="!edit" v-model="formData.bgdd" border="none"
<input class="input-area" :disabled="!edit" v-model="formData.bgdd" border="none"
placeholder="请输入"/>
<!-- <u-icon slot="right" name="edit-pen" color="#A6A6A6"></u-icon> -->
</uni-forms-item>
<uni-forms-item label="有无创业培训需求" name="ywcypxxq" required>
<radio-group :disabled="!edit" :value="formData.ywcypxxq"
<!-- <radio-group :disabled="!edit" :value="formData.ywcypxxq"
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"
:class="!edit ? 'radio-disabled' : ''"
@click="edit ? formData.ywcypxxq = '是' : ''"
v-if="edit">
<view :class="['radio', { 'radio-checked': formData.ywcypxxq === '是' }]"></view>
<text></text>
</view>
<view class="radio-item"
:class="!edit ? 'radio-disabled' : ''"
@click="edit ? formData.ywcypxxq = '否' : ''"
v-if="edit">
<view :class="['radio', { 'radio-checked': formData.ywcypxxq === '否' }]"></view>
<text></text>
</view>
<view v-else>{{ formData.ywcypxxq }}</view>
</view>
</uni-forms-item>
<!-- <uni-forms-item label="是否意向接受创业培训" name="isInterestedEntrepreneurshipGuidance" required>-->
<!-- <radio-group :disabled="!edit" v-model="formData.isInterestedEntrepreneurshipGuidance"-->
@@ -83,13 +100,30 @@
<!-- </radio-group>-->
<!-- </uni-forms-item>-->
<uni-forms-item label="有无资金需求" name="ywzjxq" required>
<radio-group :disabled="!edit" :value="formData.ywzjxq" placement="row">
<!-- <radio-group :disabled="!edit" :value="formData.ywzjxq" 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"
:class="!edit ? 'radio-disabled' : ''"
@click="edit ? formData.ywzjxq = '是' : ''"
v-if="edit">
<view :class="['radio', { 'radio-checked': formData.ywzjxq === '是' }]"></view>
<text>是</text>
</view>
<view class="radio-item"
:class="!edit ? 'radio-disabled' : ''"
@click="edit ? formData.ywzjxq = '否' : ''"
v-if="edit">
<view :class="['radio', { 'radio-checked': formData.ywzjxq === '否' }]"></view>
<text>否</text>
</view>
<view v-else>{{ formData.ywzjxq }}</view>
</view>
</uni-forms-item>
<uni-forms-item label="需求说明" name="jobDescription" required>
<textarea :disabled="!edit" v-model="formData.jobDescription" placeholder="请输入"></textarea>
<textarea style="width: 100%;box-sizing: border-box;" class="textarea" :disabled="!edit" v-model="formData.jobDescription" placeholder="请输入"></textarea>
</uni-forms-item>
<!-- <uni-forms-item label="希望解决日期" name="hopeSolveDate" required>
<view style="width: 100%;" @click="showPicker('hopeSolveDate')"
@@ -494,6 +528,44 @@
background-color: #fff;
}
.input-area{
padding: 0 24rpx;
height: 64rpx;
display: flex;
align-items: center;
border: 1px solid #e4e4e4;
border-radius: 8rpx;
box-sizing: border-box;
// &input{
// }
}
textarea{
box-sizing: border-box;
border: 1px solid #e4e4e4;
border-radius: 8rpx;
font-size: 26rpx;
padding: 12rpx;
}
.picker-view {
display: flex;
align-items: center;
justify-content: space-between;
// width: 100%;
padding: 0 24rpx;
height: 64rpx;
display: flex;
align-items: center;
background: #ffffff;
border: 2rpx solid #e5e5e5;
border-radius: 12rpx;
box-sizing: border-box;
transition: all 0.3s ease;
}
.disabledLine {
background: rgb(245, 247, 250);
cursor: not-allowed;

View File

@@ -1,7 +1,7 @@
<!--
* @Date: 2024-10-08 14:29:36
* @LastEditors: shirlwang
* @LastEditTime: 2025-11-04 17:32:32
* @LastEditTime: 2025-11-06 12:09:01
-->
<template>
@@ -10,23 +10,20 @@
<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"
style="font-weight: normal;display: flex;" @click="edit=true">编辑<u-icon name="edit-pen"
color="#A6A6A6"></u-icon></view>
style="font-weight: normal;display: flex;" @click="edit=true">编辑</view>
</view>
<view class="inner-part">
<uni-forms labelPosition="left" :model="formData" :rules="rules" ref="uForm" class="self-form" labelWidth="100">
<uni-forms labelPosition="right" :model="formData" :rules="rules" ref="uForm" class="self-form" label-width="150rpx">
<!-- v-if="$store.getters.roles.includes('shequn') || $store.getters.roles.includes('gly')" -->
<uni-forms-item label="姓名" name="personName" required
>
<view v-if="name" style="width: 100%;"
class="disabledLine">
<uni-forms-item label="姓名" name="personName" required>
<view v-if="name" style="width: calc(100% - 150rpx);overflow: hidden;text-overflow: ellipsis;white-space: nowrap;box-sizing: border-box;"
class="input-area disabledLine">
{{ formData.personName || '请选择' }}
</view>
<view v-else style="width: 100%;" @click="openPersonChooser"
<view class="input-area" v-else @click="openPersonChooser" style="width: calc(100% - 150rpx);overflow: hidden;text-overflow: ellipsis;white-space: nowrap;box-sizing: border-box;"
:class="{disabledLine: !edit||!canChoosePerson, noValue: !formData.personName}">
{{ formData.personName || '请选择' }}
</view>
<u-icon slot="right" name="edit-pen" color="#A6A6A6"></u-icon>
</uni-forms-item>
<uni-forms-item label="求职工种" name="jobWorkType">
<picker
@@ -40,7 +37,6 @@
>
<view class="picker-view">
<text>{{ formData.jobWorkTypeName || '请选择工种' }}</text>
<u-icon name="arrow-down" color="#999999"></u-icon>
</view>
</picker>
<view v-else class="picker-view">
@@ -48,24 +44,22 @@
</view>
</uni-forms-item>
<uni-forms-item label="最低薪酬" name="minRecruitmentSalary" required>
<input :disabled="!edit" v-model="formData.minRecruitmentSalary" border="none"
<input class="input-area" :disabled="!edit" v-model="formData.minRecruitmentSalary" border="none"
placeholder="请输入"/>
<u-icon slot="right" name="edit-pen" color="#A6A6A6"></u-icon>
</uni-forms-item>
<uni-forms-item label="最高薪酬" name="highRecruitmentSalary" required>
<input :disabled="!edit" v-model="formData.highRecruitmentSalary" border="none"
<input class="input-area" :disabled="!edit" v-model="formData.highRecruitmentSalary" border="none"
placeholder="请输入"/>
<u-icon slot="right" name="edit-pen" color="#A6A6A6"></u-icon>
</uni-forms-item>
<uni-forms-item label="希望工作地点" name="addressDesc">
<view class="df_flex df_flex_1">
<input placeholder="请输入" border="none" v-model="formData.addressDesc"
class="ellipsis_1" @focus="$refs.placePicker.openDialog()"/>
class="ellipsis_1 input-area" @focus="$refs.placePicker.openDialog()"/>
</view>
</uni-forms-item>
<uni-forms labelPosition="left" class="self-form" labelWidth="110" >
<uni-forms-item label="求职说明" name="jobDescription" required >
<textarea :disabled="!edit" v-model="formData.jobDescription"
<textarea style="width: 100%;box-sizing: border-box;" class="textarea" :disabled="!edit" v-model="formData.jobDescription"
placeholder="请输入" ></textarea>
</uni-forms-item>
</uni-forms>
@@ -691,6 +685,25 @@
cursor: not-allowed;
}
.input-area{
padding: 0 24rpx;
height: 64rpx;
display: flex;
align-items: center;
border: 1px solid #e4e4e4;
border-radius: 8rpx;
box-sizing: border-box;
// &input{
// }
}
textarea{
box-sizing: border-box;
border: 1px solid #e4e4e4;
border-radius: 8rpx;
font-size: 26rpx;
padding: 12rpx;
}
@@ -699,12 +712,14 @@
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
padding: 28rpx 36rpx;
// width: 100%;
padding: 0 24rpx;
height: 64rpx;
display: flex;
align-items: center;
background: #ffffff;
border: 2rpx solid #e5e5e5;
border-radius: 12rpx;
min-height: 88rpx;
box-sizing: border-box;
transition: all 0.3s ease;
}

View File

@@ -1,7 +1,7 @@
<!--
* @Date: 2024-10-08 14:29:36
* @LastEditors: shirlwang
* @LastEditTime: 2025-11-05 08:57:34
* @LastEditTime: 2025-11-06 12:09:11
-->
<template>
@@ -14,11 +14,11 @@
color="#A6A6A6"></u-icon></view>
</view>
<view class="inner-part">
<uni-forms labelPosition="left" :model="formData" :rules="rules" ref="uForm" class="self-form"
labelWidth="100">
<uni-forms labelPosition="right" :model="formData" :rules="rules" ref="uForm" class="self-form"
labelWidth="150rpx">
<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"
<view class="input-area" style="width: 100%;" @click="openPersonChooser"
:class="{disabledLine: !edit||!canChoosePerson, noValue: !formData.personName}">
{{ formData.personName || '请选择' }}
</view>
@@ -26,7 +26,7 @@
</uni-forms-item>
<uni-forms-item label="需求说明" prop="jobDescription" required>
<textarea :disabled="!edit" v-model="formData.jobDescription" placeholder="请输入"></textarea>
<textarea style="width: 100%;box-sizing: border-box;" class="textarea" :disabled="!edit" v-model="formData.jobDescription" placeholder="请输入"></textarea>
</uni-forms-item>
</uni-forms>
</view>
@@ -338,6 +338,44 @@
color: rgb(192, 196, 204);
}
.input-area{
padding: 0 24rpx;
height: 64rpx;
display: flex;
align-items: center;
border: 1px solid #e4e4e4;
border-radius: 8rpx;
box-sizing: border-box;
// &input{
// }
}
textarea{
box-sizing: border-box;
border: 1px solid #e4e4e4;
border-radius: 8rpx;
font-size: 26rpx;
padding: 12rpx;
}
.picker-view {
display: flex;
align-items: center;
justify-content: space-between;
// width: 100%;
padding: 0 24rpx;
height: 64rpx;
display: flex;
align-items: center;
background: #ffffff;
border: 2rpx solid #e5e5e5;
border-radius: 12rpx;
box-sizing: border-box;
transition: all 0.3s ease;
}
.disabledLine {
background: rgb(245, 247, 250);
cursor: not-allowed;

View File

@@ -1,7 +1,7 @@
<!--
* @Date: 2024-10-08 14:29:36
* @LastEditors: shirlwang
* @LastEditTime: 2025-11-04 17:45:50
* @LastEditTime: 2025-11-06 12:15:08
-->
<template>
@@ -14,11 +14,11 @@
color="#A6A6A6"></u-icon></view>
</view>
<view class="inner-part">
<uni-forms labelPosition="left" :model="formData" :rules="rules" ref="uForm" class="self-form"
labelWidth="120">
<uni-forms labelPosition="right" :model="formData" :rules="rules" ref="uForm" class="self-form"
labelWidth="150rpx">
<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"
<view class="input-area" style="width: 100%;" @click="openPersonChooser"
:class="{disabledLine: !edit||!canChoosePerson, noValue: !formData.personName}">
{{ formData.personName || '请选择' }}
</view>
@@ -62,7 +62,7 @@
</uni-forms>
<uni-forms labelPosition="left" class="self-form" labelWidth="110">
<uni-forms-item label="需求说明" prop="jobDescription">
<textarea :disabled="!edit" v-model="formData.jobDescription" placeholder="请输入"></textarea>
<textarea style="width: 100%;box-sizing: border-box;" class="textarea" :disabled="!edit" v-model="formData.jobDescription" placeholder="请输入"></textarea>
</uni-forms-item>
</uni-forms>
</view>
@@ -568,33 +568,42 @@
border-radius: 4px;
}
.picker-view {
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
padding: 28rpx 36rpx;
background: #ffffff;
border: 2rpx solid #e5e5e5;
border-radius: 12rpx;
min-height: 88rpx;
box-sizing: border-box;
transition: all 0.3s ease;
}
.input-area{
padding: 0 24rpx;
height: 64rpx;
display: flex;
align-items: center;
border: 1px solid #e4e4e4;
border-radius: 8rpx;
box-sizing: border-box;
// &input{
// }
}
textarea{
box-sizing: border-box;
border: 1px solid #e4e4e4;
border-radius: 8rpx;
font-size: 26rpx;
padding: 12rpx;
}
.picker-view:active {
background: #f8f9fa;
border-color: #007aff;
}
.picker-view text {
color: #333333;
font-size: 28rpx;
flex: 1;
}
.picker-view .u-icon {
margin-left: 16rpx;
color: #999999;
}
.picker-view {
display: flex;
align-items: center;
justify-content: space-between;
// width: 100%;
padding: 0 24rpx;
height: 64rpx;
display: flex;
align-items: center;
background: #ffffff;
border: 2rpx solid #e5e5e5;
border-radius: 12rpx;
box-sizing: border-box;
transition: all 0.3s ease;
}
</style>