248 lines
9.7 KiB
Vue
248 lines
9.7 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>
|
|
<u-input v-model="formData.legalPerson" border="none" placeholder="请输入法定代表人或者主要负责人"/>
|
|
</u-form-item>
|
|
<u-form-item label="职务" border-bottom>
|
|
<u-input v-model="formData.position" 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>
|
|
</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.requestContent" border="none" placeholder="请输入行政复议请求"/>
|
|
</u-form-item>
|
|
<u-form-item label="行政复议理由" border-bottom>
|
|
<u-textarea maxlength="-1" v-model="formData.requestReason" 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>
|
|
<u-input v-model="formData.respondentLegalPerson" 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-item label="所在地" border-bottom>
|
|
<u-input v-model="formData.respondentAddress" 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>
|
|
<TitleItem title="申请材料"/>
|
|
<view class="card mt-25 p-30">
|
|
<view class="flex flex-col justify-start items-start py-20 border-bottom"
|
|
v-for="(item, index) in fileList" :key="index">
|
|
<text class="text-25 mb-15">{{ item.title }}</text>
|
|
<view class="flex flex-col justify-start items-start">
|
|
<view class="flex justify-start items-start flex-wrap">
|
|
<view class="album-item pos-r" v-for="(file, fileIndex) in item.fileList" :key="fileIndex">
|
|
<u-image :src="file" width="190rpx" height="190rpx"/>
|
|
<view class="del-wrap" @click="removeFile(index, fileIndex)">
|
|
<u-icon name="trash" color="white" size="30rpx"/>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view>
|
|
<u-button size="mini" @click="uploadFile(index)" type="primary" icon="arrow-upward">上传材料</u-button>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</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, lawLegalReviewReq, lawOrgCheckActionReq} from "@/api/lawOrg";
|
|
import {chooseImg} from "@/util";
|
|
|
|
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: '',
|
|
legalPerson: '',
|
|
position: '',
|
|
requestContent: '',
|
|
requestReason: '',
|
|
respondent: '',
|
|
respondentLegalPerson: '',
|
|
respondentPosition: '',
|
|
respondentAddress: '',
|
|
files: '',
|
|
},
|
|
fileList: [
|
|
{
|
|
title: '其他有关材料',
|
|
fileList: []
|
|
},
|
|
{
|
|
title: '申请人身份证明材料复印件',
|
|
fileList: []
|
|
},
|
|
{
|
|
title: '授权委托书(有委托代理人的)',
|
|
fileList: []
|
|
}
|
|
],
|
|
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.requestContent) return this.$toast('请输入行政复议请求')
|
|
if (!this.formData.requestReason) return this.$toast('请输入行政复议理由')
|
|
if (!this.formData.respondent) return this.$toast('请输入被申请人')
|
|
if (!this.formData.respondentLegalPerson) return this.$toast('请输入被申请人法定代表人或者主要负责人')
|
|
if (!this.formData.respondentPosition) return this.$toast('请输入被申请人职务')
|
|
if (!this.formData.respondentAddress) return this.$toast('请输入被申请人所在地')
|
|
this.formData.files = JSON.stringify(this.fileList)
|
|
const res = await lawLegalReviewReq(this.formData)
|
|
if (res) {
|
|
this.$toast('提交成功')
|
|
setTimeout(() => {
|
|
uni.navigateBack()
|
|
}, 500)
|
|
}
|
|
},
|
|
async uploadFile(index) {
|
|
const res = await chooseImg(9)
|
|
this.fileList[index].fileList = [...this.fileList[index].fileList, ...res.map(item => item.path)]
|
|
},
|
|
removeFile(index, fileIndex) {
|
|
this.fileList[index].fileList.splice(fileIndex, 1)
|
|
},
|
|
}
|
|
}
|
|
</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> |