|
|
@@ -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>
|