Bladeren bron

案件列表信息,详情,修改,压缩包

fz 2 jaren geleden
bovenliggende
commit
3151c2f6cf

+ 2
- 0
src/main.js Bestand weergeven

@@ -38,6 +38,7 @@ import VueMeta from 'vue-meta'
38 38
 // 字典数据组件
39 39
 import DictData from '@/components/DictData'
40 40
 import {checkPermi} from '@/utils/permission'
41
+import { statusRole } from '@/utils/permission'
41 42
 
42 43
 // 全局方法挂载
43 44
 Vue.prototype.getDicts = getDicts
@@ -50,6 +51,7 @@ Vue.prototype.selectDictLabels = selectDictLabels
50 51
 Vue.prototype.download = download
51 52
 Vue.prototype.handleTree = handleTree
52 53
 Vue.prototype.checkPermi = checkPermi
54
+Vue.prototype.statusRole = statusRole
53 55
 
54 56
 // 全局组件挂载
55 57
 Vue.component('DictTag', DictTag)

+ 96
- 22
src/views/caseManagement/caseList.vue Bestand weergeven

@@ -1,19 +1,44 @@
1 1
 <template>
2 2
     <div class="app-container">
3 3
         <el-form :model="queryParams" ref="queryForm" size="small" :inline="true">
4
-            <el-form-item label="案件状态" prop="roleName">
5
-                <el-input v-model="queryParams.roleName" placeholder="请输入案件状态" clearable style="width: 240px"
4
+            <el-form-item label="案件状态" prop="caseFlowId">
5
+                <el-select v-model="queryParams.caseFlowId" placeholder="请选择" @change="columnNameChange(item)" clearable>
6
+                    <el-option v-for="dict in dict.type.case_flow_node" :key="dict.value" :label="dict.label"
7
+                        :value="dict.value" @keyup.enter.native="handleQuery"></el-option>
8
+                </el-select>
9
+            </el-form-item>
10
+            <el-form-item label="申请机构" prop="applicationOrganId">
11
+                <el-select v-model="queryParams.applicationOrganId" placeholder="请选择" clearable>
12
+                    <el-option v-for="dict in deptList" :key="dict.deptId" :label="dict.deptName" :value="dict.deptId"
13
+                        @keyup.enter.native="handleQuery"></el-option>
14
+                </el-select>
15
+            </el-form-item>
16
+            <el-form-item label="批号" prop="batchNumber">
17
+                <el-input v-model="queryParams.batchNumber" placeholder="请输入案件批号" clearable style="width: 240px"
18
+                    @keyup.enter.native="handleQuery" />
19
+            </el-form-item>
20
+            <el-form-item label="案件编号" prop="caseNum">
21
+                <el-input v-model="queryParams.caseNum" placeholder="请输入案件编号" clearable style="width: 240px"
6 22
                     @keyup.enter.native="handleQuery" />
7 23
             </el-form-item>
24
+            <el-form-item label="创建时间" prop="caseTime">
25
+                <el-date-picker v-model="caseTime" type="datetimerange" align="right" unlink-panels range-separator="至"
26
+                    start-placeholder="开始日期" end-placeholder="结束日期" clearable style="width: 240px" @change="caseTimeChange">
27
+                </el-date-picker>
28
+            </el-form-item>
8 29
             <el-form-item>
9 30
                 <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
10
-                <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
31
+                <!-- <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> -->
11 32
             </el-form-item>
12 33
         </el-form>
13 34
         <el-row :gutter="10" class="mb8">
14 35
             <el-col :span="1.5">
15 36
                 <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="addCase">新增案件</el-button>
16 37
             </el-col>
38
+            <el-col :span="1.5">
39
+                <el-button type="primary" plain icon="el-icon-plus" size="mini"
40
+                    @click="compressedPackages">案件压缩包上传</el-button>
41
+            </el-col>
17 42
         </el-row>
18 43
         <el-table v-loading="loading" :data="dataList" style="width: 100%">
19 44
             <el-table-column label="序号" type="index" align="center">
@@ -31,28 +56,39 @@
31 56
             <el-table-column label="调解员" align="center" prop="mediatorName" :show-overflow-tooltip="true" />
32 57
             <el-table-column label="开庭日期" align="center" prop="hearDate" :show-overflow-tooltip="true" />
33 58
             <el-table-column label="案件状态" align="center" prop="caseStatusName" :show-overflow-tooltip="true" />
34
-            <el-table-column label="创建时间" align="center" class-name="small-padding fixed-width">
59
+            <el-table-column label="创建时间" align="center" prop="createTime" :show-overflow-tooltip="true" />
60
+            <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
35 61
                 <template slot-scope="scope">
36
-                    <el-button size="mini" @click="eidtNodeprocess(scope.row)" type="text"
37
-                        icon="el-icon-edit">修改</el-button>
38
-                    <el-button size="mini" @click="checkDetail(scope.row)" type="text"
39
-                        icon="el-icon-delete">查看详情</el-button>
62
+                    <el-button size="mini" @click="eidtNodeprocess(scope.row)" type="text" icon="el-icon-edit"
63
+                        v-if="statusRole(scope.row.caseFlowId)">修改</el-button>
64
+                    <el-button size="mini" @click="checkDetail(scope.row)" type="text" icon="el-icon-view">查看详情</el-button>
40 65
                 </template>
41 66
             </el-table-column>
42 67
         </el-table>
43 68
         <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
44 69
             @pagination="getList(queryParams)" />
45
-        <addCase :addVisable="addVisable" :queryParams="queryParams" @cancelCaseAdd="cancelCaseAdd" @getList="getList" :caseData="caseData"></addCase>    
70
+        <!-- 新增编辑详情 -->
71
+        <addCase :addVisable="addVisable" :queryParams="queryParams" @cancelCaseAdd="cancelCaseAdd" @getList="getList"
72
+            :caseData="caseData" :caseDisabled="caseDisabled"></addCase>
73
+        <!-- 压缩包导入     -->
74
+        <caseCompressionPackage :openCompressedPackages="openCompressedPackages" :queryParams="queryParams"
75
+            @cancelCompreess="cancelCompreess" :getList="getList">
76
+        </caseCompressionPackage>
46 77
     </div>
47 78
 </template>
48 79
 
49 80
 <script>
50 81
 import { caseApplicationList } from '@/api/caseManagement/caseManagement.js'
82
+import { listDept } from '@/api/system/dept.js'
83
+import moment from "moment";
51 84
 import addCase from './components/addCase.vue'
85
+import caseCompressionPackage from './components/caseCompressionPackage.vue';
52 86
 export default {
53 87
     name: "caseList",
88
+    dicts: ["case_flow_node"],
54 89
     components: {
55
-        addCase
90
+        addCase,
91
+        caseCompressionPackage
56 92
     },
57 93
     data() {
58 94
         return {
@@ -70,42 +106,80 @@ export default {
70 106
             rules: {},
71 107
             dataList: [],
72 108
             addVisable: false,//新增弹窗
109
+            openCompressedPackages:false,//压缩包导入弹窗
73 110
             caseData: {},
111
+            caseDisabled: false,
112
+            caseTime: '',
113
+            deptList: []
74 114
         };
75 115
     },
76 116
     created() {
77
-        this.getList(this.queryParams)
117
+        this.getList(this.queryParams);
118
+        this.listDeptFn()
78 119
     },
79 120
     methods: {
80 121
         /** 新增案件 */
81
-        addCase(){
122
+        addCase() {
82 123
             this.addVisable = true;
83 124
             this.caseData = {};
125
+            this.caseDisabled = false;
84 126
         },
85 127
         /** 查看详情 */
86
-        checkDetail(val){
87
-            // this.addVisable = true;
88
-            // this.caseData = val;
128
+        checkDetail(val) {
129
+            this.addVisable = true;
130
+            this.caseData = val;
131
+            this.caseData.flag = 1;
132
+            this.caseDisabled = true;
89 133
         },
90 134
         /** 修改案件 */
91
-        eidtNodeprocess(row){
135
+        eidtNodeprocess(row) {
92 136
             this.addVisable = true;
93 137
             this.caseData = row;
138
+            this.caseDisabled = false;
94 139
         },
95
-        /** 关闭弹窗 */
96
-        cancelCaseAdd(){
140
+        /** 案件导入压缩包 */
141
+        compressedPackages() {
142
+            this.openCompressedPackages = true;
143
+        },
144
+        /** 时间改变处理 */
145
+        caseTimeChange() {
146
+            if (this.caseTime) {
147
+                this.queryParams.startTime = moment(
148
+                    this.caseTime[0]
149
+                ).format("YYYY-MM-DD HH:mm:ss");
150
+                this.queryParams.endTime = moment(
151
+                    this.caseTime[1]
152
+                ).format("YYYY-MM-DD HH:mm:ss");
153
+            } else {
154
+                this.queryParams.startTime = '';
155
+                this.queryParams.endTime = '';
156
+            }
157
+
158
+        },
159
+        /** 获取所有部门 */
160
+        listDeptFn() {
161
+            listDept().then(res => {
162
+                this.deptList = res.data;
163
+            })
164
+        },
165
+        /** 关闭新增弹窗 */
166
+        cancelCaseAdd() {
97 167
             this.addVisable = false;
98 168
         },
169
+        /** 关闭压缩包导入弹窗 */
170
+        cancelCompreess() {
171
+            this.openCompressedPackages = false;
172
+        },
99 173
         /** 搜索按钮操作 */
100 174
         handleQuery() {
101 175
             this.queryParams.pageNum = 1;
102 176
             this.getList(this.queryParams);
103 177
         },
104 178
         /** 重置按钮操作 */
105
-        resetQuery() {
106
-            this.resetForm("queryForm");
107
-            this.handleQuery();
108
-        },
179
+        // resetQuery() {
180
+        //     this.resetForm("queryForm");
181
+        //     this.handleQuery();
182
+        // },
109 183
         // 查询列表数据
110 184
         getList(parms) {
111 185
             this.loading = true;

+ 58
- 176
src/views/caseManagement/components/addCase.vue Bestand weergeven

@@ -2,8 +2,7 @@
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
-
6
-            <el-form :model="formData" ref="ruleForm" label-width="130px" class="demo-ruleForm">
5
+            <el-form :model="formData" ref="ruleForm" label-width="130px" class="demo-ruleForm" :disabled="caseDisabled">
7 6
                 <el-row>
8 7
                     <div style="display: inline-flex">
9 8
                         <div class="infoIcon"></div>
@@ -57,6 +56,20 @@
57 56
                             <el-input v-model="formData.caseSubjectAmount" placeholder="请输入案件标的" />
58 57
                         </el-form-item>
59 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>
60 73
                     <el-col :span="24">
61 74
                         <div style="display: inline-flex">
62 75
                             <div class="infoIcon"></div>
@@ -262,99 +275,19 @@
262 275
                         </el-form-item>
263 276
                     </el-col>
264 277
                 </el-row>
265
-            </el-form>
266
-            <div style="display: inline-flex">
267
-                <div class="infoIcon"></div>
268
-                <div class="caseInfo">抓取规则设置</div>
269
-            </div>
270
-            <el-divider></el-divider>
271
-            <el-button type="primary" icon="el-icon-plus" style="margin-bottom: 20px;"
272
-                @click="addForm">新增系统内置抓取规则</el-button>
273
-            <div class="formDom">
274
-                <el-form ref="form" :model="formData_type" label-width="150px">
275
-                    <div class="formItem" v-for="(item, index) in formData_type.forms" :key="item.key">
276
-                        <el-button type="primary" icon="el-icon-delete" style="margin-bottom: 20px;"
277
-                            @click="deleteForm(item)">删除</el-button>
278
-                        <el-row>
279
-                            <el-col :span="12">
280
-                                <el-form-item label="字段:" :prop="'forms.' + index + '.column'">
281
-                                    <el-input v-model="item.column" placeholder="请输入字段" />
282
-                                </el-form-item>
283
-                            </el-col>
284
-                            <el-col :span="12">
285
-                                <el-form-item label="字段名:" :prop="'forms.' + index + '.columnName'">
286
-                                    <el-select v-model="item.columnName" placeholder="请选择" @change="columnNameChange(item)">
287
-                                        <el-option v-for="dict in dict.type.case_built_type" :key="dict.value"
288
-                                            :label="dict.label" :value="dict.label"></el-option>
289
-                                    </el-select>
290
-                                </el-form-item>
291
-                            </el-col>
292
-                            <el-col :span="12">
293
-                                <el-form-item label="字段值:" :prop="'forms.' + index + '.value'">
294
-                                    <el-input v-model="item.value" placeholder="请输入字段值" />
295
-                                </el-form-item>
296
-                            </el-col>
297
-                        </el-row>
298
-                    </div>
299
-                </el-form>
300
-            </div>
301
-            <el-button type="primary" icon="el-icon-plus" style="margin-bottom: 20px;"
302
-                @click="addFormCustom">新增自定义抓取规则</el-button>
303
-            <div class="formDom">
304
-                <el-form ref="form_custom" :model="formData_custom" label-width="150px">
305
-                    <div class="formItem" v-for="(item, index) in formData_custom.forms" :key="item.key">
306
-                        <el-button type="primary" icon="el-icon-delete" style="margin-bottom: 20px;"
307
-                            @click="deleteFormCustom(item)">删除</el-button>
308
-                        <el-row>
309
-                            <el-col :span="12">
310
-                                <el-form-item label="字段:" :prop="'forms.' + index + '.column'">
311
-                                    <el-input v-model="item.column" placeholder="请输入字段" />
312
-                                </el-form-item>
313
-                            </el-col>
314
-                            <el-col :span="12">
315
-                                <el-form-item label="字段名:" :prop="'forms.' + index + '.name'">
316
-                                    <el-input v-model="item.name" placeholder="请输入字段名" />
317
-                                </el-form-item>
318
-                            </el-col>
319
-                            <el-col :span="12">
320
-                                <el-form-item label="字段值:" :prop="'forms.' + index + '.value'">
321
-                                    <el-input v-model="item.value" placeholder="请输入字段值" />
322
-                                </el-form-item>
323
-                            </el-col>
324
-                            <!-- <el-col :span="12">
325
-                                <el-form-item label="开始抓取字段:" :prop="'forms.' + index + '.startContent'">
326
-                                    <el-input v-model="item.startContent" placeholder="请输入开始抓取字段" />
327
-                                </el-form-item>
328
-                            </el-col>
329
-                            <el-col :span="12">
330
-                                <el-form-item label="结束抓取字段:" :prop="'forms.' + index + '.endContent'">
331
-                                    <el-input v-model="item.endContent" placeholder="结束抓取字段" />
332
-                                </el-form-item>
333
-                            </el-col>
334
-                            <el-col :span="12">
335
-                                <el-form-item label="指定抓取开始位置:" :prop="'forms.' + index + '.startContentRepeatOrder'">
336
-                                    <el-input-number v-model="item.startContentRepeatOrder" controls-position="right"
337
-                                        :min="1"></el-input-number>
338
-                                </el-form-item>
339
-                            </el-col>
340
-                            <el-col :span="12">
341
-                                <el-form-item label="指定抓取结束位置:" :prop="'forms.' + index + '.endContentRepeatOrder'">
342
-                                    <el-input-number v-model="item.endContentRepeatOrder" controls-position="right"
343
-                                        :min="1"></el-input-number>
344
-                                </el-form-item>
345
-                            </el-col>
346
-                            <el-col :span="12">
347
-                                <el-form-item label="抓取方向:" :prop="'forms.' + index + '.fatchOrder'">
348
-                                    <el-select v-model="item.fatchOrder" placeholder="请选择">
349
-                                        <el-option v-for="dict in fatchOrderList" :key="dict.key" :label="dict.name"
350
-                                            :value="dict.key"></el-option>
351
-                                    </el-select>
352
-                                </el-form-item>
353
-                            </el-col> -->
354
-                        </el-row>
278
+                <el-col :span="24" v-if="modelFlag">
279
+                    <div style="display: inline-flex">
280
+                        <div class="infoIcon"></div>
281
+                        <div class="caseInfo">抓取规则设置</div>
355 282
                     </div>
356
-                </el-form>
357
-            </div>
283
+                    <el-divider></el-divider>
284
+                </el-col>
285
+                <el-col :span="24" v-if="modelFlag">
286
+                    <el-form-item v-for="(item) in formData.columnValueList" :label="item.name" :key="item.id">
287
+                        <el-input type="textarea" v-model="item.value"></el-input>
288
+                    </el-form-item>
289
+                </el-col>
290
+            </el-form>
358 291
             <div slot="footer" class="dialog-footer">
359 292
                 <el-button @click="cancel" class="endbutton"><span>取 消</span></el-button>
360 293
                 <el-button type="primary" @click="submitForm" class="endbutton"><span>确认</span></el-button>
@@ -367,8 +300,11 @@ import {
367 300
     caseApplicationInsert,
368 301
     caseApplicationSelectById
369 302
 } from "@/api/caseManagement/caseManagement.js";
303
+import {
304
+    getTemplate,
305
+} from "@/api/officialSeal/officialSeal.js";
370 306
 export default {
371
-    props: ["addVisable", "queryParams", "caseData"],
307
+    props: ["addVisable", "queryParams", "caseData", "caseDisabled"],
372 308
     dicts: ["case_built_type"],
373 309
     data() {
374 310
         return {
@@ -380,34 +316,35 @@ export default {
380 316
                 columnValueList: [],
381 317
                 caseAttachList: []
382 318
             },
383
-            formData_type: {
384
-                forms: []
385
-            },
386
-            formData_custom: {
387
-                forms: []
388
-            },
389
-            fatchOrderList: [
390
-                {
391
-                    name: '从前向后抓取',
392
-                    key: 0
393
-                },
394
-                {
395
-                    name: '从后往前抓取',
396
-                    key: 1
397
-                }
398
-            ],
319
+            templateList: [],
320
+            modelFlag:false,
399 321
         };
400 322
     },
401 323
     watch: {
402 324
         caseData: {
403 325
             deep: true,
404 326
             handler(val) {
405
-                console.log(val, "OOOOOOOOOOOOOOOOO");
406
-                if (val.id) {
327
+                this.getTemplateFn();
328
+                if (val.id && !val.flag) {
329
+                    this.modelFlag = true;
407 330
                     this.title = '修改案件';
408 331
                     this.caseApplicationSelectByIdFn(val.id)
332
+                } else if (!val.id && !val.flag) {
333
+                    this.modelFlag = false;
334
+                    this.title = '新增案件';
335
+                    this.formData = {
336
+                        affiliate: {
337
+                            respondentSex: 0
338
+                        },
339
+                        columnValueList: [],
340
+                        caseAttachList: []
341
+                    };
342
+                } else if (val.id && val.flag == 1) {
343
+                    this.modelFlag = true;
344
+                    this.title = '案件详情';
345
+                    this.caseApplicationSelectByIdFn(val.id);
409 346
                 }
410
-            }
347
+            },
411 348
         },
412 349
     },
413 350
     created() {
@@ -416,18 +353,8 @@ export default {
416 353
     methods: {
417 354
         /** 根据案件id获取对应信息 */
418 355
         caseApplicationSelectByIdFn(data) {
419
-            this.formData_type.forms = [];
420
-            this.formData_custom.forms = [];
421 356
             caseApplicationSelectById({ id: data }).then((res => {
422
-                console.log(res.data, "详情");
423 357
                 this.formData = res.data;
424
-                this.formData.columnValueList.forEach(item => {
425
-                    if (item.isDefault == 0) {
426
-                        this.formData_type.forms.push(item)
427
-                    } else {
428
-                        this.formData_custom.forms.push(item)
429
-                    }
430
-                })
431 358
             }))
432 359
         },
433 360
         // 新增案件
@@ -438,69 +365,24 @@ export default {
438 365
                 this.$emit('getList', this.queryParams);
439 366
             })
440 367
         },
368
+        /** 获取裁决书模板 */
369
+        getTemplateFn(data) {
370
+            getTemplate(data).then(res => {
371
+                console.log(res)
372
+                this.templateList = res.rows;
373
+            })
374
+        },
441 375
         // 提交form表单
442 376
         submitForm() {
443 377
             this.$refs['ruleForm'].validate((valid) => {
444 378
                 if (valid) {
445
-                    let paramsList = this.formData_type.forms.concat(this.formData_custom.forms);
446
-                    this.formData.columnValueList = paramsList;
447 379
                     this.insertFn(this.formData)
448 380
                 }
449 381
             });
450
-            console.log(this.formData, this.formData_type, this.formData_custom, "LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL");
451 382
         },
452 383
         cancel() {
453 384
             this.$emit("cancelCaseAdd");
454 385
         },
455
-        addForm() {
456
-            this.formData_type.forms.push({
457
-                column: "",
458
-                name: "",
459
-                value: "",
460
-                isDefault: 0
461
-            });
462
-        },
463
-        deleteForm(item) {
464
-            var index = this.formData_type.forms.indexOf(item)
465
-            if (index !== -1) {
466
-                this.formData_type.forms.splice(index, 1)
467
-            }
468
-        },
469
-        deleteFormCustom(item) {
470
-            var index = this.formData_custom.forms.indexOf(item)
471
-            if (index !== -1) {
472
-                this.formData_custom.forms.splice(index, 1)
473
-            }
474
-        },
475
-        addFormCustom() {
476
-            this.formData_custom.forms.push({
477
-                column: "",
478
-                name: "",
479
-                value: "",
480
-                isDefault: 1
481
-            });
482
-        },
483
-        columnNameChange(item) {
484
-            let result = this.dict.type.case_built_type.find((data => {
485
-                return data.label == item.columnName
486
-            }))
487
-            item.column = result.value;
488
-        },
489
-        submitRules() {
490
-            this.$refs['form'].validate((valid) => {
491
-                if (valid) {
492
-                    this.$refs['form_custom'].validate((valid_custom) => {
493
-                        if (valid_custom) {
494
-                            let paramsList = this.formData_type.forms.concat(this.formData_custom.forms)
495
-                            this.saveFatchRulesFn({
496
-                                id: this.rulesData.id,
497
-                                fatchRules: paramsList
498
-                            })
499
-                        }
500
-                    })
501
-                }
502
-            });
503
-        },
504 386
     },
505 387
 };
506 388
 </script>

+ 206
- 0
src/views/caseManagement/components/caseCompressionPackage.vue Bestand weergeven

@@ -0,0 +1,206 @@
1
+<template>
2
+  <div>
3
+    <el-dialog title="案件压缩包导入" :visible="openCompressedPackages" width="600px" append-to-body @close="cancel" center>
4
+      <el-form ref="form" :model="form" :rules="rules" label-width="150px">
5
+        <el-row>
6
+          <el-form-item :span="24" label="案件压缩包上传:" prop="upload">
7
+            <el-upload class="upload-demo" ref="uploadZipBatch" :limit="1" accept=".zip" :headers="upload.headers"
8
+              :action="upload.url" :disabled="upload.isUploading" :on-progress="handleFileUploadProgress"
9
+              :on-success="handleFileSuccess" :auto-upload="false" :data="paramsData" drag>
10
+              <i class="el-icon-upload"></i>
11
+              <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
12
+              <!-- <el-button size="small" type="primary">点击上传</el-button> -->
13
+              <div slot="tip" class="el-upload__tip">
14
+                支持zip格式文件
15
+              </div>
16
+            </el-upload>
17
+          </el-form-item>
18
+          <el-form-item :span="24" label="裁决书模板" prop="templateId">
19
+            <el-select v-model="form.templateId" placeholder="请选择">
20
+              <el-option v-for="dict in templateList" :key="dict.id" :label="dict.temName" :value="dict.id"></el-option>
21
+            </el-select>
22
+          </el-form-item>
23
+        </el-row>
24
+      </el-form>
25
+      <div slot="footer" class="dialog-footer">
26
+        <el-button type="primary" @click="submitForm" class="endbutton"><span>确 定</span></el-button>
27
+        <el-button @click="cancel" class="endbutton1"><span>取 消</span></el-button>
28
+      </div>
29
+    </el-dialog>
30
+  </div>
31
+</template>
32
+
33
+<script>
34
+import {
35
+  getTemplate,
36
+} from "@/api/officialSeal/officialSeal.js";
37
+import { getToken } from "@/utils/auth";
38
+export default {
39
+  props: ["openCompressedPackages", "getList", "queryParams"],
40
+  data() {
41
+    return {
42
+      //   key: value,
43
+      form: {},
44
+      fileList: [],
45
+      templateList: [],
46
+      rules: {
47
+        // upload: [
48
+        //   { required: true, message: "案件压缩包不能为空", trigger: "blur" },
49
+        // ],
50
+        templateId: [
51
+          { required: true, message: "裁决书模板不能为空", trigger: "blur" },
52
+        ],
53
+      },
54
+      paramsData:{
55
+        // templateId:this.form.templateId
56
+      },
57
+      // 案件压缩导入
58
+      upload: {
59
+        // 是否显示弹出层(用户导入)
60
+        open: false,
61
+        // 弹出层标题(用户导入)
62
+        title: "",
63
+        // 是否禁用上传
64
+        isUploading: false,
65
+        // 是否更新已经存在的用户数据
66
+        // updateSupport: 0,
67
+        // 设置上传的请求头部
68
+        headers: { Authorization: "Bearer " + getToken() },
69
+        // 上传的地址
70
+        url: process.env.VUE_APP_BASE_API + "/caseApplication/uploadCaseZipFile",
71
+      },
72
+    };
73
+  },
74
+  watch: {
75
+    openCompressedPackages(val) {
76
+      if (val) {
77
+        this.form = {}
78
+        this.getTemplateFn({
79
+          pageNum: 1,
80
+          pageSize: 10000000,
81
+        })
82
+      }
83
+    },
84
+  },
85
+  methods: {
86
+    submitForm() {
87
+      this.paramsData.templateId = this.form.templateId;
88
+      this.$refs["form"].validate((valid) => {
89
+        if (valid) {
90
+          this.$refs.uploadZipBatch.submit();
91
+        }
92
+      })
93
+    },
94
+    // 获取裁决书模板
95
+    getTemplateFn(data) {
96
+      getTemplate(data).then(res => {
97
+        console.log(res.rows, "KKKKKKKKKKKKKKKKKKKKKKK");
98
+        this.templateList = res.rows;
99
+      })
100
+    },
101
+    // 取消
102
+    cancel() {
103
+      this.$emit("cancelCompreess");
104
+    },
105
+    handleRemove(file, fileList) { },
106
+    handlePreview(file) { },
107
+    handleExceed(files, fileList) {
108
+      this.$message.warning(
109
+        `当前限制选择 1个文件,本次选择了 ${files.length} `
110
+      );
111
+    },
112
+    beforeRemove(file, fileList) {
113
+      return this.$confirm(`确定移除 ${file.name}?`);
114
+    },
115
+    // 下载模板 importTemplate
116
+    downloadTemplate() {
117
+      //   console.log("下载模板");
118
+      this.download(
119
+        "caseApplication/uploadCaseZipFile",
120
+        {},
121
+        `case_batch_${new Date().getTime()}.xlsx`
122
+      );
123
+    },
124
+    // 文件上传中处理
125
+    handleFileUploadProgress(event, file, fileList) {
126
+      this.upload.isUploading = true;
127
+    },
128
+    // 文件上传成功处理
129
+    handleFileSuccess(response, file, fileList) {
130
+      //   this.upload.open = false;
131
+      this.$emit("cancelCompreess");
132
+      this.upload.isUploading = false;
133
+      this.$refs.uploadZipBatch.clearFiles();
134
+      if (response.code == 200) {
135
+        this.$alert(
136
+          "<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" +
137
+          response.msg +
138
+          "</div>",
139
+          "导入结果",
140
+          { dangerouslyUseHTMLString: true }
141
+        )
142
+      } else {
143
+        this.$alert(
144
+          "<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" +
145
+          "导入压缩失败" +
146
+          "</div>",
147
+          "导入结果",
148
+          { dangerouslyUseHTMLString: true }
149
+        )
150
+      }
151
+
152
+      this.getList(this.queryParams);
153
+    },
154
+  },
155
+};
156
+</script>
157
+
158
+<style lang="scss" scoped>
159
+.download {
160
+  a {
161
+    .uploadlink {
162
+      border: none;
163
+      color: #2092c7;
164
+    }
165
+  }
166
+}
167
+
168
+::v-deep .el-dialog {
169
+  width: 800px;
170
+  background: #ffffff;
171
+  border-radius: 20px;
172
+}
173
+
174
+.endbutton {
175
+  width: 154px;
176
+  height: 37px;
177
+  background: #0072ff;
178
+  border-radius: 19px;
179
+
180
+  span {
181
+    width: 96px;
182
+    height: 15px;
183
+    font-size: 16px;
184
+    font-family: Microsoft YaHei;
185
+    font-weight: 400;
186
+    color: #ffffff;
187
+  }
188
+}
189
+
190
+.endbutton1 {
191
+  width: 154px;
192
+  height: 37px;
193
+  background: #ffffff;
194
+  border: 1px solid #d0d0d0;
195
+  border-radius: 19px;
196
+
197
+  span {
198
+    width: 31px;
199
+    height: 13px;
200
+    font-size: 16px;
201
+    font-family: Microsoft YaHei;
202
+    font-weight: 400;
203
+    color: #959595;
204
+  }
205
+}
206
+</style>

+ 1
- 1
src/views/caseprocessManagement/components/addNodeprocess.vue Bestand weergeven

@@ -13,7 +13,7 @@
13 13
                     <el-input v-model="ruleForm.caseStatusName" placeholder="请输入"></el-input>
14 14
                 </el-form-item>
15 15
                 <el-form-item label="驳回节点" prop="backFlowName">
16
-                    <el-select v-model="ruleForm.backFlowId" placeholder="请选择">
16
+                    <el-select v-model="ruleForm.backFlowId" placeholder="请选择" clearable>
17 17
                         <el-option v-for="item in backflowArr" :key="item.backFlowId" :value="item.backFlowId"
18 18
                             :label="item.backFlowName">
19 19
                         </el-option>