fix: 补全全栈Bot所有P0/P1/P2功能 — 视角切换/客户路由/菜单/部署脚本加固
This commit is contained in:
@@ -15,7 +15,6 @@ echo " ✓ 构建完成"
|
||||
|
||||
# 2. 部署前端到 Nginx
|
||||
echo "[2/4] 部署前端..."
|
||||
rm -rf /var/www/cma/*
|
||||
cp -r dist/* /var/www/cma/
|
||||
echo " ✓ 部署完成"
|
||||
|
||||
|
||||
Vendored
+1
@@ -27,6 +27,7 @@ declare module 'vue' {
|
||||
ElDivider: typeof import('element-plus/es')['ElDivider']
|
||||
ElDropdown: typeof import('element-plus/es')['ElDropdown']
|
||||
ElDropdownItem: typeof import('element-plus/es')['ElDropdownItem']
|
||||
ElDropdownMenu: typeof import('element-plus/es')['ElDropdownMenu']
|
||||
ElEmpty: typeof import('element-plus/es')['ElEmpty']
|
||||
ElForm: typeof import('element-plus/es')['ElForm']
|
||||
ElFormItem: typeof import('element-plus/es')['ElFormItem']
|
||||
|
||||
@@ -13,7 +13,13 @@
|
||||
<span class="zoom-label">{{ Math.round(zoomLevel * 100) }}%</span>
|
||||
<el-button size="small" @click="zoomIn" :disabled="zoomLevel >= 1.5">+</el-button>
|
||||
<el-button size="small" @click="zoomReset">100%</el-button>
|
||||
<el-button size="small" @click="zoomFit">适合</el-button>
|
||||
</div>
|
||||
<!-- 视角切换 -->
|
||||
<el-radio-group v-model="viewDirection" size="small" style="margin-right:8px;">
|
||||
<el-radio-button value="cascade">📐 级联</el-radio-button>
|
||||
<el-radio-button value="causal">🔗 因果</el-radio-button>
|
||||
</el-radio-group>
|
||||
<el-button type="primary" @click="saveCanvas">保存</el-button>
|
||||
<el-button type="success" @click="publishMap" v-if="currentMap?.status === 'draft'">发布</el-button>
|
||||
<el-button @click="showVersions = true; loadVersions()">版本历史</el-button>
|
||||
@@ -221,7 +227,7 @@
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref, reactive, computed, onMounted, nextTick, onUnmounted } from "vue"
|
||||
import { ref, reactive, computed, watch, onMounted, nextTick, onUnmounted } from "vue"
|
||||
import { ElMessage, ElMessageBox } from "element-plus"
|
||||
import { mapApi, kpiApi } from "../api/index"
|
||||
import KnowledgePanel from '../components/KnowledgePanel.vue'
|
||||
@@ -281,6 +287,11 @@ const layerRefs: Record<string, HTMLElement> = {}
|
||||
const nodeRefs: Record<string, HTMLElement> = {}
|
||||
const connectionLinesRef = ref<any>(null)
|
||||
const recalcTrigger = ref(0)
|
||||
const viewDirection = ref('cascade')
|
||||
|
||||
watch(viewDirection, () => {
|
||||
recalcTrigger.value++
|
||||
})
|
||||
|
||||
// 泳道组件实例引用(用于汇聚各层内部的nodeRefs给ConnectionLines)
|
||||
const layerCompRefs: Record<string, any> = {}
|
||||
|
||||
@@ -42,7 +42,6 @@ export default defineConfig({
|
||||
manualChunks(id: string) {
|
||||
if (id.includes('node_modules/vue') || id.includes('node_modules/@vue')) return 'vendor-vue'
|
||||
if (id.includes('node_modules/axios')) return 'vendor-axios'
|
||||
if (id.includes('node_modules/element-plus') || id.includes('node_modules/@element-plus')) return 'vendor-element'
|
||||
if (id.includes('node_modules/echarts')) return 'vendor-echarts'
|
||||
if (id.includes('node_modules/codemirror') || id.includes('node_modules/@codemirror')) return 'vendor-codemirror'
|
||||
if (id.includes('node_modules/@vueuse') || id.includes('node_modules/pinia') || id.includes('node_modules/vue-router')) return 'vendor-vue-extra'
|
||||
|
||||
Reference in New Issue
Block a user