i造价宣传前端页面
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

192 lines
4.2 KiB

<template>
<image class="topimg" mode="widthFix" src="../../static/logo1.png"></image>
<view class="maxbox">
<view class="xianbox">
<view class="titl">项目类型</view>
<picker @change="xzlx" range-key="name" :range="list">
<view class="input">{{xzlistval==-1?'请选择项目类型':list[xzlistval]}}</view>
</picker>
<view class="titl">总建筑面积</view>
<view class="shurukbox">
<input v-model="area" placeholder="请输入总建筑面积(平米)"/>
</view>
<view class="titl">联系方式</view>
<view class="shurukbox">
<input v-model="phone" placeholder="请输入您的手机号"/>
</view>
<view class="titl">验证码</view>
<view class="shurukbox">
<input v-model="code" placeholder="请输入验证码"/>
<view @click="huoqu">{{hqyzm}}</view>
</view>
<view class="xian"></view>
<view class="wtyx" @click="fasonwt">发送委托意向</view>
<view class="tis">提示:请确认您发布的是非测试项目,提交后项目经理会致电给您确认项目信息。</view>
</view>
</view>
</template>
<script>
import { getconfig,sendcode,consultingservice } from '@/api/user.js'
import { reactive, toRefs } from "vue"
export default {
setup(){
let details=reactive({
list:[],
xzlistval:-1,
hqyzm:'获取验证码',
area:'',
phone:'',
code:''
})
getconfig({config:'projectType'}).then(res=>{
console.log(res.data);
details.list=res.data
})
function xzlx(e){
details.xzlistval=e.detail.value
}
function huoqu(){
let test=/^1[3-9][0-9]{9}$/
if(!test.test(details.phone)){
uni.showToast({
title:'请正确输入手机号',
icon:'none'
})
return
}
sendcode({phone:details.phone}).then(res=>{
if(res.code==200){
details.hqyzm=60
let daojs=setInterval(()=>{
if(details.hqyzm==0){
details.hqyzm='获取验证码'
clearInterval(daojs)
return
}
details.hqyzm--
},1000)
}
})
}
function fasonwt(){
if(details.area==''||details.xzlistval==-1||details.code==''){
uni.showToast({
title:'请确认已经全部填写完成',
icon:'none'
})
return
}
let test=/^1[3-9][0-9]{9}$/
if(!test.test(details.phone)){
uni.showToast({
title:'请正确输入手机号',
icon:'none'
})
return
}
let data={
phone:details.phone,
area:details.area,
project_type:details.list[details.xzlistval],
code:details.code
}
consultingservice(data).then(res=>{
if(res.code==200){
uni.showToast({
title:'提交成功',
icon:'none'
})
}else{
uni.showToast({
title:res.msg,
icon:'none'
})
}
})
}
return {
fasonwt,
huoqu,
xzlx,
...toRefs(details)
}
}
}
</script>
<style lang="scss">
// page{
// background-color: #c1c1c1;
// }
.tis{
padding: 30upx;
color: #666;
font-size: 24upx;
}
.xian{
width: 680upx;
height: 1upx;
// background-color:rgba(0,0,0,0.1);
margin-top: 20upx;
margin-bottom: 50upx;
}
.wtyx{
width: 560upx;
padding: 20upx;
box-sizing: border-box;
margin: auto;
text-align: center;
background-color: #F06746;
margin-top: 20upx;
color: #ffffff;
border-radius: 10upx;
}
.topimg{
width: 100%;
}
.maxbox{
width: 100%;
height: 600upx;
background-image: url('../../static/beijin.png');
background-repeat: no-repeat;
background-size: 100% 100%;
padding-top: 300upx;
}
.xianbox{
width: 680upx;
// padding: 30upx;
box-sizing: border-box;
background-color: #ffffff;
margin: auto;
border-radius: 20upx;
// margin-top: 100upx;
padding-bottom: 20upx;
>.titl{
font-size: 32upx;
// margin-bottom: 40upx;
padding:30upx 30upx;
padding-bottom: 15upx;
}
.input{
font-size: 29upx;
padding:20upx 30upx;
padding-bottom: 15upx;
}
>.shurukbox{
padding: 20upx 30upx;
padding-bottom: 15upx;
display: flex;
align-items: center;
justify-content: space-between;
>input{
flex: 1;
}
>view{
color: #DC4732;
font-size: 30upx;
font-weight: bold;
}
}
}
</style>