Files
sifa-mp/onlineSheetPages/pages/newRequest.vue
T
2025-05-22 10:33:32 +08:00

162 lines
5.8 KiB
Vue

<template>
<view class="min-height bg-main-light p-30">
<HeaderItem title="法律援助预约"/>
<TitleItem title="基础信息"/>
<view class="card mt-25 p-30">
<u-form label-width="180rpx">
<u-form-item label="申请人姓名" border-bottom>
<u-input v-model="formData.name" border="none" placeholder="请输入申请人姓名"/>
</u-form-item>
<u-form-item label="性别" border-bottom>
<view class="flex justify-start items-center">
<view class="tag" @click="formData.gender = 0" :class="[formData.gender === 0 ? 'tag-active' : '']">男
</view>
<view class="tag ml-20" @click="formData.gender = 1" :class="[formData.gender === 1 ? 'tag-active' : '']">
女
</view>
</view>
</u-form-item>
<u-form-item label="民族" border-bottom>
<u-input v-model="formData.nation" border="none" placeholder="请输入民族"/>
</u-form-item>
<u-form-item label="联系电话" border-bottom>
<u-input v-model="formData.phone" border="none" placeholder="请输入联系电话"/>
</u-form-item>
<u-form-item label="出生日期" border-bottom @click="showDate = true">
<u-input v-model="formData.birthday" border="none" placeholder="请输入出生日期" readonly>
<u-icon
slot="right"
name="arrow-right"
></u-icon>
</u-input>
</u-form-item>
<u-form-item label="身份证号" border-bottom>
<u-input v-model="formData.idCard" border="none" placeholder="请输入身份证号"/>
</u-form-item>
<u-form-item label="住所地址" border-bottom>
<u-input v-model="formData.liveAddress" border="none" placeholder="请输入住所地址"/>
</u-form-item>
<u-form-item label="户籍地址" border-bottom>
<u-input v-model="formData.householdAddress" border="none" placeholder="请输入户籍地址"/>
</u-form-item>
<u-form-item label="工作单位" border-bottom>
<u-input v-model="formData.companyName" border="none" placeholder="请输入工作单位"/>
</u-form-item>
<u-form-item label="电子邮箱" border-bottom>
<u-input v-model="formData.email" border="none" placeholder="请输入电子邮箱"/>
</u-form-item>
<u-form-item label="办理事项说明" border-bottom>
<u-textarea maxlength="-1" v-model="formData.content" border="none" placeholder="请输入办理事项说明"/>
</u-form-item>
</u-form>
</view>
<TitleItem title="代理人信息"/>
<view class="card mt-25 p-30">
<u-form label-width="180rpx">
<u-form-item label="姓名" border-bottom>
<u-input v-model="formData.proxyName" border="none" placeholder="请输入代理人姓名"/>
</u-form-item>
<u-form-item label="联系电话" border-bottom>
<u-input v-model="formData.proxyPhone" border="none" placeholder="请输入代理人联系电话"/>
</u-form-item>
<u-form-item label="与申请人关系" border-bottom>
<u-input v-model="formData.proxyRelation" border="none" placeholder="请输入与申请人关系"/>
</u-form-item>
<u-form-item label="身份证号" border-bottom>
<u-input v-model="formData.proxyIdCard" border="none" placeholder="请输入身份证号"/>
</u-form-item>
</u-form>
</view>
<view class="mt-30">
<u-button type="primary" shape="circle" @click="save"
:hairline="false"
:custom-style="{border: 0, background: 'linear-gradient(91.28deg, rgba(14,146,252,1) 27.63%,rgba(29,188,188,1) 80.08%);'}">
提交
</u-button>
</view>
<u-datetime-picker
:show="showDate"
v-model="checkDate"
mode="date"
:min-date="minDate"
@confirm="selectDate"
@cancel="showDate = false"
/>
</view>
</template>
<script>
import HeaderItem from "@/components/HeaderItem.vue";
import TitleItem from "@/components/TitleItem.vue";
import dayjs from "dayjs";
import {lawLegalAidReq, lawOrgCheckActionReq} from "@/api/lawOrg";
export default {
name: "newRequest",
components: {TitleItem, HeaderItem},
data() {
return {
formData: {
name: '',
gender: 0,
phone: '',
birthday: '',
idCard: '',
liveAddress: '',
householdAddress: '',
content: '',
nation: '',
companyName: '',
email: '',
proxyName: '',
proxyPhone: '',
proxyRelation: '',
proxyIdCard: '',
},
showDate: false,
checkDate: Number(new Date()),
minDate: dayjs().subtract(100, 'year').valueOf()
}
},
methods: {
selectDate({value}) {
this.showDate = false
this.formData.birthday = dayjs(value).format("YYYY-MM-DD")
},
async save() {
if (!this.formData.name) return this.$toast('请输入姓名')
if (!this.formData.phone) return this.$toast('请输入联系方式')
if (!this.formData.idCard) return this.$toast('请输入身份证号')
if (!this.formData.content) return this.$toast('请输入办理事项')
if (!this.formData.nation) return this.$toast('请输入民族')
const res = await lawLegalAidReq(this.formData)
if (res) {
this.$toast('提交成功')
setTimeout(() => {
uni.navigateBack()
}, 500)
}
}
}
}
</script>
<style lang="scss" scoped>
.tag {
border: 1px dashed #999;
padding: 10rpx;
border-radius: 15rpx;
color: #999;
font-size: 25rpx;
width: 60rpx;
display: flex;
align-items: center;
justify-content: center;
}
.tag-active {
color: #3c9cff !important;
border-color: #3c9cff !important;
}
</style>