Files
miniapp/pages/handlecase/component/uploadEvidence.vue
T

380 lines
9.6 KiB
Vue
Raw Normal View History

2023-09-14 09:42:52 +08:00
<template>
<view class="assignrbitrators">
<view class="from">
2023-09-26 17:53:59 +08:00
<uni-forms ref="form" :modelValue="subnitForm" :rules="rules">
2023-09-14 09:42:52 +08:00
<view class="title">案件详情</view>
<view class="box">
2023-09-14 18:11:50 +08:00
<uni-forms-item label="案件编号:" name="caseNum" label-width="120px" required>
2023-09-26 17:53:59 +08:00
<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.caseNum"
placeholder="" />
2023-09-14 09:42:52 +08:00
</uni-forms-item>
2023-09-14 18:11:50 +08:00
<uni-forms-item label="申请人:" name="applicantName" label-width="120px" required>
2023-09-26 17:53:59 +08:00
<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.applicantName"
placeholder="" />
2023-09-14 09:42:52 +08:00
</uni-forms-item>
2023-09-14 18:11:50 +08:00
<uni-forms-item label="被申请人:" name="respondentName" label-width="120px" required>
2023-09-26 17:53:59 +08:00
<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.respondentName"
placeholder="" />
2023-09-14 09:42:52 +08:00
</uni-forms-item>
2023-09-14 18:11:50 +08:00
<uni-forms-item label="借款开始日期:" name="loanStartDate" label-width="120px" required>
2023-09-26 17:53:59 +08:00
<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.loanStartDate"
placeholder="" />
2023-09-14 09:42:52 +08:00
</uni-forms-item>
2023-09-14 18:11:50 +08:00
<uni-forms-item label="借款结束日期:" name="loanEndDate" label-width="120px" required>
2023-09-26 17:53:59 +08:00
<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.loanEndDate"
placeholder="" />
2023-09-14 09:42:52 +08:00
</uni-forms-item>
2023-09-14 18:11:50 +08:00
<uni-forms-item label="案件标的:" name="caseSubjectAmount" label-width="120px" required>
2023-09-26 17:53:59 +08:00
<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.caseSubjectAmount"
placeholder="" />
2023-09-14 09:42:52 +08:00
</uni-forms-item>
2023-09-14 18:11:50 +08:00
<uni-forms-item label="申请人主张欠本金:" name="claimPrinciOwed" label-width="120px" required>
2023-09-26 17:53:59 +08:00
<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.claimPrinciOwed"
placeholder="" />
2023-09-14 09:42:52 +08:00
</uni-forms-item>
2023-09-14 18:11:50 +08:00
<uni-forms-item label="申请人主张欠利息:" name="claimInterestOwed" label-width="120px" required>
2023-09-26 17:53:59 +08:00
<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.claimInterestOwed"
placeholder="" />
2023-09-14 09:42:52 +08:00
</uni-forms-item>
2023-09-14 18:11:50 +08:00
<uni-forms-item label="申请人主张违约金:" name="claimLiquidDamag" label-width="120px" required>
2023-09-26 17:53:59 +08:00
<uni-easyinput :inputBorder="false" :disabled='true' v-model="formData.claimLiquidDamag"
placeholder="" />
2023-09-14 09:42:52 +08:00
</uni-forms-item>
2023-09-21 14:32:29 +08:00
<uni-forms-item label="是否有异议需要举证" label-width="120px" name="objectionAddEviden" required>
<uni-data-checkbox class='checkbox' v-model="subnitForm.objectionAddEviden"
:localdata="maintenancetypeArr" @change='uploadEvidenceChange'></uni-data-checkbox>
</uni-forms-item>
<uni-forms-item label="是否需要开庭审理" label-width="120px" name="openCourtHear" required>
<uni-data-checkbox class='checkbox' v-model="subnitForm.openCourtHear"
:localdata="arbitrationmethodArr" @change='arbitrationmethod'></uni-data-checkbox>
</uni-forms-item>
<uni-forms-item label="是否指派仲裁员" label-width="120px" name="pendingAppointArbotrar" required>
<uni-data-checkbox class='checkbox' v-model="subnitForm.pendingAppointArbotrar"
:localdata="uploadEvidence" @change='maintenancetypeChange'></uni-data-checkbox>
</uni-forms-item>
2023-09-26 17:53:59 +08:00
<uni-forms-item label="上传证据" name="headImage" label-width="120px" v-if="caseFlag">
<uni-file-picker ref="files" :auto-upload="false" @select="select" :limit='1' />
2023-09-14 09:42:52 +08:00
</uni-forms-item>
</view>
</uni-forms>
2023-09-21 14:32:29 +08:00
<view class="uni-list" v-if="selectFlag">
<checkbox-group @change="checkboxChange">
<label class="uni-list-cell uni-list-cell-pd" v-for="item in items" :key="item.value">
<view>
2023-09-26 17:53:59 +08:00
<checkbox :value="item.id + ''" />
2023-09-21 14:32:29 +08:00
</view>
<view class="main">
<view class="">
仲裁员姓名:{{item.arbitratorName}}
</view>
<view class="">
当前案件数量:{{item.currentCaseNum}}
</view>
<view class="">
已结案数量:{{item.closedCaseNum}}
</view>
<view class="">
专业分类:{{item.professiClassifi}}
</view>
</view>
</label>
</checkbox-group>
</view>
2023-09-14 18:11:50 +08:00
<button type="primary" @click="submitImg">确认提交</button>
2023-09-14 09:42:52 +08:00
</view>
</view>
</template>
<script>
2023-09-26 17:53:59 +08:00
import {
respondentDetail,
arbitratorList,
evidenceCrossexami
} from '../../../api/handlecase/index.js'
import {
uploadImage
} from '../../../api/upload.js'
import {
getToken
} from '@/utils/auth'
2023-09-14 18:11:50 +08:00
import moment from 'moment'
const app = getApp()
2023-09-14 09:42:52 +08:00
export default {
data() {
return {
formData: {},
2023-09-26 17:53:59 +08:00
subnitForm: {},
selectFlag: false,
caseFlag: false,
tempFilePaths: null,
rules: {
// 是否有异议需要举证
objectionAddEviden: {
rules: [{
required: true,
errorMessage: '请选择'
}]
},
// 是否需要开庭审理
openCourtHear: {
rules: [{
required: true,
errorMessage: '请选择'
}]
},
// 是否指派仲裁员
pendingAppointArbotrar: {
rules: [{
required: true,
errorMessage: '请选择'
}]
},
},
maintenancetypeArr: [{
2023-09-14 09:42:52 +08:00
text: '是',
2023-09-21 14:32:29 +08:00
value: 1
2023-09-14 09:42:52 +08:00
}, {
text: '否',
2023-09-21 14:32:29 +08:00
value: 0
2023-09-26 17:53:59 +08:00
}, ],
2023-09-21 14:32:29 +08:00
arbitrationmethodArr: [{
text: '是',
value: 1
}, {
text: '否',
value: 0
}],
2023-09-26 17:53:59 +08:00
uploadEvidence: [{
2023-09-21 14:32:29 +08:00
text: '是',
value: 1
}, {
text: '否',
value: 0
}],
items: []
2023-09-14 09:42:52 +08:00
}
},
methods: {
2023-09-26 17:53:59 +08:00
arbitrationmethod() {},
uploadEvidenceChange(val) {
2023-09-21 14:32:29 +08:00
let flag = val.detail.value;
2023-09-26 17:53:59 +08:00
if (flag == 1) {
this.caseFlag = true;
} else if (flag == 0) {
this.caseFlag = false;
}
},
maintenancetypeChange(val) {
let flag = val.detail.value;
if (flag == 1) {
2023-09-21 14:32:29 +08:00
this.selectFlag = true
this.getArbitratorList()
2023-09-26 17:53:59 +08:00
} else {
2023-09-21 14:32:29 +08:00
this.selectFlag = false
}
},
2023-09-26 17:53:59 +08:00
checkboxChange(e) {
2023-09-21 14:32:29 +08:00
let idArr = e.detail.value;
let numberArray = idArr.map(str => parseInt(str));
const result = this.items.filter(item => numberArray.includes(item.id));
let arbitrators = []
2023-09-26 17:53:59 +08:00
result.forEach(item => {
2023-09-21 14:32:29 +08:00
arbitrators.push({
2023-09-26 17:53:59 +08:00
id: item.id,
arbitratorName: item.arbitratorName
2023-09-21 14:32:29 +08:00
})
})
this.subnitForm.arbitrators = arbitrators;
2023-09-14 18:11:50 +08:00
},
2023-09-26 17:53:59 +08:00
getData(parms) {
respondentDetail(parms).then(res => {
2023-09-14 18:11:50 +08:00
this.formData = res.data
this.formData.loanEndDate = moment(this.formData.loanEndDate).format('YYYY-MM-DD HH:mm:ss');
2023-09-26 17:53:59 +08:00
this.formData.loanStartDate = moment(this.formData.loanStartDate).format(
'YYYY-MM-DD HH:mm:ss');
2023-09-14 18:11:50 +08:00
this.formData.id = this.formData.id + ''
})
},
// 文件上传
2023-09-26 17:53:59 +08:00
select(e) {
2023-09-14 18:11:50 +08:00
this.tempFilePaths = e.tempFilePaths;
// loading
uni.showLoading({
title: '上传中'
});
uni.uploadFile({
2023-09-26 17:53:59 +08:00
url: getApp().globalData.requestUrl + uploadImage,
2023-09-14 18:11:50 +08:00
filePath: this.tempFilePaths[0],
2023-09-26 17:53:59 +08:00
header: {
Authorization: getToken() || '',
2023-09-14 18:11:50 +08:00
},
formData: {
2023-09-26 17:53:59 +08:00
annexType: 6,
id: this.formData.id
2023-09-14 18:11:50 +08:00
},
name: 'file',
2023-09-26 17:53:59 +08:00
success: (res) => {
let {
data
} = res
2023-09-14 18:11:50 +08:00
uni.showToast({
2023-09-26 17:53:59 +08:00
title: '上传成功',
icon: 'none',
duration: 1000
2023-09-14 18:11:50 +08:00
})
uni.hideLoading();
},
2023-09-26 17:53:59 +08:00
fail: (err) => {
2023-09-14 18:11:50 +08:00
uni.showToast({
2023-09-26 17:53:59 +08:00
title: '上传失败',
icon: 'none',
duration: 1000
2023-09-14 18:11:50 +08:00
})
uni.hideLoading()
}
})
2023-09-21 14:32:29 +08:00
},
// 获取仲裁员列表
2023-09-26 17:53:59 +08:00
getArbitratorList() {
arbitratorList().then(res => {
2023-09-21 14:32:29 +08:00
this.items = res.rows;
})
},
// 提交数据
2023-09-26 17:53:59 +08:00
evidenceCrossexamiFn(parms) {
evidenceCrossexami(parms).then(res => {
2023-09-21 14:32:29 +08:00
uni.showToast({
2023-09-26 17:53:59 +08:00
title: '提交成功',
icon: 'none',
duration: 1000
})
uni.navigateTo({
url: '/pages/handlecase/index'
2023-09-21 14:32:29 +08:00
})
})
},
2023-09-26 17:53:59 +08:00
submitImg() {
this.$refs.form.validate().then(res => {
this.evidenceCrossexamiFn(this.subnitForm)
}).catch(err => {
console.log('表单错误信息:', err);
})
2023-09-14 09:42:52 +08:00
}
},
2023-09-26 17:53:59 +08:00
onLoad(data) {
2023-09-21 14:32:29 +08:00
this.getData(data.id);
this.subnitForm.caseId = Number(data.id);
// this.getArbitratorList()
2023-09-14 09:42:52 +08:00
},
}
</script>
<style lang="scss">
.assignrbitrators {
// text-align: center;
padding: 20rpx;
.box {
background-color: #fff;
padding: 20rpx;
border-radius: 20rpx;
}
.flexd {
padding-top: 20rpx;
.btn {
width: 80%;
font-size: 26rpx;
border-radius: 60rpx;
}
}
.btn {
margin-top: 20rpx;
}
.select-picker {
display: flex;
box-sizing: border-box;
flex-direction: row;
align-items: center;
border: 1px solid #DCDFE6;
border-radius: 8rpx;
width: 100%;
height: 100%;
padding: 0 24rpx;
font-size: 28rpx;
}
.table-content {
background-color: #fff;
padding: 20rpx;
border-radius: 20rpx;
.none {
font-size: 24rpx;
height: 60rpx;
line-height: 60rpx;
}
}
.box {
/deep/.title {
font-size: 28rpx;
height: 60rpx;
line-height: 60rpx;
}
}
.htmltitle {
font-size: 30rpx;
height: 80rpx;
line-height: 80rpx;
display: flex;
justify-content: space-between;
.look {
color: #0D91F9;
}
}
.title {
font-size: 30rpx;
height: 80rpx;
line-height: 80rpx;
}
.adsTitle {
font-size: 30rpx;
}
.multiple {
width: 75%;
height: 72rpx;
line-height: 72rpx;
font-size: 24rpx;
// @include text-overflow($width: 100%)
}
2023-09-26 17:53:59 +08:00
.uni-list {
2023-09-21 14:32:29 +08:00
width: 100%;
margin-top: 20rpx;
2023-09-26 17:53:59 +08:00
2023-09-21 14:32:29 +08:00
.uni-list-cell {
border-radius: 30rpx;
margin-bottom: 10rpx;
display: flex;
align-items: center;
justify-content: flex-start;
background-color: #fff;
2023-09-26 17:53:59 +08:00
.main {
2023-09-21 14:32:29 +08:00
height: 100%;
margin-left: 20rpx;
}
}
}
2023-09-14 09:42:52 +08:00
}
</style>