Commit fc213e16 by ningjihai

脱敏新增

parent 5897447f
......@@ -106,4 +106,17 @@ export function desensitizationStrategyDetails(data) {
data: data
})
}
export function save(data) {
return request({
url: '/core/desensitizationStrategy/save',
method: 'post',
data: data
})
}
export function remove(data) {
return request({
url: '/core/desensitizationStrategy/remove',
method: 'post',
data: data
})
}
......@@ -10,7 +10,8 @@ import StrategyAddDialog from './modules/StrategyAddDialog.vue' // 统一对话
import {
getTableList,
queryAll
queryAll,
remove
} from '@/api/desensitizationStrategy'
const appStore = useAppStore()
......@@ -122,7 +123,7 @@ const showDetail = (row) => {
dialog.value.type = 'info'
strategyDialogRef.value.openDialog('detail', row)
strategyAddDialogRef.value.openDialog('detail', row)
}
/**
......@@ -151,10 +152,13 @@ const deleteStrategy = (row) => {
type: 'warning'
}
).then(() => {
deleteStrategyApi(row.id).then(res => {
remove({
projectid: sessionStorage.getItem('projectId'),
strategyId: row.strategyId
}).then(res => {
if (res.flag) {
ElMessage.success('删除成功')
getList() // 刷新列表
handleQuery() // 刷新列表
} else {
ElMessage.error(res.msg)
}
......@@ -232,8 +236,7 @@ const toggleStatus = (row) => {
:header-cell-style="{ background: '#f5f7fa', color: '#606266' }"
v-loading="loading"
>
<el-table-column prop="index" label="序号" width="80" align="center" />
<el-table-column prop="strategyName" label="策略名称" min-width="120" />
<el-table-column prop="strategyName" label="策略名称" min-width="120" fiexd/>
<el-table-column prop="remarks" label="备注" min-width="120" show-overflow-tooltip />
<el-table-column prop="createtime" label="创建时间" min-width="180" />
<el-table-column prop="createuser" label="创建人" width="120" />
......@@ -244,7 +247,7 @@ const toggleStatus = (row) => {
</el-tag>
</template>
</el-table-column>
<el-table-column label="操作" width="280" align="center">
<el-table-column label="操作" width="280" align="center" fixed="right">
<template #default="{ row }">
<el-button link type="primary" size="small" @click="showDetail(row)">详情</el-button>
<el-divider direction="vertical" />
......@@ -270,7 +273,7 @@ const toggleStatus = (row) => {
</div>
<!-- 统一策略对话框组件 -->
<StrategyAddDialog :title="dialog.title" ref="strategyAddDialogRef" @refresh="getList" />
<StrategyAddDialog :title="dialog.title" ref="strategyAddDialogRef" @refresh="handleQuery" />
</div>
</template>
......
......@@ -72,6 +72,31 @@ import {
const emit = defineEmits(['confirm'])
const props = defineProps({
// 数据
tschemas: {
type: String,
default: '',
},
// 当前的值
dataTableLabel: [Number, String, Array],
// 当未找到匹配的数据时,显示value
table_field_id: {
type: String,
default: '',
},
dataSystemid: {
type: String,
default: '',
}
})
// 控制弹窗显示
const dialogVisible = ref(false)
......@@ -101,11 +126,6 @@ onMounted(() => {
})
const loadDataAreaList = () => {
desensitizationruleQuery().then(res=>{
dataAreaList.value = res.data
})
}
// 选择数据域
......@@ -123,10 +143,10 @@ const selectRule = (val) => {
// 打开弹窗
const open = (fieldData = {}) => {
console.log('open',fieldData)
loadDataAreaList()
currentFieldData.value = fieldData
console.log('currentFieldData.value',currentFieldData.value)
initData(fieldData)
initData(currentFieldData.value)
dialogVisible.value = true
}
......@@ -137,19 +157,28 @@ const close = () => {
}
// 初始化数据
const initData = (fieldData) => {
const initData = (val) => {
desensitizationruleQuery().then(res=>{
dataAreaList.value = res.data
// 如果有传入的字段数据,可以预设选择
if (val.dataareanameId) {
selectedDataArea.value = dataAreaList.value.find(item => item.id === val.dataareanameId)
console.log('123123',selectedDataArea.value)
// selectedDataArea.value = val.dataarea_id
}
if (val.rulenameId && selectedDataArea.value) {
selectedRule.value = selectedDataArea.value.ruleList.find(item => item.id === val.rulenameId)
}
})
// 如果有传入的字段数据,可以预设选择
if (fieldData.dataarea_id) {
// selectedDataArea.value = fieldData.dataarea_id
}
if (fieldData.rule_id) {
// selectedRule.value = fieldData.rule_id
}
// 如果没有传入数据,重置表单
// if (!fieldData || Object.keys(fieldData).length === 0) {
......@@ -175,17 +204,26 @@ const handleConfirm = () => {
ElMessage.warning('请选择脱敏规则')
return
}
console.log('selectedRule',selectedRule.vaue)
emit('confirm', {
selectedDataArea: selectedDataArea.value,
selectedRule: selectedRule.value,
fieldData: currentFieldData.value
})
let data = {
dataSystemid:props.dataSystemid,
dataareaid: selectedDataArea.value.id,
dataareaname: selectedDataArea.value.dataarea,
ruleId: selectedRule.value.id,
rulename: selectedRule.value.rulename,
table_field_id:props.table_field_id,
tschemas:props.tschemas,
names:props.dataTableLabel
}
let str = `${props.tschemas}.${props.dataTableLabel}.${props.table_field_id}`
emit('confirm',str,data)
close()
ElMessage.success('脱敏规则设置成功')
// ElMessage.success('脱敏规则设置成功')
}
// 关闭弹窗
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论