first commit
This commit is contained in:
@@ -0,0 +1,131 @@
|
||||
<template>
|
||||
<view class="min-height bg p-30">
|
||||
<HeaderItem title="民事商事仲裁"/>
|
||||
<view class="rounded text-white flex justify-center items-center"
|
||||
style="background: linear-gradient(91.28deg, rgba(14,146,252,1) 27.63%,rgba(29,188,188,1) 80.08%); height: 160rpx" @click="$jump('/onlineSheetPages/pages/newCivilRequest')">
|
||||
民事商事仲裁线上申请入口
|
||||
</view>
|
||||
<view class="flex justify-around items-center flex-wrap my-25">
|
||||
<view class="card flex flex-col justify-center items-center" @click="openPopup('condition')"
|
||||
style="flex: 0 0 40%; border-radius: 20rpx">
|
||||
<u-icon name="/onlineSheetPages/static/v2_sua83h.png" size="120rpx"/>
|
||||
<text class="text-25 mt-10">申请条件</text>
|
||||
</view>
|
||||
<view class="card flex flex-col justify-center items-center" @click="openPopup('stuff')"
|
||||
style="flex: 0 0 40%; border-radius: 20rpx">
|
||||
<u-icon name="/onlineSheetPages/static/v2_sua840.png" size="120rpx"/>
|
||||
<text class="text-25 mt-10">申请材料</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="flex justify-around items-center flex-wrap my-25">
|
||||
<view class="card flex flex-col justify-center items-center" @click="openPopup('flow')"
|
||||
style="flex: 0 0 40%; border-radius: 20rpx">
|
||||
<u-icon name="/onlineSheetPages/static/v2_sua84m.png" size="120rpx"/>
|
||||
<text class="text-25 mt-10">办理流程</text>
|
||||
</view>
|
||||
<view class="card flex flex-col justify-center items-center"
|
||||
@click="$jump(`/articlePages/pages/list?title=政策法规&cateId=73`)"
|
||||
style="flex: 0 0 40%; border-radius: 20rpx">
|
||||
<u-icon name="/onlineSheetPages/static/v2_sua84z.png" size="120rpx"/>
|
||||
<text class="text-25 mt-10">政策法规</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="flex justify-around items-center flex-wrap my-25">
|
||||
<view class="card flex flex-col justify-center items-center"
|
||||
@click="$jump(`/articlePages/pages/list?title=典型案例&cateId=76`)"
|
||||
style="flex: 0 0 40%; border-radius: 20rpx">
|
||||
<u-icon name="/onlineSheetPages/static/v2_sue29e.png" size="120rpx"/>
|
||||
<text class="text-25 mt-10">典型案例</text>
|
||||
</view>
|
||||
<view class="card flex flex-col justify-center items-center" @click="openPopup('fee')"
|
||||
style="flex: 0 0 40%; border-radius: 20rpx">
|
||||
<u-icon name="/onlineSheetPages/static/v2_suhlrq.png" size="120rpx"/>
|
||||
<text class="text-25 mt-10">收费标准</text>
|
||||
</view>
|
||||
</view>
|
||||
<u-popup :show="showContent" close-on-click-overlay @close="showContent = false" round="10"
|
||||
:closeable="false"
|
||||
:safe-area-inset-bottom="false">
|
||||
<view class="p-50 pos-r" v-if="showContent">
|
||||
<view class="pos-a" style="right: 10rpx; top: 10rpx;z-index: 999" @click="showContent = false">
|
||||
<u-icon name="close-circle" :color="MAIN()" size="40rpx"/>
|
||||
</view>
|
||||
<view class="pos-a w-100p" style="left: 0; top: 10rpx">
|
||||
<view class="text-center text-main">{{ title }}</view>
|
||||
</view>
|
||||
<view style="height: 50vh" class="overflow-y mt-25">
|
||||
<u-parse :content="content"/>
|
||||
</view>
|
||||
</view>
|
||||
</u-popup>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import HeaderItem from "@/components/HeaderItem.vue";
|
||||
import {listArticleReq} from "@/api/common";
|
||||
import {MAIN} from "@/config/color";
|
||||
|
||||
export default {
|
||||
name: "legalAid",
|
||||
components: {HeaderItem},
|
||||
data() {
|
||||
return {
|
||||
articleList: [],
|
||||
showContent: false,
|
||||
title: '',
|
||||
content: '',
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
MAIN() {
|
||||
return MAIN
|
||||
},
|
||||
async getArticleList() {
|
||||
const {data} = await listArticleReq({
|
||||
categoryId: 59
|
||||
})
|
||||
console.log(data)
|
||||
this.articleList = data
|
||||
},
|
||||
openPopup(type) {
|
||||
switch (type) {
|
||||
case 'condition' : {
|
||||
this.title = '申请条件'
|
||||
const article = this.articleList.find(item => item.articleId === 93)
|
||||
this.content = article.content
|
||||
}
|
||||
break;
|
||||
case 'stuff' : {
|
||||
this.title = '申请材料'
|
||||
const article = this.articleList.find(item => item.articleId === 94)
|
||||
this.content = article.content
|
||||
}
|
||||
break;
|
||||
case 'flow' : {
|
||||
this.title = '办理流程'
|
||||
const article = this.articleList.find(item => item.articleId === 95)
|
||||
this.content = article.content
|
||||
}
|
||||
break;
|
||||
case 'fee' : {
|
||||
this.title = '收费标准'
|
||||
const article = this.articleList.find(item => item.articleId === 96)
|
||||
this.content = article.content
|
||||
}
|
||||
break;
|
||||
}
|
||||
this.showContent = true
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
this.getArticleList()
|
||||
},
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.bg {
|
||||
background: url("https://sifa-api.wsdns.cn/api/file/20250420/bg1.jpg") no-repeat;
|
||||
background-size: cover;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,132 @@
|
||||
<template>
|
||||
<view class="min-height bg p-30">
|
||||
<HeaderItem title="司法鉴定"/>
|
||||
<view class="rounded text-white flex justify-center items-center"
|
||||
style="background: linear-gradient(91.28deg, rgba(14,146,252,1) 27.63%,rgba(29,188,188,1) 80.08%); height: 160rpx" @click="$jump('/onlineSheetPages/pages/newForensicRequest')">
|
||||
司法鉴定线上申请入口
|
||||
</view>
|
||||
<view class="flex justify-around items-center flex-wrap my-25">
|
||||
<view class="card flex flex-col justify-center items-center" @click="openPopup('condition')"
|
||||
style="flex: 0 0 40%; border-radius: 20rpx">
|
||||
<u-icon name="/onlineSheetPages/static/v2_sua83h.png" size="120rpx"/>
|
||||
<text class="text-25 mt-10">申请条件</text>
|
||||
</view>
|
||||
<view class="card flex flex-col justify-center items-center" @click="openPopup('stuff')"
|
||||
style="flex: 0 0 40%; border-radius: 20rpx">
|
||||
<u-icon name="/onlineSheetPages/static/v2_sua840.png" size="120rpx"/>
|
||||
<text class="text-25 mt-10">申请材料</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="flex justify-around items-center flex-wrap my-25">
|
||||
<view class="card flex flex-col justify-center items-center" @click="openPopup('flow')"
|
||||
style="flex: 0 0 40%; border-radius: 20rpx">
|
||||
<u-icon name="/onlineSheetPages/static/v2_sua84m.png" size="120rpx"/>
|
||||
<text class="text-25 mt-10">办理流程</text>
|
||||
</view>
|
||||
<view class="card flex flex-col justify-center items-center"
|
||||
@click="$jump(`/articlePages/pages/list?title=政策法规&cateId=72`)"
|
||||
style="flex: 0 0 40%; border-radius: 20rpx">
|
||||
<u-icon name="/onlineSheetPages/static/v2_sua84z.png" size="120rpx"/>
|
||||
<text class="text-25 mt-10">政策法规</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="flex justify-around items-center flex-wrap my-25">
|
||||
<view class="card flex flex-col justify-center items-center"
|
||||
@click="$jump(`/articlePages/pages/list?title=典型案例&cateId=75`)"
|
||||
style="flex: 0 0 40%; border-radius: 20rpx">
|
||||
<u-icon name="/onlineSheetPages/static/v2_sue29e.png" size="120rpx"/>
|
||||
<text class="text-25 mt-10">典型案例</text>
|
||||
</view>
|
||||
<view class="card flex flex-col justify-center items-center" @click="openPopup('fee')"
|
||||
style="flex: 0 0 40%; border-radius: 20rpx">
|
||||
<u-icon name="/onlineSheetPages/static/v2_suhlrq.png" size="120rpx"/>
|
||||
<text class="text-25 mt-10">收费标准</text>
|
||||
</view>
|
||||
</view>
|
||||
<u-popup :show="showContent" close-on-click-overlay @close="showContent = false" round="10"
|
||||
:closeable="false"
|
||||
:safe-area-inset-bottom="false">
|
||||
<view class="p-50 pos-r" v-if="showContent">
|
||||
<view class="pos-a" style="right: 10rpx; top: 10rpx;z-index: 999" @click="showContent = false">
|
||||
<u-icon name="close-circle" :color="MAIN()" size="40rpx"/>
|
||||
</view>
|
||||
<view class="pos-a w-100p" style="left: 0; top: 10rpx">
|
||||
<view class="text-center text-main">{{ title }}</view>
|
||||
</view>
|
||||
<view style="height: 50vh" class="overflow-y mt-25">
|
||||
<u-parse :content="content"/>
|
||||
</view>
|
||||
</view>
|
||||
</u-popup>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import HeaderItem from "@/components/HeaderItem.vue";
|
||||
import {listArticleReq} from "@/api/common";
|
||||
import {MAIN} from "@/config/color";
|
||||
|
||||
export default {
|
||||
name: "legalAid",
|
||||
components: {HeaderItem},
|
||||
data() {
|
||||
return {
|
||||
articleList: [],
|
||||
showContent: false,
|
||||
title: '',
|
||||
content: '',
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
MAIN() {
|
||||
return MAIN
|
||||
},
|
||||
async getArticleList() {
|
||||
const {data} = await listArticleReq({
|
||||
categoryId: 58
|
||||
})
|
||||
console.log(data)
|
||||
this.articleList = data
|
||||
},
|
||||
openPopup(type) {
|
||||
switch (type) {
|
||||
case 'condition' : {
|
||||
this.title = '申请条件'
|
||||
const article = this.articleList.find(item => item.articleId === 89)
|
||||
this.content = article.content
|
||||
}
|
||||
break;
|
||||
case 'stuff' : {
|
||||
this.title = '申请材料'
|
||||
const article = this.articleList.find(item => item.articleId === 90)
|
||||
this.content = article.content
|
||||
}
|
||||
break;
|
||||
case 'flow' : {
|
||||
this.title = '办理流程'
|
||||
const article = this.articleList.find(item => item.articleId === 91)
|
||||
this.content = article.content
|
||||
}
|
||||
break;
|
||||
case 'fee' : {
|
||||
this.title = '收费标准'
|
||||
const article = this.articleList.find(item => item.articleId === 92)
|
||||
this.content = article.content
|
||||
}
|
||||
break;
|
||||
}
|
||||
this.showContent = true
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
this.getArticleList()
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.bg {
|
||||
background: url("https://sifa-api.wsdns.cn/api/file/20250420/bg1.jpg") no-repeat;
|
||||
background-size: cover;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,133 @@
|
||||
<template>
|
||||
<view class="min-height bg p-30">
|
||||
<HeaderItem title="法律援助"/>
|
||||
<view class="rounded text-white flex justify-center items-center"
|
||||
@click="$jump('/onlineSheetPages/pages/newRequest')"
|
||||
style="background: linear-gradient(91.28deg, rgba(14,146,252,1) 27.63%,rgba(29,188,188,1) 80.08%); height: 160rpx">
|
||||
法律援助线上申请入口
|
||||
</view>
|
||||
<view class="flex justify-around items-center flex-wrap my-25">
|
||||
<view class="card flex flex-col justify-center items-center" @click="openPopup('condition')"
|
||||
style="flex: 0 0 40%; border-radius: 20rpx">
|
||||
<u-icon name="/onlineSheetPages/static/v2_sua83h.png" size="120rpx"/>
|
||||
<text class="text-25 mt-10">申请条件</text>
|
||||
</view>
|
||||
<view class="card flex flex-col justify-center items-center" @click="openPopup('stuff')"
|
||||
style="flex: 0 0 40%; border-radius: 20rpx">
|
||||
<u-icon name="/onlineSheetPages/static/v2_sua840.png" size="120rpx"/>
|
||||
<text class="text-25 mt-10">申请材料</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="flex justify-around items-center flex-wrap my-25">
|
||||
<view class="card flex flex-col justify-center items-center" @click="openPopup('flow')"
|
||||
style="flex: 0 0 40%; border-radius: 20rpx">
|
||||
<u-icon name="/onlineSheetPages/static/v2_sua84m.png" size="120rpx"/>
|
||||
<text class="text-25 mt-10">办理流程</text>
|
||||
</view>
|
||||
<view class="card flex flex-col justify-center items-center"
|
||||
@click="$jump(`/articlePages/pages/list?title=政策法规&cateId=69`)"
|
||||
style="flex: 0 0 40%; border-radius: 20rpx">
|
||||
<u-icon name="/onlineSheetPages/static/v2_sua84z.png" size="120rpx"/>
|
||||
<text class="text-25 mt-10">政策法规</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="flex justify-around items-center flex-wrap my-25">
|
||||
<view class="card flex flex-col justify-center items-center"
|
||||
@click="$jump(`/articlePages/pages/list?title=典型案例&cateId=70`)"
|
||||
style="flex: 0 0 40%; border-radius: 20rpx">
|
||||
<u-icon name="/onlineSheetPages/static/v2_sue29e.png" size="120rpx"/>
|
||||
<text class="text-25 mt-10">典型案例</text>
|
||||
</view>
|
||||
<!-- <view class="card flex flex-col justify-center items-center" @click="openPopup('fee')"-->
|
||||
<!-- style="flex: 0 0 40%; border-radius: 20rpx">-->
|
||||
<!-- <u-icon name="/onlineSheetPages/static/v2_suhlrq.png" size="120rpx"/>-->
|
||||
<!-- <text class="text-25 mt-10">收费标准</text>-->
|
||||
<!-- </view>-->
|
||||
</view>
|
||||
<u-popup :show="showContent" close-on-click-overlay @close="showContent = false" round="10"
|
||||
:closeable="false"
|
||||
:safe-area-inset-bottom="false">
|
||||
<view class="p-50 pos-r" v-if="showContent">
|
||||
<view class="pos-a" style="right: 10rpx; top: 10rpx;z-index: 999" @click="showContent = false">
|
||||
<u-icon name="close-circle" :color="MAIN()" size="40rpx"/>
|
||||
</view>
|
||||
<view class="pos-a w-100p" style="left: 0; top: 10rpx">
|
||||
<view class="text-center text-main">{{ title }}</view>
|
||||
</view>
|
||||
<view style="height: 50vh" class="overflow-y mt-25">
|
||||
<u-parse :content="content"/>
|
||||
</view>
|
||||
</view>
|
||||
</u-popup>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import HeaderItem from "@/components/HeaderItem.vue";
|
||||
import {listArticleReq} from "@/api/common";
|
||||
import {MAIN} from "@/config/color";
|
||||
|
||||
export default {
|
||||
name: "legalAid",
|
||||
components: {HeaderItem},
|
||||
data() {
|
||||
return {
|
||||
articleList: [],
|
||||
showContent: false,
|
||||
title: '',
|
||||
content: '',
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
MAIN() {
|
||||
return MAIN
|
||||
},
|
||||
async getArticleList() {
|
||||
const {data} = await listArticleReq({
|
||||
categoryId: 54
|
||||
})
|
||||
console.log(data)
|
||||
this.articleList = data
|
||||
},
|
||||
openPopup(type) {
|
||||
switch (type) {
|
||||
case 'condition' : {
|
||||
this.title = '申请条件'
|
||||
const article = this.articleList.find(item => item.articleId === 80)
|
||||
this.content = article.content
|
||||
}
|
||||
break;
|
||||
case 'stuff' : {
|
||||
this.title = '申请材料'
|
||||
const article = this.articleList.find(item => item.articleId === 81)
|
||||
this.content = article.content
|
||||
}
|
||||
break;
|
||||
case 'flow' : {
|
||||
this.title = '办理流程'
|
||||
const article = this.articleList.find(item => item.articleId === 82)
|
||||
this.content = article.content
|
||||
}
|
||||
break;
|
||||
case 'fee' : {
|
||||
this.title = '收费标准'
|
||||
const article = this.articleList.find(item => item.articleId === 83)
|
||||
this.content = article.content
|
||||
}
|
||||
break;
|
||||
}
|
||||
this.showContent = true
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
this.getArticleList()
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.bg {
|
||||
background: url("https://sifa-api.wsdns.cn/api/file/20250420/bg1.jpg") no-repeat;
|
||||
background-size: cover;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,167 @@
|
||||
<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="140rpx">
|
||||
<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.phone" border="none" placeholder="请输入联系电话"/>
|
||||
</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 @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.beenName" border="none" placeholder="请输入被申请人"/>
|
||||
</u-form-item>
|
||||
<u-form-item label="被申请人地址" border-bottom>
|
||||
<u-input v-model="formData.beenAddress" border="none" placeholder="请输入被申请人地址"/>
|
||||
</u-form-item>
|
||||
<u-form-item label="被申请人统一社会信用代码" border-bottom>
|
||||
<u-input v-model="formData.beenCode" border="none" placeholder="请输入被申请人统一社会信用代码"/>
|
||||
</u-form-item>
|
||||
<u-form-item label="被申请人联系方式" border-bottom>
|
||||
<u-input v-model="formData.beenPhone" border="none" placeholder="请输入被申请人联系方式"/>
|
||||
</u-form-item>
|
||||
<u-form-item label="被申请人法定代表人姓名" border-bottom>
|
||||
<u-input v-model="formData.beenLegalName" border="none" placeholder="请输入被申请人法定代表人姓名"/>
|
||||
</u-form-item>
|
||||
<u-form-item label="被申请人法定代表人职位" border-bottom>
|
||||
<u-input v-model="formData.beenLegalPosition" 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-item label="事实和理由" border-bottom>
|
||||
<u-textarea maxlength="-1" v-model="formData.content" 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, lawLegalArbitrateReq, lawOrgCheckActionReq} from "@/api/lawOrg";
|
||||
|
||||
export default {
|
||||
name: "newRequest",
|
||||
components: {TitleItem, HeaderItem},
|
||||
data() {
|
||||
return {
|
||||
formData: {
|
||||
name: '',
|
||||
gender: 0,
|
||||
phone: '',
|
||||
birthday: '',
|
||||
idCard: '',
|
||||
liveAddress: '',
|
||||
householdAddress: '',
|
||||
content: '',
|
||||
requestContent: '',
|
||||
beenName: '',
|
||||
beenAddress: '',
|
||||
beenCode: '',
|
||||
beenPhone: '',
|
||||
beenLegalName: '',
|
||||
beenLegalPosition: '',
|
||||
},
|
||||
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.nation) return this.$toast('请输入民族')
|
||||
if (!this.formData.requestContent) return this.$toast('请输入仲裁请求')
|
||||
if (!this.formData.content) return this.$toast('请输入事实和理由')
|
||||
if (!this.formData.beenName) return this.$toast('请输入被申请人')
|
||||
if (!this.formData.beenAddress) return this.$toast('请输入被申请人地址')
|
||||
if (!this.formData.beenCode) return this.$toast('请输入被申请人统一社会信用代码')
|
||||
if (!this.formData.beenPhone) return this.$toast('请输入被申请人联系方式')
|
||||
if (!this.formData.beenLegalName) return this.$toast('请输入被申请人法定代表人姓名')
|
||||
if (!this.formData.beenLegalPosition) return this.$toast('请输入被申请人法定代表人职位')
|
||||
const res = await lawLegalArbitrateReq(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>
|
||||
@@ -0,0 +1,392 @@
|
||||
<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="160rpx" :label-style="{fontSize: '24rpx'}">
|
||||
<u-form-item label="司法鉴定机构" border-bottom @click="showOrg = true">
|
||||
<u-input v-model="orgName" border="none" placeholder="请选择司法鉴定机构" readonly>
|
||||
<u-icon
|
||||
slot="right"
|
||||
name="arrow-right"
|
||||
></u-icon>
|
||||
</u-input>
|
||||
</u-form-item>
|
||||
<template v-if="formData.orgId">
|
||||
<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.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-textarea maxlength="-1" v-model="formData.detail" border="none"
|
||||
placeholder="请输入与鉴定又关的基本案情"/>
|
||||
</u-form-item>
|
||||
<template v-if="formData.orgId === 25">
|
||||
<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>
|
||||
<view class="flex justify-start items-center">
|
||||
<view class="tag" style="width: 200rpx" @click="formData.isNew = 0"
|
||||
:class="[formData.isNew === 0 ? 'tag-active' : '']">不属于重新鉴定
|
||||
</view>
|
||||
<view class="tag ml-20" style="width: 200rpx" @click="formData.isNew = 1"
|
||||
:class="[formData.isNew === 1 ? 'tag-active' : '']">
|
||||
属于重新鉴定
|
||||
</view>
|
||||
</view>
|
||||
</u-form-item>
|
||||
</template>
|
||||
<template v-else-if="formData.orgId === 26">
|
||||
<u-form-item label="委托鉴定事项" border-bottom>
|
||||
<view class="flex flex-col justify-start items-start">
|
||||
<view v-for="(item, index) in contentConfigList" :key="index" class="mb-15">
|
||||
<u-icon @click="changeContent(item)"
|
||||
:label="item" label-pos="right"
|
||||
:name="contentList.includes(item) ? '/onlineSheetPages/static/checkbox-selected.png' : '/onlineSheetPages/static/checkbox.png'"/>
|
||||
</view>
|
||||
</view>
|
||||
</u-form-item>
|
||||
<u-form-item label="鉴定用途" border-bottom>
|
||||
<view class="flex flex-col justify-start items-start">
|
||||
<view class="mb-15">
|
||||
<u-icon label="诉讼" label-pos="right" @click="changeApplication('诉讼')"
|
||||
:name="applicationList.includes('诉讼') ? '/onlineSheetPages/static/checkbox-selected.png' : '/onlineSheetPages/static/checkbox.png'"/>
|
||||
</view>
|
||||
<view class="mb-15">
|
||||
<u-icon label="仲裁" label-pos="right" @click="changeApplication('仲裁')"
|
||||
:name="applicationList.includes('仲裁') ? '/onlineSheetPages/static/checkbox-selected.png' : '/onlineSheetPages/static/checkbox.png'"/>
|
||||
</view>
|
||||
<view class="mb-15">
|
||||
<u-icon label="调解" label-pos="right" @click="changeApplication('调解')"
|
||||
:name="applicationList.includes('调解') ? '/onlineSheetPages/static/checkbox-selected.png' : '/onlineSheetPages/static/checkbox.png'"/>
|
||||
</view>
|
||||
<u-icon label="行政执法" label-pos="right" @click="changeApplication('行政执法')"
|
||||
:name="applicationList.includes('行政执法') ? '/onlineSheetPages/static/checkbox-selected.png' : '/onlineSheetPages/static/checkbox.png'"/>
|
||||
</view>
|
||||
</u-form-item>
|
||||
</template>
|
||||
</template>
|
||||
</u-form>
|
||||
</view>
|
||||
<template v-if="formData.orgId">
|
||||
<TitleItem title="鉴定要求/标准"/>
|
||||
<view class="card mt-25 p-30">
|
||||
<view class="flex justify-start items-center py-20 border-bottom"
|
||||
@click="changeStandard(item.title)"
|
||||
v-for="(item, index) in standardList" :key="index">
|
||||
<u-icon
|
||||
:name="standardSelectedList.includes(item.title) ? '/onlineSheetPages/static/checkbox-selected.png' : '/onlineSheetPages/static/checkbox.png'"/>
|
||||
<text class="text-25 mb-15">{{ item.title }}</text>
|
||||
</view>
|
||||
</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>
|
||||
</template>
|
||||
<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"
|
||||
/>
|
||||
<u-picker :show="showOrg" :columns="[orgList]" @cancel="showOrg = false"
|
||||
@confirm="selectOrg" key-name="title"
|
||||
/>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import HeaderItem from "@/components/HeaderItem.vue";
|
||||
import TitleItem from "@/components/TitleItem.vue";
|
||||
import dayjs from "dayjs";
|
||||
import {
|
||||
lawLegalAidReq,
|
||||
lawLegalAppraisalReq,
|
||||
lawLegalArbitrateReq,
|
||||
lawOrgCheckActionReq,
|
||||
listLawOrgReq
|
||||
} from "@/api/lawOrg";
|
||||
import {chooseImg} from "@/util";
|
||||
|
||||
export default {
|
||||
name: "newRequest",
|
||||
components: {TitleItem, HeaderItem},
|
||||
data() {
|
||||
return {
|
||||
formData: {
|
||||
name: '',
|
||||
gender: 0,
|
||||
isNew: 0,
|
||||
phone: '',
|
||||
birthday: '',
|
||||
idCard: '',
|
||||
liveAddress: '',
|
||||
householdAddress: '',
|
||||
content: '',
|
||||
orgId: '',
|
||||
detail: '',
|
||||
fileList: '',
|
||||
standard: '',
|
||||
},
|
||||
showDate: false,
|
||||
showOrg: false,
|
||||
orgName: '',
|
||||
checkDate: Number(new Date()),
|
||||
minDate: dayjs().subtract(100, 'year').valueOf(),
|
||||
orgList: [],
|
||||
fileList: [],
|
||||
standardList: [],
|
||||
standardSelectedList: [],
|
||||
contentList: [],
|
||||
contentConfigList: ['损伤程度鉴定', '致残程度鉴定', '劳动能力鉴定', '护理依赖评定', '听觉功能评定视觉功能评定', '误工、护理、营养时限评定',
|
||||
'伤病关系鉴定', '后续治疗项目和时限评定', '医疗过错评定医疗损害后果评定', '治疗时限评定医疗费合理性评定', '致伤物和致伤方式推',],
|
||||
applicationList: [],
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
setFileData() {
|
||||
switch (this.formData.orgId) {
|
||||
case 25 : {
|
||||
this.fileList = [
|
||||
{
|
||||
title: '道路交通事故现场图',
|
||||
fileList: []
|
||||
},
|
||||
{
|
||||
title: '现场勘查笔录',
|
||||
fileList: []
|
||||
},
|
||||
{
|
||||
title: '现场照片',
|
||||
fileList: []
|
||||
},
|
||||
{
|
||||
title: '现场复核照片',
|
||||
fileList: []
|
||||
},
|
||||
{
|
||||
title: '询问笔录',
|
||||
fileList: []
|
||||
},
|
||||
{
|
||||
title: '相关视频监控资料',
|
||||
fileList: []
|
||||
},
|
||||
{
|
||||
title: '行驶证复印件',
|
||||
fileList: []
|
||||
},
|
||||
{
|
||||
title: '行驶证复印件、机动车信息查询结果单',
|
||||
fileList: []
|
||||
},
|
||||
{
|
||||
title: '其他材料',
|
||||
fileList: []
|
||||
},
|
||||
]
|
||||
}
|
||||
break;
|
||||
case 26 : {
|
||||
this.fileList = [
|
||||
{
|
||||
title: '交通事故责任认定书复印件',
|
||||
fileList: []
|
||||
},
|
||||
{
|
||||
title: '身份复印件',
|
||||
fileList: []
|
||||
},
|
||||
{
|
||||
title: '病历复印件',
|
||||
fileList: []
|
||||
},
|
||||
{
|
||||
title: '放射片',
|
||||
fileList: []
|
||||
},
|
||||
{
|
||||
title: '其他材料',
|
||||
fileList: []
|
||||
},
|
||||
]
|
||||
}
|
||||
break;
|
||||
}
|
||||
},
|
||||
setStandardList() {
|
||||
switch (this.formData.orgId) {
|
||||
case 25 : {
|
||||
this.standardList = [
|
||||
{title: '《道路交通事故现场痕迹物证勘验》(GA/T41-2019)'},
|
||||
{title: '《道路交通事故痕迹鉴定》(GA/T1087-2021)'},
|
||||
{title: '《道路交通事故车辆安全技术检验鉴定》(GA/T642-2020)'},
|
||||
{title: '《机动车运行安全技术条件》(GB7258-2017)'},
|
||||
{title: '《道路交通事故车辆速度鉴定》(GB/T33195-2016)'},
|
||||
{title: '《基于视频图像的车辆行驶速度技术鉴定》(GA/T1133-2014)'},
|
||||
{title: '《手印鉴定程序》(GA/T724-2007)'},
|
||||
]
|
||||
}
|
||||
break;
|
||||
case 26: {
|
||||
this.standardList = [
|
||||
{title: '《法医临床检验规范》(SF/T 0111-2021)'},
|
||||
{title: '《人身损害护理依赖程度评定》GB/T31147-2014'},
|
||||
{title: '《人身伤害致残程度评定(试行)》'},
|
||||
{title: '《人体损伤程度鉴定标准》'},
|
||||
{title: '《道路交通事故受伤人员治疗终结时间》GA/T 1088-2013'},
|
||||
{title: '《人身损害后续诊疗项目评定指南》(试用)/《法庭科学 人身损害后续诊疗项目评定技术规程》'},
|
||||
{title: '《人身损害误工期、护理期、营养期评定规范》GA/T1193-2014'},
|
||||
{title: '《人身保险伤残评定标准及代码》GB/T 44893-2024'},
|
||||
{title: '《劳动能力鉴定 职工工伤与职业病致残等级》GB/T16180-2014'},
|
||||
{title: '《人体损伤致残程度分级》'},
|
||||
{title: '《人身损害与疾病因果关系判定指南》(SF/T0095 2021)'},
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
changeApplication(content) {
|
||||
const index = this.applicationList.findIndex(i => i === content)
|
||||
if (index === -1) this.applicationList.push(content)
|
||||
else this.applicationList.splice(index, 1)
|
||||
},
|
||||
changeContent(content) {
|
||||
const index = this.contentList.findIndex(i => i === content)
|
||||
if (index === -1) this.contentList.push(content)
|
||||
else this.contentList.splice(index, 1)
|
||||
},
|
||||
changeStandard(content) {
|
||||
const index = this.standardSelectedList.findIndex(i => i === content)
|
||||
if (index === -1) this.standardSelectedList.push(content)
|
||||
else this.standardSelectedList.splice(index, 1)
|
||||
},
|
||||
selectDate({value}) {
|
||||
this.showDate = false
|
||||
this.formData.birthday = dayjs(value).format("YYYY-MM-DD")
|
||||
},
|
||||
selectOrg({value}) {
|
||||
this.formData.orgId = value[0].id
|
||||
this.orgName = value[0].title
|
||||
this.showOrg = false
|
||||
this.setFileData()
|
||||
this.setStandardList()
|
||||
},
|
||||
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.orgId) return this.$toast('请选择鉴定机构')
|
||||
if (this.formData.orgId === 25 && !this.formData.content) return this.$toast('请输入委托鉴定事项')
|
||||
if (!this.formData.detail) return this.$toast('请输入基本案情')
|
||||
if (this.standardSelectedList.length) {
|
||||
this.formData.standard = this.standardSelectedList.join(',')
|
||||
}
|
||||
if (this.applicationList.length) {
|
||||
this.formData.application = this.applicationList.join(',')
|
||||
}
|
||||
if (this.formData.orgId === 26){
|
||||
if (!this.contentList.length) return this.$toast('请选择鉴定事项')
|
||||
else this.formData.content = this.contentList.join(',')
|
||||
}
|
||||
this.formData.fileList = JSON.stringify(this.fileList)
|
||||
const res = await lawLegalAppraisalReq(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)
|
||||
},
|
||||
async getOrgList() {
|
||||
const {data} = await listLawOrgReq({
|
||||
type: '司法鉴定机构'
|
||||
})
|
||||
this.orgList = data
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
this.getOrgList()
|
||||
}
|
||||
}
|
||||
</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>
|
||||
@@ -0,0 +1,266 @@
|
||||
<template>
|
||||
<view class="min-height bg-main-light p-30">
|
||||
<HeaderItem title="公证申请"/>
|
||||
<TitleItem title="人员信息"/>
|
||||
<view class="card mt-25 p-30" v-for="(item, index) in peopleList" :key="index">
|
||||
<u-form label-width="140rpx">
|
||||
<u-form-item label="姓名" border-bottom>
|
||||
<u-input v-model="peopleList[index].name" border="none" placeholder="请输入姓名"/>
|
||||
</u-form-item>
|
||||
<u-form-item label="性别" border-bottom>
|
||||
<view class="flex justify-start items-center">
|
||||
<view class="tag" @click="peopleList[index].gender = 0"
|
||||
:class="[peopleList[index].gender === 0 ? 'tag-active' : '']">男
|
||||
</view>
|
||||
<view class="tag ml-20" @click="peopleList[index].gender = 1"
|
||||
:class="[peopleList[index].gender === 1 ? 'tag-active' : '']">
|
||||
女
|
||||
</view>
|
||||
</view>
|
||||
</u-form-item>
|
||||
<u-form-item label="角色" border-bottom>
|
||||
<u-input v-model="peopleList[index].role" border="none" placeholder="请输入角色(如:申请人)"/>
|
||||
</u-form-item>
|
||||
<u-form-item label="联系电话" border-bottom>
|
||||
<u-input v-model="peopleList[index].phone" border="none" placeholder="请输入联系电话"/>
|
||||
</u-form-item>
|
||||
<u-form-item label="民族" border-bottom>
|
||||
<u-input v-model="peopleList[index].nation" border="none" placeholder="请输入民族"/>
|
||||
</u-form-item>
|
||||
<u-form-item label="出生日期" border-bottom @click="openDate(index)">
|
||||
<u-input v-model="peopleList[index].birthday" border="none" placeholder="请输入出生日期" readonly>
|
||||
<u-icon
|
||||
slot="right"
|
||||
name="arrow-right"
|
||||
></u-icon>
|
||||
</u-input>
|
||||
</u-form-item>
|
||||
<u-form-item label="地址">
|
||||
<u-input v-model="peopleList[index].liveAddress" border="none" placeholder="请输入地址"/>
|
||||
</u-form-item>
|
||||
<u-button type="error" shape="circle" @click="removePeople(index)" v-if="this.peopleList.length > 1">删除
|
||||
</u-button>
|
||||
</u-form>
|
||||
</view>
|
||||
<view class="mt-30">
|
||||
<u-button type="success" shape="circle" @click="addPeople"
|
||||
: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>
|
||||
<TitleItem title="基础信息"/>
|
||||
<view class="card mt-25 p-30">
|
||||
<u-form label-width="140rpx">
|
||||
<u-form-item label="公证类别" required border-bottom @click="showType = true">
|
||||
<u-input v-model="formData.type" border="none" placeholder="请选择公证类别" readonly>
|
||||
<u-icon
|
||||
slot="right"
|
||||
name="arrow-right"
|
||||
></u-icon>
|
||||
</u-input>
|
||||
</u-form-item>
|
||||
<u-form-item label="公证事项" required border-bottom>
|
||||
<u-textarea v-model="formData.content" border="none" placeholder="请输入公证事项" maxlength="-1"/>
|
||||
</u-form-item>
|
||||
<u-form-item label="用途" required border-bottom>
|
||||
<u-input v-model="formData.application" border="none" placeholder="请输入用途"/>
|
||||
</u-form-item>
|
||||
<u-form-item label="使用地" required border-bottom>
|
||||
<u-input v-model="formData.address" border="none" placeholder="请输入使用地"/>
|
||||
</u-form-item>
|
||||
<u-form-item label="译文" border-bottom>
|
||||
<u-input v-model="formData.translate" border="none" placeholder="请输入译文"/>
|
||||
</u-form-item>
|
||||
</u-form>
|
||||
</view>
|
||||
<TitleItem title="证明材料"/>
|
||||
<view class="card mt-25 p-30" v-if="selectedConfig && selectedConfig.configList">
|
||||
<view class="flex flex-col justify-start items-start py-20 border-bottom"
|
||||
v-for="(item, index) in JSON.parse(selectedConfig.configList)" :key="index">
|
||||
<text class="text-25 mb-15">{{ item }}</text>
|
||||
<view class="flex flex-col justify-start items-start">
|
||||
<!-- <u-tag type="success" plain plain-fill v-for="(file, fileIndex) in fileList[index].fileList"-->
|
||||
<!-- :key="fileIndex"-->
|
||||
<!-- :text="`文件:${fileIndex + 1}`" closable @close="removeFile(index, fileIndex)"/>-->
|
||||
<view class="flex justify-start items-start flex-wrap">
|
||||
<view class="album-item pos-r" v-for="(file, fileIndex) in fileList[index].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"
|
||||
/>
|
||||
<u-picker :show="showType" :columns="[typeList]" @cancel="showType = false"
|
||||
@confirm="selectType" key-name="title"
|
||||
/>
|
||||
</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";
|
||||
import {listNotaryConfigReq, notaryActionReq} from "@/api/notary";
|
||||
import {chooseImg} from "@/util";
|
||||
|
||||
export default {
|
||||
name: "newRequest",
|
||||
components: {TitleItem, HeaderItem},
|
||||
data() {
|
||||
return {
|
||||
formData: {
|
||||
nameList: '',
|
||||
type: '',
|
||||
content: '',
|
||||
application: '',
|
||||
address: '',
|
||||
translate: '',
|
||||
fileList: '',
|
||||
},
|
||||
showDate: false,
|
||||
checkDate: Number(new Date()),
|
||||
minDate: dayjs().subtract(100, 'year').valueOf(),
|
||||
peopleList: [],
|
||||
typeList: [],
|
||||
clickedIndex: 0,
|
||||
selectedConfig: null,
|
||||
fileList: [],
|
||||
showType: false
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async getConfigList() {
|
||||
const {data} = await listNotaryConfigReq()
|
||||
this.typeList = data
|
||||
this.selectedConfig = this.typeList[0]
|
||||
this.formData.type = this.selectedConfig.title
|
||||
this.fileList = []
|
||||
JSON.parse(this.selectedConfig.configList).map(item => {
|
||||
this.fileList.push({
|
||||
title: item,
|
||||
fileList: []
|
||||
})
|
||||
})
|
||||
},
|
||||
selectType({value}) {
|
||||
this.selectedConfig = value[0]
|
||||
this.formData.type = this.selectedConfig.title
|
||||
this.showType = false
|
||||
this.fileList = []
|
||||
JSON.parse(this.selectedConfig.configList).map(item => {
|
||||
this.fileList.push({
|
||||
title: item,
|
||||
fileList: []
|
||||
})
|
||||
})
|
||||
},
|
||||
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)
|
||||
},
|
||||
selectDate({value}) {
|
||||
this.showDate = false
|
||||
this.peopleList[this.clickedIndex].birthday = dayjs(value).format("YYYY-MM-DD")
|
||||
this.checkDate = Number(new Date())
|
||||
},
|
||||
openDate(index) {
|
||||
this.clickedIndex = index
|
||||
if (this.peopleList[this.clickedIndex].birthday) this.checkDate = dayjs(this.peopleList[this.clickedIndex].birthday).valueOf()
|
||||
this.showDate = true
|
||||
},
|
||||
addPeople() {
|
||||
this.peopleList.push({
|
||||
name: '',
|
||||
gender: 0,
|
||||
role: '',
|
||||
phone: '',
|
||||
nation: '',
|
||||
birthday: '',
|
||||
liveAddress: '',
|
||||
})
|
||||
},
|
||||
removePeople(index) {
|
||||
if (this.peopleList.length === 1) return
|
||||
this.peopleList.splice(index, 1)
|
||||
},
|
||||
async save() {
|
||||
if (!this.formData.type) return this.$toast('请选择公证类别')
|
||||
if (!this.formData.content) return this.$toast('请输入公证事项')
|
||||
if (!this.formData.application) return this.$toast('请输入用途')
|
||||
if (!this.formData.address) return this.$toast('请输入使用地')
|
||||
let hasRequired = false
|
||||
for (let i = 0; i < this.peopleList.length; i++) {
|
||||
if (!this.peopleList[i].name) return this.$toast('请输入姓名')
|
||||
if (!this.peopleList[i].role) return this.$toast('请输入角色')
|
||||
if (!this.peopleList[i].phone) return this.$toast('请输入手机号')
|
||||
if (!this.peopleList[i].nation) return this.$toast('请输入民族')
|
||||
if (!this.peopleList[i].birthday) return this.$toast('请选择出生日期')
|
||||
if (!this.peopleList[i].liveAddress) return this.$toast('请输入居住地')
|
||||
if (this.peopleList[i].role === '申请人') hasRequired = true
|
||||
}
|
||||
if (!hasRequired) return this.$toast('请至少录入申请人')
|
||||
for (let i = 0; i < this.fileList.length; i++) {
|
||||
if (!this.fileList[i].fileList.length) return this.$toast(`请上传${this.fileList[i].title}材料`)
|
||||
}
|
||||
this.formData.nameList = JSON.stringify(this.peopleList)
|
||||
this.formData.fileList = JSON.stringify(this.fileList)
|
||||
const res = await notaryActionReq(this.formData)
|
||||
if (res) {
|
||||
this.$toast('提交成功')
|
||||
setTimeout(() => {
|
||||
uni.navigateBack()
|
||||
}, 500)
|
||||
}
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
this.getConfigList()
|
||||
this.addPeople()
|
||||
}
|
||||
}
|
||||
</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>
|
||||
@@ -0,0 +1,162 @@
|
||||
<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>
|
||||
@@ -0,0 +1,143 @@
|
||||
<template>
|
||||
<view class="min-height bg p-30">
|
||||
<HeaderItem title="公证"/>
|
||||
<view class="rounded text-white flex justify-center items-center"
|
||||
@click="$jump('/onlineSheetPages/pages/newNotaryRequest')"
|
||||
style="background: linear-gradient(91.28deg, rgba(14,146,252,1) 27.63%,rgba(29,188,188,1) 80.08%); height: 160rpx">
|
||||
公证线上申请入口
|
||||
</view>
|
||||
<view class="flex justify-around items-center flex-wrap my-25">
|
||||
<view class="card flex flex-col justify-center items-center" @click="openPopup('condition')"
|
||||
style="flex: 0 0 40%; border-radius: 20rpx">
|
||||
<u-icon name="/onlineSheetPages/static/v2_sua83h.png" size="120rpx"/>
|
||||
<text class="text-25 mt-10">申请条件</text>
|
||||
</view>
|
||||
<view class="card flex flex-col justify-center items-center" @click="openPopup('stuff')"
|
||||
style="flex: 0 0 40%; border-radius: 20rpx">
|
||||
<u-icon name="/onlineSheetPages/static/v2_sua840.png" size="120rpx"/>
|
||||
<text class="text-25 mt-10">申请材料</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="flex justify-around items-center flex-wrap my-25">
|
||||
<view class="card flex flex-col justify-center items-center" @click="openPopup('flow')"
|
||||
style="flex: 0 0 40%; border-radius: 20rpx">
|
||||
<u-icon name="/onlineSheetPages/static/v2_sua84m.png" size="120rpx"/>
|
||||
<text class="text-25 mt-10">办理流程</text>
|
||||
</view>
|
||||
<view class="card flex flex-col justify-center items-center"
|
||||
@click="$jump(`/articlePages/pages/list?title=政策法规&cateId=71`)"
|
||||
style="flex: 0 0 40%; border-radius: 20rpx">
|
||||
<u-icon name="/onlineSheetPages/static/v2_sua84z.png" size="120rpx"/>
|
||||
<text class="text-25 mt-10">政策法规</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="flex justify-around items-center flex-wrap my-25">
|
||||
<view class="card flex flex-col justify-center items-center"
|
||||
@click="$jump(`/articlePages/pages/list?title=典型案例&cateId=74`)"
|
||||
style="flex: 0 0 40%; border-radius: 20rpx">
|
||||
<u-icon name="/onlineSheetPages/static/v2_sue29e.png" size="120rpx"/>
|
||||
<text class="text-25 mt-10">典型案例</text>
|
||||
</view>
|
||||
<view class="card flex flex-col justify-center items-center" @click="openPopup('fee')"
|
||||
style="flex: 0 0 40%; border-radius: 20rpx">
|
||||
<u-icon name="/onlineSheetPages/static/v2_suhlrq.png" size="120rpx"/>
|
||||
<text class="text-25 mt-10">收费标准</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="flex justify-around items-center flex-wrap my-25">
|
||||
<view class="card flex flex-col justify-center items-center"
|
||||
style="flex: 0 0 90%; border-radius: 20rpx" @click="check">
|
||||
<u-icon name="/onlineSheetPages/static/v2_suhluu.png" size="120rpx"/>
|
||||
<text class="text-25 mt-10">查验</text>
|
||||
</view>
|
||||
</view>
|
||||
<u-popup :show="showContent" close-on-click-overlay @close="showContent = false" round="10"
|
||||
:closeable="false"
|
||||
:safe-area-inset-bottom="false">
|
||||
<view class="p-50 pos-r" v-if="showContent">
|
||||
<view class="pos-a" style="right: 10rpx; top: 10rpx;z-index: 999" @click="showContent = false">
|
||||
<u-icon name="close-circle" :color="MAIN()" size="40rpx"/>
|
||||
</view>
|
||||
<view class="pos-a w-100p" style="left: 0; top: 10rpx">
|
||||
<view class="text-center text-main">{{ title }}</view>
|
||||
</view>
|
||||
<view style="height: 50vh" class="overflow-y mt-25">
|
||||
<u-parse :content="content"/>
|
||||
</view>
|
||||
</view>
|
||||
</u-popup>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import HeaderItem from "@/components/HeaderItem.vue";
|
||||
import {listArticleReq} from "@/api/common";
|
||||
import {MAIN} from "@/config/color";
|
||||
|
||||
export default {
|
||||
name: "legalAid",
|
||||
components: {HeaderItem},
|
||||
data() {
|
||||
return {
|
||||
articleList: [],
|
||||
showContent: false,
|
||||
title: '',
|
||||
content: '',
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
MAIN() {
|
||||
return MAIN
|
||||
},
|
||||
async getArticleList() {
|
||||
const {data} = await listArticleReq({
|
||||
categoryId: 57
|
||||
})
|
||||
console.log(data)
|
||||
this.articleList = data
|
||||
},
|
||||
openPopup(type) {
|
||||
switch (type) {
|
||||
case 'condition' : {
|
||||
this.title = '申请条件'
|
||||
const article = this.articleList.find(item => item.articleId === 85)
|
||||
this.content = article.content
|
||||
}
|
||||
break;
|
||||
case 'stuff' : {
|
||||
this.title = '申请材料'
|
||||
const article = this.articleList.find(item => item.articleId === 86)
|
||||
this.content = article.content
|
||||
}
|
||||
break;
|
||||
case 'flow' : {
|
||||
this.title = '办理流程'
|
||||
const article = this.articleList.find(item => item.articleId === 87)
|
||||
this.content = article.content
|
||||
}
|
||||
break;
|
||||
case 'fee' : {
|
||||
this.title = '收费标准'
|
||||
const article = this.articleList.find(item => item.articleId === 88)
|
||||
this.content = article.content
|
||||
}
|
||||
break;
|
||||
}
|
||||
this.showContent = true
|
||||
},
|
||||
check(){
|
||||
this.$toast('正在完善中')
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
this.getArticleList()
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.bg {
|
||||
background: url("https://sifa-api.wsdns.cn/api/file/20250420/bg1.jpg") no-repeat;
|
||||
background-size: cover;
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user