提交 123218d9 作者: 方治民
......@@ -8,7 +8,6 @@ enum Api {
sms = '/sys/sms',
dictList = '/sys/dict/queryAllDictItems', // 获取字典数据
location = '/tianditu/geocode', // 根据经纬度获取地址
sysSmsCode = '/app/user/getSmsCode', // 短信验证码
sysRegister = '/app/user/register', // 注册
}
/**
......@@ -101,16 +100,3 @@ export function sysRegister(params = {}) {
params,
})
}
/**
* @param params 请求参数
* @description: 短信验证码
*/
export function sysSmsCode(params = {}) {
return otherHttp.get({
url: Api.sysSmsCode,
params,
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
},
})
}
......@@ -275,6 +275,14 @@
formData.country = getCodeByText(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>
......@@ -282,202 +290,82 @@
<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 }">
{{ form.address || '请选择省/市/区县' }}
{{ 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>
......
......@@ -273,6 +273,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 +288,18 @@ 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.name" labelSize="28" label-width="180" />
<fui-input required label="工作内容" placeholder="请输入工作内容" v-model="form.content" labelSize="28" label-width="180" />
</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"
/>
<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 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" />
<!-- 时间范围 -->
<view class="form-section" style="padding: 0 30rpx">
<view class="form-item flex align-center">
......@@ -376,7 +321,7 @@ return
</view>
</view>
<view class="bg-white mt20" style="padding: 0.875rem 1rem">
<view class="mb-1 flex justify-start"> 图片 </view>
<view class="mb-1 flex justify-start"><span style="color: red;">*&nbsp;</span> 图片 </view>
<uni-file-picker
:value="form.pictureObj"
ref="uploadRef"
......@@ -393,33 +338,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>
......
......@@ -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>
......
......@@ -59,7 +59,7 @@
{
name: 'scope',
rule: ['required'],
msg: ['请填写服务范围'],
msg: ['请选择服务范围'],
},
{
name: 'address',
......@@ -74,7 +74,7 @@
{
name: 'demand',
rule: ['required'],
msg: ['请填写需求描述'],
msg: ['请填写作业需求'],
},
{
name: 'startTime',
......@@ -99,7 +99,7 @@
function getScope(scope: any) {
if (!scope || !pageData.options.address) {
return []
return ''
}
const values = scope.split(',')
......@@ -126,7 +126,7 @@
labels.push(text)
}
return labels.join(' / ')
return labels ? labels.join(' / ') : ''
}
function getDetails(id) {
......@@ -229,6 +229,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>
......@@ -264,7 +272,7 @@
required
type="number"
label="联系方式"
placeholder="请输入联系方式"
placeholder="请填写联系方式"
v-model="form.phone"
labelSize="28"
label-width="180"
......@@ -322,14 +330,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" />
......
......@@ -86,7 +86,7 @@
function getScope(scope: any) {
if (!scope || !pageData.options.address) {
return []
return ''
}
const values = scope.split(',')
......@@ -113,7 +113,7 @@
labels.push(text)
}
return labels.join(' / ')
return labels ? labels.join(' / ') : ''
}
function getDetails(id) {
......
......@@ -224,123 +224,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 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论