Files
electron-4/src/renderer/src/views/components/propertyBox/flat.vue
2025-09-11 19:17:52 +08:00

100 lines
2.5 KiB
Vue

<template>
<Dialog
ref="baseDialog"
title="压平面属性"
class="flatPlane"
left="180px"
top="100px"
:closeCallback="closeCallBack"
>
<template #content>
<span class="custom-divider"></span>
<div class="div-item">
<div class="row">
<div class="col">
<span class="label" style="width: 56px; flex: 0 0 56px">名称</span>
<input class="input input-name" />
</div>
</div>
<div class="row">
<div class="col">
<span class="label" style="width: 56px; flex: 0 0 56px">压平高度</span>
<div class="input-number input-number-unit-1">
<input
class="input flat-height"
type="number"
title=""
min="-9999999"
max="999999999"
/>
<span class="unit">m</span>
<span class="arrow"></span>
</div>
</div>
</div>
</div>
</template>
<template #footer>
<button @click="sure">确认</button>
<button @click="close">关闭</button>
</template>
</Dialog>
</template>
<script setup lang="ts">
import { ref, reactive } from 'vue'
import { inject } from 'vue'
import Dialog from '@/components/dialog/baseDialog.vue'
import { TreeApi } from '@/api/tree'
import { useTreeNode } from '@/views/components/tree/hooks/treeNode'
const { cusUpdateNode } = useTreeNode()
const baseDialog: any = ref(null)
const eventBus: any = inject('bus')
var flat: any = reactive([])
var flatMsg: any = reactive([])
eventBus.on('flatDialog', (id) => {
baseDialog.value?.open()
})
const open = (data) => {
baseDialog.value?.open()
flat = (window as any).pressModelEntities.get(data.id)
let params = JSON.parse(data.params)
flatMsg = (window as any).pressModelMap.get(data.id + '_' + params.modelId)
setTimeout(() => {
flat.edit(true)
}, 100)
}
const closeCallBack = (e) => {}
const sure = (e) => {
let paramsData = JSON.parse(flatMsg.params)
paramsData.height = flat.height
let params = {
id: flatMsg.id,
sourceName: flat.name,
params: paramsData,
isShow: flatMsg.isShow ? 1 : 0
}
TreeApi.updateDirectoryInfo(params)
cusUpdateNode({
id: params.id,
sourceName: params.sourceName,
params: JSON.stringify(paramsData)
})
baseDialog.value?.close()
}
const close = (e) => {
flat.reset()
baseDialog.value?.close()
}
defineExpose({
open
})
</script>
<style scoped lang="scss"></style>