Pārlūkot izejas kodu

‘抓取规则

fz 2 gadus atpakaļ
vecāks
revīzija
222ab6588d

+ 16
- 0
src/api/officialSeal/officialSeal.js Parādīt failu

144
         method: 'put',
144
         method: 'put',
145
         data: data
145
         data: data
146
     })
146
     })
147
+}
148
+// 查询模板id对应的设置抓取字段
149
+export function getFatchRuleByTemplateid(data) {
150
+    return request({
151
+        url: '/deptIdentify/getFatchRuleByTemplateid',
152
+        method: 'post',
153
+        data: data
154
+    })
155
+}
156
+// 保存抓取规则
157
+export function saveFatchRules(data) {
158
+    return request({
159
+        url: '/deptIdentify/saveFatchRules',
160
+        method: 'post',
161
+        data: data
162
+    })
147
 }
163
 }

+ 158
- 0
src/views/officialSeal/components/grabRules.vue Parādīt failu

1
+<template>
2
+    <div>
3
+        <el-dialog title="设置抓取规则" :visible="rulesVisable" v-if="rulesVisable" @close="cancelRules" width="1000px"
4
+            append-to-body :destroy-on-close="true" center>
5
+            <el-button type="primary" icon="el-icon-plus" style="margin-bottom: 20px;" @click="addForm">新增抓取规则</el-button>
6
+            <div class="formDom">
7
+                <el-form ref="form" :model="formData" label-width="150px">
8
+                    <div class="formItem" v-for="(item, index) in formData.forms" :key="item.key">
9
+                        <el-row>
10
+                            <el-col :span="12">
11
+                                <el-form-item label="字段:" :prop="'forms.' + index + '.column'" :rules="[
12
+                                    {
13
+                                        required: true,
14
+                                        message: '字段不能为空',
15
+                                        trigger: 'blur',
16
+                                    },
17
+                                ]">
18
+                                    <el-input v-model="item.column" placeholder="请输入字段" />
19
+                                </el-form-item>
20
+                            </el-col>
21
+                            <el-col :span="12">
22
+                                <el-form-item label="字段名:" :prop="'forms.' + index + '.columnName'" :rules="[
23
+                                    {
24
+                                        required: true,
25
+                                        message: '字段名不能为空',
26
+                                        trigger: 'blur',
27
+                                    },
28
+                                ]">
29
+                                    <el-input v-model="item.columnName" placeholder="请输入字段名" />
30
+                                </el-form-item>
31
+                            </el-col>
32
+                            <el-col :span="12">
33
+                                <el-form-item label="抓取文件名:" :prop="'forms.' + index + '.fileName'" :rules="[
34
+                                    {
35
+                                        required: true,
36
+                                        message: '抓取文件名不能为空',
37
+                                        trigger: 'blur',
38
+                                    },
39
+                                ]">
40
+                                    <el-input v-model="item.fileName" placeholder="请输入抓取文件名" />
41
+                                </el-form-item>
42
+                            </el-col>
43
+                            <el-col :span="12">
44
+                                <el-form-item label="开始抓取字段:" :prop="'forms.' + index + '.startContent'" :rules="[
45
+                                    {
46
+                                        required: true,
47
+                                        message: '开始抓取字段不能为空',
48
+                                        trigger: 'blur',
49
+                                    },
50
+                                ]">
51
+                                    <el-input v-model="item.startContent" placeholder="请输入开始抓取字段" />
52
+                                </el-form-item>
53
+                            </el-col>
54
+                            <el-col :span="12">
55
+                                <el-form-item label="结束抓取字段:" :prop="'forms.' + index + '.endContent'" :rules="[
56
+                                    {
57
+                                        required: true,
58
+                                        message: '结束抓取字段不能为空',
59
+                                        trigger: 'blur',
60
+                                    },
61
+                                ]">
62
+                                    <el-input v-model="item.endContent" placeholder="结束抓取字段" />
63
+                                </el-form-item>
64
+                            </el-col>
65
+                        </el-row>
66
+                    </div>
67
+                </el-form>
68
+            </div>
69
+            <div slot="footer" class="dialog-footer">
70
+                <el-button @click="cancelRules" class="endbutton"><span>取 消</span></el-button>
71
+                <el-button type="primary" @click="submitRules" class="endbutton"><span>确认</span></el-button>
72
+            </div>
73
+        </el-dialog>
74
+    </div>
75
+</template>
76
+<script>
77
+import {
78
+    getFatchRuleByTemplateid,
79
+    saveFatchRules
80
+} from "@/api/officialSeal/officialSeal.js";
81
+export default {
82
+    props: ["rulesVisable", "rulesData", "queryParams"],
83
+    data() {
84
+        return {
85
+            formData: {
86
+                forms: [{
87
+                    fileName: "",
88
+                    startContent: '',
89
+                    endContent: '',
90
+                    column: "",
91
+                    columnName: "",
92
+                    key: Date.now()
93
+                }]
94
+            },
95
+        };
96
+    },
97
+    watch: {
98
+        rulesData(val) {
99
+            if (val) {
100
+                console.log(val, "llllllllllllllll");
101
+                this.getFatchRuleByTemplateidFn({ id: val.id })
102
+            }
103
+        }
104
+    },
105
+    created() {
106
+
107
+    },
108
+    methods: {
109
+        cancelRules() {
110
+            this.$emit("cancelRules");
111
+        },
112
+        addForm() {
113
+            this.formData.forms.push({
114
+                fileName: "",
115
+                startContent: '',
116
+                endContent: '',
117
+                column: "",
118
+                columnName: ""
119
+            });
120
+        },
121
+        submitRules() {
122
+            this.$refs['form'].validate((valid) => {
123
+                if (valid) {
124
+                   this.saveFatchRulesFn({
125
+                    id:this.rulesData.id,
126
+                    fatchRules:this.formData.forms
127
+                   })
128
+                }
129
+            });
130
+        },
131
+        // 根据id获取抓取规则
132
+        getFatchRuleByTemplateidFn(data) {
133
+            getFatchRuleByTemplateid(data).then(res => {
134
+                this.formData.forms = res.data;
135
+            })
136
+        },
137
+        // 提交抓取规则
138
+        saveFatchRulesFn(data) {
139
+            saveFatchRules(data).then(res => {
140
+                this.$message.success('提交成功');
141
+                this.$emit("cancelRules");
142
+                this
143
+                .$emit('getList', that.queryParams);
144
+            })
145
+        }
146
+    },
147
+};
148
+</script>
149
+  
150
+<style lang="scss" scoped>
151
+::v-deep .el-form {
152
+    border: 1px solid #c2bcbc;
153
+    padding: 20px;
154
+    margin-bottom: 15px;
155
+    max-height: 700px;
156
+    overflow-y: scroll;
157
+}
158
+</style>

+ 16
- 2
src/views/officialSeal/templateManagement.vue Parādīt failu

20
                 <template slot-scope="scope">
20
                 <template slot-scope="scope">
21
                     <el-button size="mini" @click="deleteTemplate(scope.row)" type="text" icon="el-icon-delete">删除</el-button>
21
                     <el-button size="mini" @click="deleteTemplate(scope.row)" type="text" icon="el-icon-delete">删除</el-button>
22
                     <el-button size="mini" @click="eidtTemplate(scope.row)" type="text" icon="el-icon-edit">修改模板</el-button>
22
                     <el-button size="mini" @click="eidtTemplate(scope.row)" type="text" icon="el-icon-edit">修改模板</el-button>
23
+                    <el-button size="mini" @click="grabRulesClick(scope.row)" type="text" icon="el-icon-edit">设置抓取规则</el-button>
23
                 </template>
24
                 </template>
24
             </el-table-column>
25
             </el-table-column>
25
         </el-table>
26
         </el-table>
31
         <sealManage :sealVisable="sealVisable" @cancelSeal="cancelSeal" :sealData="sealData">
32
         <sealManage :sealVisable="sealVisable" @cancelSeal="cancelSeal" :sealData="sealData">
32
         </sealManage>
33
         </sealManage>
33
         <editTemplate :editVisable="editVisable" @cancelEdit="cancelEdit" @getList="getList" :editData="editData" :queryParams="queryParams"></editTemplate>
34
         <editTemplate :editVisable="editVisable" @cancelEdit="cancelEdit" @getList="getList" :editData="editData" :queryParams="queryParams"></editTemplate>
35
+        <grabRules :rulesVisable="rulesVisable" @cancelRules="cancelRules" @getList="getList" :rulesData="rulesData" :queryParams="queryParams"></grabRules>
34
     </div>
36
     </div>
35
 </template>
37
 </template>
36
   
38
   
44
 import addTemplate from "./components/addTemplate";
46
 import addTemplate from "./components/addTemplate";
45
 import sealManage from "./components/sealManage";
47
 import sealManage from "./components/sealManage";
46
 import editTemplate from "./components/editTemplate";
48
 import editTemplate from "./components/editTemplate";
49
+import grabRules from "./components/grabRules.vue"
47
 export default {
50
 export default {
48
     name: "paymentList",
51
     name: "paymentList",
49
     components: {
52
     components: {
50
         addInstitution,
53
         addInstitution,
51
         addTemplate,
54
         addTemplate,
52
         sealManage,
55
         sealManage,
53
-        editTemplate
56
+        editTemplate,
57
+        grabRules
54
     },
58
     },
55
     data() {
59
     data() {
56
         return {
60
         return {
70
             operateVisable: false,//新增弹窗
74
             operateVisable: false,//新增弹窗
71
             uploadVisable: false,//上传弹窗
75
             uploadVisable: false,//上传弹窗
72
             sealVisable: false,//公章列表弹窗
76
             sealVisable: false,//公章列表弹窗
77
+            rulesVisable:false,//抓取规则弹窗
73
             uploadData: {},
78
             uploadData: {},
74
             sealData: {},
79
             sealData: {},
75
             editVisable:false,
80
             editVisable:false,
76
-            editData:{}
81
+            editData:{},
82
+            rulesData:{}
77
         };
83
         };
78
     },
84
     },
79
     created() {
85
     created() {
114
         cancelEdit() {
120
         cancelEdit() {
115
             this.editVisable = false;
121
             this.editVisable = false;
116
         },
122
         },
123
+        // 抓取规则
124
+        grabRulesClick(row){
125
+            this.rulesVisable = true;
126
+            this.rulesData = row;
127
+        },
128
+        cancelRules(){
129
+            this.rulesVisable = false;
130
+        },
117
         /** 搜索按钮操作 */
131
         /** 搜索按钮操作 */
118
         handleQuery() {
132
         handleQuery() {
119
             this.queryParams.pageNum = 1;
133
             this.queryParams.pageNum = 1;