添加自定义分词管理
This commit is contained in:
		
							parent
							
								
									c3178eb7d0
								
							
						
					
					
						commit
						f512caa81d
					
				@ -417,3 +417,24 @@ export const resetPassword = (params) => {
 | 
				
			|||||||
export const createIndex = () => {
 | 
					export const createIndex = () => {
 | 
				
			||||||
  return getRequest(`/elasticsearch`);
 | 
					  return getRequest(`/elasticsearch`);
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// 分页查询自定义分词
 | 
				
			||||||
 | 
					export const getCustomWordsPage = (params) => {
 | 
				
			||||||
 | 
					  return getRequest(`/manager/custom-words`, params);
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// 添加自定义分词
 | 
				
			||||||
 | 
					export const insertCustomWords = (params) => {
 | 
				
			||||||
 | 
					  return postRequest(`/manager/custom-words`, params);
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// 修改自定义分词
 | 
				
			||||||
 | 
					export const updateCustomWords = (params) => {
 | 
				
			||||||
 | 
					  return putRequest(`/manager/custom-words`, params);
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// 删除自定义分词
 | 
				
			||||||
 | 
					export const delCustom = (id) => {
 | 
				
			||||||
 | 
					  return deleteRequest(`/manager/custom-words/${id}`);
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										323
									
								
								manager/src/views/customWords/index.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										323
									
								
								manager/src/views/customWords/index.vue
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,323 @@
 | 
				
			|||||||
 | 
					<template>
 | 
				
			||||||
 | 
					  <div class="search">
 | 
				
			||||||
 | 
					    <Card>
 | 
				
			||||||
 | 
					      <Row class="operation">
 | 
				
			||||||
 | 
					        <Button @click="add" type="primary">添加</Button>
 | 
				
			||||||
 | 
					      </Row>
 | 
				
			||||||
 | 
					        <Table
 | 
				
			||||||
 | 
					          :loading="loading"
 | 
				
			||||||
 | 
					          border
 | 
				
			||||||
 | 
					          :columns="columns"
 | 
				
			||||||
 | 
					          :data="data"
 | 
				
			||||||
 | 
					          ref="table"
 | 
				
			||||||
 | 
					          sortable="custom"
 | 
				
			||||||
 | 
					          @on-sort-change="changeSort"
 | 
				
			||||||
 | 
					          @on-selection-change="changeSelect"
 | 
				
			||||||
 | 
					        ></Table>
 | 
				
			||||||
 | 
					      <Row type="flex" justify="end" class="mt_10">
 | 
				
			||||||
 | 
					        <Page
 | 
				
			||||||
 | 
					          :current="searchForm.pageNumber"
 | 
				
			||||||
 | 
					          :total="total"
 | 
				
			||||||
 | 
					          :page-size="searchForm.pageSize"
 | 
				
			||||||
 | 
					          @on-change="changePage"
 | 
				
			||||||
 | 
					          @on-page-size-change="changePageSize"
 | 
				
			||||||
 | 
					          :page-size-opts="[10, 20, 50]"
 | 
				
			||||||
 | 
					          size="small"
 | 
				
			||||||
 | 
					          show-total
 | 
				
			||||||
 | 
					          show-elevator
 | 
				
			||||||
 | 
					          show-sizer
 | 
				
			||||||
 | 
					        ></Page>
 | 
				
			||||||
 | 
					      </Row>
 | 
				
			||||||
 | 
					    </Card>
 | 
				
			||||||
 | 
					    <Modal
 | 
				
			||||||
 | 
					      :title="modalTitle"
 | 
				
			||||||
 | 
					      v-model="modalVisible"
 | 
				
			||||||
 | 
					      :mask-closable="false"
 | 
				
			||||||
 | 
					      :width="500"
 | 
				
			||||||
 | 
					    >
 | 
				
			||||||
 | 
					      <Form ref="form" :model="form" :label-width="100" :rules="formValidate">
 | 
				
			||||||
 | 
					        <FormItem label="自定义分词" prop="sn">
 | 
				
			||||||
 | 
					          <Input v-model="form.name" clearable style="width: 100%" />
 | 
				
			||||||
 | 
					        </FormItem>
 | 
				
			||||||
 | 
					      </Form>
 | 
				
			||||||
 | 
					      <div slot="footer">
 | 
				
			||||||
 | 
					        <Button type="text" @click="modalVisible = false">取消</Button>
 | 
				
			||||||
 | 
					        <Button type="primary" :loading="submitLoading" @click="handleSubmit"
 | 
				
			||||||
 | 
					          >提交</Button
 | 
				
			||||||
 | 
					        >
 | 
				
			||||||
 | 
					      </div>
 | 
				
			||||||
 | 
					    </Modal>
 | 
				
			||||||
 | 
					  </div>
 | 
				
			||||||
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<script>
 | 
				
			||||||
 | 
					import {
 | 
				
			||||||
 | 
					  getCustomWordsPage,
 | 
				
			||||||
 | 
					  delCustom,
 | 
				
			||||||
 | 
					  insertCustomWords,
 | 
				
			||||||
 | 
					  updateCustomWords
 | 
				
			||||||
 | 
					} from "@/api/index";
 | 
				
			||||||
 | 
					export default {
 | 
				
			||||||
 | 
					  name: "customWords",
 | 
				
			||||||
 | 
					  components: {},
 | 
				
			||||||
 | 
					  data() {
 | 
				
			||||||
 | 
					    return {
 | 
				
			||||||
 | 
					      loading: true, // 表单加载状态
 | 
				
			||||||
 | 
					      modalType: 0, // 添加或编辑标识
 | 
				
			||||||
 | 
					      modalVisible: false, // 添加或编辑显示
 | 
				
			||||||
 | 
					      modalTitle: "", // 添加或编辑标题
 | 
				
			||||||
 | 
					      searchForm: {
 | 
				
			||||||
 | 
					        // 搜索框初始化对象
 | 
				
			||||||
 | 
					        pageNumber: 1, // 当前页数
 | 
				
			||||||
 | 
					        pageSize: 10, // 页面大小
 | 
				
			||||||
 | 
					        sort: "createTime", // 默认排序字段
 | 
				
			||||||
 | 
					        order: "desc", // 默认排序方式
 | 
				
			||||||
 | 
					        words: "",
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      form: {
 | 
				
			||||||
 | 
					        // 添加或编辑表单对象初始化数据
 | 
				
			||||||
 | 
					        name: "",
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      // 表单验证规则
 | 
				
			||||||
 | 
					      formValidate: {
 | 
				
			||||||
 | 
					        name: [
 | 
				
			||||||
 | 
					          {
 | 
				
			||||||
 | 
					            required: true,
 | 
				
			||||||
 | 
					            message: "请输入敏感词",
 | 
				
			||||||
 | 
					            trigger: "blur",
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      submitLoading: false, // 添加或编辑提交状态
 | 
				
			||||||
 | 
					      selectList: [], // 多选数据
 | 
				
			||||||
 | 
					      selectCount: 0, // 多选计数
 | 
				
			||||||
 | 
					      columns: [
 | 
				
			||||||
 | 
					        // 表头
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          type: "selection",
 | 
				
			||||||
 | 
					          width: 60,
 | 
				
			||||||
 | 
					          align: "center",
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          title: "自定义分词",
 | 
				
			||||||
 | 
					          key: "name",
 | 
				
			||||||
 | 
					          minWidth: 120
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          title: "创建时间",
 | 
				
			||||||
 | 
					          key: "createTime",
 | 
				
			||||||
 | 
					          width: 200
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          title: "更新时间",
 | 
				
			||||||
 | 
					          key: "updateTime",
 | 
				
			||||||
 | 
					          width: 200
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          title: "操作人",
 | 
				
			||||||
 | 
					          key: "createBy",
 | 
				
			||||||
 | 
					          minWidth: 150
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          title: "操作",
 | 
				
			||||||
 | 
					          key: "action",
 | 
				
			||||||
 | 
					          align: "center",
 | 
				
			||||||
 | 
					          fixed: "right",
 | 
				
			||||||
 | 
					          width: 200,
 | 
				
			||||||
 | 
					          render: (h, params) => {
 | 
				
			||||||
 | 
					            return h("div", [
 | 
				
			||||||
 | 
					              h(
 | 
				
			||||||
 | 
					                "Button",
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                  props: {
 | 
				
			||||||
 | 
					                    type: "info",
 | 
				
			||||||
 | 
					                    size: "small",
 | 
				
			||||||
 | 
					                  },
 | 
				
			||||||
 | 
					                  style: {
 | 
				
			||||||
 | 
					                    marginRight: "5px",
 | 
				
			||||||
 | 
					                  },
 | 
				
			||||||
 | 
					                  on: {
 | 
				
			||||||
 | 
					                    click: () => {
 | 
				
			||||||
 | 
					                      this.detail(params.row);
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                  },
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                "修改"
 | 
				
			||||||
 | 
					              ),
 | 
				
			||||||
 | 
					              h(
 | 
				
			||||||
 | 
					                "Button",
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                  props: {
 | 
				
			||||||
 | 
					                    type: "error",
 | 
				
			||||||
 | 
					                    size: "small",
 | 
				
			||||||
 | 
					                  },
 | 
				
			||||||
 | 
					                  style: {
 | 
				
			||||||
 | 
					                    marginRight: "5px",
 | 
				
			||||||
 | 
					                  },
 | 
				
			||||||
 | 
					                  on: {
 | 
				
			||||||
 | 
					                    click: () => {
 | 
				
			||||||
 | 
					                      this.remove(params.row);
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                  },
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                "删除"
 | 
				
			||||||
 | 
					              ),
 | 
				
			||||||
 | 
					            ]);
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					      ],
 | 
				
			||||||
 | 
					      data: [], // 表单数据
 | 
				
			||||||
 | 
					      total: 0, // 表单数据总数
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  methods: {
 | 
				
			||||||
 | 
					    init() {
 | 
				
			||||||
 | 
					      this.getDataList();
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    changePage(v) {
 | 
				
			||||||
 | 
					      this.searchForm.pageNumber = v;
 | 
				
			||||||
 | 
					      this.getDataList();
 | 
				
			||||||
 | 
					      this.clearSelectAll();
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    changePageSize(v) {
 | 
				
			||||||
 | 
					      this.searchForm.pageSize = v;
 | 
				
			||||||
 | 
					      this.getDataList();
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    handleSearch() {
 | 
				
			||||||
 | 
					      this.searchForm.pageNumber = 1;
 | 
				
			||||||
 | 
					      this.searchForm.pageSize = 10;
 | 
				
			||||||
 | 
					      this.getDataList();
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    handleReset() {
 | 
				
			||||||
 | 
					      this.$refs.searchForm.resetFields();
 | 
				
			||||||
 | 
					      this.searchForm.pageNumber = 1;
 | 
				
			||||||
 | 
					      this.searchForm.pageSize = 10;
 | 
				
			||||||
 | 
					      // 重新加载数据
 | 
				
			||||||
 | 
					      this.getDataList();
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    changeSort(e) {
 | 
				
			||||||
 | 
					      this.searchForm.sort = e.key;
 | 
				
			||||||
 | 
					      this.searchForm.order = e.order;
 | 
				
			||||||
 | 
					      if (e.order === "normal") {
 | 
				
			||||||
 | 
					        this.searchForm.order = "";
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      this.getDataList();
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    clearSelectAll() {
 | 
				
			||||||
 | 
					      this.$refs.table.selectAll(false);
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    changeSelect(e) {
 | 
				
			||||||
 | 
					      this.selectList = e;
 | 
				
			||||||
 | 
					      this.selectCount = e.length;
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    getDataList() {
 | 
				
			||||||
 | 
					      this.loading = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      getCustomWordsPage(this.searchForm).then((res) => {
 | 
				
			||||||
 | 
					        this.loading = false;
 | 
				
			||||||
 | 
					        if (res.success) {
 | 
				
			||||||
 | 
					          this.data = res.result.records;
 | 
				
			||||||
 | 
					          this.total = res.result.total;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      });
 | 
				
			||||||
 | 
					      this.total = this.data.length;
 | 
				
			||||||
 | 
					      this.loading = false;
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    handleSubmit() {
 | 
				
			||||||
 | 
					      this.$refs.form.validate((valid) => {
 | 
				
			||||||
 | 
					        if (valid) {
 | 
				
			||||||
 | 
					          this.submitLoading = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          if (this.modalType == 0) {
 | 
				
			||||||
 | 
					            // 添加 避免编辑后传入id等数据 记得删除
 | 
				
			||||||
 | 
					            delete this.form.id;
 | 
				
			||||||
 | 
					            insertCustomWords(this.form).then((res) => {
 | 
				
			||||||
 | 
					              this.submitLoading = false;
 | 
				
			||||||
 | 
					              if (res.success) {
 | 
				
			||||||
 | 
					                this.$Message.success("操作成功");
 | 
				
			||||||
 | 
					                this.getDataList();
 | 
				
			||||||
 | 
					                this.modalVisible = false;
 | 
				
			||||||
 | 
					              }
 | 
				
			||||||
 | 
					            });
 | 
				
			||||||
 | 
					          } else {
 | 
				
			||||||
 | 
					            this.form.id = this.id;
 | 
				
			||||||
 | 
					            // 编辑
 | 
				
			||||||
 | 
					            updateCustomWords(this.form).then((res) => {
 | 
				
			||||||
 | 
					              this.submitLoading = false;
 | 
				
			||||||
 | 
					              if (res.success) {
 | 
				
			||||||
 | 
					                this.$Message.success("操作成功");
 | 
				
			||||||
 | 
					                this.getDataList();
 | 
				
			||||||
 | 
					                this.modalVisible = false;
 | 
				
			||||||
 | 
					              }
 | 
				
			||||||
 | 
					            });
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      });
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    add() {
 | 
				
			||||||
 | 
					      this.modalType = 0;
 | 
				
			||||||
 | 
					      this.modalTitle = "添加";
 | 
				
			||||||
 | 
					      this.form = {}
 | 
				
			||||||
 | 
					      this.$refs.form.resetFields();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      this.modalVisible = true;
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    detail(v) {
 | 
				
			||||||
 | 
					      this.modalType = 1;
 | 
				
			||||||
 | 
					      this.id = v.id;
 | 
				
			||||||
 | 
					      this.modalTitle = "修改";
 | 
				
			||||||
 | 
					      this.modalVisible = true;
 | 
				
			||||||
 | 
					      this.form.name = v.name;
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    remove(v) {
 | 
				
			||||||
 | 
					      this.$Modal.confirm({
 | 
				
			||||||
 | 
					        title: "确认删除",
 | 
				
			||||||
 | 
					        // 记得确认修改此处
 | 
				
			||||||
 | 
					        content: "您确认要删除 " + v.name + " ?",
 | 
				
			||||||
 | 
					        loading: true,
 | 
				
			||||||
 | 
					        onOk: () => {
 | 
				
			||||||
 | 
					          // 删除
 | 
				
			||||||
 | 
					          delCustom(v.id).then((res) => {
 | 
				
			||||||
 | 
					            this.$Modal.remove();
 | 
				
			||||||
 | 
					            if (res.success) {
 | 
				
			||||||
 | 
					              this.$Message.success("操作成功");
 | 
				
			||||||
 | 
					              this.getDataList();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					          });
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					      });
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    delAll() {
 | 
				
			||||||
 | 
					      if (this.selectCount <= 0) {
 | 
				
			||||||
 | 
					        this.$Message.warning("您还未选择要删除的数据");
 | 
				
			||||||
 | 
					        return;
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      this.$Modal.confirm({
 | 
				
			||||||
 | 
					        title: "确认删除",
 | 
				
			||||||
 | 
					        content: "您确认要删除所选的 " + this.selectCount + " 条数据?",
 | 
				
			||||||
 | 
					        loading: true,
 | 
				
			||||||
 | 
					        onOk: () => {
 | 
				
			||||||
 | 
					          let ids = "";
 | 
				
			||||||
 | 
					          this.selectList.forEach(function (e) {
 | 
				
			||||||
 | 
					            ids += e.id + ",";
 | 
				
			||||||
 | 
					          });
 | 
				
			||||||
 | 
					          ids = ids.substring(0, ids.length - 1);
 | 
				
			||||||
 | 
					          // 批量删除
 | 
				
			||||||
 | 
					          delSensitive(ids).then((res) => {
 | 
				
			||||||
 | 
					            this.$Modal.remove();
 | 
				
			||||||
 | 
					            if (res.success) {
 | 
				
			||||||
 | 
					              this.$Message.success("操作成功");
 | 
				
			||||||
 | 
					              this.clearSelectAll();
 | 
				
			||||||
 | 
					              this.getDataList();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					          });
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					      });
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  mounted() {
 | 
				
			||||||
 | 
					    this.init();
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					</script>
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user