Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
basic-uniapp-v3
概览
概览
详情
活动
周期分析
版本库
存储库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
1
合并请求
1
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
Basic
basic-uniapp-v3
Commits
176268d8
提交
176268d8
authored
11月 11, 2025
作者:
吴佳伟
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'dev' of
https://gitlab.yiring.com/digital-agri/agri-app
into dev
上级
797b61ea
6b5c7de5
隐藏空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
134 行增加
和
538 行删除
+134
-538
supplyXuQiu.vue
src/pages/chanxiao/supplyXuQiu.vue
+33
-141
form.vue
src/pages/linghuoyonggong/form.vue
+60
-147
linghuoyonggong.vue
src/pages/linghuoyonggong/linghuoyonggong.vue
+12
-101
apply-dialog.vue
src/pages/nongjifuwu/components/apply-dialog.vue
+16
-28
farm-form.vue
src/pages/nongjifuwu/farm-form.vue
+13
-5
nongjifuwu.vue
src/pages/nongjifuwu/nongjifuwu.vue
+0
-116
没有找到文件。
src/pages/chanxiao/supplyXuQiu.vue
浏览文件 @
176268d8
...
...
@@ -274,6 +274,14 @@
formData
.
country
=
addressValue
[
2
]
}
}
function
getCurrentDate
()
{
const
date
=
new
Date
()
const
year
=
date
.
getFullYear
()
const
month
=
String
(
date
.
getMonth
()
+
1
).
padStart
(
2
,
'0'
)
const
day
=
String
(
date
.
getDate
()).
padStart
(
2
,
'0'
)
return
`
${
year
}
-
${
month
}
-
${
day
}
`
}
</
script
>
<
template
>
...
...
@@ -281,202 +289,86 @@
<view
class=
"formBox"
>
<fui-form
ref=
"formRef"
label-weight=
"auto"
top=
"60"
>
<view
class=
"mt20"
>
<fui-input
required
label=
"供应标题"
placeholder=
"请输入供应标题"
v-model=
"form.title"
labelSize=
"28"
label-width=
"180"
/>
<fui-input
label=
"规格说明"
placeholder=
"请输入规格说明"
v-model=
"form.productSpecs"
labelSize=
"28"
label-width=
"180"
/>
<fui-input
label=
"供应标题"
placeholder=
"请输入供应标题"
placeholderStyle=
"font-size: 26rpx"
v-model=
"form.title"
labelSize=
"28"
label-width=
"180"
required
/>
<fui-input
label=
"规格说明"
placeholder=
"请输入规格说明"
placeholderStyle=
"font-size: 26rpx"
v-model=
"form.productSpecs"
labelSize=
"28"
label-width=
"180"
/>
</view>
<view
class=
"mt20"
>
<!-- 价格区间 -->
<view
class=
"form-section"
style=
"padding: 0 10rpx"
>
<view
class=
"form-item required flex align-center"
>
<text
class=
"label"
>
价格区间
</text>
<text
class=
"label"
style=
"font-size: 28rpx"
>
价格区间
</text>
<view
class=
"price-range"
>
<input
type=
"number"
class=
"price-input"
v-model=
"form.minPrice"
placeholder=
"最低价"
:min=
"0"
/>
<input
type=
"number"
class=
"price-input"
v-model=
"form.minPrice"
placeholder=
"最低价"
placeholderStyle=
"font-size: 26rpx"
:min=
"0"
/>
<text
class=
"price-separator"
>
-
</text>
<input
type=
"number"
class=
"price-input"
v-model=
"form.maxPrice"
placeholder=
"最高价"
:min=
"0"
/>
<input
type=
"number"
class=
"price-input"
v-model=
"form.maxPrice"
placeholder=
"最高价"
placeholderStyle=
"font-size: 26rpx"
:min=
"0"
/>
</view>
</view>
</view>
<!--
<fui-input
required
label=
"最低价"
placeholder=
"请输入最低价"
v-model=
"form.minPrice"
labelSize=
"28"
label-width=
"180"
></fui-input>
<fui-input
required
label=
"最高价"
placeholder=
"请输入最高价"
v-model=
"form.maxPrice"
labelSize=
"28"
label-width=
"180"
></fui-input>
-->
<fui-input
required
label=
"计量单位"
placeholder=
"请输入计量单位"
v-model=
"form.unit"
labelSize=
"28"
label-width=
"180"
/>
<fui-input
required
label=
"币种"
placeholder=
"请输入币种"
v-model=
"form.currency"
labelSize=
"28"
label-width=
"180"
/>
<fui-input
type=
"number"
required
label=
"供应数量"
placeholder=
"请输入供应数量"
v-model=
"form.supplyQuantity"
labelSize=
"28"
label-width=
"180"
/>
<fui-input
type=
"number"
required
label=
"最小起订量"
placeholder=
"请输入最小起订量"
v-model=
"form.minOrderQuantity"
labelSize=
"28"
label-width=
"180"
/>
<fui-input
required
label=
"计量单位"
placeholder=
"请输入计量单位"
placeholderStyle=
"font-size: 26rpx"
v-model=
"form.unit"
labelSize=
"28"
label-width=
"180"
/>
<fui-input
required
label=
"币种"
placeholder=
"请输入币种"
placeholderStyle=
"font-size: 26rpx"
v-model=
"form.currency"
labelSize=
"28"
label-width=
"180"
/>
<fui-input
required
label=
"供应数量"
placeholder=
"请输入供应数量"
placeholderStyle=
"font-size: 26rpx"
v-model=
"form.supplyQuantity"
labelSize=
"28"
label-width=
"180"
type=
"number"
/>
<fui-input
required
label=
"最小起订量"
placeholder=
"请输入最小起订量"
placeholderStyle=
"font-size: 26rpx"
v-model=
"form.minOrderQuantity"
labelSize=
"28"
label-width=
"180"
type=
"number"
/>
</view>
<view
class=
"mt20"
>
<view
class=
"form-item required flex align-center"
style=
"padding: 20rpx 10rpx"
>
<text
class=
"label"
>
省/市/区县
</text>
<text
class=
"label"
style=
"font-size: 28rpx"
>
请选择区域
</text>
<view
class=
"select-input"
@
click=
"show.address = true"
>
<text
class=
"time-text"
:class=
"
{ placeholder: !form.address }">
{{
getText
(
form
.
address
)
||
'请选择省/市/区县'
}}
</text>
</view>
</view>
<fui-input
label=
"详细地址"
placeholder=
"请输入详细地址"
v-model=
"form.detailedAddress"
labelSize=
"28"
label-width=
"180"
/>
<fui-input
required
label=
"详细地址"
placeholder=
"请输入详细地址"
placeholderStyle=
"font-size: 26rpx"
v-model=
"form.detailedAddress"
labelSize=
"28"
label-width=
"180"
/>
<!-- 供应时间 -->
<view
class=
"form-section"
style=
"padding: 0 30rpx"
>
<view
class=
"form-item flex align-center"
>
<text
class=
"label"
>
供应时间
</text>
<text
class=
"label"
style=
"font-size: 28rpx"
>
供应时间
</text>
<view
class=
"time-range"
>
<view
class=
"time-input"
@
click=
"show.time1 = true"
>
<text
class=
"time-text"
:class=
"
{ placeholder: !form.supplyStartDate }">
{{
form
.
supplyStartDate
||
'开始时间'
}}
<text
class=
"time-text"
:class=
"
{ placeholder: !form.supplyStartDate }" style="font-size: 26rpx">
{{
form
.
supplyStartDate
||
'开始时间'
}}
</text>
</view>
<text
class=
"time-separator"
>
-
</text>
<view
class=
"time-input"
@
click=
"show.time2 = true"
>
<text
class=
"time-text"
:class=
"
{ placeholder: !form.supplyEndDate }">
{{
form
.
supplyEndDate
||
'结束时间'
}}
<text
class=
"time-text"
:class=
"
{ placeholder: !form.supplyEndDate }" style="font-size: 26rpx">
{{
form
.
supplyEndDate
||
'结束时间'
}}
</text>
</view>
</view>
</view>
</view>
<!--
<fui-input
label=
"供应开始时间"
placeholder=
"请选择供应开始时间"
v-model=
"form.supplyStartDate"
@
click=
"show.time1 = true"
labelSize=
"28"
label-width=
"180"
></fui-input>
<fui-input
label=
"供应结束时间"
placeholder=
"请选择供应结束时间"
v-model=
"form.supplyEndDate"
@
click=
"show.time2 = true"
labelSize=
"28"
label-width=
"180"
></fui-input>
-->
<view
class=
"form-section"
style=
"padding: 0 10rpx"
>
<view
class=
"form-item required flex align-center"
>
<text
class=
"label"
>
分类
</text>
<text
class=
"label"
style=
"font-size: 28rpx"
>
分类
</text>
<view
class=
"time-input"
@
click=
"show.classify = true"
>
<text
class=
"select-text"
:class=
"
{ placeholder: !form.classifyText }">
<text
class=
"select-text"
:class=
"
{ placeholder: !form.classifyText }"
style="font-size: 26rpx"
>
{{
form
.
classifyText
||
'请选择分类'
}}
</text>
</view>
</view>
</view>
<view
class=
"form-section"
style=
"padding: 0 10rpx"
>
<view
class=
"form-item required flex align-center"
>
<text
class=
"label"
>
状态
</text>
<view
class=
"time-input"
@
click=
"show.status = true"
>
<text
class=
"select-text"
:class=
"
{ placeholder: !form.statusText }">
{{
form
.
statusText
||
'请选择状态'
}}
</text>
</view>
</view>
</view>
</view>
<view
class=
"bg-white mt20"
style=
"padding: 0.875rem 1rem"
>
<view
class=
"mb-1 flex justify-start"
>
示例图片
</view>
<uni-file-picker
:value=
"form.imageObj"
ref=
"uploadRef"
limit=
"1"
:auto-upload=
"false"
@
select=
"handleUpload"
@
delete=
"handleDelete"
/>
<view
class=
"mb-1 flex justify-start"
>
上传图片
</view>
<uni-file-picker
:value=
"form.imageObj"
ref=
"uploadRef"
limit=
"1"
:auto-upload=
"false"
@
select=
"handleUpload"
@
delete=
"handleDelete"
/>
</view>
<view
class=
"fui-btn__box"
v-if=
"!form.id"
style=
"margin-top: 30rpx"
>
<fui-button
text=
"发布需求"
bold
radius=
"96rpx"
@
click=
"submit"
/>
</view>
</fui-form>
<fui-date-picker
:show=
"show.time1"
type=
"3"
@
change=
"handleChangeTime1"
@
cancel=
"show.time1 = false"
minDate=
"2025-01-01"
/>
<fui-date-picker
:show=
"show.time2"
type=
"3"
@
change=
"handleChangeTime2"
@
cancel=
"show.time2 = false"
minDate=
"2025-01-01"
/>
<fui-picker
:show=
"show.status"
:layer=
"1"
:linkage=
"true"
:options=
"options.status"
@
change=
"handleChangeStatus"
@
cancel=
"show.status = false"
/>
<fui-picker
:show=
"show.classify"
:layer=
"1"
:linkage=
"true"
:options=
"options.classify"
@
change=
"handleChangeClassify"
@
cancel=
"show.classify = false"
/>
<fui-picker
:show=
"show.address"
:options=
"options.address"
:linkage=
"true"
:layer=
"3"
@
change=
"handleChangeAddress"
@
cancel=
"show.address = false"
/>
<fui-date-picker
:show=
"show.time1"
type=
"3"
@
change=
"handleChangeTime1"
@
cancel=
"show.time1 = false"
:minDate=
"getCurrentDate()"
/>
<fui-date-picker
:show=
"show.time2"
type=
"3"
@
change=
"handleChangeTime2"
@
cancel=
"show.time2 = false"
:minDate=
"getCurrentDate()"
/>
<fui-picker
:show=
"show.status"
:layer=
"1"
:linkage=
"true"
:options=
"options.status"
@
change=
"handleChangeStatus"
@
cancel=
"show.status = false"
/>
<fui-picker
:show=
"show.classify"
:layer=
"1"
:linkage=
"true"
:options=
"options.classify"
@
change=
"handleChangeClassify"
@
cancel=
"show.classify = false"
/>
<fui-picker
:show=
"show.address"
:options=
"options.address"
:linkage=
"true"
:layer=
"3"
@
change=
"handleChangeAddress"
@
cancel=
"show.address = false"
/>
<fui-toast
ref=
"toastRef"
/>
</view>
</view>
...
...
src/pages/linghuoyonggong/form.vue
浏览文件 @
176268d8
...
...
@@ -63,56 +63,46 @@
},
rules
:
[
{
name
:
'
nam
e'
,
name
:
'
typ
e'
,
rule
:
[
'required'
],
msg
:
[
'请输入名称'
],
},
{
name
:
'workers'
,
msg
:
[
'请选择用工类型'
],
},{
name
:
'name'
,
rule
:
[
'required'
],
msg
:
[
'请输入工作内容'
],
},
{
msg
:
[
'请输入标题'
],
},
{
name
:
'workers'
,
rule
:
[
'required'
],
msg
:
[
'请输入工人数量'
],
},
{
},
{
name
:
'price'
,
rule
:
[
'required'
],
msg
:
[
'请输入价钱'
],
},
{
name
:
'type'
,
msg
:
[
'请输入用工单价'
],
},
{
name
:
'starttime'
,
rule
:
[
'required'
],
msg
:
[
'请选择类型'
],
},
{
msg
:
[
'请选择开始时间'
],
},
{
name
:
'estimatedendtime'
,
rule
:
[
'required'
],
msg
:
[
'请选择预计结束时间'
],
},
{
name
:
'content'
,
rule
:
[
'required'
],
msg
:
[
'请输入工作内容'
],
},
{
name
:
'area'
,
rule
:
[
'required'
],
msg
:
[
'请选择地区'
],
},
{
},
{
name
:
'address'
,
rule
:
[
'required'
],
msg
:
[
'请选择详细地址'
],
},
{
msg
:
[
'请输入详细地址'
],
},
{
name
:
'urgentdegree'
,
rule
:
[
'required'
],
msg
:
[
'请选择紧急程度'
],
},
{
name
:
'starttime'
,
rule
:
[
'required'
],
msg
:
[
'请选择开始时间'
],
},
{
name
:
'estimatedendtime'
,
rule
:
[
'required'
],
msg
:
[
'请选择预计结束时间'
],
},
{
},
{
name
:
'picture'
,
rule
:
[
'required'
],
msg
:
[
'请上传图片'
],
...
...
@@ -124,8 +114,6 @@
function
initDict
()
{
pageData
.
options
.
area
=
areaTree
console
.
log
(
dictStore
.
getDictList
.
purchase_status
)
pageData
.
options
.
urgentdegree
=
dictStore
.
getDictList
.
employment_urgent
.
map
((
item
)
=>
{
return
{
value
:
item
.
value
,
...
...
@@ -142,7 +130,7 @@
function
getCurrentAddressInfo
()
{
if
(
!
uni
.
getStorageSync
(
'location'
))
return
return
const
{
lon
,
lat
}
=
uni
.
getStorageSync
(
'location'
)
UserInfoAPI
.
location
({
...
...
@@ -273,6 +261,14 @@ return
}
})
}
function
getCurrentDate
(){
const
date
=
new
Date
()
const
year
=
date
.
getFullYear
()
const
month
=
date
.
getMonth
()
+
1
const
day
=
date
.
getDate
()
return
`
${
year
}
-
${
month
}
-
${
day
}
`
}
</
script
>
<
template
>
...
...
@@ -280,81 +276,16 @@ return
<view
class=
"formBox"
>
<fui-form
ref=
"formRef"
label-weight=
"auto"
top=
"60"
:disabled=
"form.id ? true : false"
>
<view
class=
"mt20"
>
<fui-input
required
label=
"名称"
placeholder=
"请输入名称"
v-model=
"form.name"
labelSize=
"28"
label-width=
"180"
/>
<fui-input
required
label=
"工作内容"
placeholder=
"请输入工作内容"
v-model=
"form.content"
labelSize=
"28"
label-width=
"180"
/>
<fui-input
required
label=
"用工类型"
placeholder=
"请选择用工类型"
v-model=
"form.typeText"
labelSize=
"28"
size=
"28"
label-width=
"180"
@
click=
"show.type = true"
/>
<fui-input
required
label=
"标题"
placeholder=
"请输入标题"
v-model=
"form.name"
labelSize=
"28"
label-width=
"180"
maxlength=
"16"
size=
"28"
/>
</view>
<view
class=
"mt20"
>
<fui-input
required
type=
"number"
:min=
"0"
label=
"工人数量"
placeholder=
"请输入工人数量"
v-model=
"form.workers"
labelSize=
"28"
label-width=
"180"
/>
<fui-input
required
type=
"number"
label=
"价钱"
:min=
"0"
placeholder=
"请输入价钱"
v-model=
"form.price"
labelSize=
"28"
label-width=
"180"
/>
<fui-input
required
label=
"类型"
placeholder=
"请选择类型"
v-model=
"form.typeText"
labelSize=
"28"
label-width=
"180"
@
click=
"show.type = true"
/>
</view>
<view
class=
"mt20"
>
<fui-input
required
label=
"地区"
placeholder=
"请选择地区"
v-model=
"form.areaText"
labelSize=
"28"
label-width=
"180"
@
click=
"show.area = true"
/>
<fui-input
required
label=
"详细地址"
placeholder=
"请输入详细地址"
v-model=
"form.address"
labelSize=
"28"
label-width=
"180"
/>
<fui-input
required
label=
"紧急程度"
placeholder=
"请选择紧急程度"
v-model=
"form.urgentdegreeText"
labelSize=
"28"
label-width=
"180"
@
click=
"show.urgentdegree = true"
/>
<fui-input
required
type=
"number"
:min=
"0"
label=
"工人数量"
placeholder=
"请输入工人数量"
v-model=
"form.workers"
labelSize=
"28"
label-width=
"180"
maxlength=
"4"
size=
"28"
>
<view
slot=
"suffix"
class=
"unit-slot"
>
人
</view>
</fui-input>
<fui-input
required
type=
"number"
label=
"用工单价"
:min=
"0"
placeholder=
"请输入用工单价"
v-model=
"form.price"
labelSize=
"28"
label-width=
"180"
maxlength=
"6"
size=
"28"
>
<view
slot=
"suffix"
class=
"unit-slot"
>
元/人
</view>
</fui-input>
<!-- 时间范围 -->
<view
class=
"form-section"
style=
"padding: 0 30rpx"
>
<view
class=
"form-item flex align-center"
>
...
...
@@ -365,7 +296,7 @@ return
{{
form
.
starttime
||
'开始时间'
}}
</text>
</view>
<text
class=
"time-separator"
>
-
</text>
<text
class=
"time-separator"
>
至
</text>
<view
class=
"time-input"
@
click=
"show.time2 = true"
>
<text
class=
"time-text"
:class=
"
{ placeholder: !form.estimatedendtime }">
{{
form
.
estimatedendtime
||
'结束时间'
}}
...
...
@@ -374,17 +305,16 @@ return
</view>
</view>
</view>
<fui-input
required
label=
"工作内容"
placeholder=
"请输入工作内容"
v-model=
"form.content"
labelSize=
"28"
label-width=
"180"
maxlength=
"32"
size=
"28"
/>
</view>
<view
class=
"mt20"
>
<fui-input
required
label=
"地区"
placeholder=
"请选择地区"
v-model=
"form.areaText"
labelSize=
"28"
label-width=
"180"
@
click=
"show.area = true"
size=
"28"
/>
<fui-input
required
label=
"详细地址"
placeholder=
"请输入详细地址"
v-model=
"form.address"
labelSize=
"28"
label-width=
"180"
size=
"28"
/>
<fui-input
required
label=
"紧急程度"
placeholder=
"请选择紧急程度"
v-model=
"form.urgentdegreeText"
labelSize=
"28"
label-width=
"180"
size=
"28"
@
click=
"show.urgentdegree = true"
/>
</view>
<view
class=
"bg-white mt20"
style=
"padding: 0.875rem 1rem"
>
<view
class=
"mb-1 flex justify-start"
>
图片
</view>
<uni-file-picker
:value=
"form.pictureObj"
ref=
"uploadRef"
limit=
"1"
:auto-upload=
"false"
@
select=
"handleUpload"
@
delete=
"handleDelete"
/>
<view
class=
"mb-1 flex justify-start"
style=
"font-size: 28rpx;"
><span
style=
"color: red;"
>
*
</span>
图片
</view>
<uni-file-picker
:value=
"form.pictureObj"
ref=
"uploadRef"
limit=
"1"
:auto-upload=
"false"
@
select=
"handleUpload"
@
delete=
"handleDelete"
/>
</view>
<view
class=
"fui-btn__box"
v-if=
"!form.id"
style=
"margin-top: 30rpx"
>
<fui-button
text=
"发布用工"
bold
radius=
"96rpx"
@
click=
"submit"
/>
...
...
@@ -393,33 +323,11 @@ return
</view>
</view>
<fui-date-picker
:show=
"show.time1"
type=
"3"
@
change=
"handleChangeTime1"
@
cancel=
"show.time1 = false"
/>
<fui-date-picker
:show=
"show.time2"
type=
"3"
@
change=
"handleChangeTime2"
@
cancel=
"show.time2 = false"
/>
<fui-picker
:show=
"show.type"
:layer=
"1"
:linkage=
"true"
:options=
"options.type"
@
change=
"handleChangetype"
@
cancel=
"show.type = false"
/>
<fui-picker
:show=
"show.urgentdegree"
:layer=
"1"
:linkage=
"true"
:options=
"options.urgentdegree"
@
change=
"handleChangeUrgentdegree"
@
cancel=
"show.urgentdegree = false"
/>
<fui-picker
:show=
"show.area"
:options=
"options.area"
:linkage=
"true"
:layer=
"3"
@
change=
"handleChangeAddress"
@
cancel=
"show.area = false"
/>
<fui-date-picker
:show=
"show.time1"
type=
"3"
@
change=
"handleChangeTime1"
:min-date=
"getCurrentDate()"
@
cancel=
"show.time1 = false"
/>
<fui-date-picker
:show=
"show.time2"
type=
"3"
@
change=
"handleChangeTime2"
:min-date=
"getCurrentDate()"
@
cancel=
"show.time2 = false"
/>
<fui-picker
:show=
"show.type"
:layer=
"1"
:linkage=
"true"
:options=
"options.type"
@
change=
"handleChangetype"
@
cancel=
"show.type = false"
/>
<fui-picker
:show=
"show.urgentdegree"
:layer=
"1"
:linkage=
"true"
:options=
"options.urgentdegree"
@
change=
"handleChangeUrgentdegree"
@
cancel=
"show.urgentdegree = false"
/>
<fui-picker
:show=
"show.area"
:options=
"options.area"
:linkage=
"true"
:layer=
"3"
@
change=
"handleChangeAddress"
@
cancel=
"show.area = false"
/>
<fui-toast
ref=
"toastRef"
/>
<fui-loading
isFixed
v-if=
"pageData.loading"
backgroundColor=
"rgba(0, 0, 0, 0.4)"
/>
</
template
>
...
...
@@ -594,4 +502,9 @@ return
margin-bottom
:
0
;
padding
:
0
;
}
.unit-slot
{
padding
:
0
16
rpx
;
color
:
#333
;
font-size
:
28
rpx
;
}
</
style
>
src/pages/linghuoyonggong/linghuoyonggong.vue
浏览文件 @
176268d8
...
...
@@ -11,7 +11,6 @@
})
onShow
(()
=>
{
// pageData.purchaseDemands = []
pageData
.
search
.
pageNo
=
1
if
(
pageData
.
currentEmploymentId
===
1
)
{
pageData
.
search
.
publishstatu
=
1
...
...
@@ -51,65 +50,7 @@
currentEmploymentId
:
1
,
// 用工列表
employmentList
:
[
// {
// id: 1,
// image: 'https://ide.code.fun/api/image?token=6902c43a9520a30011f4e723&name=f33c4419bab5b0fb3a63b5b3006059f2.png',
// title: '蔬菜种植',
// duration: '预计3天',
// people: '需要5人',
// price: '150元/天',
// distance: '3.2km',
// rating: '4',
// actionText: '我想去',
// icons: {
// duration:
// 'https://ide.code.fun/api/image?token=6902c43a9520a30011f4e723&name=56353ebdea095baedbcb33fc53f68a03.png',
// people: 'https://ide.code.fun/api/image?token=6902c43a9520a30011f4e723&name=85c3b17d5049630ed51fd57b701f047f.png',
// price: 'https://ide.code.fun/api/image?token=6902c43a9520a30011f4e723&name=9e806e0315ec11c12ec9e2b6870dd395.png',
// location:
// 'https://ide.code.fun/api/image?token=6902c43a9520a30011f4e723&name=39c448ae66659127e7bcd035ea16e0de.png',
// },
// },
// {
// id: 2,
// image: 'https://ide.code.fun/api/image?token=6902c43a9520a30011f4e723&name=f33c4419bab5b0fb3a63b5b3006059f2.png',
// title: '果树修剪',
// duration: '预计5天',
// people: '需要3人',
// price: '180元/天',
// distance: '2.1km',
// rating: '5',
// actionText: '我想去',
// icons: {
// duration:
// 'https://ide.code.fun/api/image?token=6902c43a9520a30011f4e723&name=56353ebdea095baedbcb33fc53f68a03.png',
// people: 'https://ide.code.fun/api/image?token=6902c43a9520a30011f4e723&name=85c3b17d5049630ed51fd57b701f047f.png',
// price: 'https://ide.code.fun/api/image?token=6902c43a9520a30011f4e723&name=9e806e0315ec11c12ec9e2b6870dd395.png',
// location:
// 'https://ide.code.fun/api/image?token=6902c43a9520a30011f4e723&name=39c448ae66659127e7bcd035ea16e0de.png',
// },
// },
// {
// id: 3,
// image: 'https://ide.code.fun/api/image?token=6902c43a9520a30011f4e723&name=f33c4419bab5b0fb3a63b5b3006059f2.png',
// title: '水稻插秧',
// duration: '预计7天',
// people: '需要8人',
// price: '120元/天',
// distance: '5.6km',
// rating: '3',
// actionText: '我想去',
// icons: {
// duration:
// 'https://ide.code.fun/api/image?token=6902c43a9520a30011f4e723&name=56353ebdea095baedbcb33fc53f68a03.png',
// people: 'https://ide.code.fun/api/image?token=6902c43a9520a30011f4e723&name=85c3b17d5049630ed51fd57b701f047f.png',
// price: 'https://ide.code.fun/api/image?token=6902c43a9520a30011f4e723&name=9e806e0315ec11c12ec9e2b6870dd395.png',
// location:
// 'https://ide.code.fun/api/image?token=6902c43a9520a30011f4e723&name=39c448ae66659127e7bcd035ea16e0de.png',
// },
// },
],
employmentList
:
[],
total
:
0
,
})
...
...
@@ -298,27 +239,18 @@ return
<view
class=
"codefun-flex-col page"
>
<view
class=
"codefun-flex-col codefun-self-stretch"
>
<view
class=
"codefun-mt-14 codefun-flex-row group_2 gap-2"
>
<view
v-for=
"tab in pageData.categoryTabs"
:key=
"tab.id"
class=
"codefun-flex-col codefun-justify-start codefun-items-center"
:class=
"[tab.id === pageData.search.type ? 'text-wrapper' : 'text-wrapper_2']"
@
click=
"onCategoryTabClick(tab)"
>
<view
v-for=
"tab in pageData.categoryTabs"
:key=
"tab.id"
class=
"codefun-flex-col codefun-justify-start codefun-items-center"
:class=
"[tab.id === pageData.search.type ? 'text-wrapper' : 'text-wrapper_2']"
@
click=
"onCategoryTabClick(tab)"
>
<text
class=
"font_2 text_2"
>
{{
tab
.
name
}}
</text>
</view>
</view>
<view
class=
"codefun-mt-14 codefun-flex-col group_3"
>
<view
class=
"codefun-flex-row section_2"
>
<view
v-for=
"tab in pageData.employmentTabs"
:key=
"tab.id"
class=
"codefun-flex-col codefun-justify-start codefun-items-center text-50p"
:class=
"[tab.id === pageData.currentEmploymentId ? 'text-wrapper_3' : 'codefun-self-start']"
@
click=
"onEmploymentTabClick(tab)"
>
<view
v-for=
"tab in pageData.employmentTabs"
:key=
"tab.id"
class=
"codefun-flex-col codefun-justify-start codefun-items-center text-50p"
:class=
"[tab.id === pageData.currentEmploymentId ? 'text-wrapper_3' : 'codefun-self-start']"
@
click=
"onEmploymentTabClick(tab)"
>
<text
class=
"font_2"
>
{{
tab
.
name
}}
</text>
...
...
@@ -329,35 +261,21 @@ return
<fui-empty
marginTop=
"100"
src=
"/src/static/images/no-data.png"
title=
"暂无数据"
/>
</view>
<template
v-else
>
<view
class=
"codefun-flex-col list-item"
v-for=
"item in pageData.employmentList"
:key=
"item.id"
@
click=
"onEmploymentItemClick(item)"
>
<view
class=
"codefun-flex-col list-item"
v-for=
"item in pageData.employmentList"
:key=
"item.id"
@
click=
"onEmploymentItemClick(item)"
>
<view
class=
"codefun-flex-row"
>
<image
class=
"image_7"
:src=
"item.picture"
lazy-load
/>
<view
class=
"codefun-flex-col codefun-flex-1 codefun-self-center group_4"
>
<view
class=
"codefun-flex-row codefun-justify-between codefun-items-center"
>
<text
class=
"codefun-self-start font"
>
{{
item
.
name
}}
</text>
<view>
<image
class=
"codefun-self-start image_8"
src=
"/src/static/images/codefun/c98744e63719b5413f260ec6a899ee20.png"
/>
<image
class=
"codefun-self-start image_8"
src=
"/src/static/images/codefun/c98744e63719b5413f260ec6a899ee20.png"
/>
<text
class=
"codefun-self-start font_3 text_9"
>
{{
item
.
area
}}
</text>
</view>
</view>
<view
class=
"codefun-flex-row codefun-justify-between codefun-items-center codefun-self-stretch mt-11"
>
<view
class=
"codefun-flex-row codefun-justify-between codefun-items-center codefun-self-stretch mt-11"
>
<view
class=
"flex codefun-items-center gap-1"
>
<image
class=
"image_9"
src=
"/src/static/images/time.svg"
/>
<text
class=
"font_4"
>
预计
{{
item
.
daysDiff
||
getDaysDiff
(
item
.
starttime
,
item
.
estimatedendtime
)
}}
天
</text
>
<text
class=
"font_4"
>
预计
{{
item
.
daysDiff
||
getDaysDiff
(
item
.
starttime
,
item
.
estimatedendtime
)
}}
天
</text>
</view>
<view
class=
"flex codefun-items-center gap-1"
>
<image
class=
"image_9"
src=
"/src/static/images/person.svg"
/>
...
...
@@ -371,15 +289,10 @@ return
</view>
</view>
<view
class=
"codefun-mt-8 codefun-flex-row codefun-justify-between codefun-items-center"
>
<view
class=
"flex-center"
>
<fui-rate
:score=
"item.urgentdegree"
:size=
"36"
/>
<view
class=
"flex-center"
>
<fui-rate
:score=
"item.urgentdegree"
:size=
"36"
/>
<text
class=
"font_5 ml-1"
>
{{
item
.
urgentdegree
}}
</text>
</view>
<view
v-if=
"pageData.currentEmploymentId !== 2"
class=
"codefun-flex-col codefun-justify-start codefun-items-center text-wrapper_4"
@
click
.
stop=
"onQuoteClick(item)"
>
<view
v-if=
"pageData.currentEmploymentId !== 2"
class=
"codefun-flex-col codefun-justify-start codefun-items-center text-wrapper_4"
@
click
.
stop=
"onQuoteClick(item)"
>
<text
class=
"font_6 text_12"
>
我想去
</text>
</view>
</view>
...
...
@@ -388,12 +301,10 @@ return
</view>
</view>
</view>
<!-- <image class="codefun-self-end image_7 image_12 mt-269" :src="pageData.bottomImage" /> -->
</view>
<fui-fab
position=
"right"
distance=
"10"
bottom=
"240"
width=
"96"
@
click=
"handlePublish"
>
<view
class=
"text-white text-center"
>
<!-- <image src="/src/static/images/chanxiao/notepad.svg" style="width: 40rpx" mode="widthFix"></image> -->
<view
class=
"fab-icon"
/>
<view
style=
"font-size: 24rpx"
>
发布
</view>
</view>
...
...
src/pages/nongjifuwu/components/apply-dialog.vue
浏览文件 @
176268d8
...
...
@@ -22,31 +22,26 @@
},
rules
:
[
{
name
:
'phone'
,
rule
:
[
'required'
],
msg
:
[
'请填写手机号码'
],
},
{
name
:
'scope'
,
rule
:
[
'required'
],
msg
:
[
'请选择作业区域'
],
},
{
name
:
'startTime'
,
rule
:
[
'required'
],
msg
:
[
'请选择开始时间'
],
},
{
},
{
name
:
'endTime'
,
rule
:
[
'required'
],
msg
:
[
'请选择结束时间'
],
},
{
name
:
'scope'
,
rule
:
[
'required'
],
msg
:
[
'请填写地区'
],
},
{
},
{
name
:
'address'
,
rule
:
[
'required'
],
msg
:
[
'请填写详细地址'
],
},
{
name
:
'phone'
,
rule
:
[
'required'
],
msg
:
[
'请填写联系方式'
],
},
{
},
{
name
:
'demand'
,
rule
:
[
'required'
],
msg
:
[
'请填写需求'
],
...
...
@@ -121,24 +116,17 @@
</view>
<view
class=
"text-left"
>
<fui-form
ref=
"formRef"
>
<fui-input
marginTop=
"30"
size=
"24"
placeholder=
"请填写预留手机"
v-model=
"pageData.form.phone"
/>
<fui-input
marginTop=
"30"
size=
"24"
placeholder=
"请填写作业地区"
v-model=
"pageData.form.scope"
/>
<fui-input
marginTop=
"30"
size=
"24"
placeholder=
"请填写作业详细地址"
v-model=
"pageData.form.address"
/>
<fui-input
marginTop=
"30"
size=
"24"
placeholder=
"请选择作业时间"
v-model=
"pageData.form.time"
@
click=
"dict.show.time = true"
/>
<fui-textarea
v-model=
"pageData.form.demand"
:marginTop=
"30"
size=
"24"
placeholder=
"简要说明作业需求"
/>
<fui-input
marginTop=
"30"
size=
"24"
placeholder=
"请填写手机号码"
v-model=
"pageData.form.phone"
required
/>
<fui-input
marginTop=
"30"
size=
"24"
placeholder=
"请选择作业区域"
v-model=
"pageData.form.scope"
required
/>
<fui-input
marginTop=
"30"
size=
"24"
placeholder=
"请填写详细地址"
v-model=
"pageData.form.address"
required
/>
<fui-input
marginTop=
"30"
size=
"24"
placeholder=
"请选择作业时间"
v-model=
"pageData.form.time"
@
click=
"dict.show.time = true"
required
/>
<fui-textarea
v-model=
"pageData.form.demand"
:marginTop=
"30"
size=
"24"
placeholder=
"简要说明作业需求"
required
/>
<view
style=
"margin-top: 30rpx"
>
<fui-button
type=
"warning"
text=
"确定"
bold
radius=
"96rpx"
@
click=
"submit"
/>
</view>
</fui-form>
</view>
</fui-dialog>
<fui-date-picker
:show=
"dict.show.time"
type=
"3"
range
@
change=
"handleTimeChange"
@
cancel=
"handleTimeCancel"
/>
</
template
>
...
...
src/pages/nongjifuwu/farm-form.vue
浏览文件 @
176268d8
...
...
@@ -60,7 +60,7 @@
{
name
:
'scope'
,
rule
:
[
'required'
],
msg
:
[
'请
填写
服务范围'
],
msg
:
[
'请
选择
服务范围'
],
},
{
name
:
'address'
,
...
...
@@ -75,7 +75,7 @@
{
name
:
'demand'
,
rule
:
[
'required'
],
msg
:
[
'请填写
需求描述
'
],
msg
:
[
'请填写
作业需求
'
],
},
{
name
:
'startTime'
,
...
...
@@ -196,6 +196,14 @@
}
})
}
function
getCurrentDate
(){
const
date
=
new
Date
()
const
year
=
date
.
getFullYear
()
const
month
=
date
.
getMonth
()
+
1
const
day
=
date
.
getDate
()
return
`
${
year
}
-
${
month
}
-
${
day
}
`
}
</
script
>
<
template
>
...
...
@@ -231,7 +239,7 @@
required
type=
"number"
label=
"联系方式"
placeholder=
"请
输入
联系方式"
placeholder=
"请
填写
联系方式"
v-model=
"form.phone"
labelSize=
"28"
label-width=
"180"
...
...
@@ -289,14 +297,14 @@
type=
"3"
@
change=
"handleChangeTime1"
@
cancel=
"show.time1 = false"
minDate=
"2025-01-01
"
:minDate=
"getCurrentDate()
"
/>
<fui-date-picker
:show=
"show.time2"
type=
"3"
@
change=
"handleChangeTime2"
@
cancel=
"show.time2 = false"
minDate=
"2025-01-01
"
:minDate=
"getCurrentDate()
"
/>
<fui-toast
ref=
"toastRef"
/>
...
...
src/pages/nongjifuwu/nongjifuwu.vue
浏览文件 @
176268d8
...
...
@@ -193,123 +193,7 @@ import { s } from 'vite/dist/node/types.d-aGj9QkWt'
</view>
</view>
</view>
<!--
<view
class=
"codefun-flex-row group_6"
>
<view
class=
"codefun-flex-row codefun-items-center codefun-flex-1 codefun-self-center"
>
<image
class=
"codefun-shrink-0 image_8"
src=
"/static/images/codefun/e3f873f79cdddaee3655c048852302e3.png"
/>
<view
class=
"codefun-flex-col codefun-items-start codefun-flex-1 codefun-ml-12"
>
<text
class=
"font text_9"
>
小麦播种机
</text>
<text
class=
"font_3 text_10"
>
服务范围:全市各区县
</text>
<view
class=
"group_7"
>
<text
class=
"font_6"
>
¥
</text>
<text
class=
"font_4 text_11"
>
60
</text>
<text
class=
"font_7"
>
/亩
</text>
</view>
</view>
</view>
<view
class=
"codefun-flex-col codefun-justify-start codefun-items-center codefun-shrink-0 codefun-self-start text-wrapper_2 view_2 codefun-ml-20"
>
<text
class=
"font_5"
>
我有需要
</text>
</view>
</view>
<view
class=
"codefun-flex-row group_8"
>
<view
class=
"codefun-flex-row codefun-items-center codefun-flex-1 codefun-self-center"
>
<image
class=
"codefun-shrink-0 image_8"
src=
"/static/images/codefun/da314c458ad5d6714cfe7ee8524ccd9c.png"
/>
<view
class=
"codefun-flex-col codefun-items-start codefun-flex-1 codefun-ml-12"
>
<text
class=
"font text_12"
>
多功能拖拉机
</text>
<text
class=
"font_3 text_13"
>
服务范围:全市各区县
</text>
<view
class=
"group_9"
>
<text
class=
"font_6"
>
¥
</text>
<text
class=
"font_4 text_14"
>
60
</text>
<text
class=
"font_7"
>
/亩
</text>
</view>
</view>
</view>
<view
class=
"codefun-flex-col codefun-justify-start codefun-items-center codefun-shrink-0 codefun-self-start text-wrapper_2 view_3 codefun-ml-20"
>
<text
class=
"font_5"
>
我有需要
</text>
</view>
</view>
-->
<!--
<view
class=
"codefun-flex-col codefun-justify-start codefun-relative section_5"
>
<view
class=
"codefun-shrink-0 section_6"
/>
<text
class=
"font_8 text_15 pos_4"
>
夏收专享:收割机服务8折优惠
</text>
<view
class=
"codefun-flex-col codefun-justify-start codefun-items-center text-wrapper_3 pos_3"
>
<text
class=
"font_2 text_16"
>
立即预约
</text>
</view>
</view>
-->
<!--
<view
class=
"codefun-flex-row group_10"
>
<view
class=
"codefun-flex-row codefun-items-center codefun-flex-1 codefun-self-center"
>
<image
class=
"codefun-shrink-0 image_8"
src=
"/static/images/codefun/3500502108a998fe7f49363a276af806.png"
/>
<view
class=
"codefun-flex-col codefun-items-start codefun-flex-1 codefun-ml-12"
>
<text
class=
"font"
>
水稻插秧机
</text>
<text
class=
"font_3 text_17"
>
服务范围:全市各区县
</text>
<view
class=
"group_11"
>
<text
class=
"font_6"
>
¥
</text>
<text
class=
"font_4 text_18"
>
60
</text>
<text
class=
"font_7"
>
/亩
</text>
</view>
</view>
</view>
<view
class=
"codefun-flex-col codefun-justify-start codefun-items-center codefun-shrink-0 codefun-self-start text-wrapper_2 view_4 codefun-ml-20"
>
<text
class=
"font_5"
>
我有需要
</text>
</view>
</view>
-->
</view>
<!--
<view
class=
"codefun-flex-col section_7"
>
<view
class=
"grid"
>
<view
class=
"codefun-flex-row codefun-justify-between codefun-items-center grid-item"
>
<text
class=
"font_3 text_19"
>
农机类型
</text>
<image
class=
"image_10"
src=
"/static/images/codefun/a13c36a46232de65d09f43b1720ba29d.png"
/>
</view>
<view
class=
"codefun-flex-row codefun-justify-between codefun-items-center grid-item_2"
>
<view
class=
"codefun-flex-row codefun-items-center"
>
<image
class=
"codefun-shrink-0 image_9"
src=
"/static/images/codefun/bf7b1672e65ba021aa79827f30014280.png"
/>
<text
class=
"font_3 text_20 codefun-ml-8"
>
作业地点
</text>
</view>
<image
class=
"image_10"
src=
"/static/images/codefun/a13c36a46232de65d09f43b1720ba29d.png"
/>
</view>
<view
class=
"codefun-flex-row codefun-justify-between codefun-items-center grid-item_4"
>
<view
class=
"codefun-flex-row codefun-items-center"
>
<image
class=
"codefun-shrink-0 image_11"
src=
"/static/images/codefun/206576465476f031295c48dcef261286.png"
/>
<text
class=
"font_3 text_21 codefun-ml-4"
>
作业时间
</text>
</view>
<image
class=
"image_10"
src=
"/static/images/codefun/a13c36a46232de65d09f43b1720ba29d.png"
/>
</view>
<view
class=
"codefun-flex-row codefun-items-center grid-item_4"
>
<image
class=
"image_12"
src=
"/static/images/codefun/43220b5bebf6a41ff3f05e6ec94ce9f0.png"
/>
<text
class=
"font_3 text_22 codefun-ml-4"
>
联系方式
</text>
</view>
</view>
<view
class=
"codefun-flex-col codefun-mt-12"
>
<view
class=
"codefun-flex-row codefun-items-center grid-item group_12"
>
<image
class=
"image_13"
src=
"/static/images/codefun/a83082710831140b897349a7f3bd46d9.png"
/>
<text
class=
"font_3 text_23 codefun-ml-8"
>
简要说明作业需求
</text>
</view>
<view
class=
"codefun-flex-col codefun-justify-start codefun-items-center text-wrapper_4 codefun-mt-12"
>
<text
class=
"font_8 text_24"
>
发布需求
</text>
</view>
</view>
</view>
-->
</view>
</view>
<fui-fab
position=
"right"
distance=
"10"
bottom=
"240"
width=
"96"
@
click=
"handlePublish"
>
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论