fz 2 лет назад
Родитель
Сommit
be7b76f236

+ 17
- 1
src/api/caseManagement/caseManagement.js Просмотреть файл

@@ -23,4 +23,20 @@ export function caseApplicationSelectById(data) {
23 23
         method: 'get',
24 24
         params: data
25 25
     })
26
-}
26
+}
27
+/** 案件证据查询 */
28
+export function getFileList(data) {
29
+    return request({
30
+        url: "/common/fileList",
31
+        method: "get",
32
+        params: data,
33
+    });
34
+}
35
+/** 批量上传证据 */
36
+export function batchUpload(data) {
37
+    return request({
38
+      url: "/caseApplication/batchUpdateAttach",
39
+      method: "post",
40
+      data: data,
41
+    });
42
+  }

+ 30
- 11
src/views/caseManagement/caseList.vue Просмотреть файл

@@ -59,12 +59,15 @@
59 59
             <el-table-column label="创建时间" align="center" prop="createTime" :show-overflow-tooltip="true" />
60 60
             <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
61 61
                 <template slot-scope="scope">
62
-                    <el-button size="mini" @click="eidtNodeprocess(scope.row)" type="text" icon="el-icon-edit">修改</el-button>
62
+                    <el-button size="mini" @click="eidtNodeprocess(scope.row)" type="text"
63
+                        icon="el-icon-edit">修改</el-button>
63 64
                     <el-button size="mini" @click="checkDetail(scope.row)" type="text" icon="el-icon-view">查看详情</el-button>
64 65
                     <el-button size="mini" @click="consultantApplica(scope.row)" type="text"
65 66
                         icon="el-icon-tickets">法律顾问用印申请</el-button>
66 67
                     <el-button size="mini" @click="departmentApplica(scope.row)" type="text"
67
-                        icon="el-icon-edit-outline">部门长用印申请</el-button>                   
68
+                        icon="el-icon-edit-outline">部门长用印申请</el-button>
69
+                    <el-button size="mini" type="text" icon="el-icon-edit"
70
+                        @click="evidenceUpload(scope.row)">证据修改</el-button>
68 71
                 </template>
69 72
             </el-table-column>
70 73
         </el-table>
@@ -77,6 +80,9 @@
77 80
         <caseCompressionPackage :openCompressedPackages="openCompressedPackages" :queryParams="queryParams"
78 81
             @cancelCompreess="cancelCompreess" :getList="getList">
79 82
         </caseCompressionPackage>
83
+        <!-- 证据修改 -->
84
+        <evidenceDialog :evidenceVisable="evidenceVisable" @cancelEvidence="cancelEvidence" :evidenceData="evidenceData">
85
+        </evidenceDialog>
80 86
     </div>
81 87
 </template>
82 88
 
@@ -85,13 +91,15 @@ import { caseApplicationList } from '@/api/caseManagement/caseManagement.js'
85 91
 import { listDept } from '@/api/system/dept.js'
86 92
 import moment from "moment";
87 93
 import addCase from './components/addCase.vue'
94
+import evidenceDialog from './components/evidenceDialog.vue';
88 95
 import caseCompressionPackage from './components/caseCompressionPackage.vue';
89 96
 export default {
90 97
     name: "caseList",
91 98
     dicts: ["case_flow_node"],
92 99
     components: {
93 100
         addCase,
94
-        caseCompressionPackage
101
+        caseCompressionPackage,
102
+        evidenceDialog,
95 103
     },
96 104
     data() {
97 105
         return {
@@ -109,8 +117,10 @@ export default {
109 117
             rules: {},
110 118
             dataList: [],
111 119
             addVisable: false,//新增弹窗
112
-            openCompressedPackages:false,//压缩包导入弹窗
120
+            openCompressedPackages: false,//压缩包导入弹窗
121
+            evidenceVisable: false,//证据修改弹窗
113 122
             caseData: {},
123
+            evidenceData: {},
114 124
             caseDisabled: false,
115 125
             caseTime: '',
116 126
             deptList: []
@@ -165,6 +175,15 @@ export default {
165 175
                 this.deptList = res.data;
166 176
             })
167 177
         },
178
+        /** 修改证据 */
179
+        evidenceUpload(row) {
180
+            this.evidenceData = row;
181
+            this.evidenceVisable = true;
182
+        },
183
+        /** 取消弹窗(证据弹窗) */
184
+        cancelEvidence() {
185
+            this.evidenceVisable = false;
186
+        },
168 187
         /** 关闭新增弹窗 */
169 188
         cancelCaseAdd() {
170 189
             this.addVisable = false;
@@ -194,15 +213,15 @@ export default {
194 213
         },
195 214
         // 法律顾问用印申请
196 215
         consultantApplica(row) {
197
-           this.$modal.confirm("你确定要用印申请吗?").then((res) => {
198
-                     
199
-                }).catch(() =>{
200
-                    
201
-            })  
216
+            this.$modal.confirm("你确定要用印申请吗?").then((res) => {
217
+
218
+            }).catch(() => {
219
+
220
+            })
202 221
         },
203 222
         // 部门长用印申请
204
-        departmentApplica(){
205
-            
223
+        departmentApplica() {
224
+
206 225
         }
207 226
     },
208 227
 };

+ 350
- 305
src/views/caseManagement/components/addCase.vue Просмотреть файл

@@ -2,313 +2,339 @@
2 2
     <div>
3 3
         <el-dialog :title="title" :visible="addVisable" v-if="addVisable" @close="cancel" width="1000px" center
4 4
             :distroy-on-close="true">
5
-            <el-form :model="formData" ref="ruleForm" label-width="130px" class="demo-ruleForm" :disabled="caseDisabled">
6
-                <el-row>
7
-                    <div style="display: inline-flex">
8
-                        <div class="infoIcon"></div>
9
-                        <div class="caseInfo">案件信息:</div>
10
-                    </div>
11
-                    <el-divider></el-divider>
12
-                    <el-col :span="24">
13
-                        <el-form-item label="申请人仲裁请求" prop="arbitratClaims" :rules="[
14
-                            {
15
-                                required: true,
16
-                                message: '申请人仲裁请求不能为空',
17
-                                trigger: 'blur',
18
-                            },
19
-                        ]">
20
-                            <el-input v-model="formData.arbitratClaims" placeholder="请输入申请人仲裁诉求" type="textarea"
21
-                                :autosize="{ minRows: 4, maxRows: 8 }" />
22
-                        </el-form-item>
23
-                    </el-col>
24
-                    <el-col :span="24">
25
-                        <el-form-item label="事实和理由" prop="facts" :rules="[
26
-                            {
27
-                                required: true,
28
-                                message: '事实和理由不能为空',
29
-                                trigger: 'blur',
30
-                            },
31
-                        ]">
32
-                            <el-input v-model="formData.facts" placeholder="请输入事实和理由" type="textarea"
33
-                                :autosize="{ minRows: 4, maxRows: 8 }" />
34
-                        </el-form-item>
35
-                    </el-col>
36
-                    <el-col :span="24">
37
-                        <el-form-item label="申请人请求仲裁庭裁决" prop="requestRule">
38
-                            <el-input v-model="formData.requestRule" placeholder="请输入申请人请求仲裁庭裁决" type="textarea"
39
-                                :autosize="{ minRows: 4, maxRows: 8 }" />
40
-                        </el-form-item>
41
-                    </el-col>
42
-                    <el-col :span="24">
43
-                        <el-form-item label="案件描述" prop="caseDescribe">
44
-                            <el-input v-model="formData.caseDescribe" placeholder="请输入案件描述" type="textarea"
45
-                                :autosize="{ minRows: 4, maxRows: 8 }" />
46
-                        </el-form-item>
47
-                    </el-col>
48
-                    <el-col :span="12">
49
-                        <el-form-item label="案件标的" prop="caseSubjectAmount" :rules="[
50
-                            {
51
-                                required: true,
52
-                                message: '案件标的不能为空',
53
-                                trigger: 'blur',
54
-                            },
55
-                        ]">
56
-                            <el-input v-model="formData.caseSubjectAmount" placeholder="请输入案件标的" />
57
-                        </el-form-item>
58
-                    </el-col>
59
-                    <el-col :span="24">
60
-                        <el-form-item label="裁决书模板" prop="templateId" :rules="[
61
-                            {
62
-                                required: true,
63
-                                message: '裁决书模板',
64
-                                trigger: 'blur',
65
-                            },
66
-                        ]">
67
-                            <el-select placeholder="请选择裁决书模板" v-model="formData.templateId">
68
-                                <el-option v-for="item in templateList" :label="item.temName" :key="item.id"
69
-                                    :value="item.id"></el-option>
70
-                            </el-select>
71
-                        </el-form-item>
72
-                    </el-col>
73
-                    <el-col :span="12">
74
-                        <el-form-item label="申请人案件证据资料上传:" prop="applicantEvidence">
75
-                            <el-upload class="upload-demo" ref="fileupload" accept=".png,.jpg,.doc,.docx,.txt,.pdf"
76
-                                :action="UploadUrl()" :on-success="handlSuccess" :on-remove="handleRemove"
77
-                                :on-preview="handlePreview" :before-remove="beforeRemove" :data="filedata"
78
-                                :headers="headers" multiple :limit="50" :on-exceed="handleExceed" :file-list="fileList">
79
-                                <el-button size="small" type="primary">点击上传</el-button>
80
-                                <div slot="tip" class="el-upload__tip">
81
-                                    文件支持上传.jpg,png,.doc,docx,.txt,.pdf文件
5
+            <el-tabs v-model="activeName">
6
+                <el-tab-pane label="案件信息" name="first"><el-form :model="formData" ref="ruleForm" label-width="130px"
7
+                        class="demo-ruleForm" :disabled="caseDisabled">
8
+                        <el-row>
9
+                            <div style="display: inline-flex">
10
+                                <div class="infoIcon"></div>
11
+                                <div class="caseInfo">案件信息:</div>
12
+                            </div>
13
+                            <el-divider></el-divider>
14
+                            <el-col :span="24">
15
+                                <el-form-item label="申请人仲裁请求" prop="arbitratClaims" :rules="[
16
+                                    {
17
+                                        required: true,
18
+                                        message: '申请人仲裁请求不能为空',
19
+                                        trigger: 'blur',
20
+                                    },
21
+                                ]">
22
+                                    <el-input v-model="formData.arbitratClaims" placeholder="请输入申请人仲裁诉求" type="textarea"
23
+                                        :autosize="{ minRows: 4, maxRows: 8 }" />
24
+                                </el-form-item>
25
+                            </el-col>
26
+                            <el-col :span="24">
27
+                                <el-form-item label="事实和理由" prop="facts" :rules="[
28
+                                    {
29
+                                        required: true,
30
+                                        message: '事实和理由不能为空',
31
+                                        trigger: 'blur',
32
+                                    },
33
+                                ]">
34
+                                    <el-input v-model="formData.facts" placeholder="请输入事实和理由" type="textarea"
35
+                                        :autosize="{ minRows: 4, maxRows: 8 }" />
36
+                                </el-form-item>
37
+                            </el-col>
38
+                            <el-col :span="24">
39
+                                <el-form-item label="申请人请求仲裁庭裁决" prop="requestRule">
40
+                                    <el-input v-model="formData.requestRule" placeholder="请输入申请人请求仲裁庭裁决" type="textarea"
41
+                                        :autosize="{ minRows: 4, maxRows: 8 }" />
42
+                                </el-form-item>
43
+                            </el-col>
44
+                            <el-col :span="24">
45
+                                <el-form-item label="案件描述" prop="caseDescribe">
46
+                                    <el-input v-model="formData.caseDescribe" placeholder="请输入案件描述" type="textarea"
47
+                                        :autosize="{ minRows: 4, maxRows: 8 }" />
48
+                                </el-form-item>
49
+                            </el-col>
50
+                            <el-col :span="12">
51
+                                <el-form-item label="案件标的" prop="caseSubjectAmount" :rules="[
52
+                                    {
53
+                                        required: true,
54
+                                        message: '案件标的不能为空',
55
+                                        trigger: 'blur',
56
+                                    },
57
+                                ]">
58
+                                    <el-input v-model="formData.caseSubjectAmount" placeholder="请输入案件标的" />
59
+                                </el-form-item>
60
+                            </el-col>
61
+                            <el-col :span="24">
62
+                                <el-form-item label="裁决书模板" prop="templateId" :rules="[
63
+                                    {
64
+                                        required: true,
65
+                                        message: '裁决书模板',
66
+                                        trigger: 'blur',
67
+                                    },
68
+                                ]">
69
+                                    <el-select placeholder="请选择裁决书模板" v-model="formData.templateId">
70
+                                        <el-option v-for="item in templateList" :label="item.temName" :key="item.id"
71
+                                            :value="item.id"></el-option>
72
+                                    </el-select>
73
+                                </el-form-item>
74
+                            </el-col>
75
+                            <el-col :span="12">
76
+                                <el-form-item label="申请人案件证据资料上传:" prop="applicantEvidence">
77
+                                    <el-upload class="upload-demo" ref="fileupload" accept=".png,.jpg,.doc,.docx,.txt,.pdf"
78
+                                        :action="UploadUrl()" :on-success="handlSuccess" :on-remove="handleRemove"
79
+                                        :on-preview="handlePreview" :before-remove="beforeRemove" :data="filedata"
80
+                                        :headers="headers" multiple :limit="50" :on-exceed="handleExceed"
81
+                                        :file-list="fileList">
82
+                                        <el-button size="small" type="primary">点击上传</el-button>
83
+                                        <div slot="tip" class="el-upload__tip">
84
+                                            文件支持上传.jpg,png,.doc,docx,.txt,.pdf文件
85
+                                        </div>
86
+                                    </el-upload>
87
+                                </el-form-item>
88
+                            </el-col>
89
+                            <el-col :span="24" v-if="modelFlag">
90
+                                <el-form-item label="证据">
91
+                                    <div v-for="(item, index) in formData.caseAttachList" :key="index">
92
+                                        <div style="color: blue;cursor: pointer;" @click="fileDetil(item.annexPath)">{{
93
+                                            item.annexName }}</div>
94
+                                    </div>
95
+                                </el-form-item>
96
+                            </el-col>
97
+                            <el-col :span="24">
98
+                                <div style="display: inline-flex">
99
+                                    <div class="infoIcon"></div>
100
+                                    <div class="caseInfo">双方信息:</div>
82 101
                                 </div>
83
-                            </el-upload>
84
-                        </el-form-item>
85
-                    </el-col>
86
-                    <el-col :span="24" v-if="modelFlag">
87
-                        <el-form-item label="证据">
88
-                            <div v-for="(item, index) in formData.caseAttachList" :key="index">
89
-                                <div style="color: blue;cursor: pointer;" @click="fileDetil(item.annexPath)">{{
90
-                                    item.annexName }}</div>
102
+                                <el-divider></el-divider>
103
+                            </el-col>
104
+                            <el-col :span="12">
105
+                                <el-form-item label="申请机构名称" prop="affiliate.applicationOrganName" :rules="[
106
+                                    {
107
+                                        required: true,
108
+                                        message: '申请机构名称不能为空',
109
+                                        trigger: 'blur',
110
+                                    },
111
+                                ]">
112
+                                    <el-input v-model="formData.affiliate.applicationOrganName" placeholder="请输入申请机构名称" />
113
+                                </el-form-item>
114
+                            </el-col>
115
+                            <el-col :span="12">
116
+                                <el-form-item label="统一社会信用代码" prop="affiliate.creditCode" :rules="[
117
+                                    {
118
+                                        required: true,
119
+                                        message: '统一社会信用代码不能为空',
120
+                                        trigger: 'blur',
121
+                                    },
122
+                                ]">
123
+                                    <el-input v-model="formData.affiliate.creditCode" placeholder="请输入统一社会信用代码" />
124
+                                </el-form-item>
125
+                            </el-col>
126
+                            <el-col :span="12">
127
+                                <el-form-item label="法定代表人" prop="affiliate.compLegalPerson" :rules="[
128
+                                    {
129
+                                        required: true,
130
+                                        message: '法定代表人不能为空',
131
+                                        trigger: 'blur',
132
+                                    },
133
+                                ]">
134
+                                    <el-input v-model="formData.affiliate.compLegalPerson" placeholder="请输入法定代表人" />
135
+                                </el-form-item>
136
+                            </el-col>
137
+                            <el-col :span="12">
138
+                                <el-form-item label="申请人住所" prop="affiliate.applicantHome" :rules="[
139
+                                    {
140
+                                        required: true,
141
+                                        message: '申请人住所不能为空',
142
+                                        trigger: 'blur',
143
+                                    },
144
+                                ]">
145
+                                    <el-input v-model="formData.affiliate.applicantHome" placeholder="请输入申请人住所" />
146
+                                </el-form-item>
147
+                            </el-col>
148
+                            <el-col :span="12">
149
+                                <el-form-item label="申请人联系地址" prop="affiliate.applicantAddress" :rules="[
150
+                                    {
151
+                                        required: true,
152
+                                        message: '申请人联系地址不能为空',
153
+                                        trigger: 'blur',
154
+                                    },
155
+                                ]">
156
+                                    <el-input v-model="formData.affiliate.applicantAddress" placeholder="请输入申请人联系地址" />
157
+                                </el-form-item>
158
+                            </el-col>
159
+                            <el-col :span="12">
160
+                                <el-form-item label="代理人联系电话" prop="affiliate.contactTelphoneAgent" :rules="[
161
+                                    {
162
+                                        required: true,
163
+                                        message: '代理人联系电话不能为空',
164
+                                        trigger: 'blur',
165
+                                    },
166
+                                    {
167
+                                        pattern: /^[1][3,4,5,6,7,8,9][0-9]{9}$/,
168
+                                        message: '请输入正确的手机号码',
169
+                                        trigger: 'blur',
170
+                                    },
171
+                                ]">
172
+                                    <el-input v-model="formData.affiliate.contactTelphoneAgent" placeholder="请输入代理人联系电话" />
173
+                                </el-form-item>
174
+                            </el-col>
175
+                            <el-col :span="12">
176
+                                <el-form-item label="委托代理人姓名" prop="affiliate.nameAgent" :rules="[
177
+                                    {
178
+                                        required: true,
179
+                                        message: '委托代理人姓名不能为空',
180
+                                        trigger: 'blur',
181
+                                    },
182
+                                ]">
183
+                                    <el-input v-model="formData.affiliate.nameAgent" placeholder="请输入委托代理人姓名" />
184
+                                </el-form-item>
185
+                            </el-col>
186
+                            <el-col :span="12">
187
+                                <el-form-item label="代理人邮箱" prop="affiliate.agentEmail" :rules="[
188
+                                    {
189
+                                        required: true,
190
+                                        message: '代理人邮箱不能为空',
191
+                                        trigger: 'blur',
192
+                                    },
193
+                                    {
194
+                                        pattern:
195
+                                            /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/,
196
+                                        message: '请输入正确的邮箱地址',
197
+                                        trigger: 'blur',
198
+                                    },
199
+                                ]">
200
+                                    <el-input v-model="formData.affiliate.agentEmail" placeholder="请输入代理人邮箱" />
201
+                                </el-form-item>
202
+                            </el-col>
203
+                            <el-col :span="12">
204
+                                <el-form-item label="被申请人姓名" prop="affiliate.respondentName" :rules="[
205
+                                    {
206
+                                        required: true,
207
+                                        message: '被申请人姓名不能为空',
208
+                                        trigger: 'blur',
209
+                                    },
210
+                                ]">
211
+                                    <el-input v-model="formData.affiliate.respondentName" placeholder="请输入被申请人姓名" />
212
+                                </el-form-item>
213
+                            </el-col>
214
+                            <el-col :span="12">
215
+                                <el-form-item label="被申请人联系电话" prop="affiliate.respondentPhone" :rules="[
216
+                                    {
217
+                                        required: true,
218
+                                        message: '被申请人联系电话不能为空',
219
+                                        trigger: 'blur',
220
+                                    },
221
+                                    {
222
+                                        pattern: /^[1][3,4,5,6,7,8,9][0-9]{9}$/,
223
+                                        message: '请输入正确的手机号码',
224
+                                        trigger: 'blur',
225
+                                    },
226
+                                ]">
227
+                                    <el-input v-model="formData.affiliate.respondentPhone" placeholder="请输入被申请人联系电话" />
228
+                                </el-form-item>
229
+                            </el-col>
230
+                            <el-col :span="12">
231
+                                <el-form-item label="被申请人身份证号" prop="affiliate.respondentIdentityNum" :rules="[
232
+                                    {
233
+                                        required: true,
234
+                                        message: '被申请人身份证号不能为空',
235
+                                        trigger: 'blur',
236
+                                    },
237
+                                    {
238
+                                        pattern:
239
+                                            /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/,
240
+                                        message: '请输入正确的身份证号码',
241
+                                        trigger: 'blur',
242
+                                    },
243
+                                ]">
244
+                                    <el-input v-model="formData.affiliate.respondentIdentityNum"
245
+                                        placeholder="请输入被申请人身份证号" />
246
+                                </el-form-item>
247
+                            </el-col>
248
+                            <el-col :span="12">
249
+                                <el-form-item label="被申请人性别:" prop="affiliate.respondentSex" :rules="[
250
+                                    {
251
+                                        required: true,
252
+                                        message: '请选择性别'
253
+                                    },
254
+                                ]">
255
+                                    <el-radio-group v-model="formData.affiliate.respondentSex">
256
+                                        <el-radio label="0">男</el-radio>
257
+                                        <el-radio label="1">女</el-radio>
258
+                                    </el-radio-group>
259
+                                </el-form-item>
260
+                            </el-col>
261
+                            <el-col :span="12">
262
+                                <el-form-item label="被申请人出生年月日:" prop="affiliate.respondentBirth" :rules="[
263
+                                    {
264
+                                        required: true,
265
+                                        message: '被申请人出生年月日不能为空',
266
+                                        trigger: 'blur',
267
+                                    },
268
+                                ]">
269
+                                    <el-date-picker v-model="formData.affiliate.respondentBirth" type="date"
270
+                                        placeholder="被申请人出生年月日">
271
+                                    </el-date-picker>
272
+                                </el-form-item>
273
+                            </el-col>
274
+                            <el-col :span="12">
275
+                                <el-form-item label="被申请人申请人住所" prop="affiliate.respondentHome" :rules="[
276
+                                    {
277
+                                        required: true,
278
+                                        message: '被申请人申请人住所不能为空',
279
+                                        trigger: 'blur',
280
+                                    },
281
+                                ]">
282
+                                    <el-input v-model="formData.affiliate.respondentHome" placeholder="请输入被申请人申请人住所" />
283
+                                </el-form-item>
284
+                            </el-col>
285
+                            <el-col :span="12">
286
+                                <el-form-item label="被申请人邮箱" prop="affiliate.respondentEmail" :rules="[
287
+                                    {
288
+                                        required: true,
289
+                                        message: '代理人邮箱不能为空',
290
+                                        trigger: 'blur',
291
+                                    },
292
+                                    {
293
+                                        pattern:
294
+                                            /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/,
295
+                                        message: '请输入正确的邮箱地址',
296
+                                        trigger: 'blur',
297
+                                    },
298
+                                ]">
299
+                                    <el-input v-model="formData.affiliate.respondentEmail" placeholder="请输入被申请人邮箱" />
300
+                                </el-form-item>
301
+                            </el-col>
302
+                        </el-row>
303
+                        <el-col :span="24" v-if="modelFlag">
304
+                            <div style="display: inline-flex">
305
+                                <div class="infoIcon"></div>
306
+                                <div class="caseInfo">抓取规则设置</div>
91 307
                             </div>
92
-                        </el-form-item>
93
-                    </el-col>
94
-                    <el-col :span="24">
95
-                        <div style="display: inline-flex">
96
-                            <div class="infoIcon"></div>
97
-                            <div class="caseInfo">双方信息:</div>
308
+                            <el-divider></el-divider>
309
+                        </el-col>
310
+                        <el-col :span="24" v-if="modelFlag">
311
+                            <el-form-item v-for="(item) in formData.columnValueList" :label="item.name" :key="item.id">
312
+                                <el-input type="textarea" v-model="item.value"></el-input>
313
+                            </el-form-item>
314
+                        </el-col>
315
+                    </el-form></el-tab-pane>
316
+                <el-tab-pane label="证据清单" name="second" v-show="evidenceFlag">
317
+                    <el-card class="box-card" style="margin-bottom: 30px;">
318
+                        <div slot="header" class="clearfix">
319
+                            <span>申请人证据清单</span>
320
+                        </div>
321
+                        <div v-for="(item, index) in applicantEvidence" :key="index" class="text item"
322
+                            style="color: blue;cursor: pointer;" @click="toPreview(item.annexPath)">
323
+                            {{ item.annexName }}
324
+                        </div>
325
+                    </el-card>
326
+                    <el-card class="box-card">
327
+                        <div slot="header" class="clearfix">
328
+                            <span>被申请人证据清单</span>
329
+                        </div>
330
+                        <div v-for="(item, index) in respondentEvidence" :key="index" class="text item"
331
+                            style="color: blue;cursor: pointer;" @click="toPreview(item.annexPath)">
332
+                            {{ item.annexName }}
98 333
                         </div>
99
-                        <el-divider></el-divider>
100
-                    </el-col>
101
-                    <el-col :span="12">
102
-                        <el-form-item label="申请机构名称" prop="affiliate.applicationOrganName" :rules="[
103
-                            {
104
-                                required: true,
105
-                                message: '申请机构名称不能为空',
106
-                                trigger: 'blur',
107
-                            },
108
-                        ]">
109
-                            <el-input v-model="formData.affiliate.applicationOrganName" placeholder="请输入申请机构名称" />
110
-                        </el-form-item>
111
-                    </el-col>
112
-                    <el-col :span="12">
113
-                        <el-form-item label="统一社会信用代码" prop="affiliate.creditCode" :rules="[
114
-                            {
115
-                                required: true,
116
-                                message: '统一社会信用代码不能为空',
117
-                                trigger: 'blur',
118
-                            },
119
-                        ]">
120
-                            <el-input v-model="formData.affiliate.creditCode" placeholder="请输入统一社会信用代码" />
121
-                        </el-form-item>
122
-                    </el-col>
123
-                    <el-col :span="12">
124
-                        <el-form-item label="法定代表人" prop="affiliate.compLegalPerson" :rules="[
125
-                            {
126
-                                required: true,
127
-                                message: '法定代表人不能为空',
128
-                                trigger: 'blur',
129
-                            },
130
-                        ]">
131
-                            <el-input v-model="formData.affiliate.compLegalPerson" placeholder="请输入法定代表人" />
132
-                        </el-form-item>
133
-                    </el-col>
134
-                    <el-col :span="12">
135
-                        <el-form-item label="申请人住所" prop="affiliate.applicantHome" :rules="[
136
-                            {
137
-                                required: true,
138
-                                message: '申请人住所不能为空',
139
-                                trigger: 'blur',
140
-                            },
141
-                        ]">
142
-                            <el-input v-model="formData.affiliate.applicantHome" placeholder="请输入申请人住所" />
143
-                        </el-form-item>
144
-                    </el-col>
145
-                    <el-col :span="12">
146
-                        <el-form-item label="申请人联系地址" prop="affiliate.applicantAddress" :rules="[
147
-                            {
148
-                                required: true,
149
-                                message: '申请人联系地址不能为空',
150
-                                trigger: 'blur',
151
-                            },
152
-                        ]">
153
-                            <el-input v-model="formData.affiliate.applicantAddress" placeholder="请输入申请人联系地址" />
154
-                        </el-form-item>
155
-                    </el-col>
156
-                    <el-col :span="12">
157
-                        <el-form-item label="代理人联系电话" prop="affiliate.contactTelphoneAgent" :rules="[
158
-                            {
159
-                                required: true,
160
-                                message: '代理人联系电话不能为空',
161
-                                trigger: 'blur',
162
-                            },
163
-                            {
164
-                                pattern: /^[1][3,4,5,6,7,8,9][0-9]{9}$/,
165
-                                message: '请输入正确的手机号码',
166
-                                trigger: 'blur',
167
-                            },
168
-                        ]">
169
-                            <el-input v-model="formData.affiliate.contactTelphoneAgent" placeholder="请输入代理人联系电话" />
170
-                        </el-form-item>
171
-                    </el-col>
172
-                    <el-col :span="12">
173
-                        <el-form-item label="委托代理人姓名" prop="affiliate.nameAgent" :rules="[
174
-                            {
175
-                                required: true,
176
-                                message: '委托代理人姓名不能为空',
177
-                                trigger: 'blur',
178
-                            },
179
-                        ]">
180
-                            <el-input v-model="formData.affiliate.nameAgent" placeholder="请输入委托代理人姓名" />
181
-                        </el-form-item>
182
-                    </el-col>
183
-                    <el-col :span="12">
184
-                        <el-form-item label="代理人邮箱" prop="affiliate.agentEmail" :rules="[
185
-                            {
186
-                                required: true,
187
-                                message: '代理人邮箱不能为空',
188
-                                trigger: 'blur',
189
-                            },
190
-                            {
191
-                                pattern:
192
-                                    /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/,
193
-                                message: '请输入正确的邮箱地址',
194
-                                trigger: 'blur',
195
-                            },
196
-                        ]">
197
-                            <el-input v-model="formData.affiliate.agentEmail" placeholder="请输入代理人邮箱" />
198
-                        </el-form-item>
199
-                    </el-col>
200
-                    <el-col :span="12">
201
-                        <el-form-item label="被申请人姓名" prop="affiliate.respondentName" :rules="[
202
-                            {
203
-                                required: true,
204
-                                message: '被申请人姓名不能为空',
205
-                                trigger: 'blur',
206
-                            },
207
-                        ]">
208
-                            <el-input v-model="formData.affiliate.respondentName" placeholder="请输入被申请人姓名" />
209
-                        </el-form-item>
210
-                    </el-col>
211
-                    <el-col :span="12">
212
-                        <el-form-item label="被申请人联系电话" prop="affiliate.respondentPhone" :rules="[
213
-                            {
214
-                                required: true,
215
-                                message: '被申请人联系电话不能为空',
216
-                                trigger: 'blur',
217
-                            },
218
-                            {
219
-                                pattern: /^[1][3,4,5,6,7,8,9][0-9]{9}$/,
220
-                                message: '请输入正确的手机号码',
221
-                                trigger: 'blur',
222
-                            },
223
-                        ]">
224
-                            <el-input v-model="formData.affiliate.respondentPhone" placeholder="请输入被申请人联系电话" />
225
-                        </el-form-item>
226
-                    </el-col>
227
-                    <el-col :span="12">
228
-                        <el-form-item label="被申请人身份证号" prop="affiliate.respondentIdentityNum" :rules="[
229
-                            {
230
-                                required: true,
231
-                                message: '被申请人身份证号不能为空',
232
-                                trigger: 'blur',
233
-                            },
234
-                            {
235
-                                pattern:
236
-                                    /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/,
237
-                                message: '请输入正确的身份证号码',
238
-                                trigger: 'blur',
239
-                            },
240
-                        ]">
241
-                            <el-input v-model="formData.affiliate.respondentIdentityNum" placeholder="请输入被申请人身份证号" />
242
-                        </el-form-item>
243
-                    </el-col>
244
-                    <el-col :span="12">
245
-                        <el-form-item label="被申请人性别:" prop="affiliate.respondentSex" :rules="[
246
-                            {
247
-                                required: true,
248
-                                message: '请选择性别'
249
-                            },
250
-                        ]">
251
-                            <el-radio-group v-model="formData.affiliate.respondentSex">
252
-                                <el-radio label="0">男</el-radio>
253
-                                <el-radio label="1">女</el-radio>
254
-                            </el-radio-group>
255
-                        </el-form-item>
256
-                    </el-col>
257
-                    <el-col :span="12">
258
-                        <el-form-item label="被申请人出生年月日:" prop="affiliate.respondentBirth" :rules="[
259
-                            {
260
-                                required: true,
261
-                                message: '被申请人出生年月日不能为空',
262
-                                trigger: 'blur',
263
-                            },
264
-                        ]">
265
-                            <el-date-picker v-model="formData.affiliate.respondentBirth" type="date"
266
-                                placeholder="被申请人出生年月日">
267
-                            </el-date-picker>
268
-                        </el-form-item>
269
-                    </el-col>
270
-                    <el-col :span="12">
271
-                        <el-form-item label="被申请人申请人住所" prop="affiliate.respondentHome" :rules="[
272
-                            {
273
-                                required: true,
274
-                                message: '被申请人申请人住所不能为空',
275
-                                trigger: 'blur',
276
-                            },
277
-                        ]">
278
-                            <el-input v-model="formData.affiliate.respondentHome" placeholder="请输入被申请人申请人住所" />
279
-                        </el-form-item>
280
-                    </el-col>
281
-                    <el-col :span="12">
282
-                        <el-form-item label="被申请人邮箱" prop="affiliate.respondentEmail" :rules="[
283
-                            {
284
-                                required: true,
285
-                                message: '代理人邮箱不能为空',
286
-                                trigger: 'blur',
287
-                            },
288
-                            {
289
-                                pattern:
290
-                                    /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/,
291
-                                message: '请输入正确的邮箱地址',
292
-                                trigger: 'blur',
293
-                            },
294
-                        ]">
295
-                            <el-input v-model="formData.affiliate.respondentEmail" placeholder="请输入被申请人邮箱" />
296
-                        </el-form-item>
297
-                    </el-col>
298
-                </el-row>
299
-                <el-col :span="24" v-if="modelFlag">
300
-                    <div style="display: inline-flex">
301
-                        <div class="infoIcon"></div>
302
-                        <div class="caseInfo">抓取规则设置</div>
303
-                    </div>
304
-                    <el-divider></el-divider>
305
-                </el-col>
306
-                <el-col :span="24" v-if="modelFlag">
307
-                    <el-form-item v-for="(item) in formData.columnValueList" :label="item.name" :key="item.id">
308
-                        <el-input type="textarea" v-model="item.value"></el-input>
309
-                    </el-form-item>
310
-                </el-col>
311
-            </el-form>
334
+                    </el-card>
335
+                </el-tab-pane>
336
+            </el-tabs>
337
+
312 338
             <div slot="footer" class="dialog-footer">
313 339
                 <el-button @click="cancel" class="endbutton"><span>取 消</span></el-button>
314 340
                 <el-button type="primary" @click="submitForm" class="endbutton"><span>确认</span></el-button>
@@ -330,6 +356,7 @@ export default {
330 356
     dicts: ["case_built_type"],
331 357
     data() {
332 358
         return {
359
+            activeName: 'first',
333 360
             title: "新增案件",
334 361
             formData: {
335 362
                 affiliate: {
@@ -348,6 +375,9 @@ export default {
348 375
             headers: {
349 376
                 Authorization: "Bearer " + getToken(),
350 377
             },
378
+            applicantEvidence: [],//申请人证据
379
+            respondentEvidence: [],//被申请人证据
380
+            evidenceFlag: false
351 381
         };
352 382
     },
353 383
     watch: {
@@ -360,6 +390,7 @@ export default {
360 390
                     this.title = '修改案件';
361 391
                     this.caseApplicationSelectByIdFn(val.id)
362 392
                 } else if (!val.id && !val.flag) {
393
+                    this.evidenceFlag = false;
363 394
                     this.modelFlag = false;
364 395
                     this.title = '新增案件';
365 396
                     this.formData = {
@@ -372,6 +403,7 @@ export default {
372 403
                 } else if (val.id && val.flag == 1) {
373 404
                     this.modelFlag = true;
374 405
                     this.title = '案件详情';
406
+                    this.evidenceFlag = true;
375 407
                     this.caseApplicationSelectByIdFn(val.id);
376 408
                 }
377 409
             },
@@ -383,8 +415,17 @@ export default {
383 415
     methods: {
384 416
         /** 根据案件id获取对应信息 */
385 417
         caseApplicationSelectByIdFn(data) {
418
+            this.applicantEvidence = [];
419
+            this.respondentEvidence = [];
386 420
             caseApplicationSelectById({ id: data }).then((res => {
387 421
                 this.formData = res.data;
422
+                this.formData.caseAttachList.forEach(item => {
423
+                    if (item.annexType == 2) {
424
+                        this.applicantEvidence.push(item)
425
+                    } else if (item.annexType == 6) {
426
+                        this.respondentEvidence.push(item)
427
+                    }
428
+                })
388 429
             }))
389 430
         },
390 431
         // 新增案件
@@ -406,6 +447,10 @@ export default {
406 447
         fileDetil(val) {
407 448
             window.open(this.fileURL + val)
408 449
         },
450
+        /** 查看证据 */
451
+        toPreview(val) {
452
+            window.open(this.fileURL + val)
453
+        },
409 454
         /** 文件上传地址 */
410 455
         UploadUrl() {
411 456
             return window.location.origin + "/API/common/upload";
@@ -414,7 +459,7 @@ export default {
414 459
         handlSuccess(res, file) {
415 460
             this.formData.caseAttachList.push(
416 461
                 {
417
-                    annexId:res.annexId,
462
+                    annexId: res.annexId,
418 463
                 }
419 464
             );
420 465
         },

+ 139
- 0
src/views/caseManagement/components/evidenceDialog.vue Просмотреть файл

@@ -0,0 +1,139 @@
1
+<template>
2
+    <div>
3
+        <el-dialog title="修改证据" :visible="evidenceVisable" @close="cancel" center :distroy-on-close="true">
4
+            <el-descriptions title="案件内容" :column="2" border>
5
+                <el-descriptions-item label="案件编号">{{ evidenceData.caseNum }}</el-descriptions-item>
6
+                <el-descriptions-item label="申请人(机构)">{{ evidenceData.applicantName }}</el-descriptions-item>
7
+                <el-descriptions-item label="案件标的">{{ evidenceData.caseSubjectAmount }}</el-descriptions-item>
8
+                <el-descriptions-item label="案件状态">
9
+                    <el-tag size="small">{{ evidenceData.caseStatusName }}</el-tag>
10
+                </el-descriptions-item>
11
+                <el-descriptions-item label="仲裁方式">{{ evidenceData.arbitratMethodName }}</el-descriptions-item>
12
+                <el-descriptions-item label="申请人证据">
13
+                    <div style="color: #104fad;cursor:pointer" v-for="(item, index) in fileListData"
14
+                        @click="preview(item.annexPath)" :key="index">
15
+                        {{ item.annexName }}</div>
16
+                </el-descriptions-item>
17
+            </el-descriptions>
18
+            <div style="margin-top: 30px;">
19
+                <el-upload class="upload-demo" ref="upload" action="" :file-list="fileList" accept=".png,.jpg,.doc,.docx,.txt,.pdf"
20
+                    :auto-upload="false" :http-request="uploadFile" :on-change="beforeAvatarUpload" :before-remove="beforeRemove" multiple>
21
+                    <el-button type="primary"><span>选择证据</span></el-button>
22
+                </el-upload>
23
+            </div>
24
+            <div slot="footer" class="dialog-footer">
25
+                <el-button @click="cancel" class="endbutton1"><span>取 消</span></el-button>
26
+                <el-button @click="upload" class="endbutton1"><span>点击上传</span></el-button>
27
+            </div>
28
+        </el-dialog>
29
+    </div>
30
+</template>
31
+  
32
+<script>
33
+import { getFileList, batchUpload } from '@/api/caseManagement/caseManagement'
34
+import { getToken } from "@/utils/auth";
35
+export default {
36
+    props: ["evidenceVisable", "evidenceData"],
37
+    data() {
38
+        return {
39
+            fileListData: [],
40
+            // 上传文件的列表
41
+            uploadFiles: [],
42
+            // 上传文件的个数
43
+            filesLength: 0,
44
+            info: {
45
+                annexType: 2,
46
+            },
47
+            fileList:[]
48
+            // headers: {
49
+            //     Authorization: "Bearer " + getToken(),
50
+            // },
51
+        };
52
+    },
53
+    watch: {
54
+        evidenceVisable(val) {
55
+            this.fileList = []
56
+            if (val) {
57
+                this.getEvidenceList({ caseAppliId: this.evidenceData.id, annexTypeList: "2" })
58
+            }
59
+        }
60
+    },
61
+    created() {
62
+        this.info.id = this.evidenceData.id;
63
+    },
64
+    methods: {
65
+        preview(data) {
66
+            window.open(
67
+                window.location.origin + "/API" + data,
68
+                "_blank"
69
+            );
70
+        },
71
+        UploadUrl() {
72
+            return window.location.origin + "/API/evidence/upload";
73
+        },
74
+        cancel() {
75
+            this.$emit("cancelEvidence");
76
+        },
77
+        // 修改当前文件列表长度
78
+        // changeFileLength(file, fileList) {
79
+        //     this.uploadFiles.push(file)
80
+        // },
81
+        // 删除文件
82
+        beforeRemove(file, fileList){
83
+            this.uploadFiles = fileList
84
+        },
85
+        // 文件上传之前处理
86
+        beforeAvatarUpload(file,fileList) {
87
+            console.log(file,fileList,"before");
88
+            this.uploadFiles = [];
89
+            // this.uploadFiles.push(file)
90
+            this.uploadFiles = fileList
91
+        },
92
+        // 用户点击上传调用
93
+        async upload() {
94
+            // 触发上传 调用配置 :http-request="uploadFile"
95
+            // 即触发 uploadFile函数
96
+            this.uploadFile()
97
+            // await this.$refs.upload.submit();
98
+            // 上传完成后执行的操作 ...
99
+        },
100
+        // 该函数还是会被调用多次
101
+        // 每次param参数传入一个文件
102
+        uploadFile() {
103
+            // 将文件加入需要上传的文件列表
104
+            // 当uploadFiles长度等于用户需要上传的文件数时进行上传
105
+            // 创建FormData上传
106
+            if (this.uploadFiles.length === 0) {
107
+                this.$message.warning('请选取文件')
108
+                return
109
+            }
110
+            let fd = new FormData()
111
+            // 将全部文件添加至FormData中
112
+            this.uploadFiles.forEach(file => {
113
+                fd.append('file', file.raw)
114
+            })
115
+            // // 将附加信息添加至FormData
116
+            fd.append("id", this.evidenceData.id)
117
+            fd.append("annexType", this.info.annexType)
118
+            // 上传文件
119
+            batchUpload(fd).then(res => {
120
+                this.$modal.msgSuccess("上传成功");
121
+                this.cancel()
122
+            })
123
+        },
124
+        // 获取案件申请人证据列表
125
+        getEvidenceList(data) {
126
+            getFileList(data).then(res => {
127
+                this.fileListData = res.data;
128
+            })
129
+        }
130
+    },
131
+};
132
+</script>
133
+  
134
+<style lang="scss" scoped>
135
+.steps {
136
+    display: flex;
137
+    flex-wrap: wrap;
138
+}
139
+</style>