归档详情页面的开发

This commit is contained in:
gyj
2024-01-25 15:10:11 +08:00
parent d81a0d1b47
commit f5a1e153ce
3 changed files with 150 additions and 7 deletions
+25 -4
View File
@@ -77,6 +77,7 @@
<!-- <el-button size="mini" @click="receivedMediation(scope.row)" type="text" icon="el-icon-edit-outline">被申请人签收</el-button> -->
<el-button size="mini" type="text" icon="el-icon-edit"
@click="evidenceUpload(scope.row)">证据修改</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="caseFilingDetails(scope.row)">归档详情</el-button>
<!-- <el-button size="mini" type="text" icon="el-icon-tickets" @click="payStatus(scope.row)">缴费</el-button> -->
<!-- <el-button size="mini" type="text" icon="el-icon-tickets" @click="selectMediator(scope.row)">预约时间</el-button> -->
<!-- <el-button size="mini" type="text" icon="el-icon-tickets" @click="secretaryConfirm(scope.row)">秘书审核</el-button> -->
@@ -131,7 +132,9 @@
<mediation @cancelMediation="cancelMediation" :mediationVisable="mediationVisable"
:mediationData="mediationData" @getList="getList" :queryParams="queryParams"></mediation>
<confirmMediation @cancelConfirmTion="cancelConfirmTion" :confirmTionVisable="confirmTionVisable"
:confirmTionData="confirmTionData" @getList="getList" :queryParams="queryParams"></confirmMediation>
:confirmTionData="confirmTionData" @getList="getList" :queryParams="queryParams"></confirmMediation>
<!-- 归档详情 -->
<caseFilingDetailsPage :showarchiveDetails="showarchiveDetails" @cancelDetail="cancelDetail" :detailsAwardNum="detailsAwardNum" :flagLoadingS="flagLoadingS"></caseFilingDetailsPage>
</div>
</template>
@@ -154,6 +157,7 @@ import departmentMediator from './components/departmentMediator.vue'
import timeConfirm from './components/timeConfirm.vue'
import mediation from './components/mediation.vue'
import confirmMediation from './components/confirmMediation.vue'
import caseFilingDetailsPage from './components/caseFilingDetailsPage.vue'
export default {
name: "caseList",
dicts: ["case_flow_node"],
@@ -171,7 +175,8 @@ export default {
departmentMediator,
timeConfirm,
mediation,
confirmMediation
confirmMediation,
caseFilingDetailsPage
},
data() {
return {
@@ -213,6 +218,9 @@ export default {
flagLoading: true, //案件日志弹框loading
confirmTionVisable:false,//确认调解书弹窗
addModifyData:null,//新增修改传的参数
showarchiveDetails:false,//归档详情弹窗
detailsAwardNum:{},
flagLoadingS: true,
formPayDetailAffiliate:{},
mediatorData:{},
flag: null,
@@ -615,8 +623,21 @@ export default {
this.$modal.msgSuccess("签收成功");
this.getList(this.queryParams);
})
}
},
//归档详情
caseFilingDetails(val){
this.showarchiveDetails = true
let vals = {id:val.id}
caseApplicationSelectById(vals).then(res=>{
this.detailsAwardNum = res.data
console.log(this.detailsAwardNum)
this.flagLoadingS = false
})
},
cancelDetail(){
this.showarchiveDetails = false
}
},
};
</script>
@@ -0,0 +1,121 @@
<template>
<div>
<el-dialog title="归档详情" :visible="showarchiveDetails" @close="cancel" :destroy-on-close="true" center>
<div class="loading" v-if="flagLoadingS">
<i class="el-icon-loading"></i>
</div>
<div v-else>
<el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="申请人案件证据资料" name="first"></el-tab-pane>
<!-- <el-tab-pane label="被申请人案件证据资料" name="second"></el-tab-pane> -->
<el-tab-pane label="调解书" name="third"></el-tab-pane>
<el-tab-pane label="案件视频" name="fourth"></el-tab-pane>
<el-tab-pane label="庭审笔录" name="six"></el-tab-pane>
</el-tabs>
<div v-show="activeName=='first'">
<div v-for="(item,index) in detailsAwardNum.caseAttachList" :key="index" v-if="item.annexType==2" style="margin-top:10px;">
<el-link target="_blank" type="primary" :href="fileURL+item.annexPath">{{item.annexName}}</el-link>
</div>
<el-empty v-if="isNoData(detailsAwardNum.caseAttachList,2) == 0" description="暂无数据"></el-empty>
</div>
<!-- <div v-show="activeName=='second'">
<div v-for="item in detailsAwardNum.caseAttachList" v-if="item.annexType==6" style="margin-top:10px;">
<el-link target="_blank" type="primary" :href="fileURL+item.annexPath">{{item.annexName}}</el-link>
</div>
<el-empty v-if="isNoData(detailsAwardNum.caseAttachList,6) == 0" description="暂无数据"></el-empty>
</div> -->
<div v-show="activeName=='third'">
<div v-for="item in detailsAwardNum.caseAttachList" v-if="item.annexType==7" style="margin-top:10px;">
<el-link target="_blank" type="primary" :href="fileURL+item.annexPath">{{item.annexName}}</el-link>
</div>
<el-empty v-if="isNoData(detailsAwardNum.caseAttachList,7) == 0" description="暂无数据"></el-empty>
</div>
<div v-show="activeName=='fourth'">
<div style="margin-top:10px;" v-for="(item,index) in detailsAwardNum.caseAttachList" v-if="item.annexType==5">
<video style="background-color: #181717;width: 350px;height: 200px;margin: 10px;" :key="index" :src="fileURL+item.annexPath" controls="controls"></video>
</div>
<el-empty v-if="isNoData(detailsAwardNum.caseAttachList,5) == 0" description="暂无数据"></el-empty>
</div>
<div v-show="activeName=='six'">
<div v-for="item in detailsAwardNum.caseAttachList" v-if="item.annexType==6" style="margin-top:10px;">
<el-link target="_blank" type="primary" :href="fileURL+item.annexPath">{{item.annexName}}</el-link>
</div>
<el-empty v-if="isNoData(detailsAwardNum.caseAttachList,6) == 0" description="暂无数据"></el-empty>
</div>
</div>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
export default {
props: ["showarchiveDetails","detailsAwardNum","videoList","flagLoadingS","trialTranscripts"],
components: {
},
data() {
return {
activeName: 'first',
fileURL: window.location.origin + "/API",
noData: false,
};
},
watch: {
showarchiveDetails: {
handler(val) {
if (val) {
this.activeName = 'first'
}
},
},
},
created(){
},
methods: {
isNoData(data,type){
let resNumber = 0
if(data){
let list = data.filter(item => item.annexType == type)
if(list){
resNumber = list.length
}
}
return resNumber
},
handleClick(tab, event) {
},
cancel() {
this.$emit("cancelDetail");
},
},
}
</script>
<style lang="scss" scoped>
::v-deep .el-dialog__body {
height: 500px !important;
overflow: auto !important;
}
::v-deep .el-dialog {
width: 850px;
background: #ffffff;
border-radius: 20px;
}
.loading {
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
.el-icon-loading {
font-size: 50px;
}
}
</style>
@@ -50,19 +50,19 @@
<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">
<div v-else v-for="(item, index) in applicateArr" :key="index" v-if="item.annexType==2">
<a href="#" @click="toFile(item, index)" style="color: blue">{{ item.annexName }}</a>
</div>
</el-form-item>
</el-col>
<el-col :span="24">
<!-- <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> -->
<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">
@@ -155,6 +155,7 @@ export default {
caseApplicationSelectByIdFn(data) {
caseApplicationSelectById(data).then(res => {
this.formData = res.data;
this.applicateArr = res.data.caseAttachList;
res.data.caseAttachList.forEach(item => {
if (item.annexType == 6) {
this.recordArr.push(item);