From 9c44af4beea48fc34024442ff125d82575afe0ca Mon Sep 17 00:00:00 2001
From: siyaqi
Date: Sat, 27 Dec 2025 18:49:08 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=8F=90=E4=BA=A4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../module_admin/dao/metadata_config_dao.py | 1 +
.../src/views/dataAsset/assetDetail/index.vue | 2 +-
.../views/metadataConfig/bizConfig/index.vue | 150 ++++++++++++------
.../metadataConfig/taskBizConfig/index.vue | 2 +-
4 files changed, 103 insertions(+), 52 deletions(-)
diff --git a/vue-fastapi-backend/module_admin/dao/metadata_config_dao.py b/vue-fastapi-backend/module_admin/dao/metadata_config_dao.py
index a38065c..7544db7 100644
--- a/vue-fastapi-backend/module_admin/dao/metadata_config_dao.py
+++ b/vue-fastapi-backend/module_admin/dao/metadata_config_dao.py
@@ -200,6 +200,7 @@ class MetadataConfigDao:
.outerjoin(subquery, SecuBizConfig.onum == subquery.c.biz_onum)
.where(
SecuBizConfig.risk_lvl.like(f"%{query_object.risk_lvl}%") if query_object.risk_lvl else True,
+ SecuBizConfig.biz_name.like(f"%{query_object.biz_name}%") if query_object.biz_name else True,
SecuBizConfig.isStop == query_object.isStop if query_object.isStop is not None else True,
SecuBizConfig.create_time.between(
datetime.combine(datetime.strptime(query_object.begin_time, '%Y-%m-%d'), time.min),
diff --git a/vue-fastapi-frontend/src/views/dataAsset/assetDetail/index.vue b/vue-fastapi-frontend/src/views/dataAsset/assetDetail/index.vue
index dd3f8b5..85f2bb1 100644
--- a/vue-fastapi-frontend/src/views/dataAsset/assetDetail/index.vue
+++ b/vue-fastapi-frontend/src/views/dataAsset/assetDetail/index.vue
@@ -177,7 +177,7 @@
diff --git a/vue-fastapi-frontend/src/views/metadataConfig/bizConfig/index.vue b/vue-fastapi-frontend/src/views/metadataConfig/bizConfig/index.vue
index f02bfc1..37f27d7 100644
--- a/vue-fastapi-frontend/src/views/metadataConfig/bizConfig/index.vue
+++ b/vue-fastapi-frontend/src/views/metadataConfig/bizConfig/index.vue
@@ -146,50 +146,77 @@
-
-
-
-
-
-
-
-
-
-
- 查询
-
-
-
-
-
-
-
-
- {{
- getNameById(scope.row.ssysId)
- }}
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 查询
+
+
+
+
+
+
+
+
+ {{
+ getNameById(scope.row.ssysId)
+ }}
+
+
+
+
+
+
-
+ style="position: absolute!important;right: 800px!important;margin-top: 20px;"
+ v-show="leftTotal > 0"
+ :total="leftTotal"
+ v-model:page="leftQueryForm.pageNum"
+ v-model:limit="leftQueryForm.pageSize"
+ @pagination="loadLeftTable"
+ />
+
+
+
+
@@ -252,10 +279,11 @@ const queryForm = reactive({
pageSize: 10
})
const leftQueryForm = reactive({
- ssysCd: '',
+ ssysId: '',
tabName: '',
+ mdlName: '',
pageNum: 1,
- pageSize: 10
+ pageSize: 10,
})
const bizList = ref([])
@@ -424,17 +452,27 @@ function handleLeftSelect(rows) {
}
function handleRightSelect(rows) {
rightSelected.value = rows
+
+}
+function filterLeftTable() {
+ const rightKeys = new Set(rightTableData.value.map(buildKey))
+ leftTableData.value = leftTableData.value.filter(
+ item => !rightKeys.has(buildKey(item))
+ )
}
+
async function loadLeftTable() {
const res = await getMetaDataList(leftQueryForm)
leftTableData.value = res.data.rows || []
leftTotal.value = res.data.total || 0
+ filterLeftTable()
}
async function loadRightTable(onum) {
const res = await getBizRalaList(onum)
rightTableData.value = res.data || []
+ filterLeftTable()
}
// 用唯一键:ssysCd + mdlName + tabEngName 来判断是否重复
@@ -444,18 +482,30 @@ function buildKey(row) {
function moveToRight() {
const existingKeys = new Set(rightTableData.value.map(buildKey))
- leftSelected.value.forEach(item => {
- if (!existingKeys.has(buildKey(item))) {
- let additem=item
- additem.onum=item.extractOnum
- rightTableData.value.push(item)
- }
+ const toMove = leftSelected.value.filter(item => !existingKeys.has(buildKey(item)))
+ toMove.forEach(item => {
+ let additem = { ...item, onum: item.extractOnum }
+ rightTableData.value.push(additem)
})
+ // 左边删除选中的
+ leftTableData.value = leftTableData.value.filter(
+ item => !toMove.includes(item)
+ )
+ leftSelected.value = []
}
+
function moveToLeft() {
const removeKeys = new Set(rightSelected.value.map(buildKey))
+
+ // 把右边选中的去掉
+ const toRemove = rightTableData.value.filter(item => removeKeys.has(buildKey(item)))
rightTableData.value = rightTableData.value.filter(item => !removeKeys.has(buildKey(item)))
+
+ // 放回左边
+ leftTableData.value.push(...toRemove)
+
+ rightSelected.value = []
}
onMounted(() => {
diff --git a/vue-fastapi-frontend/src/views/metadataConfig/taskBizConfig/index.vue b/vue-fastapi-frontend/src/views/metadataConfig/taskBizConfig/index.vue
index 8854d49..7fc00da 100644
--- a/vue-fastapi-frontend/src/views/metadataConfig/taskBizConfig/index.vue
+++ b/vue-fastapi-frontend/src/views/metadataConfig/taskBizConfig/index.vue
@@ -554,7 +554,7 @@ function filterLeftTable() {
}
function buildKey(row) {
- return `${row.ssysCd}||${row.mdlName}||${row.tabEngName}`
+ return `${row.ssysId}||${row.mdlName}||${row.tabEngName}`
}
function moveToRight() {