first commit
This commit is contained in:
@@ -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>
|
||||
Reference in New Issue
Block a user