Starrysky前端框架

链接:https://pan.baidu.com/s/1P8mPrHZjyRtzw1NWnAx-9w
提取码:cjl5

接口文档:https://www.showdoc.cc/xinghan

Element开发组件

https://element.eleme.cn/#/zh-CN

1、启动前端页面

打开index.html

2、在index里创建文件

2.1 创建一个叫mjz的目录

复制一份<dd></dd>标签

                                <dd data-name="console" >
                                    <!--<iframe src="starrysky_v2/test.html">test</iframe>-->
                                    <a lay-href="starrysky_v2/mjz.html">mjz</a>

                                </dd>

2.2 在starrysky_v2目录下创建一个mjz.html

3、开发mjz页面

3.1 把样式和组件库导入到mjz.html里

<!-- 引入样式 -->
<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
<!-- 引入组件库 -->
<script src="https://unpkg.com/element-ui/lib/index.js"></script>

检查

3.2 添加一个搜索输入框、下拉框、搜索按钮

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>mjz</title>
    <!-- 引入样式 -->
    <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
</head>
<body>
<div id="app">
    <div id="search">
        <el-form :inline="true" :model="query_search" class="demo-form-inline">
            <el-form-item>
                <el-input v-model="query_search.search" placeholder="搜索"></el-input>
            </el-form-item>
            <el-form-item label="活动区域">
                <el-select v-model="query_search.project" placeholder="活动区域">
                    <el-option label="区域一" value="shanghai"></el-option>
                    <el-option label="区域二" value="beijing"></el-option>
                </el-select>
            </el-form-item>
            <el-form-item>
                <el-button type="primary" @click="onSubmit">查询</el-button>
            </el-form-item>
        </el-form>
    </div>
</div>
<!-- import Vue before Element -->
<script src="../js/vue.js"></script>
<!-- 引入组件库 -->
<script src="https://unpkg.com/element-ui/lib/index.js"></script>
<script>
    new Vue({
        el: '#app',
        data: {
            query_search: {
                search: '',
                project: ''
            }
        },
        methods: {
            onSubmit() {
                console.log('submit!');
            }
        }
    })
</script>
</body>
</html>

注意:VUE必须防止Element前

3.3 添加项目下拉选项

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>mjz</title>
    <!-- 引入样式 -->
    <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
</head>
<body>
<div id="app">
    <div id="search">
        <el-form :inline="true" class="demo-form-inline">
            <el-form-item>
                <el-input v-model="query_search.search" placeholder="搜索"></el-input>
            </el-form-item>
            <el-form-item>
                <el-select v-model="query_search.project">
                    <el-option v-for="item in projects" :key="item.name" :value="item.id" :label="item.name"></el-option>
                </el-select>
            </el-form-item>
            <el-form-item>
                <el-button type="primary" @click="onSubmit">查询</el-button>
            </el-form-item>
            <el-form-item>
                <el-button type="primary" @click="onSubmit">添加</el-button>
            </el-form-item>
            <el-form-item>
                <el-button type="primary" @click="onSubmit">运行</el-button>
            </el-form-item>
        </el-form>
    </div>
</div>
<!-- import Vue before Element -->
<script src="../js/vue.js"></script>
<script src="../js/axios.min.js"></script>
<!-- 引入组件库 -->
<script src="https://unpkg.com/element-ui/lib/index.js"></script>
<script src="../js/config.js"></script>
<script>
    new Vue({
        el: '#app',
        data: {
            query_search: {
                search: '',
                project: ''
            },
            projects:[]
        },
        methods: {
            onSubmit() {
                console.log('submit!');
            },
            get_project_data(){
                axios({
                    method:'get',
                    url:host + '/api/project'
                }).then((response)=>{
                    this.projects = response.data.data;
                })
            }
        },
        created:function () {
            // 请求项目接口,获取项目数据
            this.get_project_data()
        }
    })
</script>
</body>
</html>

3.4 获取用例集合信息,在前端显示

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>mjz</title>
    <!-- 引入样式 -->
    <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
</head>
<body>
<div id="app">
    <div id="search">
        <el-form :inline="true" class="demo-form-inline">
            <el-form-item>
                <el-input v-model="query_search.search" placeholder="搜索"></el-input>
            </el-form-item>
            <el-form-item>
                <el-select v-model="query_search.project">
                    <el-option v-for="item in projects" :key="item.id" :value="item.id" :label="item.name"></el-option>
                </el-select>
            </el-form-item>

            <el-form-item>
                <el-button type="primary" @click="search">查询</el-button>
            </el-form-item>
            <el-form-item>
                <el-button type="primary" @click="onSubmit">添加</el-button>
            </el-form-item>
            <el-form-item>
                <el-button type="primary" @click="onSubmit">运行</el-button>
            </el-form-item>
        </el-form>
    </div>
    <div id="table">
        <el-table
                ref="multipleTable"
                :data="case_collection_data"
                tooltip-effect="dark"
                style="width: 100%"
                @selection-change="handleSelectionChange">
            <el-table-column
                    type="selection"
                    width="55">
            </el-table-column>
            <el-table-column
                    label="集合名称"
                    width="120">
                <template slot-scope="scope">
                    <el-button type="text">{{scope.row.name}}</el-button>
                </template>
            </el-table-column>
            <el-table-column
                    prop="desc"
                    label="描述"
                    width="120">
            </el-table-column>
            <el-table-column
                    prop="project_name"
                    label="归属项目"
                    show-overflow-tooltip>
            </el-table-column>
            <el-table-column
                    prop="case_count"
                    label="用例数量"
                    show-overflow-tooltip>
            </el-table-column>
            <el-table-column
                    prop="report_name"
                    label="测试报告"
                    show-overflow-tooltip>
                <el-button>查看</el-button>
            </el-table-column>
            <el-table-column
                    prop="user"
                    label="创建用户"
                    show-overflow-tooltip>
            </el-table-column>
            <el-table-column
                    label="状态"
                    show-overflow-tooltip>
                <template slot-scope="scope">
                    <el-tag type="danger">{{ scope.row.status|replaceStatus }}</el-tag>
                </template>
            </el-table-column>
            <el-table-column
                    prop="create_time"
                    label="创建时间"
                    show-overflow-tooltip>
            </el-table-column>
            <el-table-column
                    prop="address"
                    label="操作"
                    show-overflow-tooltip>
                <el-button>选择用例</el-button>
                <el-button type="danger">删除</el-button>
            </el-table-column>
        </el-table>
    </div>
    <div id="pagination">
        <el-pagination
                @size-change="handleSizeChange"
                @current-change="handleCurrentChange"
                :current-page="query_search.page"
                :page-sizes="[5,10]"
                :page-size="query_search.limit"
                layout="total, sizes, prev, pager, next, jumper"
                :total="count">
        </el-pagination>

    </div>

</div>
<!-- import Vue before Element -->
<script src="../js/vue.js"></script>
<script src="../js/axios.min.js"></script>
<!-- 引入组件库 -->
<script src="https://unpkg.com/element-ui/lib/index.js"></script>
<script src="../js/config.js"></script>
<script>
    new Vue({
        el: '#app',
        data: {
            query_search: {
                search: undefined,
                project: undefined,
                page: 1,
                limit: 5
            },
            projects: [],
            case_collection_data: [],
            multipleSelection: [],
            count: 0,

        },
        methods: {
            search() {
                this.get_page_data()
            },
            handleSizeChange(val) {
                this.query_search.limit = val;
                this.get_page_data()
            },
            handleCurrentChange(val) {
                this.query_search.page = val;
                this.get_page_data()
            },
            handleSelectionChange(val) {
                let ids = [];
                for (var num in val) {
                    ids.push(val[num].id)
                }
                this.multipleSelection = ids;
            },
            onSubmit() {
                console.log('submit!');
            },
            get_project_data() {
                axios({
                    method: 'get',
                    url: host + '/api/project'
                }).then((response) => {

                    this.projects = response.data.data;
                })
            },
            get_page_data() {
                axios({
                    method: 'get',
                    url: host + '/api/case_collection',
                    params: this.query_search
                }).then((response) => {
                    this.case_collection_data = response.data.data;
                    this.count = response.data.count;
                })
            }
        },
        created: function () {
            // 请求项目接口 获取项目数据
            this.get_project_data();
            // 获取页面的数据
            this.get_page_data()
        },
        filters: {
            replaceStatus(status) {
                if (status == 3) {
                    return '运行中'
                }
            }
        }
    })

</script>
</body>
</html>

HTML基础五-starrysky页面动起来的更多相关文章

  1. 从零开始学习jQuery (七) jQuery动画-让页面动起来!

    一.摘要 本系列文章将带您进入jQuery的精彩世界, 其中有很多作者具体的使用经验和解决方案,  即使你会使用jQuery也能在阅读中发现些许秘籍. 开发人员一直痛疼做动画. 但是有了jQuery你 ...

  2. Bootstrap <基础二十三>页面标题(Page Header)

    页面标题(Page Header)是个不错的功能,它会在网页标题四周添加适当的间距.当一个网页中有多个标题且每个标题之间需要添加一定的间距时,页面标题这个功能就显得特别有用.如需使用页面标题(Page ...

  3. Bootstrap <基础五>表格

    Bootstrap 提供了一个清晰的创建表格的布局.下表列出了 Bootstrap 支持的一些表格元素: 标签 描述 <table> 为表格添加基础样式. <thead> 表格 ...

  4. GSAP JS基础教程--使用缓动函数

    今天来了解一下缓动easeing函数. 开始,如果你还没有GSAP的类包,可以到GreenSock的官网去下载最新版本的类包,或者直接点击这里​来下载 学习之前,先来准备一下:     <!DO ...

  5. day 70 Django基础五之django模型层(二)多表操作

    Django基础五之django模型层(二)多表操作   本节目录 一 创建模型 二 添加表记录 三 基于对象的跨表查询 四 基于双下划线的跨表查询 五 聚合查询.分组查询.F查询和Q查询 六 ORM ...

  6. day 56 Django基础五之django模型层(二)多表操作

    Django基础五之django模型层(二)多表操作   本节目录 一 创建模型 二 添加表记录 三 基于对象的跨表查询 四 基于双下划线的跨表查询 五 聚合查询.分组查询.F查询和Q查询 六 ORM ...

  7. Django基础五之Ajax

    Django基础五之Ajax 目录 Django基础五之Ajax 1. Ajax介绍 2. Ajax前后端传值 2.1 方法一HttpResponse直接返回 2.2 方法二使用Json格式返回 2. ...

  8. 七天学会ASP.NET MVC (五)——Layout页面使用和用户角色管理

    系列文章 七天学会ASP.NET MVC (一)——深入理解ASP.NET MVC 七天学会ASP.NET MVC (二)——ASP.NET MVC 数据传递 七天学会ASP.NET MVC (三)— ...

  9. 玩转HTML5移动页面(动效篇)(转载)

    本文转载自: 玩转HTML5移动页面(动效篇)

随机推荐

  1. ORB-SLAM2初步--局部地图构建

    一.局部地图构建简介 为什么叫“局部”地图构建,我的理解是这个线程的主要任务是像地图中插入关键帧(包括地图点等信息),以及需要进行LocalBA优化一个局部地图,这是相对于回环检测时进行的全局优化来说 ...

  2. MySQL实战45讲学习笔记:第三十八讲

    一.本节内容 我在上一篇文章末尾留给你的问题是:两个 group by 语句都用了 order by null,为什么使用内存临时表得到的语句结果里,0 这个值在最后一行:而使用磁盘临时表得到的结果里 ...

  3. STRIDE威胁建模

    一.什么是威胁建模 简单的来说,威胁建模就是通过结构化的方法,系统的识别.评估产品的安全风险和威胁,并针对这些风险.威胁制定消减措施的一个过程. 威胁建模是一个非常有用的工具,它的核心是“像攻击者一样 ...

  4. lograotate 配置常用配置

    目录 lograotate 配置说明 nginx php-fpm tomcat 配置 各种参数说明 lograotate 配置说明 Linux系统默认安装logrotate工具,它默认的配置文件在: ...

  5. Win10导出查看删除已安装的证书

    1.控制面板中搜索证书 2.点击管理用户证书或管理计算机证书,即可查看所有安装好的证书 3.双击即可查看证书,右键证书即可删除无效的证书 4.搜索证书,比如百度用到的根证书是GlobalSign Ro ...

  6. LeetCode 94:二叉树的中序遍历 Binary Tree Inorder Traversal

    题目: 给定一个二叉树,返回它的中序 遍历. Given a binary tree, return the inorder traversal of its nodes' values. 示例: 输 ...

  7. Python 下载图片的三种方法

    import os os.makedirs('./image/', exist_ok=True) IMAGE_URL = "http://image.nationalgeographic.c ...

  8. JSP是Servlet详解

    前言:前一段时间写了好多Servlet和JSP相关的博客,自以为理解的差不多了,岂不知人外有人,天外有天,代码外还有源码,受高人点拨,看了一下Servlet源码,感触颇深,再也不敢说懂了,不明白生活的 ...

  9. CSS教程详解

    CSS学习笔记 一.CSS基础 1.CSS简介 层叠:一层一层的: 样式表:很多的属性和样式 CSS语法: <style> 选择器 { 属性名:属性值; 属性名:属性值; ……  } &l ...

  10. Prometheus监控学习笔记之Prometheus如何热加载更新配置

    0x00 概述 当 Prometheus 有配置文件修改,我们可以采用 Prometheus 提供的热更新方法实现在不停服务的情况下实现配置文件的重新加载. 0x01 热更新 热更新加载方法有两种: ...