458 lines
16 KiB
Vue
458 lines
16 KiB
Vue
<template>
|
||
<div>
|
||
<el-dialog title="开庭审理" :visible="showtrialincourt" @close="cancel" :destroy-on-close="true">
|
||
<el-form ref="form" :model="formData" label-width="180px">
|
||
<div class="caseInfo">案件信息:</div>
|
||
<el-divider></el-divider>
|
||
<el-row>
|
||
<el-col :span="12">
|
||
<el-form-item label="案件编号:" prop="caseNum">
|
||
<el-input v-model="formData.caseNum" placeholder="请输入案件编号" :disabled="true" />
|
||
</el-form-item>
|
||
</el-col>
|
||
<el-col :span="12">
|
||
<el-form-item label="申请人:" prop="applicantName">
|
||
<el-input v-model="adjudicatename.applicantName" :disabled="true" />
|
||
</el-form-item>
|
||
</el-col>
|
||
<el-col :span="12">
|
||
<el-form-item label="被申请人:" prop="respondentName">
|
||
<el-input v-model="adjudicatename.respondentName" :disabled="true" />
|
||
</el-form-item>
|
||
</el-col>
|
||
<el-col :span="12">
|
||
<el-form-item label="借款开始日期:" prop="loanStartDate">
|
||
<el-date-picker v-model="formData.loanStartDate" type="datetime" placeholder="借款开始日期" :disabled="true">
|
||
</el-date-picker>
|
||
</el-form-item>
|
||
</el-col>
|
||
<el-col :span="12">
|
||
<el-form-item label="借款结束日期:" prop="loanEndDate">
|
||
<el-date-picker v-model="formData.loanEndDate" type="datetime" placeholder="借款结束日期" :disabled="true">
|
||
</el-date-picker>
|
||
</el-form-item>
|
||
</el-col>
|
||
<el-col :span="12">
|
||
<el-form-item label="案件标的:" prop="caseSubjectAmount">
|
||
<el-input v-model="formData.caseSubjectAmount" placeholder="请输入案件标的" :disabled="true" />
|
||
</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">
|
||
<el-input v-model="adjudicatename.feePayable" placeholder="请输入仲裁费用" :disabled="true" />
|
||
</el-form-item>
|
||
</el-col>
|
||
<el-col :span="12">
|
||
<el-form-item label="申请人主张欠本金:" prop="claimPrinciOwed">
|
||
<el-input v-model="formData.claimPrinciOwed" placeholder="请输入" :disabled="true" />
|
||
</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">
|
||
<el-input v-model="formData.caseStatusName" placeholder="请输入" :disabled="true" />
|
||
</el-form-item>
|
||
</el-col>
|
||
<el-col :span="12">
|
||
<el-form-item label="仲裁员:" prop="arbitratorName">
|
||
<el-input v-model="adjudicatename.arbitratorName" placeholder="请输入" :disabled="true" />
|
||
</el-form-item>
|
||
</el-col>
|
||
|
||
<el-col :span="12">
|
||
<el-form-item label="开庭日期:" prop="hearDate">
|
||
<el-date-picker v-model="adjudicatename.hearDate" type="datetime" placeholder="开庭日期" :disabled="true">
|
||
</el-date-picker>
|
||
</el-form-item>
|
||
</el-col>
|
||
</el-row>
|
||
<!-- <el-col :span="24">
|
||
<el-form-item label="案件资料:" prop="claimPrinciOwed">
|
||
<el-input v-model="formData.claimPrinciOwed" placeholder="请输入" />
|
||
</el-form-item>
|
||
</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>
|
||
</el-col>
|
||
<el-col :span="24">
|
||
<el-form-item label="被申请人案件证据:">
|
||
<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>
|
||
</div>
|
||
</el-form-item>
|
||
</el-col>
|
||
<el-col :span="24" v-if="recordArr.length > 0">
|
||
<el-form-item label="庭审笔录:">
|
||
<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>
|
||
<!-- </el-form> -->
|
||
</el-form>
|
||
<el-button @click="openmeeting" type="primary">发起会议</el-button>
|
||
<el-button @click="openArbitrationresults" type="primary" v-if="this.recordArr.length <= 0">生成庭审笔录</el-button>
|
||
<div slot="footer" class="dialog-footer">
|
||
<el-button class="endbutton" :disabled="showsubmit && recordArr.length == 0" @click="submitResults">提交</el-button>
|
||
<el-button @click="cancel" class="endbutton1"><span>关 闭</span></el-button>
|
||
</div>
|
||
</el-dialog>
|
||
<el-dialog title="生成庭审笔录" :visible="showArbitrationresults" @close="closeArbitrationresults" center>
|
||
<el-form ref="form2" :model="form2" label-width="150px">
|
||
<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="12">
|
||
<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="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>
|
||
</el-form>
|
||
<div slot="footer" class="dialog-footer">
|
||
<el-button @click="submitForm" class="endbutton">
|
||
<span>确定</span></el-button>
|
||
<el-button @click="closeArbitrationresults" class="endbutton1"><span>取 消</span></el-button>
|
||
</div>
|
||
</el-dialog>
|
||
</div>
|
||
</template>
|
||
|
||
<script>
|
||
import { getUserProfile } from "@/api/system/user";
|
||
import {
|
||
writtenHear,
|
||
creatTrialRecord,
|
||
document,
|
||
} from "@/api/caseManagement/caseManagement.js";
|
||
|
||
export default {
|
||
props: ["showtrialincourt", "adjudicatename", "form", "queryParams"],
|
||
data() {
|
||
return {
|
||
formData: {},
|
||
user: "",
|
||
showArbitrationresults: false,
|
||
form2: {},
|
||
applicateArr: [], //申请人案件资料
|
||
quiltArr: [], //被申请人案件资料
|
||
recordArr: [], //笔录附件
|
||
showsubmit: true, //生成庭审笔录,方可提交
|
||
annexName: "", //笔录文件名
|
||
annexPath: "", //笔录文件地址
|
||
};
|
||
},
|
||
watch: {
|
||
showtrialincourt: {
|
||
handler(val) {
|
||
if (val) {
|
||
this.formData = this.form;
|
||
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);
|
||
}
|
||
},
|
||
},
|
||
},
|
||
created() {
|
||
this.getUser();
|
||
},
|
||
methods: {
|
||
// 详情显示,展示申请人案件文件
|
||
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"
|
||
);
|
||
},
|
||
getUser() {
|
||
getUserProfile().then((response) => {
|
||
this.user = response.data.userName;
|
||
});
|
||
},
|
||
// 打开会议
|
||
openmeeting() {
|
||
window.open(
|
||
`https://txroom.xayunmei.com/#/home?name=${this.user}&id=${this.formData.id}`
|
||
);
|
||
},
|
||
// 提交仲裁结果
|
||
openArbitrationresults() {
|
||
this.showArbitrationresults = true;
|
||
},
|
||
closeArbitrationresults() {
|
||
this.showArbitrationresults = false;
|
||
},
|
||
// 提交庭审笔录弹框结果
|
||
submitForm() {
|
||
this.$refs["form2"].validate((valid) => {
|
||
if (valid) {
|
||
creatTrialRecord({
|
||
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,
|
||
})
|
||
.then((res) => {
|
||
res.data.caseAttachList.forEach((item) => {
|
||
if (item.annexType == 7) {
|
||
this.recordArr.push({
|
||
annexName: item.annexName,
|
||
annexPath: item.annexPath,
|
||
});
|
||
}
|
||
});
|
||
this.$modal.msgSuccess("提交成功");
|
||
this.showsubmit = false;
|
||
this.closeArbitrationresults();
|
||
})
|
||
.catch((err) => { });
|
||
}
|
||
});
|
||
},
|
||
cancel() {
|
||
this.$emit("canceltrialincourt");
|
||
},
|
||
// 提交开庭审理结果
|
||
submitResults() {
|
||
console.log(this.formData.id, "this.formData.id");
|
||
let id = this.formData.id;
|
||
document({
|
||
id: id,
|
||
}).then((res) => {
|
||
console.log(res, "提交开庭审理结果");
|
||
if (res.code == 200) {
|
||
this.$emit("getcaseApply", this.queryParams);
|
||
this.cancel();
|
||
}
|
||
});
|
||
},
|
||
},
|
||
};
|
||
</script>
|
||
|
||
<style lang="scss" scoped>
|
||
::v-deep .el-dialog {
|
||
width: 900px;
|
||
background: #ffffff;
|
||
border-radius: 20px;
|
||
}
|
||
|
||
.endbutton {
|
||
width: 154px;
|
||
height: 37px;
|
||
background: #488de2;
|
||
border-radius: 19px;
|
||
color: #ffffff;
|
||
|
||
span {
|
||
width: 96px;
|
||
height: 15px;
|
||
font-size: 16px;
|
||
font-family: Microsoft YaHei;
|
||
font-weight: 400;
|
||
color: #ffffff;
|
||
}
|
||
}
|
||
|
||
.endbutton1 {
|
||
width: 154px;
|
||
height: 37px;
|
||
background: #ffffff;
|
||
border: 1px solid #d0d0d0;
|
||
border-radius: 19px;
|
||
// span {
|
||
// width: 31px;
|
||
// height: 13px;
|
||
// font-size: 16px;
|
||
// font-family: Microsoft YaHei;
|
||
// font-weight: 400;
|
||
color: #959595;
|
||
// }
|
||
}
|
||
|
||
.caseInfo {
|
||
font-size: 17px;
|
||
font-weight: 600;
|
||
}
|
||
</style> |