diff --git a/business-css/frontend/src/assets/x6/navleft.png b/business-css/frontend/src/assets/x6/navleft.png new file mode 100644 index 0000000..6270b71 Binary files /dev/null and b/business-css/frontend/src/assets/x6/navleft.png differ diff --git a/business-css/frontend/src/assets/x6/navleft_active.png b/business-css/frontend/src/assets/x6/navleft_active.png new file mode 100644 index 0000000..7ff3550 Binary files /dev/null and b/business-css/frontend/src/assets/x6/navleft_active.png differ diff --git a/business-css/frontend/src/assets/x6/navright.png b/business-css/frontend/src/assets/x6/navright.png new file mode 100644 index 0000000..706c924 Binary files /dev/null and b/business-css/frontend/src/assets/x6/navright.png differ diff --git a/business-css/frontend/src/assets/x6/navright_active.png b/business-css/frontend/src/assets/x6/navright_active.png new file mode 100644 index 0000000..eb945fc Binary files /dev/null and b/business-css/frontend/src/assets/x6/navright_active.png differ diff --git a/business-css/frontend/src/components/antvx6/adddevice.vue b/business-css/frontend/src/components/antvx6/adddevice.vue new file mode 100644 index 0000000..44dea33 --- /dev/null +++ b/business-css/frontend/src/components/antvx6/adddevice.vue @@ -0,0 +1,518 @@ + + + + + + + + + + + diff --git a/business-css/frontend/src/components/antvx6/index.vue b/business-css/frontend/src/components/antvx6/index.vue index bf3e7ff..faf0bda 100644 --- a/business-css/frontend/src/components/antvx6/index.vue +++ b/business-css/frontend/src/components/antvx6/index.vue @@ -32,6 +32,9 @@ import line3 from '@/assets/x6/line3.png' 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'; + + const emit = defineEmits([ 'closeAntvx6']); const props = defineProps({ projectInfo: { @@ -40,6 +43,8 @@ const props = defineProps({ default: {} }, }) +const deviceTypetype:any = ref('') // 设备类型 +const isAdddevice = ref(false) const projectInfo:any = ref(props.projectInfo) // 项目信息 const isScenario = ref(false) //是否展示历史模拟场景 const isDisplay = ref(true) // 是否显示 @@ -282,6 +287,24 @@ onMounted(() => { if(node.store && node.store.data && node.store.data.shape === 'rect'){ return } + nodeId.value = node.id + if(node.store.data.attrs.text.text == '扁平槽'){ + deviceTypetype.value = 'FlatTank' + }else if(node.store.data.attrs.text.text == '圆柱槽'){ + deviceTypetype.value = 'CylindricalTank' + }else if(node.store.data.attrs.text.text == '环形槽'){ + deviceTypetype.value = 'AnnularTank' + }else if(node.store.data.attrs.text.text == '管束槽'){ + deviceTypetype.value = 'TubeBundleTank' + }else if(node.store.data.attrs.text.text == '萃取柱'){ + deviceTypetype.value = 'ExtractionColumn' + }else if(node.store.data.attrs.text.text == '流化床'){ + deviceTypetype.value = 'FluidizedBed' + }else if(node.store.data.attrs.text.text == '锥底环形槽'){ + deviceTypetype.value = 'ACFTank' + } + + // 设置固定大小 node.size(160, 160) // 去掉背景节点 @@ -294,6 +317,11 @@ onMounted(() => { // 删除节点上的文字 node.attr('text/text', '') node.attr('label/text', '') + + + isAdddevice.value = true + + } }) @@ -565,8 +593,6 @@ graph.on('blank:mouseup', (e) => { true, ) -// stencil.load([r1, r2, r3, r4, r5, r6], 'group1') - const imageShapes = [ { label: '圆柱槽', @@ -883,6 +909,11 @@ function bigClick(){ function smallClick(){ graph.zoom(-0.1) } + +const nodeId = ref("") + + + function analysisAdd(){ dialogVisible.value = true; } @@ -897,6 +928,19 @@ function simulationClick() { // 打开模拟分析 function handleClose() { isScenario.value = false; } + +function dialogAdddevice(){ // 打开新增设备弹窗 + graph.undo() + isAdddevice.value = false; +} +const selectedDevice = ref({}) +function closeAdddevice(e:any){ // 关闭新增设备弹窗 + selectedDevice.value = e + let retrievedNode:any = graph.getCellById(nodeId.value) + retrievedNode.store.data.deviceInfo = e + debugger + isAdddevice.value = false; +} 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 cf0827f..a531aba 100644 --- a/business-css/frontend/src/views/business/database/device/index.vue +++ b/business-css/frontend/src/views/business/database/device/index.vue @@ -35,6 +35,62 @@ function gettableData() { }; loading.value = true; searchDevicesPage(params).then((result:any) => { + result.records.forEach((item:any) => { + if(queryParams.value.type == 'FlatTank'){ // 扁平槽 + let sizeInfo =JSON.parse(item.size) + item['length'] = sizeInfo.length + item['width'] = sizeInfo.width + item['height'] = sizeInfo.height + } + if(queryParams.value.type == 'CylindricalTank'){ // 圆柱槽 + let sizeInfo =JSON.parse(item.size) + item['diameter'] = sizeInfo.diameter + item['height'] = sizeInfo.height + } + if(queryParams.value.type == 'AnnularTank'){ // 环形槽 + let sizeInfo =JSON.parse(item.size) + item['outer_diameter'] = sizeInfo.outer_diameter + item['height'] = sizeInfo.height + } + + if(queryParams.value.type == 'TubeBundleTank'){ // 管束槽 + let sizeInfo =JSON.parse(item.size) + item['outer_diameter'] = sizeInfo.outer_diameter + item['height'] = sizeInfo.height + } + if(queryParams.value.type == 'ExtractionColumn'){ // 萃取柱 + let sizeInfo =JSON.parse(item.size) + item['upper_expanded_diameter'] = sizeInfo.upper_expanded.diameter + item['upper_expanded_height'] = sizeInfo.upper_expanded.height + item['tray_section_diameter'] = sizeInfo.tray_section.diameter + item['tray_section_height'] = sizeInfo.tray_section.height + item['lower_expanded_diameter'] = sizeInfo.lower_expanded.diameter + item['lower_expanded_height'] = sizeInfo.lower_expanded.height + + } + + if(queryParams.value.type == 'FluidizedBed'){ // 流化床 + let sizeInfo =JSON.parse(item.size) + item['expanded_section_diameter'] = sizeInfo.expanded_section.diameter + item['expanded_section_height'] = sizeInfo.expanded_section.height + + item['transition_section_height'] = sizeInfo.transition_section.height + + + item['reaction_section_diameter'] = sizeInfo.reaction_section.diameter + item['reaction_section_height'] = sizeInfo.reaction_section.height + } + if(queryParams.value.type == 'ACFTank'){ // 锥底环形槽 + let sizeInfo =JSON.parse(item.size) + item['annular_cylinder_outer_diameter'] = sizeInfo.annular_cylinder.outer_diameter + item['annular_cylinder_height'] = sizeInfo.annular_cylinder.height + item['frustum_bottom_bottom_diameter'] = sizeInfo.frustum_bottom.bottom_diameter + item['frustum_bottom_height'] = sizeInfo.frustum_bottom.height + } + + }) + + tableData.value = result.records; total.value = result.total; loading.value = false; @@ -319,6 +375,57 @@ onMounted(() => { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +