From 19ce699164b25dcb39c5f1d08beca5d96d0db4f6 Mon Sep 17 00:00:00 2001
From: limengnan <420004014@qq.com>
Date: Wed, 13 May 2026 09:31:46 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=89=A9=E6=96=99=E5=92=8C?=
=?UTF-8?q?=E8=AE=BE=E5=A4=87=E4=BC=A0=E5=8F=82=E6=96=B9=E5=BC=8F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../src/api/business/database/device/index.ts | 12 +
.../business/database/criticalData/index.vue | 167 +++++-
.../views/business/database/device/index.vue | 532 +++---------------
3 files changed, 237 insertions(+), 474 deletions(-)
diff --git a/business-css/frontend/src/api/business/database/device/index.ts b/business-css/frontend/src/api/business/database/device/index.ts
index a774bd6..e7b42d4 100644
--- a/business-css/frontend/src/api/business/database/device/index.ts
+++ b/business-css/frontend/src/api/business/database/device/index.ts
@@ -48,3 +48,15 @@ export function deleteBatchDevices (queryParams:any){
data: queryParams
});
}
+
+
+//获取所有项目列表
+export function sizeSchemaAll(queryParams:any){
+ return request({
+ url: '/devices/v2/size-schema/all' ,
+ method: 'get',
+ params:queryParams
+ });
+}
+
+
diff --git a/business-css/frontend/src/views/business/database/criticalData/index.vue b/business-css/frontend/src/views/business/database/criticalData/index.vue
index ccee9cf..768d0fe 100644
--- a/business-css/frontend/src/views/business/database/criticalData/index.vue
+++ b/business-css/frontend/src/views/business/database/criticalData/index.vue
@@ -9,8 +9,21 @@ import { onMounted, ref, nextTick } from "vue";
import { ElForm, ElMessage, ElMessageBox } from "element-plus";
import { searchCriticalDataPage,addCriticalData,updateCriticalData,deleteCriticalData,deleteBatchCriticalData} from "@/api/business/database/criticalData";
import { getDictItemById } from '@/api/dict';
+import { sizeSchemaAll } from "@/api/business/database/device";
+
import Page from '@/components/Pagination/page.vue'
import { getToken } from '@/utils/auth'
+
+//获取所有项目列表
+const sizeSchemaInfo:any = ref({});
+
+async function getSizeSchemaList(){
+ let result = await sizeSchemaAll({})
+ sizeSchemaInfo.value = result
+}
+
+
+
const url = import.meta.env.VITE_APP_BASE_API;
// 搜索框
const queryParams:any = ref({
@@ -38,6 +51,10 @@ function gettableData() {
loading.value = true;
searchCriticalDataPage(params).then((result:any) => {
tableData.value = result.records;
+ result.records.forEach((item:any) => {
+ item.size = JSON.parse(item.size)
+
+ })
total.value = result.total;
loading.value = false;
}).catch((err) => {
@@ -54,7 +71,7 @@ function handleSelectionChange(val: any) {
const menuData:any = ref([])
-
+const sourceTempData:any = ref([])
// 查询字典项
function menuInit() {
let params = {
@@ -65,6 +82,7 @@ function menuInit() {
getDictItemById(params).then((result: any) => {
menuData.value = result.data.records;
queryParams.value.type = menuData.value[0].itemCode
+ sourceTempData.value = sizeSchemaInfo.value[queryParams.value.type].fields
gettableData();
}).catch((err: any) => {
});
@@ -72,6 +90,7 @@ function menuInit() {
function handleMenu(row:any) {
queryParams.value.type = row.itemCode
+ sourceTempData.value = sizeSchemaInfo.value[queryParams.value.type].fields
gettableData()
}
@@ -100,8 +119,13 @@ function addClick() {
fissileConcentration: null,
isotopicAbundance: null,
keffValue: null,
+ size: {},
};
+ sourceTempData.value.forEach((item:any) => {
+ info.value.size[item.key] = null
+ })
+
customAttrsData.value = []
dialogVisible.value = true;
}
@@ -114,6 +138,7 @@ function confirmClick(formEl: any) {
const params = {
...info.value,
+ size: JSON.stringify(info.value.size),
}
addCriticalData(params).then((res:any) => {
if(res === true){
@@ -129,13 +154,8 @@ function confirmClick(formEl: any) {
});
} else if (info.value.criticalId) {
const params = {
- criticalId: info.value.criticalId,
- deviceType: info.value.deviceType,
- diameter: info.value.diameter,
- height: info.value.height,
- fissileConcentration: info.value.fissileConcentration,
- isotopicAbundance: info.value.isotopicAbundance,
- keffValue: info.value.keffValue,
+ ...info.value,
+ size: JSON.stringify(info.value.size),
}
updateCriticalData(params).then((res:any) => {
if(res === true){
@@ -169,6 +189,14 @@ const rules = ref({
function editClick(row: any) {
title.value = "修改临界数据";
info.value = JSON.parse(JSON.stringify(row));
+
+ sourceTempData.value = sizeSchemaInfo.value[queryParams.value.type].fields
+ if(row.size == null || "object" != typeof row.size){
+ info.value.size = {}
+ sourceTempData.value.forEach((item:any) => {
+ info.value.size[item.key] = null
+ })
+ }
dialogVisible.value = true;
}
@@ -278,6 +306,7 @@ function handleNumberInput(field: string) {
onMounted(() => {
+ getSizeSchemaList()
menuInit()
});
@@ -323,10 +352,15 @@ onMounted(() => {
:header-cell-style="{ background: 'rgb(250 250 250)', color: '#383838', height: '50px' }">
-
+
+
+ {{ scope.row.size[item.key] }}
+
+
+
@@ -355,20 +389,111 @@ onMounted(() => {
append-to-body width="677px" height="530px">
-
-
+
+
+ {{item.unit}}
+
-
-
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/business-css/frontend/src/views/business/database/device/index.vue b/business-css/frontend/src/views/business/database/device/index.vue
index bb9756d..c646885 100644
--- a/business-css/frontend/src/views/business/database/device/index.vue
+++ b/business-css/frontend/src/views/business/database/device/index.vue
@@ -7,7 +7,7 @@ export default {