Просмотр исходного кода

裁决书管理的案件详情页

gyj 2 лет назад
Родитель
Сommit
fae93fdc00

+ 122
- 0
src/views/awardManagement/components/detailsAward.vue Просмотреть файл

@@ -0,0 +1,122 @@
1
+<template>
2
+  <div>
3
+    <el-dialog title="案件详情" :visible="showarchiveDetails" @close="cancel" :destroy-on-close="true" center>
4
+      <div class="loading" v-if="flagLoadingS">
5
+        <i class="el-icon-loading"></i>
6
+      </div>
7
+      <div v-else>
8
+          <!-- <div class="noData" v-if="noData">暂无数据!</div> -->
9
+          <el-tabs v-model="activeName"  @tab-click="handleClick">
10
+            <el-tab-pane label="申请人案件证据资料" name="first"></el-tab-pane>
11
+            <el-tab-pane label="被申请人案件证据资料" name="second"></el-tab-pane>
12
+            <el-tab-pane label="裁决书附件" name="third"></el-tab-pane>
13
+            <el-tab-pane label="仲裁申请书" name="fourth"></el-tab-pane>
14
+            <el-tab-pane label="案件视频" name="five"></el-tab-pane>
15
+            <el-tab-pane label="庭审笔录" name="six"></el-tab-pane>
16
+         </el-tabs>
17
+         <div v-show="activeName=='first'">
18
+             
19
+             <div v-for="(item,index) in detailsAwardNum.caseAttachList" :key="index" v-if="item.annexType==2" style="margin-top:10px;">
20
+                 <el-link target="_blank" type="primary" :href="fileURL+item.annexPath">{{item.annexName}}</el-link>
21
+             </div>
22
+            <el-empty v-if="isNoData(detailsAwardNum.caseAttachList,2) == 0" description="暂无数据"></el-empty>
23
+         </div>
24
+         <div v-show="activeName=='second'">
25
+            <div v-for="item in detailsAwardNum.caseAttachList" v-if="item.annexType==6" style="margin-top:10px;">
26
+                 <el-link target="_blank" type="primary" :href="fileURL+item.annexPath">{{item.annexName}}</el-link>
27
+             </div>
28
+             <el-empty v-if="isNoData(detailsAwardNum.caseAttachList,6) == 0" description="暂无数据"></el-empty>
29
+         </div>
30
+         <div  v-show="activeName=='third'">
31
+             <div v-for="item in detailsAwardNum.caseAttachList" v-if="item.annexType==3" style="margin-top:10px;">
32
+                 <el-link target="_blank" type="primary" :href="fileURL+item.annexPath">{{item.annexName}}</el-link>
33
+             </div>
34
+             <el-empty v-if="isNoData(detailsAwardNum.caseAttachList,3) == 0" description="暂无数据"></el-empty>
35
+         </div>
36
+         <div  v-show="activeName=='fourth'">
37
+             <div v-for="item in detailsAwardNum.caseAttachList" v-if="item.annexType==1" style="margin-top:10px;">
38
+                 <el-link target="_blank" type="primary" :href="fileURL+item.annexPath">{{item.annexName}}</el-link>
39
+             </div>
40
+             <el-empty v-if="isNoData(detailsAwardNum.caseAttachList,1) == 0" description="暂无数据"></el-empty>
41
+         </div>
42
+         <div  v-show="activeName=='five'">            
43
+             <video style="background-color: #181717;width: 350px;height: 200px;margin: 10px;" :src="headPath + item.annexPath" v-for="(item,index) in videoList" :key="index" controls="controls"></video>
44
+             <el-empty v-if="videoList == null || videoList.length ==0" description="暂无数据"></el-empty>
45
+         </div>
46
+         <div v-show="activeName=='six'">
47
+             <div v-for="(item,index) in trialTranscripts" :key="index" style="margin-top:10px;">
48
+                 <el-link target="_blank" type="primary" :href="fileURL+item.annexPath">{{item.annexName}}</el-link>
49
+             </div>
50
+              <el-empty v-if="trialTranscripts == null || trialTranscripts.length ==0" description="暂无数据"></el-empty>
51
+         </div>
52
+      </div>
53
+      <div slot="footer" class="dialog-footer">
54
+        <el-button @click="cancel">取 消</el-button>
55
+      </div>
56
+    </el-dialog>
57
+  </div>
58
+</template>
59
+<script>
60
+export default {
61
+    props: ["showarchiveDetails","detailsAwardNum","videoList","flagLoadingS","trialTranscripts"],
62
+  components: {
63
+    
64
+  },
65
+  data() {
66
+    return {
67
+     activeName: 'first',
68
+      fileURL: window.location.origin + "/API",
69
+      headPath:window.location.origin + "/API",
70
+      noData: false,
71
+    //   myData:[],
72
+    //   videoLists:[]
73
+    };
74
+  },
75
+  created(){
76
+    
77
+    
78
+  },
79
+  methods: {
80
+    isNoData(data,type){
81
+        let resNumber = 0
82
+        if(data){
83
+            let list = data.filter(item => item.annexType == type)
84
+            if(list){
85
+                resNumber = list.length
86
+            }
87
+        }
88
+        return resNumber
89
+    },
90
+    handleClick(tab, event) {
91
+
92
+    },
93
+    
94
+    cancel() {
95
+      this.$emit("cancelDetail");
96
+    //   this.activeName ="first"
97
+    },
98
+  },
99
+}
100
+</script>
101
+<style lang="scss" scoped>
102
+::v-deep .el-dialog__body {
103
+  height: 500px !important;
104
+  overflow: auto !important;
105
+}
106
+::v-deep .el-dialog {
107
+  width: 800px;
108
+  background: #ffffff;
109
+  border-radius: 20px;
110
+}
111
+.loading {
112
+  width: 100%;
113
+  height: 100%;
114
+  display: flex;
115
+  justify-content: center;
116
+  align-items: center;
117
+
118
+  .el-icon-loading {
119
+    font-size: 50px;
120
+  }
121
+}
122
+</style>

+ 47
- 1
src/views/awardManagement/listofAwards.vue Просмотреть файл

@@ -84,6 +84,7 @@
84 84
                     <el-button size="mini" type="text" icon="el-icon-edit"
85 85
                         v-if="scope.row.caseStatus == 16 && checkPermi(['awardManagement:list:file']) && btnStatus"
86 86
                         @click="showCasefilingModel(scope.row, 6)">案件归档</el-button>
87
+                    <el-button size="mini" type="text" icon="el-icon-tickets" @click="detailsAwardList(scope.row)">案件详情</el-button>   
87 88
                 </template>
88 89
             </el-table-column>
89 90
         </el-table>
@@ -102,6 +103,10 @@
102 103
         <operateDialog :queryParams="queryParams" :operateStatus="operateStatus" :operateVisable="operateVisable"
103 104
             @getcaseApply="getList" :operateTitle="operateTitle" @cancelOperate="cancelOperate" :operateData="operateData">
104 105
         </operateDialog>
106
+        <!-- 裁决书案件详情 -->
107
+        <detailsAward :showarchiveDetails="showarchiveDetails" @cancelDetail="cancelDetail" :detailsAwardNum="detailsAwardNum" :videoList="videoList"
108
+        :flagLoadingS="flagLoadingS" :trialTranscripts="trialTranscripts"
109
+        ></detailsAward>
105 110
     </div>
106 111
 </template>
107 112
   
@@ -121,11 +126,20 @@ import paymentdetailsDialog from "./components/paymentdetailsDialog.vue";
121 126
 import mailawardDialog from './components/MailawardDialog.vue';
122 127
 import expressDeliveryDialog from './components/expressDeliveryDialog.vue';
123 128
 import operateDialog from '@/views/caseManagement/components/operateDialog.vue'
129
+import detailsAward from './components/detailsAward.vue'
124 130
 import { getDicts } from '@/api/system/dict/data.js'
131
+import { videoList } from "@/api/caseFiling/caseFiling";
132
+import {attachListByCaseId} from "@/api/caseManagement/caseManagement"
125 133
 export default {
126 134
     name: "paymentList",
127 135
     dicts: ["case_status"],
128
-    components: { paymentdetailsDialog, mailawardDialog, expressDeliveryDialog, operateDialog },
136
+    components: { 
137
+     paymentdetailsDialog,
138
+     mailawardDialog, 
139
+     expressDeliveryDialog,
140
+     operateDialog,
141
+     detailsAward 
142
+     },
129 143
     data() {
130 144
         return {
131 145
             queryParams: {
@@ -152,6 +166,9 @@ export default {
152 166
             rules: {},
153 167
             dataList: [],
154 168
             detailform: {}, //缴费详情数据
169
+            detailsAwardNum:{},//裁决书数据
170
+            videoList:"", //视频数据
171
+            trialTranscripts:[],//庭审笔录
155 172
             openDialog: false, //缴费详情数据弹框
156 173
             flag: null,
157 174
             openMailawardDialog: false,  //送达裁决书页面
@@ -159,10 +176,13 @@ export default {
159 176
             showDelivery: false, //快递信息弹框
160 177
             deliveryDataArr: [],//快递信息数据
161 178
             flagLoading: true,
179
+            flagLoadingS: true,
162 180
             operateVisable: false,
163 181
             operateData: {},
164 182
             operateStatus: 0,
165 183
             operateTitle: "",
184
+            // 裁决书详情
185
+            showarchiveDetails: false,
166 186
             selectCaseStatusList: [
167 187
                 {
168 188
                     label: "待办案件",
@@ -193,6 +213,9 @@ export default {
193 213
     methods: {
194 214
         cancelOperate() {
195 215
             this.operateVisable = false;
216
+        },
217
+         cancelDetail(){
218
+            this.showarchiveDetails = false;
196 219
         },
197 220
         operateClick(type) {
198 221
             this.operateVisable = true;
@@ -347,8 +370,31 @@ export default {
347 370
         getDetail(parms) {
348 371
             caseApplicationDetail(parms).then((res) => {
349 372
                 this.detailform = res.data;
373
+                this.detailsAwardNum = res.data;
374
+                console.log(this.detailsAwardNum)
350 375
             });
351 376
         },
377
+        // 裁决书详情
378
+        detailsAwardList(row){
379
+            this.showarchiveDetails = true
380
+            this.getDetail({ id: row.id })
381
+            this.getvideoList({ caseId: row.id })
382
+            this.getAttachListByCaseId({caseAppliId:row.id,annexType:11})
383
+            this.flagLoadingS = false
384
+        },
385
+        // 根据id查询视频列表
386
+        getvideoList(data){
387
+            videoList(data).then(res => {
388
+                this.videoList = res.data;
389
+            })
390
+        },
391
+        //根据案件id和类型查询附件
392
+        getAttachListByCaseId(data){
393
+            attachListByCaseId(data).then(res =>{
394
+                this.trialTranscripts = res.data;
395
+            })
396
+        }
397
+       
352 398
     },
353 399
 };
354 400
 </script>