Files
sifa-mp/onlineSheetPages/pages/newRequestMediate.vue
T
2026-03-25 15:54:56 +08:00

200 lines
8.0 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.age" 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>
<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>
</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.respondent" border="none" placeholder="请输入申请人姓名"/>
</u-form-item>
<u-form-item label="性别" border-bottom>
<view class="flex justify-start items-center">
<view class="tag" @click="formData.respondentGender = 0" :class="[formData.respondentGender === 0 ? 'tag-active' : '']">男
</view>
<view class="tag ml-20" @click="formData.respondentGender = 1" :class="[formData.respondentGender === 1 ? 'tag-active' : '']">
女
</view>
</view>
</u-form-item>
<u-form-item label="民族" border-bottom>
<u-input v-model="formData.respondentNation" border="none" placeholder="请输入民族"/>
</u-form-item>
<u-form-item label="年龄" border-bottom>
<u-input v-model="formData.respondentAge" border="none" placeholder="请输入年龄"/>
</u-form-item>
<u-form-item label="身份证号" border-bottom>
<u-input v-model="formData.respondentIdCard" border="none" placeholder="请输入身份证号"/>
</u-form-item>
<u-form-item label="联系电话" border-bottom>
<u-input v-model="formData.respondentPhone" border="none" placeholder="请输入联系电话"/>
</u-form-item>
<u-form-item label="单位/住址" border-bottom>
<u-input v-model="formData.respondentAddress" border="none" placeholder="请输入单位/住址"/>
</u-form-item>
<u-form-item label="职务" border-bottom>
<u-input v-model="formData.respondentPosition" 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-textarea maxlength="-1" v-model="formData.content" border="none" placeholder="请输入纠纷简要情况"/>
</u-form-item>
<u-form-item label="当事人申请事项" border-bottom>
<u-textarea maxlength="-1" v-model="formData.requestContent" border="none" placeholder="请输入当事人申请事项"/>
</u-form-item>
</u-form>
</view>
<view class="mt-30">
<u-button type="primary" shape="circle" @click="save"
:hairline="false" :disabled="disable"
: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, lawLegalMediateReq, 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: '',
age: '',
respondent: '',
respondentGender: 0,
respondentNation: '',
respondentAge: '',
respondentIdCard: '',
respondentPhone: '',
respondentAddress: '',
respondentPosition: '',
requestContent: '',
},
showDate: false,
disable: 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.requestContent) return this.$toast('请输入当事人申请事项')
if (!this.formData.nation) return this.$toast('请输入民族')
if (!this.formData.respondent) return this.$toast('请输入被申请人信息姓名')
if (!this.formData.respondentNation) return this.$toast('请输入被申请人信息民族')
if (!this.formData.respondentAge) return this.$toast('请输入被申请人信息年龄')
if (!this.formData.respondentIdCard) return this.$toast('请输入被申请人信息身份证号')
if (!this.formData.respondentPhone) return this.$toast('请输入被申请人信息联系电话')
if (!this.formData.respondentAddress) return this.$toast('请输入被申请人信息单位/住址')
if (!this.formData.respondentPosition) return this.$toast('请输入被申请人信息职务')
this.disable = true
const res = await lawLegalMediateReq(this.formData)
this.disable = false
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>