Commit f49582cd by 周海峰

Merge branch 'master' of https://code.palacesun.com/wuchao/nse-ui

parents b8ac88fb 0edeea68
// 发现方式
export const discoverTypeList = [
{
label: "字段",
value: "1",
},
{
label: "数据",
value: "2",
},
]
// 发现规则类型
export const singleDiscoverRuleType = [
{
label: "正则表达式",
value: "01",
},
{
label: "自定义方法",
value: "04",
},
{
label: "字典发现",
value: "03",
},
]
// 匹配方式
export const matchingList = [
{
value: "001", label: '等于'
},
{
value: "002", label: '包含'
},
{
value: "003", label: '左匹配'
},
{
value: "004", label: '右匹配'
},
]
\ No newline at end of file
......@@ -64,3 +64,56 @@ export function getDictinaryTypes(query) {
params: query
})
}
/**
* 发现规则 - 增加规则
* @param {*} data
* @returns
*/
export function addRule(data) {
return request({
url: '/core/searchregex/add',
method: 'post',
data: data
})
}
/**
* 发现规则 - 删除规则
* @param {*} data
* @returns
*/
export function delRule(data) {
return request({
url: '/core/searchregex/del',
method: 'post',
data: data
})
}
/**
* 发现规则 - 设置默认规则
* @param {*} data
* @returns
*/
export function setdefault(data) {
return request({
url: '/core/searchregex/setdefault',
method: 'post',
data: data
})
}
/**
* 发现规则 - 设置测试
* @param {*} data
* @returns
*/
export function testRegex(data) {
return request({
url: '/core/searchregex/testRegex',
method: 'post',
data: data
})
}
\ No newline at end of file
......@@ -26,8 +26,12 @@ const mainDeletion = (item) => {
}
// 子级监听
const itemClick = (item) => {
emit("change",item);
const itemClick = (item1, item2) => {
const data = {
parentItem: item1,
item: item2
}
emit("change",data);
}
// 默认项
......@@ -58,11 +62,11 @@ const childDelete = (item) => {
</span>
<template #content>
<div>
<div class="rule__item" v-for="(itemTwo, i) in item.list" :key="i" @click="itemClick(itemTwo)">
<div class="rule__item" v-for="(itemTwo, i) in item.list" :key="i" @click="itemClick(item,itemTwo)">
<span>{{ itemTwo.name }}</span>
<div class="default"></div>
<div class="default" v-if="itemTwo.defaulttype === '1'"></div>
<div class="rule__item__btns">
<el-icon color="#2c9ef7" :size="15" v-if="itemTwo.isCheck" @click.stop="defaultClick(itemTwo)" style="margin-right: 8px;" >
<el-icon color="#2c9ef7" :size="15" v-if="itemTwo.isCheck && itemTwo.defaulttype !== '1'" @click.stop="defaultClick(itemTwo)" style="margin-right: 8px;" >
<circle-check />
</el-icon>
<el-icon color="rgb(13, 215, 141)" :size="15" v-if="itemTwo.isDelete" @click.stop="childDelete(itemTwo)">
......
......@@ -7,11 +7,10 @@ import AddDomain from './modules/AddDomain.vue' // 数据域表单
import AddRules from './modules/AddRules.vue' // 发现规则表单
import ModalPop from "@/components/EditPop/ModalPop.vue"
import { query, getDictinaryTypes, delDataArea } from '@/api/ruleConfig/discover'
import { query, delDataArea, delRule, setdefault } from '@/api/ruleConfig/discover'
const splitNum = ref(0.31) // 左右分割比例
const collapseList = ref([]) // 数据域数据
const dictinaryTypeList = ref([]) // 字典分类数据
const data = reactive({
domainForm: {
......@@ -66,8 +65,9 @@ const getCollapse = () => {
isDelete: true,
}
})
if(collapseList.value.length < 0) return
if (collapseList.value.length < 0) return
domainForm.value = collapseList.value[0]
rightType.value = 'domain'
})
}
......@@ -85,8 +85,13 @@ const addDomainClick = () => {
}
// 新增发现规则
const collapseAdd = () => {
console.log('新增发现规则')
const collapseAdd = (item) => {
console.log('新增发现规则', item)
const { id, dataarea } = item
rulesForm.value = {
dataarea_id: id,
type: dataarea
}
modalPopData.title = '新增发现规则'
modalPopData.type = 'rules'
modalPopData.show = true
......@@ -95,6 +100,7 @@ const collapseAdd = () => {
// 删除发现规则
const collapseDelete = (item) => {
console.log('删除发现规则', item)
delData.value = item
modalData.type = 'rules'
modalData.cancel = true
modalData.icon = 'error'
......@@ -132,8 +138,35 @@ const modalConfirm = () => {
})
} else if (modalData.type === 'rules') {
console.log('删除发现规则确认')
const data = {
ruleid: delData.value.ruleid,
rulename: delData.value.name,
tid: delData.value.tid
}
delRule(data).then(res => {
const { flag } = res
if (flag) {
ElMessage.success('删除成功')
getCollapse()
} else {
ElMessage.error('删除失败')
}
})
} else if (modalData.type === 'default') {
console.log('设置默认项')
const data = {
ruleid: delData.value.ruleid,
rulename: delData.value.name,
}
setdefault(data).then(res => {
const { flag } = res
if (flag) {
ElMessage.success('设置成功')
getCollapse()
} else {
ElMessage.error('设置失败')
}
})
}
modalData.show = false
}
......@@ -146,12 +179,20 @@ const viewClick = (item) => {
// 规则点击监听
const collapseChange = (item) => {
rulesForm.value = item
const { id, dataarea } = item.parentItem
rulesForm.value = {
...item.item,
...{
dataarea_id: id,
type: dataarea
}
}
rightType.value = 'rules'
}
// 发现规则设置默认项
const collapseDefault = (item) => {
delData.value = item
modalData.type = 'default'
modalData.cancel = false
modalData.icon = 'error'
......@@ -166,20 +207,13 @@ const AddFormConfirm = (item) => {
getCollapse()
} else if (modalPopData.type === 'rules') {
console.log('新增发现规则确认', item)
getCollapse()
}
modalPopData.show = false
}
const getDictionaryTypesFunc = () => {
getDictinaryTypes({}).then(res => {
const { data } = res
dictinaryTypeList.value = data
})
}
onMounted(() => {
getCollapse()
getDictionaryTypesFunc()
})
</script>
......@@ -193,8 +227,10 @@ onMounted(() => {
<div class="app-container__body">
<Split v-model="splitNum">
<template #left>
<div class="demo-split-pane" style="padding: 0 0 10px 0;width: 100%;overflow: auto;height: 100%;display: flex;flex-direction: column;">
<div class="mb20" style="padding-right: 38px;display: flex;align-items: center;justify-content: space-between;">
<div class="demo-split-pane"
style="padding: 0 0 10px 0;width: 100%;overflow: auto;height: 100%;display: flex;flex-direction: column;">
<div class="mb20"
style="padding-right: 38px;display: flex;align-items: center;justify-content: space-between;">
<el-input class="mr20" v-model="queryParams.rulename" placeholder="数据域名称搜索">
<template #suffix>
<el-icon style="vertical-align: middle;cursor: pointer;" @click="getCollapse">
......@@ -237,7 +273,7 @@ onMounted(() => {
<template #content>
<AddDomain type="add" @cancel="modalPopCancel" @confirm="AddFormConfirm"
v-if="modalPopData.type === 'domain'" />
<AddRules type="add" @cancel="modalPopCancel" @confirm="AddFormConfirm"
<AddRules type="add" :itemData="rulesForm" @cancel="modalPopCancel" @confirm="AddFormConfirm"
v-if="modalPopData.type === 'rules'" />
</template>
</ModalPop>
......
......@@ -27,7 +27,6 @@ const data = reactive({
});
const { form, rules } = toRefs(data);
const readOnly = ref(true);
const formRef = ref<FormInstance>();
......@@ -91,10 +90,7 @@ const addDataAreaFun = () => {
addDataArea({tCoreDataArea: tCoreDataArea}).then(res => {
const { flag } = res
if (flag) {
ElMessage.success({
message: props.type === 'add' ? '新增成功' : '修改成功',
type: 'success',
})
ElMessage.success(props.type === "add" ? "新增成功" : "修改成功");
if (props.type === 'edit') {
readOnly.value = true
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论