当前位置: 首页 > news >正文

通用评估系统(五)- 前端部分总体说明

通用评估系统(五)- 前端部分总体说明

相关链接

  • Gitee地址
  • 通用评估系统(一)- 介绍
  • 通用评估系统(二)- 原型设计
  • 通用评估系统(三)- 前端部分
  • 通用评估系统(四)- 前端部分计算脚本编辑组件

文档说明

本节中说明前端总体显示相关信息。具体数据交互待后端开发时同步进行。

目录结构

在这里插入图片描述

实际显示效果

全局搜索

在这里插入图片描述

评估模型管理

在这里插入图片描述

数据模型管理

在这里插入图片描述

指标体系管理

在这里插入图片描述

评估任务管理

在这里插入图片描述

部分代码说明

评估模型管理组件

<!--
 * @Description: 模型管理
 * @Author: wang keju
 * @Email: git config user.email
 * @Date: 2025-02-14 05:48:16
 * @LastEditTime: 2025-02-17 07:02:36
 * @LastEditors: wang keju
-->
<script lang="ts" setup>
import { ref, h, computed, watch } from "vue";
import { useRoute } from "vue-router";

import ContentLayout from '@/layout/ContentLayout.vue';
import Icon from "@/components/Icon/Icon.vue";
import Empty from "@/components/Empty/Empty.vue";

import TreeDiagram from "@/components/TreeDiagram";



const route = useRoute();
const id = computed(() => route.params['id']);

const breadcrumbs = ref<{[key: string]: any;}[]>([
    { href: "/model", breadcrumbName: "模型管理" },
    { href: "/model/details", breadcrumbName: "模型详情" },
]);
const title = ref<string>("XXXXX评估模型");

watch(id, () => {
    console.log(id.value)
});

const indicatorSys = ref<string>("");


</script>

<template>
    <ContentLayout :title="title" name="评估模型" :breadcrumb="breadcrumbs">
        <template #sidebar>
            <span class="add-btn">
                <Icon name="add" :size="18" />新建模型
            </span>
            <div class="search-container">
                <AInput :prefix="h(Icon, { name: 'sousuo', size: 18 })" placeholder="请输入模型名称" />
            </div>
            <div style="padding: 0 12px;">
                <ATabs style="text-align: center;">
                    <ATabPane key="已发布" tab="已发布"></ATabPane>
                    <ATabPane key="未发布" tab="未发布"></ATabPane>
                </ATabs>
                <AList>
                    
                </AList>
            </div>
        </template>
        <div class="main">
            <template v-if="!title">
                <Empty />
            </template>
            <template v-else>
                <TreeDiagram />
            </template>
        </div>
    </ContentLayout>
</template>

<style lang="less" scoped>
.add-btn {
    display: inline-block;
    height: 32px;
    margin-bottom: 12px;
    color: #666;
    line-height: 32px;
    font-weight: bold;
    cursor: pointer;
    &:hover {
        color: #004CFE;
    }
}
.search-container {
    box-sizing: border-box;
}
.main {
    height: 100%;
    
    // margin: -24px;
    // padding: 24px 24px 0;
}
</style>

全局搜索组件

<!--
 * @Description: 全局搜索
 * @Author: wang keju
 * @Email: git config user.email
 * @Date: 2025-02-15 11:58:46
 * @LastEditTime: 2025-02-17 06:47:52
 * @LastEditors: wang keju
-->
<script lang="ts" setup>
import { ref } from "vue";

import Icon from "@/components/Icon/Icon.vue";
import { SearchOutlined } from "@ant-design/icons-vue";



export type GlobalSearchExpose = {
    open: () => void;
    close: () => void;
}

const visible = ref<boolean>(false);
const open = () => visible.value = true;
const close = () => visible.value = false;
const activeKey = ref<string>("全部");



defineExpose<GlobalSearchExpose>({ open, close });
</script>

<template>
    <AModal v-model:open="visible" title="快速搜索" :width="960" :footer="null">
        <AInput placeholder="请输入关键词">
            <template #prefix>
                <SearchOutlined />
            </template>
        </AInput>
        <ATabs v-model:activeKey="activeKey">
            <ATabPane key="全部" tab="全部">123</ATabPane>
            <ATabPane key="模型">
                <template #tab>
                    <Icon name="pinggumoxing" style="margin-right: 4px;" />评估模型
                </template>
            </ATabPane>
            <ATabPane key="数据">
                <template #tab>
                    <Icon name="shujuguanli" style="margin-right: 4px;" />数据管理
                </template>
            </ATabPane>
            <ATabPane key="指标体系">
                <template #tab>
                    <Icon name="zhibiaotixi" style="margin-right: 4px;" />指标体系
                </template>
            </ATabPane>
            <ATabPane key="评估任务">
                <template #tab>
                    <Icon name="pinggurenwu" style="margin-right: 4px;" />评估任务
                </template>
            </ATabPane>
            <ATabPane key="评估任务">
                <template #tab>
                    <Icon name="lishixiao" style="margin-right: 4px;" />操作历史
                </template>
            </ATabPane>
        </ATabs>
        <div class="search-content">
            
        </div>
    </AModal>
</template>

<style lang="less" scoped>
.search-content {
    height: 400px;
}
</style>

总结

后续具体的页面详细及数据交互,在进行后端开发时同步进行。

相关链接

  • Gitee地址
  • 通用评估系统(一)- 介绍
  • 通用评估系统(二)- 原型设计
  • 通用评估系统(三)- 前端部分
  • 通用评估系统(四)- 前端部分计算脚本编辑组件

相关文章:

  • qt QOpenGLTexture详解
  • 算法【贪心经典题目专题4】
  • 用AI写SQL2——递归查询WITH RECURSIVE
  • 科技云报到:科技普惠潮流渐起,“开源”将带我们走向何方?
  • 北京海百川科技有限公司:以智能体技术助力特殊教育行业
  • Python中如何进行数据库连接?
  • [题解]2024CCPC重庆站-小 C 的神秘图形
  • 智能马达保护器:为工业电机安全运行保驾护航
  • HepG2细胞复苏实验以及六孔板种植细胞实验
  • JavaEE基础 Tomcat与Http (下)
  • 【Prometheus】prometheus结合domain_exporter实现域名监控
  • 矩阵碰一碰发视频源码源头搭建,支持OEM
  • PLC的五个学习步骤
  • Linux学习笔记之虚拟地址空间
  • Spring 是如何解决循环依赖问题的?
  • Python——寻找矩阵的【鞍点】(教师:恒风)
  • 如何理解什么是股指期货?
  • 【复现DeepSeek-R1之Open R1实战】系列3:跑通GRPO!
  • 访问一些网站时,谷歌浏览器提示403 Forbidden
  • 将pyspark中的UDF提升6倍
  • 北京银行一季度净赚超76亿降逾2%,不良贷款率微降
  • 中国人寿一季度净利润288亿增39.5%,营收降8.9%
  • 俄宣布停火三天,外交部:希望各方继续通过对话谈判解决危机
  • 外交部:美方应在平等、尊重和互惠的基础上同中方开展对话
  • 吉林省公安厅出入境管理总队政委明志全已任省安保集团总经理
  • 程璧“自由生长”,刘卓辉“被旋律牵着走”