From 3e4ad3afb8afc356bc5b109fabbef18825dd2c95 Mon Sep 17 00:00:00 2001 From: limengnan <420004014@qq.com> Date: Fri, 16 Jan 2026 14:43:40 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=88=86=E6=9E=90=E7=89=A9?= =?UTF-8?q?=E6=96=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/antvx6/adddevice.vue | 17 +- .../src/components/antvx6/editdevice.vue | 353 +++++++++++ .../frontend/src/components/antvx6/index.vue | 85 ++- .../src/components/antvx6/materialmodel.vue | 598 ++++++++++++++++++ .../business/database/material/index.vue | 16 +- 5 files changed, 1052 insertions(+), 17 deletions(-) create mode 100644 business-css/frontend/src/components/antvx6/editdevice.vue create mode 100644 business-css/frontend/src/components/antvx6/materialmodel.vue diff --git a/business-css/frontend/src/components/antvx6/adddevice.vue b/business-css/frontend/src/components/antvx6/adddevice.vue index 44dea33..6c882d4 100644 --- a/business-css/frontend/src/components/antvx6/adddevice.vue +++ b/business-css/frontend/src/components/antvx6/adddevice.vue @@ -109,7 +109,7 @@ const selectPatient = (row:any) => { // 选择患者 function confirmDevice(){ // 确定添加设备 const params = { projectId: props.projectInfo.projectId, - deviceId: selectedDevice.value.deviceId, + deviceId: props.deviceId, size: selectedDevice.value.size, code: selectedDevice.value.code, name: selectedDevice.value.name, @@ -118,8 +118,10 @@ function confirmDevice(){ // 确定添加设备 flowRate: selectedDevice.value.flowRate, pulseVelocity: selectedDevice.value.pulseVelocity, } - addDevices(params).then((res) => { - emit('closeAdddevice', selectedDevice.value) + addDevices(params).then((res:any) => { + if(res == true){ + emit('closeAdddevice', selectedDevice.value) + } }); } @@ -130,10 +132,13 @@ function confirmClick(formEl: any) { ...info.value, size: JSON.stringify( josnInfo.value), projectId: props.projectInfo.projectId, - deviceId: selectedDevice.value.deviceId + deviceId: props.deviceId } - addDevices(params).then((res) => { - emit('closeAdddevice', selectedDevice.value) + addDevices(params).then((res:any) => { + if(res == true){ + emit('closeAdddevice',params) + } + }); } }); diff --git a/business-css/frontend/src/components/antvx6/editdevice.vue b/business-css/frontend/src/components/antvx6/editdevice.vue new file mode 100644 index 0000000..e8eb668 --- /dev/null +++ b/business-css/frontend/src/components/antvx6/editdevice.vue @@ -0,0 +1,353 @@ + + + + + + + + + + + diff --git a/business-css/frontend/src/components/antvx6/index.vue b/business-css/frontend/src/components/antvx6/index.vue index faf0bda..56e5f61 100644 --- a/business-css/frontend/src/components/antvx6/index.vue +++ b/business-css/frontend/src/components/antvx6/index.vue @@ -33,6 +33,9 @@ import line4 from '@/assets/x6/line4.png' import line5 from '@/assets/x6/line5.png' import line6 from '@/assets/x6/line6.png' import AdddeviceModel from './adddevice.vue'; +import EditdeviceModel from './editdevice.vue'; +import MaterialModels from './materialmodel.vue'; + const emit = defineEmits([ 'closeAntvx6']); @@ -44,7 +47,9 @@ const props = defineProps({ }, }) const deviceTypetype:any = ref('') // 设备类型 -const isAdddevice = ref(false) +const isAdddevice = ref(false) // 是否添加设备 +const isEditdevice = ref(false) // 是否编辑设备 +const isMaterialModel = ref(false) // 是否物料信息 const projectInfo:any = ref(props.projectInfo) // 项目信息 const isScenario = ref(false) //是否展示历史模拟场景 const isDisplay = ref(true) // 是否显示 @@ -245,6 +250,7 @@ onMounted(() => { console.log('Stencil节点开始拖拽', args) }) + stencil.on('dnd:drag', (args:any) => { console.log('Stencil节点拖拽中', args) }) @@ -938,9 +944,60 @@ function closeAdddevice(e:any){ // 关闭新增设备弹窗 selectedDevice.value = e let retrievedNode:any = graph.getCellById(nodeId.value) retrievedNode.store.data.deviceInfo = e - debugger isAdddevice.value = false; } + +const deviceInfo:any = ref({}) // 是否编辑设备 + +function EditdeviceClick(){ // 打开编辑设备弹窗 + deviceInfo.value = selectedNode.value.store.data.deviceInfo + nodeId.value = selectedNode.value.id + if(deviceInfo.value != null){ + deviceTypetype.value = deviceInfo.value.type + } + isEditdevice.value = true; +} +function closeEditdevice(e:any){ // 关闭编辑设备弹窗 + selectedDevice.value = e + let retrievedNode:any = graph.getCellById(nodeId.value) + retrievedNode.store.data.deviceInfo = e + isEditdevice.value = false; +} + +function dialogEditdevice(){ // 关闭设备弹窗 + isEditdevice.value = false; +} +const materialInfo:any = ref({}) // 是否物料信息 +const selectedMaterial:any = ref({}) + + +function MaterialModelClick(){ // 打开物料信息弹窗 + deviceInfo.value = selectedNode.value.store.data.deviceInfo + materialInfo.value = {} + if(selectedNode.value.store.data.materialInfo != null){ + materialInfo.value = selectedNode.value.store.data.materialInfo + } + + nodeId.value = selectedNode.value.id + if(materialInfo.value != null){ + deviceTypetype.value = materialInfo.value.type + } + isMaterialModel.value = true; +} +function dialogMaterialModel(){ // 关闭物料信息弹窗 + isMaterialModel.value = false; +} +function closeMaterialModel(e:any){ // 关闭物料信息弹窗 + if(e == false){ + isEditdevice.value = false; + return + } + + selectedMaterial.value = e + let retrievedNode:any = graph.getCellById(nodeId.value) + retrievedNode.store.data.materialInfo = e + isEditdevice.value = false; +} diff --git a/business-css/frontend/src/components/antvx6/materialmodel.vue b/business-css/frontend/src/components/antvx6/materialmodel.vue new file mode 100644 index 0000000..fccec7c --- /dev/null +++ b/business-css/frontend/src/components/antvx6/materialmodel.vue @@ -0,0 +1,598 @@ + + + + + + + + + + + + diff --git a/business-css/frontend/src/views/business/database/material/index.vue b/business-css/frontend/src/views/business/database/material/index.vue index 5b392ff..df60b75 100644 --- a/business-css/frontend/src/views/business/database/material/index.vue +++ b/business-css/frontend/src/views/business/database/material/index.vue @@ -418,7 +418,7 @@ onMounted(() => {
成分名称
成分参数
-
单位
+
操作
@@ -430,9 +430,9 @@ onMounted(() => { -
+
删除 @@ -579,7 +579,7 @@ onMounted(() => { display: flex; } .custom_attrs_header1{ - width: 40%; + width: 45%; height: 40px; line-height: 40px; text-align: center; @@ -593,7 +593,7 @@ onMounted(() => { border-bottom: 1px solid #f0f1f2; } .custom_attrs_header2{ - width: 30%; + width: 45%; height: 40px; line-height: 40px; text-align: center; @@ -635,7 +635,7 @@ onMounted(() => { } .custom_attrs_content1{ - width: 40%; + width: 45%; height: 42px; line-height: 40px; text-align: center; @@ -648,7 +648,7 @@ onMounted(() => { border-bottom: 1px solid #f0f1f2; } .custom_attrs_content2{ - width: 30%; + width: 45%; height: 42px; line-height: 40px; text-align: center; @@ -719,4 +719,6 @@ onMounted(() => { margin-top: 10px; cursor: pointer; } + + \ No newline at end of file