Commit 8f28908e by ningjihai

项目管理新增第二步bug

(发现梳理新增组件变成页面组件)
parent 10ff4b11
import request from '@/utils/request'
/**
* 发现梳理列表
* @param {*} query
* @returns
*/
export function queryDiscoverList(data) {
return request({
url: '/core/tdatadiscovery/query',
method: 'post',
data: data
})
}
export function querybyprojectid(data) {
return request({
url: '/core/searchregex/querybyprojectid',
method: 'post',
data: data
})
}
export function querydatasystem(data) {
return request({
url: '/core/searchsensitivedata/querydatasystem',
method: 'post',
data: data
})
}
// export function checkProjectNum(data) {
// return request({
// url: '/core/tdataproject/checkProjectNum',
// method: 'post',
// data: data
// })
// }
// export function getdatascopeprojectlist(data) {
// return request({
// url: '/core/datascopeproject/getdatascopeprojectlist',
// method: 'post',
// data: data
// })
// }
// export function checkDatasystemName(data) {
// return request({
// url: '/core/tdataproject/checkDatasystemName',
// method: 'post',
// data: data
// })
// }
// export function checkDatasystem(data) {
// return request({
// url: '/core/tdataproject/checkDatasystem',
// method: 'post',
// data: data
// })
// }
// export function queryByEditSort(data) {
// return request({
// url: '/core/tdatasource/queryByEditSort',
// method: 'post',
// data: data
// })
// }
// export function selectProDataSource(data) {
// return request({
// url: '/core/tdatasource/selectProDataSource',
// method: 'post',
// data: data
// })
// }
// export function queryShemas(data) {
// return request({
// url: '/core/searchsensitivedata/queryShemas',
// method: 'post',
// data: data
// })
// }
// export function getAllDataAreaAndRule(data) {
// return request({
// url: '/core/tdataarea/getAllDataAreaAndRule',
// method: 'post',
// data: data
// })
// }
// export function addDataProject(data) {
// return request({
// url: '/core/tdataproject/addDataProject',
// method: 'post',
// data: data
// })
// }
// export function deleteDataProject(data) {
// return request({
// url: '/core/tdataproject/deleteDataProject',
// method: 'post',
// data: data
// })
// }
// export function getDataProjectDetail(data) {
// return request({
// url: '/core/tdataproject/getDataProjectDetail',
// method: 'post',
// data: data
// })
// }
// export function updateDataProject(data) {
// return request({
// url: '/core/tdataproject/updateDataProject',
// method: 'post',
// data: data
// })
// }
// export function showProxyInfo(data) {
// return request({
// url: '/core/encryptionconfig/showProxyInfo',
// method: 'post',
// data: data
// })
// }
// export function saveProxyJarInfo(data) {
// return request({
// url: '/core/encryptionconfig/saveProxyJarInfo',
// method: 'post',
// data: data
// })
// }
// export function getProjectTree(data) {
// return request({
// url: '/core/encryptionconfig/getProjectTree',
// method: 'post',
// data: data
// })
// }
// export function getEncryptExcel(data) {
// return request({
// url: '/core/encryptionconfig/getEncryptExcel',
// method: 'post',
// data: data,
// responseType: 'blob' //
// })
// }
// export function checkEncryptExcel(data) {
// return request({
// url: '/core/encryptionconfig/checkEncryptExcel',
// method: 'post',
// data: data
// })
// }
// export function exportToExcel(data) {
// return request({
// url: '/core/encryptionconfig/exportToExcel',
// method: 'post',
// data: data,
// responseType: 'blob' //
// })
// }
// export function tdatasourceQuery(data) {
// return request({
// url: '/core/tdatasource/query',
// method: 'post',
// data: data
// })
// }
// export function queryShemasmodifysubsettask(data) {
// return request({
// url: '/core/modifysubsettask/queryShemas',
// method: 'post',
// data: data
// })
// }
// export function rowsensitivelevelType(type,data) {
// return request({
// url: '/core/rowsensitivelevel/' + type,
// method: 'post',
// data: data
// })
// }
...@@ -34,7 +34,7 @@ function onSearch() { ...@@ -34,7 +34,7 @@ function onSearch() {
// 重置 // 重置
function onReset(formRef: FormInstance) { function onReset(formRef: FormInstance) {
queryForm.value.title = '' queryForm.value.taskname = ''
emit('reset', formRef) emit('reset', formRef)
} }
...@@ -48,9 +48,9 @@ function onReset(formRef: FormInstance) { ...@@ -48,9 +48,9 @@ function onReset(formRef: FormInstance) {
:model="queryForm" :model="queryForm"
@search="onSearch" @search="onSearch"
@reset="onReset"> @reset="onReset">
<el-form-item label="发现任务名称" prop="title"> <el-form-item label="发现任务名称" prop="taskname">
<el-input <el-input
v-model="queryForm.title" v-model="queryForm.taskname"
placeholder="请输入发现任务名称" placeholder="请输入发现任务名称"
clearable clearable
/> />
......
<template> <template>
<el-dialog <div class="app-container scroller">
v-model="dialogVisible" <PageTitle :back="true" @back="backListPage">
:title="dialogTitle" <template #title>
width="800px" 新增发现任务
:before-close="handleClose" </template>
>
<!-- 步骤导航 - 按照图片样式重新设计 --> </PageTitle>
<div class="app-container__body">
<div class="steps-navigation"> <div class="steps-navigation">
<div class="steps-container"> <div class="steps-container">
<div class="step-item" :class="{ 'step-active': currentStep === 1, 'step-completed': currentStep > 1 }"> <div class="step-item" :class="{ 'step-active': currentStep === 1, 'step-completed': currentStep > 1 }">
...@@ -31,9 +34,9 @@ ...@@ -31,9 +34,9 @@
<!-- 步骤1:新建任务 --> <!-- 步骤1:新建任务 -->
<div v-if="currentStep === 1" class="step-content"> <div v-if="currentStep === 1" class="step-content">
<el-form :model="formData" :rules="rules" ref="step1Form" label-width="120px"> <el-form :model="formData" :rules="rules" ref="step1Form" label-width="120px">
<el-form-item label="发现任务名称" prop="tname" required> <el-form-item label="发现任务名称" prop="taskname" required>
<el-input <el-input
v-model="formData.tname" v-model="formData.taskname"
placeholder="请输入发现任务名称" placeholder="请输入发现任务名称"
clearable clearable
maxlength="50" maxlength="50"
...@@ -183,7 +186,7 @@ ...@@ -183,7 +186,7 @@
</div> </div>
<!-- 底部按钮 --> <!-- 底部按钮 -->
<template #footer> <!-- <template #footer> -->
<div class="dialog-footer"> <div class="dialog-footer">
<el-button @click="handleCancel">取消</el-button> <el-button @click="handleCancel">取消</el-button>
...@@ -210,29 +213,56 @@ ...@@ -210,29 +213,56 @@
确定 确定
</el-button> </el-button>
</div> </div>
</template> <!-- </template> -->
<!-- 敏感类型选择弹窗 -->
<!-- <SensitiveTypeDialog
v-model="sensitiveTypeDialogVisible"
@confirm="handleSensitiveTypeConfirm"
/> -->
<SensitiveTypeDialog <SensitiveTypeDialog
ref="sensitiveDialogRef" ref="sensitiveDialogRef"
v-model="sensitiveTypeDialogVisible" v-model="sensitiveTypeDialogVisible"
:selected-types="selectedRuleIds" :selected-types="selectedRuleIds"
@confirm="handleRuleConfirm" @confirm="handleRuleConfirm"
/> />
</el-dialog> </div>
</div>
</template> </template>
<script setup> <script setup>
import { ref, reactive, computed } from 'vue' import { ref, reactive, computed,onMounted } from 'vue'
import { ElMessage } from 'element-plus' import { ElMessage } from 'element-plus'
import SensitiveTypeDialog from './SensitiveTypeDialog.vue' import useAppStore from '@/store/modules/app'
import SensitiveTypeDialog from './modules/SensitiveTypeDialog.vue'
import {
querybyprojectid,
querydatasystem
} from '@/api/discover/index'
const emit = defineEmits(['confirm']) const appStore = useAppStore()
const props = defineProps({
listItem: {
type: Object,
default: () => ({})
},
addEditType:{
type: String,
default: ''
}
})
const emit = defineEmits(['page','confirm'])
const backListPage = () => {
emit('page', 'list')
}
const loginUser = {
tsysUser: {
id: appStore.userInfo.user.id,
username: appStore.userInfo.user.username
}
}
const dialogVisible = ref(false) const dialogVisible = ref(false)
const currentStep = ref(1) const currentStep = ref(1)
...@@ -251,12 +281,12 @@ const selectedRules = ref([ ...@@ -251,12 +281,12 @@ const selectedRules = ref([
const sensitiveTypes = ref(['电子邮件', '混合证件号']) const sensitiveTypes = ref(['电子邮件', '混合证件号'])
// 步骤1数据 // 步骤1数据
const formData = reactive({ const formData = reactive({
tname: '123', taskname: '',
remark: '' remark: ''
}) })
const rules = { const rules = {
tname: [ taskname: [
{ required: true, message: '请填写发现任务名称', trigger: 'blur' } { required: true, message: '请填写发现任务名称', trigger: 'blur' }
] ]
} }
...@@ -337,6 +367,28 @@ const filteredTableList = computed(() => { ...@@ -337,6 +367,28 @@ const filteredTableList = computed(() => {
) )
}) })
onMounted(() => {
querybyprojectid({
dataarea: "",
projectid: sessionStorage.getItem('projectId'),
rulename: ""
}).then(res =>{
})
querydatasystem({
discoverytype: 1,
projectid: sessionStorage.getItem('projectId'),
loginUser: loginUser
}).then(res =>{
})
})
// 修改openDialog方法 // 修改openDialog方法
const openDialog = (row = null) => { const openDialog = (row = null) => {
dialogVisible.value = true dialogVisible.value = true
...@@ -347,7 +399,7 @@ const openDialog = (row = null) => { ...@@ -347,7 +399,7 @@ const openDialog = (row = null) => {
// 编辑模式 // 编辑模式
currentEditId.value = row.id currentEditId.value = row.id
// 填充步骤1数据 // 填充步骤1数据
formData.tname = row.tname formData.taskname = row.taskname
formData.remark = row.remark formData.remark = row.remark
// 填充步骤2数据(根据实际业务数据调整) // 填充步骤2数据(根据实际业务数据调整)
...@@ -371,7 +423,7 @@ const openDialog = (row = null) => { ...@@ -371,7 +423,7 @@ const openDialog = (row = null) => {
} }
const resetForm = () => { const resetForm = () => {
formData.tname = '123' formData.taskname = ''
formData.remark = '' formData.remark = ''
selectedDataSource.value = 'system1' selectedDataSource.value = 'system1'
selectedSchema.value = 'ry' selectedSchema.value = 'ry'
...@@ -392,7 +444,7 @@ const handleCancel = () => { ...@@ -392,7 +444,7 @@ const handleCancel = () => {
const handleNextStep = async () => { const handleNextStep = async () => {
if (currentStep.value === 1) { if (currentStep.value === 1) {
if (!formData.tname.trim()) { if (!formData.taskname.trim()) {
ElMessage.error('请填写发现任务名称') ElMessage.error('请填写发现任务名称')
return return
} }
...@@ -500,7 +552,7 @@ defineExpose({ ...@@ -500,7 +552,7 @@ defineExpose({
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
min-width: 100px; min-width: 200px;
&.step-active { &.step-active {
.step-number { .step-number {
......
<script setup lang="ts" name="projectManageIndex"> <script setup lang="ts" name="projectManageIndex">
import { ref } from 'vue' import { ref } from 'vue'
import list from './list.vue' import list from './list.vue'
import addEditDiscovery from './addEditDiscovery.vue'
import discoverProcess from './discoverProcess.vue' import discoverProcess from './discoverProcess.vue'
import discoverResult from './discoverResult.vue' import discoverResult from './discoverResult.vue'
import discoverHistory from './discoverHistory.vue' import discoverHistory from './discoverHistory.vue'
const widget = { const widget = {
list: list, list: list,
addEditDiscovery: addEditDiscovery,
discoverProcess: discoverProcess, discoverProcess: discoverProcess,
discoverResult: discoverResult, discoverResult: discoverResult,
discoverHistory: discoverHistory discoverHistory: discoverHistory
......
<script setup name="ProjectManageList"> <script setup name="ProjectManageList">
import { getCurrentInstance, reactive, ref, toRefs } from 'vue' import { getCurrentInstance, reactive, ref, toRefs,onMounted } from 'vue'
import { ElMessage, ElMessageBox } from 'element-plus' import { ElMessage, ElMessageBox } from 'element-plus'
import { useRouter } from 'vue-router' import { useRouter } from 'vue-router'
...@@ -8,9 +8,16 @@ import usePermissionStore from '@/store/modules/permission' ...@@ -8,9 +8,16 @@ import usePermissionStore from '@/store/modules/permission'
import { changeRoute } from '@/utils/switchRoute' import { changeRoute } from '@/utils/switchRoute'
import QueryForm from './QueryForm.vue' import QueryForm from './QueryForm.vue'
import AddDiscoveryDialog from './modules/AddDiscoveryDialog.vue' // 引入新增发现任务弹窗 // import AddDiscoveryDialog from './modules/AddDiscoveryDialog.vue' // 引入新增发现任务弹窗
import SmartDiscoveryDialog from './modules/SmartDiscoveryDialog.vue' import SmartDiscoveryDialog from './modules/SmartDiscoveryDialog.vue'
import {
queryDiscoverList
} from '@/api/discover/index'
const appStore = useAppStore() const appStore = useAppStore()
const permissionStore = usePermissionStore() const permissionStore = usePermissionStore()
const router = useRouter() const router = useRouter()
...@@ -20,6 +27,10 @@ const { proxy } = getCurrentInstance() ...@@ -20,6 +27,10 @@ const { proxy } = getCurrentInstance()
// 新增发现任务弹窗引用 // 新增发现任务弹窗引用
const addDiscoveryDialogRef = ref() const addDiscoveryDialogRef = ref()
onMounted(()=>{
handleQuery()
})
function onReset(formQuery) { function onReset(formQuery) {
console.log('onReset') console.log('onReset')
formQuery.resetFields() formQuery.resetFields()
...@@ -38,48 +49,73 @@ function handleQuery() { ...@@ -38,48 +49,73 @@ function handleQuery() {
} }
// 表格数据 // 表格数据
const tableData = ref([ const tableData = ref([
{ // {
id: 1, // id: 1,
taskName: '22', // taskName: '22',
result: '0/225', // result: '0/225',
dbType: 'MYSQL', // dbType: 'MYSQL',
operator: 'admin', // operator: 'admin',
createTime: '2025-08-21 16:55:30', // createTime: '2025-08-21 16:55:30',
updateTime: '2025-08-21 16:55:30', // updateTime: '2025-08-21 16:55:30',
remark: '', // remark: '',
projectid: "ec132fb8-04f0-4c0f-8460-c2a0ac4015d5", // projectid: "ec132fb8-04f0-4c0f-8460-c2a0ac4015d5",
resultid: "R_1755845361051", // resultid: "R_1755845361051",
datasystemid: "ff80818198986db40198c5933e5902e7", // datasystemid: "ff80818198986db40198c5933e5902e7",
}, // },
{ // {
id: 2, // id: 2,
taskName: '小王', // taskName: '小王',
result: '2/225', // result: '2/225',
dbType: 'MYSQL', // dbType: 'MYSQL',
operator: 'admin', // operator: 'admin',
createTime: '2025-08-21 16:55:30', // createTime: '2025-08-21 16:55:30',
updateTime: '2025-08-21 16:55:30', // updateTime: '2025-08-21 16:55:30',
remark: '' // remark: ''
} // }
]) ])
const data = reactive({ const data = reactive({
queryParams: { queryParams: {
pageNum: 1, pageno: 1,
pageSize: 8 pagesize: 10,
project: sessionStorage.getItem('projectName') || '',
projectid: sessionStorage.getItem('projectId') || ''
} }
}) })
// 表格数据 // 表格数据
const { queryParams } = toRefs(data) const { queryParams } = toRefs(data)
const total = ref(3) const total = ref(0)
const loading = ref(false) const loading = ref(false)
// 查询列表 // 查询列表
function getList() { function getList() {
loading.value = true loading.value = true
setTimeout(() => { queryDiscoverList(queryParams.value).then(res=>{
console.log(res)
if(res.flag){
tableData.value = res.data.list.map(item => ({
...item,
id: item.id,
taskName: item.tname,
result: item.countResult,
dbType: item.dbtype,
operator: item.username,
createTime: item.createtime,
updateTime: item.updatetime,
remark: item.note
}))
loading.value = false
}else{
tableData.value = []
loading.value = false loading.value = false
}, 3000) ElMessage.error(res.msg)
}
}).catch((err) => {
tableData.value = []
loading.value = false
console.log(err)
ElMessage.error(res.msg)
})
} }
function pageProjectManage() { function pageProjectManage() {
...@@ -95,7 +131,8 @@ function pageProjectManage() { ...@@ -95,7 +131,8 @@ function pageProjectManage() {
*/ */
function handleAdd(){ function handleAdd(){
console.log('新增发现任务') console.log('新增发现任务')
addDiscoveryDialogRef.value.openDialog() // addDiscoveryDialogRef.value.openDialog()
emit('page', 'addEditDiscovery', { listItem: null, addEditType: 'add'})
} }
// 操作处理函数 // 操作处理函数
const handleEdit = (row) => { const handleEdit = (row) => {
...@@ -381,7 +418,7 @@ const handleAddEditConfirm = (submitData, isEditMode) =>{ ...@@ -381,7 +418,7 @@ const handleAddEditConfirm = (submitData, isEditMode) =>{
</div> </div>
<!-- 新增/编辑发现任务弹窗 --> <!-- 新增/编辑发现任务弹窗 -->
<AddDiscoveryDialog ref="addDiscoveryDialogRef" @confirm="handleAddEditConfirm" /> <!-- <AddDiscoveryDialog ref="addDiscoveryDialogRef" @confirm="handleAddEditConfirm" /> -->
<SmartDiscoveryDialog <SmartDiscoveryDialog
v-model="smartDiscoveryDialogVisible" v-model="smartDiscoveryDialogVisible"
ref="smartDiscoveryDialogRef" ref="smartDiscoveryDialogRef"
......
...@@ -208,6 +208,7 @@ const handleEnterProject = (project) => { ...@@ -208,6 +208,7 @@ const handleEnterProject = (project) => {
console.log('进入项目:', project) console.log('进入项目:', project)
changeRoute() changeRoute()
sessionStorage.setItem('projectId',project.id) sessionStorage.setItem('projectId',project.id)
sessionStorage.setItem('projectName',project.project)
router.push({ path:'/indexManage/ItemManage',query: { projectId: project.id } }) router.push({ path:'/indexManage/ItemManage',query: { projectId: project.id } })
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论