Files
Arbitrate-Frontend/src/views/caseManagement/components/trialincourtDialog.vue
T

604 lines
21 KiB
Vue
Raw Normal View History

2023-09-18 21:55:43 +08:00
<template>
<div>
2023-10-18 08:50:17 +08:00
<el-dialog title="开庭审理" :visible="showtrialincourt" @close="cancel" :destroy-on-close="true">
<el-form ref="form" :model="formData" label-width="180px">
<div class="caseInfo">案件信息:</div>
2023-09-19 20:51:20 +08:00
<el-divider></el-divider>
<el-row>
<el-col :span="12">
<el-form-item label="案件编号:" prop="caseNum">
2023-10-18 08:50:17 +08:00
<el-input v-model="formData.caseNum" placeholder="请输入案件编号" :disabled="true" />
2023-09-19 20:51:20 +08:00
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="申请人:" prop="applicantName">
2023-10-18 08:50:17 +08:00
<el-input v-model="adjudicatename.applicantName" :disabled="true" />
2023-09-19 20:51:20 +08:00
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="被申请人:" prop="respondentName">
2023-10-18 08:50:17 +08:00
<el-input v-model="adjudicatename.respondentName" :disabled="true" />
2023-09-19 20:51:20 +08:00
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="借款开始日期:" prop="loanStartDate">
2023-10-18 08:50:17 +08:00
<el-date-picker v-model="formData.loanStartDate" type="datetime" placeholder="借款开始日期" :disabled="true">
2023-09-19 20:51:20 +08:00
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="借款结束日期:" prop="loanEndDate">
2023-10-18 08:50:17 +08:00
<el-date-picker v-model="formData.loanEndDate" type="datetime" placeholder="借款结束日期" :disabled="true">
2023-09-19 20:51:20 +08:00
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="案件标的:" prop="caseSubjectAmount">
2023-10-18 08:50:17 +08:00
<el-input v-model="formData.caseSubjectAmount" placeholder="请输入案件标的" :disabled="true" />
2023-09-19 20:51:20 +08:00
</el-form-item>
</el-col>
<!-- <el-col :span="12">
<el-form-item label="逾期天数:" prop="caseSubjectAmount">
<el-input
v-model="formData.caseSubjectAmount"
placeholder="请输入逾期天数"
/>
</el-form-item>
</el-col> -->
<el-col :span="12">
<el-form-item label="仲裁费用:" prop="feePayable">
2023-10-18 08:50:17 +08:00
<el-input v-model="adjudicatename.feePayable" placeholder="请输入仲裁费用" :disabled="true" />
2023-09-19 20:51:20 +08:00
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="申请人主张欠本金:" prop="claimPrinciOwed">
2023-10-18 08:50:17 +08:00
<el-input v-model="formData.claimPrinciOwed" placeholder="请输入" :disabled="true" />
2023-09-19 20:51:20 +08:00
</el-form-item>
</el-col>
<!-- <el-col :span="12">
<el-form-item label="案件顾问:" prop="claimPrinciOwed">
<el-input v-model="formData.claimPrinciOwed" placeholder="请输入" />
</el-form-item>
</el-col> -->
<el-col :span="12">
<el-form-item label="案件状态:" prop="caseStatus">
2023-10-18 08:50:17 +08:00
<el-input v-model="formData.caseStatusName" placeholder="请输入" :disabled="true" />
2023-09-19 20:51:20 +08:00
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="仲裁员:" prop="arbitratorName">
2023-10-18 08:50:17 +08:00
<el-input v-model="adjudicatename.arbitratorName" placeholder="请输入" :disabled="true" />
2023-09-19 20:51:20 +08:00
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="开庭日期:" prop="hearDate">
2023-10-18 08:50:17 +08:00
<el-date-picker v-model="adjudicatename.hearDate" type="datetime" placeholder="开庭日期" :disabled="true">
2023-09-19 20:51:20 +08:00
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
2023-10-14 16:47:32 +08:00
<!-- <el-col :span="24">
2023-09-19 20:51:20 +08:00
<el-form-item label="案件资料:" prop="claimPrinciOwed">
<el-input v-model="formData.claimPrinciOwed" placeholder="请输入" />
</el-form-item>
2023-10-14 16:47:32 +08:00
</el-col> -->
<el-col :span="24">
<el-form-item label="申请人案件证据:">
<div v-if="applicateArr.length == 0">申请人暂未提供证据!</div>
<div v-else v-for="(item, index) in applicateArr" :key="index">
<a href="#" @click="toFile(item, index)" style="color: blue">
{{ item.annexName }}
</a>
</div>
</el-form-item>
2023-09-19 20:51:20 +08:00
</el-col>
2023-10-14 16:47:32 +08:00
<el-col :span="24">
<el-form-item label="被申请人案件证据:">
2023-10-14 16:47:32 +08:00
<div v-if="quiltArr.length == 0">被申请人暂未提供证据!</div>
<div v-for="(item, index) in quiltArr" :key="index">
<a href="#" @click="toFile1(item, index)" style="color: blue">
{{ item.annexName }}
</a>
2023-10-14 16:47:32 +08:00
</div>
</el-form-item>
2023-10-14 16:47:32 +08:00
</el-col>
<el-col :span="24" v-if="recordArr.length > 0">
<el-form-item label="庭审笔录:">
2023-10-18 08:50:17 +08:00
<div v-for="(item, index) in recordArr" :key="index" style="color: blue">
<a href="#" @click="toFile2(item, index)">{{ item.annexName }}</a>
</div>
</el-form-item>
</el-col>
2023-12-07 18:58:53 +08:00
<el-col :span="24">
<el-form-item label="预约会议房间号:">
<div>{{ roomId }}</div>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="开庭时间:">
<div>{{ startTime }}</div>
</el-form-item>
</el-col>
<!-- </el-form> -->
2023-09-19 20:51:20 +08:00
</el-form>
<el-button @click="openmeeting" type="primary">发起会议</el-button>
2023-12-09 20:02:06 +08:00
<el-button @click="openArbitrationresults" type="primary" v-if="this.recordArr.length <= 0">确认会议结果</el-button>
<div style="margin-top:20px;width:250px">
<el-upload
class="upload-demo"
ref="fileupload"
accept=".doc,.docx"
:action="UploadUrl()"
:on-success="handlSuccess"
:on-remove="handleRemove"
:on-preview="handlePreview"
:before-remove="beforeRemove"
:headers="headers"
:data="filedata"
multiple
:limit="3"
:on-exceed="handleExceed"
:before-upload="beforeAvatarUpload"
:file-list="fileList"
>
<el-button type="primary">上传案件笔录</el-button>
<div slot="tip" class="el-upload__tip">
文件支持上传.doc,docx文件
</div>
</el-upload>
</div>
<div slot="footer" class="dialog-footer">
<el-button class="endbutton" :disabled="(showsubmit && recordArr.length == 0) || form2.isAbsence==1" @click="submitResults">提交</el-button>
2023-10-18 08:50:17 +08:00
<el-button @click="cancel" class="endbutton1"><span>关 闭</span></el-button>
2023-09-18 21:55:43 +08:00
</div>
</el-dialog>
2023-12-05 22:36:34 +08:00
<el-dialog title="庭审笔录" :visible="showArbitrationresults" @close="closeArbitrationresults" center>
2023-09-20 15:40:45 +08:00
<el-form ref="form2" :model="form2" label-width="150px">
2023-12-05 22:36:34 +08:00
<!-- <el-col :span="12">
<el-form-item label="申请人是否缺席:" prop="isAbsence" :rules="[
{
required: true,
message: '请输入',
},
]">
<el-radio-group v-model="form2.isAbsence">
<el-radio :label="1">是</el-radio>
<el-radio :label="0">否</el-radio>
</el-radio-group>
</el-form-item>
</el-col> -->
<el-col :span="24">
2023-10-20 17:25:58 +08:00
<el-form-item label="被申请人是否缺席:" prop="appliIsAbsen" :rules="[
{
required: true,
message: '请输入',
},
]">
<el-radio-group v-model="form2.appliIsAbsen">
<el-radio :label="1">是</el-radio>
<el-radio :label="0">否</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="24">
2023-12-05 22:36:34 +08:00
<el-form-item label="申请人是否缺席:" prop="isAbsence" :rules="[
{
required: true,
message: '请输入',
},
]">
<el-radio-group v-model="form2.isAbsence">
<el-radio :label="1">是</el-radio>
<el-radio :label="0">否</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
2023-12-05 22:36:34 +08:00
<el-col :span="24">
<el-form-item label="被申请人对上述材料的质证意见" prop="respondentOpinion">
<el-input type="textarea" :autosize="{ minRows: 6 }" v-model="form2.respondentOpinion" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="申请人对上述材料的质证意见" prop="applicantOpinion">
<el-input type="textarea" :autosize="{ minRows: 6 }" v-model="form2.applicantOpinion" placeholder="请输入" />
</el-form-item>
</el-col>
2023-12-07 18:31:32 +08:00
<!-- <el-col :span="24">
2023-12-05 22:36:34 +08:00
<el-form-item label="查明本案事实" prop="caseFacts">
<el-input type="textarea" :autosize="{ minRows: 6 }" v-model="form2.caseFacts" placeholder="请输入" />
</el-form-item>
2023-12-07 18:31:32 +08:00
</el-col> -->
<!-- <el-col :span="24">
2023-12-05 22:36:34 +08:00
<el-form-item label="本案争议焦点" prop="caseFocus">
<el-input type="textarea" :autosize="{ minRows: 6 }" v-model="form2.caseFocus" placeholder="请输入" />
</el-form-item>
2023-12-07 18:31:32 +08:00
</el-col> -->
2023-12-05 22:36:34 +08:00
<!-- <el-col :span="12">
<el-form-item label="被申请人质证意见:" prop="responCrossOpin" :rules="[
{
required: true,
message: '请输入',
trigger: 'blur',
},
]">
<el-input type="textarea" v-model="form2.responCrossOpin" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="申请人质证意见:" prop="applicaCrossOpin" :rules="[
{
required: true,
message: '请输入',
trigger: 'blur',
},
]">
<el-input type="textarea" v-model="form2.applicaCrossOpin" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="被申请人的答辩意见:" prop="responDefenOpini" :rules="[
{
required: true,
message: '请输入',
trigger: 'blur',
},
]">
<el-input type="textarea" v-model="form2.responDefenOpini" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="经庭审质证,对各方提供的证据认定如下:" prop="evidenDetermi" :rules="[
{
required: true,
message: '请输入',
trigger: 'blur',
},
]">
<el-input type="textarea" :autosize="{ minRows: 4 }" placeholder="请输入" v-model="form2.evidenDetermi">
</el-input>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="仲裁庭经审理查明(写明仲裁庭认定的事实):" prop="factDetermi" :rules="[
{
required: true,
message: '请输入',
trigger: 'blur',
},
]">
<el-input type="textarea" :autosize="{ minRows: 4 }" placeholder="请输入" v-model="form2.factDetermi">
</el-input>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="综上所述:" prop="caseSketch" :rules="[
{
required: true,
message: '请输入',
trigger: 'blur',
},
]">
<el-input type="textarea" autosize placeholder="请输入" v-model="form2.caseSketch">
</el-input>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="本庭认为:" prop="arbitrateThink" :rules="[
{
required: true,
message: '请输入',
trigger: 'blur',
},
]">
<el-input type="textarea" autosize placeholder="请输入" v-model="form2.arbitrateThink">
</el-input>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="裁决如下:" prop="rulingFollows" :rules="[
{
required: true,
message: '请输入',
trigger: 'blur',
},
]">
<el-input type="textarea" autosize placeholder="请输入" v-model="form2.rulingFollows">
</el-input>
</el-form-item>
</el-col> -->
2023-09-20 15:40:45 +08:00
</el-form>
<div slot="footer" class="dialog-footer">
2023-09-21 16:06:45 +08:00
<el-button @click="submitForm" class="endbutton">
2023-10-18 08:50:17 +08:00
<span>确定</span></el-button>
<el-button @click="closeArbitrationresults" class="endbutton1"><span>取 消</span></el-button>
2023-09-20 15:40:45 +08:00
</div>
2023-12-05 22:36:34 +08:00
</el-dialog>
2023-09-18 21:55:43 +08:00
</div>
</template>
<script>
import { getToken } from "@/utils/auth";
2023-09-20 14:23:32 +08:00
import { getUserProfile } from "@/api/system/user";
import {
writtenHear,
creatTrialRecord,
2023-12-07 18:31:32 +08:00
creatTrialRecordnew,
document,
} from "@/api/caseManagement/caseManagement.js";
2023-12-07 18:58:53 +08:00
import { reserveConferenceList } from '@/api/meeting/index.js'
2023-09-18 21:55:43 +08:00
export default {
2023-09-23 16:01:56 +08:00
props: ["showtrialincourt", "adjudicatename", "form", "queryParams"],
2023-09-18 21:55:43 +08:00
data() {
return {
2023-09-19 20:51:20 +08:00
formData: {},
headers: {
Authorization: "Bearer " + getToken(),
},
filedata: {
annexType: 7,
id:0
},
upLife:'',
2023-09-20 15:40:45 +08:00
user: "",
2023-12-05 22:36:34 +08:00
userId: 1,
showArbitrationresults: false,
form2: {
isAbsence:0,
appliIsAbsen:0
},
applicateArr: [], //申请人案件资料
quiltArr: [], //被申请人案件资料
recordArr: [], //笔录附件
showsubmit: true, //生成庭审笔录,方可提交
annexName: "", //笔录文件名
annexPath: "", //笔录文件地址
2023-12-07 18:58:53 +08:00
roomId:null,
startTime:"",
fileList:[]
2023-09-18 21:55:43 +08:00
};
},
2023-09-20 14:23:32 +08:00
watch: {
showtrialincourt: {
handler(val) {
if (val) {
2023-12-07 18:58:53 +08:00
this.reserveConferenceListFn({caseId:this.form.id});
2023-11-10 17:56:22 +08:00
this.getUser();
this.formData = this.form;
console.log(this.formData)
2023-10-14 16:47:32 +08:00
this.applicateArr = [];
this.quiltArr = [];
this.recordArr = [];
setTimeout(() => {
if (this.adjudicatename.caseAttachList.length > 0) {
this.adjudicatename.caseAttachList.forEach((item) => {
// 申请人案件附件
if (item.annexType == 2) {
this.applicateArr.push({
annexName: item.annexName,
annexPath: item.annexPath,
});
}
// 被申请人案件附件
if (item.annexType == 6) {
this.quiltArr.push({
annexName: item.annexName,
annexPath: item.annexPath,
});
}
// 笔录生成附件
if (item.annexType == 7) {
this.recordArr.push({
annexName: item.annexName,
annexPath: item.annexPath,
});
}
});
}
}, 1000);
2023-09-20 14:23:32 +08:00
}
2023-09-20 15:40:45 +08:00
},
},
2023-09-20 14:23:32 +08:00
},
2023-09-20 15:40:45 +08:00
created() {
2023-12-05 22:36:34 +08:00
2023-09-20 14:23:32 +08:00
},
2023-09-18 21:55:43 +08:00
methods: {
2023-12-07 18:58:53 +08:00
// 根据案件id查询会议号
reserveConferenceListFn(data){
reserveConferenceList(data).then(res=>{
this.roomId = res.data[0].roomId;
this.startTime = res.data[0].scheduleStartTime;
})
},
// 详情显示,展示申请人案件文件
2023-10-14 16:47:32 +08:00
toFile(item, index) {
window.open(
window.location.origin + "/API" + this.applicateArr[index].annexPath,
"_black"
);
},
// 被申请人文件
toFile1(item, index) {
window.open(
window.location.origin + "/API" + this.quiltArr[index].annexPath,
"_black"
);
},
// 庭审笔录附件
toFile2(item, index) {
window.open(
window.location.origin + "/API" + this.recordArr[index].annexPath,
"_black"
);
},
2023-09-20 14:23:32 +08:00
getUser() {
2023-09-20 15:40:45 +08:00
getUserProfile().then((response) => {
2023-09-20 14:23:32 +08:00
this.user = response.data.userName;
2023-12-05 22:36:34 +08:00
this.userId = response.data.userId;
2023-09-20 14:23:32 +08:00
});
},
// 打开会议
openmeeting() {
window.open(
2023-11-10 17:56:22 +08:00
// `http://localhost:8081/#/home?name=${this.user}&id=${this.formData.id}&userId=${this.userId}`
2023-11-29 15:45:03 +08:00
`https://txroom.xayunmei.com/#/home?name=${this.user}&id=${this.formData.id}&userId=${this.userId}&roomId=${this.roomId}`
);
2023-09-20 15:40:45 +08:00
},
2023-12-05 22:36:34 +08:00
// 提交仲裁结果
2023-09-20 15:40:45 +08:00
openArbitrationresults() {
2023-12-05 22:36:34 +08:00
this.showArbitrationresults = true;
},
closeArbitrationresults() {
this.showArbitrationresults = false;
2023-09-20 15:40:45 +08:00
},
// 提交庭审笔录弹框结果
2023-12-05 22:36:34 +08:00
submitForm() {
this.$refs["form2"].validate((valid) => {
if (valid) {
2023-12-07 18:31:32 +08:00
creatTrialRecordnew({
2023-12-05 22:36:34 +08:00
caseAppliId: this.formData.id,
// evidenDetermi: this.form2.evidenDetermi,
// factDetermi: this.form2.factDetermi,
// caseSketch: this.form2.caseSketch,
// arbitrateThink: this.form2.arbitrateThink,
// rulingFollows: this.form2.rulingFollows,
// isAbsence: this.form2.isAbsence,
// appliIsAbsen: this.form2.appliIsAbsen,
// responCrossOpin: this.form2.responCrossOpin,
// applicaCrossOpin: this.form2.applicaCrossOpin,
// responDefenOpini: this.form2.responDefenOpini,
isAbsence: this.form2.isAbsence,
appliIsAbsen: this.form2.appliIsAbsen,
respondentOpinion: this.form2.respondentOpinion,
2023-12-07 18:31:32 +08:00
applicantOpinion: this.form2.applicantOpinion,
// caseFacts: this.form2.caseFacts,
// caseFocus: this.form2.caseFocus
2023-12-05 22:36:34 +08:00
})
.then((res) => {
2023-12-07 18:31:32 +08:00
// console.log(res);
// res.data.caseAttachList.forEach((item) => {
// if (item.annexType == 7) {
// this.recordArr.push({
// annexName: item.annexName,
// annexPath: item.annexPath,
// });
// }
// });
2023-12-05 22:36:34 +08:00
this.$modal.msgSuccess("提交成功");
this.showsubmit = false;
this.closeArbitrationresults();
console.log(this.form2)
this.form2.respondentOpinion ="";
this.form2.applicantOpinion = "";
2023-12-05 22:36:34 +08:00
})
.catch((err) => { });
}
});
},
2023-09-18 21:55:43 +08:00
cancel() {
this.$emit("canceltrialincourt");
},
// 提交开庭审理结果
submitResults() {
if(this.fileList.length==0){
this.$message({
showClose: true,
message: '请先上传案件笔录',
type:'warning'
});
}else{
let id = this.formData.id;
document({
id: id,
}).then((res) => {
if (res.code == 200) {
this.$emit("getcaseApply", this.queryParams);
this.cancel();
this.fileList =[]
}
});
}
},
// 上传庭审笔录
UploadUrl() {
return window.location.origin + "/API/evidence/uploadRecord";
},
// 文件上传成功
handlSuccess(res, file) {
this.fileList.push(file)
},
// 文件列表移除文件时的钩子
handleRemove(file, fileList) {
},
handlePreview(file) {
},
// 删除文件之前的钩子,参数为上传的文件和文件列表,若返回 false 或者返回 Promise 且被 reject,则停止删除。
beforeRemove(file, fileList) {
return this.$confirm(`确定移除 ${file.name}?`);
},
// 文件超出个数限制时的钩子
handleExceed(files, fileList) {
this.$message.warning(
`当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length
} 个文件`
);
},
beforeAvatarUpload(file){
this.filedata.id =this.formData.id
}
2023-09-18 21:55:43 +08:00
},
};
</script>
<style lang="scss" scoped>
2023-09-19 20:51:20 +08:00
::v-deep .el-dialog {
2023-10-14 16:47:32 +08:00
width: 900px;
2023-09-19 20:51:20 +08:00
background: #ffffff;
border-radius: 20px;
}
2023-10-18 08:50:17 +08:00
2023-09-19 20:51:20 +08:00
.endbutton {
width: 154px;
height: 37px;
2023-10-14 16:47:32 +08:00
background: #488de2;
2023-09-19 20:51:20 +08:00
border-radius: 19px;
color: #ffffff;
2023-10-18 08:50:17 +08:00
2023-09-19 20:51:20 +08:00
span {
2023-09-21 16:06:45 +08:00
width: 96px;
height: 15px;
2023-09-19 20:51:20 +08:00
font-size: 16px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #ffffff;
}
}
2023-10-18 08:50:17 +08:00
2023-09-19 20:51:20 +08:00
.endbutton1 {
width: 154px;
height: 37px;
background: #ffffff;
2023-09-21 16:06:45 +08:00
border: 1px solid #d0d0d0;
2023-09-19 20:51:20 +08:00
border-radius: 19px;
// span {
// width: 31px;
// height: 13px;
// font-size: 16px;
// font-family: Microsoft YaHei;
// font-weight: 400;
color: #959595;
// }
}
2023-10-18 08:50:17 +08:00
.caseInfo {
font-size: 17px;
font-weight: 600;
2023-09-19 20:51:20 +08:00
}
2023-09-18 21:55:43 +08:00
</style>