django HTML页面模板示例

HTML页面示例

1.base.html

{% load staticfiles %}

{#<!DOCTYPE html>#}
<html>
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">

    <title>{% block title %}HFT管理系统{% endblock %}</title>

    {% block head_link %}{% endblock %}
    <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">

    <link rel="stylesheet" href="{% static '/bower_components/bootstrap/dist/css/bootstrap.min.css' %}">

    <link rel="stylesheet" href="{% static '/bower_components/font-awesome/css/font-awesome.min.css' %}">

    <link rel="stylesheet" href="{% static  '/bower_components/Ionicons/css/ionicons.min.css' %}">

    {#    <link rel="stylesheet" href="{% static  '/plugins/bootstrap-datatable/bootstrap-table.css' %}">#}

    <link rel="stylesheet" href="{% static  '/bower_components/datatables.net-bs/css/dataTables.bootstrap.min.css' %}">

    <link rel="stylesheet" href="{% static '/plugins/iCheck/all.css' %}">

    <link rel="stylesheet" href="{% static '/plugins/bootstrapValidator/bootstrapValidator.min.css' %}">

    <link rel="stylesheet" href="{% static '/plugins/bootstrap-dialog/bootstrap-dialog.min.css' %}">

    <link rel="stylesheet" href="{% static '/dist/css/AdminLTE.min.css' %}">

    <link rel="stylesheet" href="{% static '/plugins/timepicker/bootstrap-timepicker.css' %}">

    <link rel="stylesheet" href="{% static '/dist/css/skins/skin-blue.min.css' %}">

    <link rel="stylesheet" href="{% static '/public.css' %}">

    <link rel="stylesheet" href="{% static '/datetimepicker/bootstrap-datetimepicker.min.css' %}">


    <!-- 子模板的样式表应放在父模板的样式表之后,只有这样才可以在子模板中重定义父模板中的某些样式 -->
    {% block styles %}{% endblock %}

</head>

<body class="hold-transition skin-blue sidebar-mini">

<div class="wrapper">

    <!-- Left side column. contains the logo and sidebar -->
{#    <aside class="main-sidebar">#}
{#    </aside>#}
    <!-- Content Wrapper. Contains page content -->
    <div class="content-wrapper">
        {% block content %}
        {% endblock %}
    </div>
    <!-- /.content-wrapper -->
    <!-- Main Footer -->
    <footer class="main-footer">
        <!-- To the right -->
        <div class="pull-right hidden-xs">
        </div>
    </footer>
</div>


<!-- Jquery -->
<script src="{% static '/bower_components/jquery/dist/jquery.min.js' %}"></script>
<!-- Bootstrap 3.3.7 -->
<script src="{% static '/bower_components/bootstrap/dist/js/bootstrap.min.js' %}"></script>
<!-- DataTables -->
<script src="{% static '/bower_components/datatables.net/js/jquery.dataTables.min.js' %}"></script>
<script src="{% static '/bower_components/datatables.net-bs/js/dataTables.bootstrap.min.js' %}"></script>

<script src="{% static '/plugins/jquery-form/jquery.form.min.js' %}"></script>

<script src="{% static '/plugins/iCheck/icheck.min.js' %}"></script>
{#验证#}
<script src="{% static '/plugins/bootstrapValidator/bootstrapValidator.min.js' %}"></script>


<script src="{% static '/plugins/jquery-cookie/jquery.cookie.min.js' %}"></script>
<!-- Echart -->
<script src="{% static '/plugins/echart/echarts.min.js' %}"></script>

<script src="{% static '/plugins/bootstrap-dialog/bootstrap-dialog.min.js' %}"></script>

<!-- Theme style -->
<script src="{% static '/dist/js/adminlte.min.js' %}"></script>

<script src="{% static '/public.js' %}"></script>

<script src="{% static '/datetimepicker/bootstrap-datetimepicker.js' %}"></script>

<script src="{% static '/plugins/timepicker/bootstrap-timepicker.js' %}"></script>

<script src="{% static '/datetimepicker/jszip.min.js' %}"></script>


<script>

</script>
<!--bootstrap-->
{#<script src="https://unpkg.com/@popperjs/core@2"></script>#}
<!--bootstrap-table-->
<link href="{% static '/bootstrap_table/bootstrap-table/dist/bootstrap-table.min.css' %}" rel="stylesheet">
<script src="{% static '/bootstrap_table/bootstrap-table/dist/bootstrap-table.min.js' %}"></script>
{#<link href="https://cdn.bootcss.com/bootstrap-table/1.14.2/bootstrap-table.min.css" rel="stylesheet">#}
{#<script src="https://cdn.bootcss.com/bootstrap-table/1.14.2/bootstrap-table.min.js"></script>#}
<!--bootstrap-table-lanuage-->
<!--bootstrap-table-export-->
<script src="{% static '/bootstrap_table/bootstrap-table-export.js' %}"></script>
{#<script src="https://cdn.bootcss.com/bootstrap-table/1.14.2/extensions/export/bootstrap-table-export.min.js"></script>#}
<!--在客户端保存生成的导出文件-->
<script src="{% static '/bootstrap_table/FileSaver.min.js' %}"></script>
{#<script src="https://cdn.bootcss.com/FileSaver.js/2014-11-29/FileSaver.min.js"></script>#}
<!--以XLSX(Excel 2007+ XML格式)格式导出表(SheetJS)-->
<script src="{% static '/bootstrap_table/xlsx.core.min.js' %}"></script>
{#<script src="https://cdn.bootcss.com/xlsx/0.14.2/xlsx.core.min.js"></script>#}
<!--无论期望的格式如何,最后都包含 tableexport.jquery.plugin(不是tableexport)-->
<script src="{% static '/bootstrap_table/tableExport.js' %}"></script>
{#<script src="https://unpkg.com/tableexport.jquery.plugin/tableExport.min.js"></script>#}

<style>
    .skin-blue .main-header .navbar {
        background-color: #000;
    }

    .skin-blue .main-header .logo {
        background-color: #2b2b2b;
        color: #fff;
        border-bottom: 0 solid transparent;
    }

    .content-wrapper {
    {#min-height: 100%;#} background-color: rgb(0, 0, 0);
        z-index: 800;
    }

    .skin-blue .wrapper, .skin-blue .main-sidebar, .skin-blue .left-side {
        background-color: #000000;
    }

    .main-footer {
        background: #000;
        padding: 15px;
        color: #f39c12;
        border-top: 1px solid #000;
    }
</style>

{% block scripts %}

{% endblock %}


</body>

</html>

2.paper.html

{% extends "base.html" %}
{% load staticfiles %}

{% block title %}仿真策略{% endblock %}

{% block styles %}
    <style>

        th {
            text-align: center;
        }

        td {
            text-align: center;
        }

        label {
            width: 100px;
            margin-left: 5%
        }

        input, select {
            width: 160px;
            height: 24px;
            background: #0F0F0F;
            border: 1px solid #3C3C3C;
            border-radius: 1px;
        }

        {#模态框下的input#}
        .opts {
            background-color: white;
        }

        form > input {
            width: 160px;
            height: 24px;
            background: #0F0F0F;
            border: 1px solid #3C3C3C;
            border-radius: 1px;
        }

        {#input-file放在同一行#}
        input[type=file] {
            display: inline-block;
            cursor: pointer;
            border: none;
            width: auto;
        }

        {#p > input {#}
        {#    width: 160px;#}
        {#    height: 24px;#}
        {#    background: #0F0F0F;#}
        {#    border: 1px solid #3C3C3C;#}
        {#    border-radius: 1px;#}
        {# }#}
        button {
            border: none;
        }

        .conf {
            border: 0; /*去掉未选中状态边框*/
            outline: none; /*去掉选中状态边框*/
            background-color: rgba(0, 0, 0, 0); /*透明背景*/
        }

        .bootstrap-table {
            border-style: solid;
            border-width: 3px;
        }

        .pagination-info {
            display: none
        }

        .page-list {
            display: none
        }


        #modal_backtest_detail .modal-body {
            background-color: #282923;
            padding: 0px;
        }

        #StgFileShow, #ConFileShow {
            background-color: #282923;
            color: #90918b;
            border-width: 0px;
            width: 448px;
            height: 100%;
        }

        #stg_check {
            padding: 10px;
        }

        .row {
            margin-top: 10px;
        }

        {#tab表头的选中的样式#}
        .nav-tabs-custom > .nav-tabs > li.active > a, .nav-tabs-custom > .nav-tabs > li.active:hover > a {
            background-color: red;
            color: white;
        }

        {#tab样式#}
        .nav-tabs-custom > .nav-tabs > li {
            border-top: transparent;
            margin-bottom: -2px;
            margin-right: 2px;
        }

        .nav-tabs > li {
            float: left;
            margin-bottom: -1px;
        }

        .nav > li > a {
            position: relative;
            display: block;
            padding: 4px 20px;
        }

        {#tab头的位置及边框颜色透明#}
        .nav-tabs-custom > .nav-tabs {
            margin-left: 11px;
            border-bottom-color: rgba(0, 0, 0, 0.2);
            border-top-right-radius: 3px;
            border-top-left-radius: 3px;
        }

        {#tab中的a标签悬浮样式#}

        .nav-tabs-custom > .nav-tabs > li > a, .nav-tabs-custom > .nav-tabs > li > a:hover {
            background: rgba(255, 255, 255, .15);
            margin: 0;
        }

        .nav-tabs-custom > .nav-tabs > li > a {
            color: #d2d6de;
            border-radius: 0;
        }


        .uploadheadiv {
            float: left;
            margin-top: 15px;
            margin-left: 10px
        }

        .packheadiv {
            float: left;
            margin-top: 15px;
            margin-left: 10px
        }

        .simheadiv {
            float: left;
            margin-top: 15px;
            margin-left: 10px
        }

        .uploadHead, .simHead, .packHead {
            color: white;
            margin-left: 30px;
        }

        .uploadheadiv, .packheadiv, .simheadiv {
            margin-left: 30px;
        }

        .bootstrap-table .fixed-table-container .table {
            width: 100%;
            margin-bottom: 0 !important;
            color: #939393;
        }

        .fixed-table-toolbar {
            background-color: #141414;
        }

        .uploadsearch, .packsearch, .papersearch {
            width: 87px;
            height: 26px;
            background: #3C3C3C;
            border-radius: 3px;

        }

        .upstrategy {
            width: 119px;
            height: 28px;
            background: inherit;
            background-color: rgba(255, 204, 153, 1);
            box-sizing: border-box;
            border-width: 1px;
            border-style: solid;
            border-color: rgba(121, 121, 121, 1);
            border-radius: 5px;
            -moz-box-shadow: none;
            -webkit-box-shadow: none;
            box-shadow: none;
            color: #2B2B2B;
        }


        {#bootstraptable上边框#}
        .table-bordered {
            border: 1px solid transparent !important;
        }

        {#bootstraptable左侧边框#}
        .table-bordered > thead > tr > th, .table-bordered > tbody > tr > th, .table-bordered > tfoot > tr > th, .table-bordered > thead > tr > td, .table-bordered > tbody > tr > td, .table-bordered > tfoot > tr > td {
            border: 1px solid rgba(255, 255, 255, .15);
        }

        {#无数据时鼠标悬浮的背景颜色#}
        .table-hover > tbody > tr:hover {
            background-color: transparent;
        }

        {#无数据时的奇数背景颜色#}
        .table-striped > tbody > tr:nth-of-type(odd) {
            background-color: transparent;
        }

        tr.activetable, input.activetable {
            background-color: white;
            width: 100px;
            height: 30px;
            margin-right: 6px;
            margin-left: 1px
        }

    </style>
{% endblock %}

{% block content %}
    {#上传策略模态框#}
    <div class="modal fade" data-backdrop="static" id="upmodal" tabindex="-1" role="dialog"
         aria-labelledby="myModalLabel" aria-hidden="true">
        <div class="modal-dialog" style="width: 450px;">
            <div class="modal-content">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal" aria-label="Close"></button>
                    <h4 class="modal-title">上传策略</h4>
                </div>
                <div class="modal-body" style="padding: 30px;height:auto">
                    <form>
                        <div style="margin-top:3%; display: block">
                            <label>策略名称</label>
                            <input class="opts" id="stgname" name="stgname" type="text"
                                   placeholder="策略名称">
                            <span id="stgname_upload_spaninfo" style="color: red;font-size: 14px"></span>
                        </div>
                        <div style="margin-top:3%"><label>策略组</label>
                            <select class="opts" id="stggroup" name="stggroup">
                                <option name="isactive" value="1">
                                    做市策略
                                </option>
                                <option name="isactive" value="2">
                                    CTA策略
                                </option>
                                <option name="isactive" value="3">
                                    算法策略
                                </option>
                            </select>
                        </div>
                        <div style="margin-top:3%">
                            <label>选择策略</label>
                            <input class="opts" id="file" name="file" type="file" accept=".py"
                                   onchange="filename1()">
                            <span id="stgfile_upload_spaninfo" style="color: red;font-size: 14px"></span>
                        </div>
                        <div style="margin-top:3%"><label>策略参数</label>

                            <table style="background-color: white; margin-left: 19px;font-size: 13px">
                                <thead>
                                <tr class="activetable">
                                    <th>
                                        操作
                                    </th>
                                    <th>
                                        参数名*
                                    </th>
                                    <th>
                                        参数值*
                                    </th>
                                    <th>
                                        参数描述
                                    </th>
                                </tr>
                                </thead>
                                <tbody id="tb1">
                                <tr class="activetable">
                                    <td>
                                        <span style="padding:3px;cursor: pointer" class="btn-success small"
                                              onclick="new_col('tb1')">新增行
                                        </span>
                                    </td>
                                    <td>
                                        <input class="activetable" name="stg_name" id="stg_name">
                                    </td>
                                    <td>
                                        <input class="activetable" name="stg_value" id="stg_value">
                                    </td>
                                    <td>
                                        <input class="activetable" name="stg_desc" id="stg_desc">
                                    </td>
                                </tr>
                                </tbody>
                            </table>
                            <span id="paraarry_upload_spaninfo" style="color: red;font-size: 14px"></span>
                        </div>
                        <div style="margin-top:3%">
                            <span style="margin-left:10%;cursor:pointer;padding:5px" class="btn-primary"
                                  onclick="reSub()">提交</span>
                            <span style="margin-left:60%;cursor:pointer;padding:5px" class="btn-success"
                                  onclick="fad_upmodeal_add_change()">取消</span>
                        </div>
                    </form>
                </div>
            </div>
        </div>
    </div>
    {# 上传策略提交时弹出确认按钮 #}
    <div class="modal fade" id="modal_resub"></div>
    {#打包失败模态框#}
    <div class="modal fade" data-backdrop="static" id="modal_packageError">

    </div>
    {#申请实盘#}
    <div class="modal fade" id="modal_askfor_live" data-backdrop="static" tabindex="-1" role="dialog"
         aria-labelledby="myModalLabel" aria-hidden="true">
        <div class="modal-dialog" style="width: 450px;">
            <div class="modal-content">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal" aria-label="Close"></button>
                    <h4 class="modal-title">申请实盘</h4>
                </div>
                <div class="modal-body" style="padding: 30px;height:auto">
                    <form>
                        <div style="margin-top:3%">
                            <label>策略ID</label>
                            <input class="opts" id="stgid_askfor_live" name="stgid" type="text"
                                   placeholder="策略ID" readonly>
                        </div>
                        <div style="margin-top:3%; display: block">
                            <label>策略名称</label>
                            <input class="opts" id="stgname_askfor_live" name="stgname" type="text"
                                   placeholder="策略名称" readonly>
                        </div>
                        <label>策略组</label>
                        <input class="opts" id="stggroup_askfor_live" name="stggroup" type="text"
                               placeholder="策略名称" readonly>
                        <div style="margin-top:3%"><label>策略参数</label>
                            <table style="background-color: white">
                                <thead>
                                <tr class="activetable">
                                    <th>
                                        参数名*
                                    </th>
                                    <th>
                                        参数值*
                                    </th>
                                    <th>
                                        参数描述
                                    </th>
                                </tr>
                                </thead>
                                <tbody id="tb2">
                                </tbody>
                            </table>
                            <span id="paraarry_askFor_spaninfo" style="color: red;font-size: 14px"></span>
                        </div>
                        <div style="margin-top:3%">
                            <span style="margin-left:10%;cursor:pointer;padding:5px" class="btn-primary"
                                  onclick="reSubAskForLive()">提交</span>
                            <span style="margin-left:60%;cursor:pointer;padding:5px" class="btn-success"
                                  onclick="fad_askfor_live()">取消</span>
                        </div>
                    </form>
                </div>
            </div>
        </div>
    </div>
    {# 申请实盘提交时弹出确认按钮 #}
    <div class="modal fade" id="modal_resubAskForLive"></div>
    {#上传列表删除#}
    <div class="modal fade" data-backdrop="static" id="modal_delete">
        <div class="modal-dialog" style="width: 300px;background-color:#eee">
            <div class="modal-content">
                <div class="modal-body" style="padding:5px;height:80px;overflow:auto">
                    <div>
                        <p style="margin-top:10px;margin-left:5px;" id="confirm_paper">确认删除仿真策略</p>
                        <div>
                            <span id="del" sid="" onclick="fad_delete()"
                                  style="padding:2px;cursor:pointer;float:right;margin-right:10px" class="btn-success">取消</span>
                            <span onclick="del_()" style="padding:2px;cursor:pointer;float:right;margin-right:10px"
                                  class="btn-success">确定</span>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
    {#仿真列表删除确认#}
    <div class="modal fade" data-backdrop="static" id="modal_delete_paper">
        <div class="modal-dialog" style="width: 300px;background-color:#eee">
            <div class="modal-content">
                <div class="modal-body" style="padding:5px;height:80px;overflow:auto">
                    <div>
                        <p style="margin-top:10px;margin-left:5px;" id="confirm_delete">确认删除仿真策略</p>
                        <div>
                            <span id="del_paper" sid_paper="" onclick="fad_delete_paper()"
                                  style="padding:2px;cursor:pointer;float:right;margin-right:10px" class="btn-success">取消</span>
                            <span onclick="del_paper()" style="padding:2px;cursor:pointer;float:right;margin-right:10px"
                                  class="btn-success">确定</span>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
    {#打包的模态框#}
    <div class="modal fade" data-backdrop="static" id="modal_pack">
        <div class="modal-dialog" style="width: 300px;background-color:#eee">
            <div class="modal-content">
                <div class="modal-body" style="padding:5px;height:80px;overflow:auto">
                    <div>
                        <p style="margin-top:10px;margin-left:5px;">确认打包策略</p>
                        <div>
                            <span id="attr_packid" packid="" onclick="fad_pack()"
                                  style="padding:2px;cursor:pointer;float:right;margin-right:10px" class="btn-success">取消</span>
                            <span onclick="stg_pack()"
                                  style="padding:2px;cursor:pointer;float:right;margin-right:10px"
                                  class="btn-success">确定</span>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
    {#面头部#}
    <section class="content-header" style="background-color: #000000">
        <h1 style="color: #FFFFFF; cursor: pointer">
            仿真策略
        </h1>
    </section>
    <!-- Main content -->
    <section class="content" style="background-color: #000000">
        <div class="row">
            <div class="col-xs-12">
                <div class="nav-tabs-custom" style="background-color: #000000">
                    <ul class="nav nav-tabs">
                        <li class="active"><a href="#fa-upload" onclick="tabs(0)" data-toggle="tab">上传列表</a></li>
                        <li><a href="#fa-pack" onclick="tabs(1)" data-toggle="tab">打包列表</a></li>
                        <li><a href="#fa-sim" onclick="tabs(2)" data-toggle="tab">仿真列表</a></li>
                    </ul>
                    <div class="tab-content" style="background-color: #000000">
                        <!--上传列表-->
                        <div class="tab-pane active mailbox-messages" id="fa-upload">
                            <div class=" mailbox-messages">
                                <table id="toolbar"></table>
                                <div class="uploadHead">
                                    <div class="bs-bars pull-left"></div>
                                    <div class="uploadheadiv" style="margin-left: 25px">
                                        <button class="upstrategy" onclick="uploadmodal()">上传策略
                                        </button>
                                    </div>
                                    <div class="uploadheadiv"><span>策略ID </span>
                                        <input type="text" id="ustgid">
                                    </div>
                                    <div class="uploadheadiv"><span>策略名称 </span>
                                        <input type="text" id="ustgname">
                                    </div>
                                    <div class="uploadheadiv"><span>策略状态 </span>
                                        <select id="ustgstatus">
                                            <option value=""></option>
                                            <option value="1">待审批</option>
                                            <option value="2">审批驳回</option>
                                            <option value="3">审批通过</option>
                                        </select></div>
                                    <div class="uploadheadiv">
                                        <button class="uploadsearch" onclick="uploadsearch()">查询
                                        </button>
                                    </div>
                                </div>
                                <table class="table table-bordered table-striped table-hover" id="UploadTable"
                                       style="table-layout: fixed;word-break:break-all; word-wrap:break-all;"></table>
                            </div>
                        </div>
                        <!--打包列表-->
                        <div class="tab-pane" id="fa-pack">
                            <div class=" mailbox-messages">
                                <table id="toolbar"></table>
                                <div class="packHead">
                                    <div class="bs-bars pull-left"></div>
                                    <div class="packheadiv" style="margin-left: 13px"><span>策略名称 </span>
                                        <input type="text" id="pstgname">
                                    </div>
                                    <div class="packheadiv">
                                        <span>打包状态 </span>
                                        <select id="ppackstatus">
                                            <option value=""></option>
                                            <option value="0">待打包</option>
                                            <option value="1">打包成功</option>
                                            <option value="2">打包失败</option>

                                        </select></div>
                                    <div class="packheadiv">
                                        <button class="packsearch"
                                                onclick="packsearch()">查询
                                        </button>
                                    </div>
                                </div>
                                <table class="table table-bordered table-striped table-hover" id="packTable"
                                       style="table-layout: fixed;word-break:break-all; word-wrap:break-all;">

                                </table>
                            </div>
                        </div>
                        <!--仿真列表-->
                        <div class="tab-pane" id="fa-sim">
                            <div class=" mailbox-messages">
                                <table id="toolbar"></table>
                                <div class="simHead">
                                    <div class="bs-bars pull-left"></div>
                                    <div class="simheadiv" style="margin-left: 0px"><span>策略ID </span><input type="text"
                                                                                                             id="sstgid">
                                    </div>
                                    <div class="simheadiv"><span>策略名称 </span><input type="text" id="sstgname">
                                    </div>
                                    <div class="simheadiv"><span>运行状态 </span>
                                        <select id="sstgstatus">
                                            <option value=""></option>
                                            <option value="1">启动</option>
                                            <option value="4">停止</option>
                                        </select></div>
                                    <div class="simheadiv">
                                        <button class="papersearch"
                                                onclick="papersearch()">查询
                                        </button>
                                    </div>
                                </div>
                                <table class="table table-bordered table-striped table-hover" id="simTable"
                                       style="table-layout: fixed;word-break:break-all; word-wrap:break-all;">
                                </table>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </section>

{% endblock %}

{% block scripts %}
    <script type="text/javascript">


        //tab标签页
        function tabs(n) {
            if (n == 0) {
                $('#fa-upload').addClass('active');
                $('#fa-pack').removeClass('active');
                $('#fa-sim').removeClass('active');
            } else if (n == 1) {
                $('#fa-upload').removeClass('active');
                $('#fa-pack').addClass('active');
                $('#fa-sim').removeClass('active');
            } else {
                $('#fa-upload').removeClass('active');
                $('#fa-pack').removeClass('active');
                $('#fa-sim').addClass('active');
            }
        }

        //上传策略取消按钮
        function fad_upmodeal_add_change() {
            $('#upmodal').modal('hide');
            $('#stgname').val('');
            $('#file').val('');
            $('#stg_name').val('');
            $('#stg_value').val('');
            $('#stg_desc').val('');
            $('#stgname_upload_spaninfo').text('');
            $('#stgfile_upload_spaninfo').text('');
            $('#paraarry_upload_spaninfo').text('');
            $('#tb1').html('')

            var tb1_html = '<tr class="activetable">\n' +
                '                                    <td>\n' +
                '                                        <span style="padding:3px;cursor: pointer" class="btn-success small"\n' +
                '                                              onclick="new_col(\'tb1\')">新增行\n' +
                '                                        </span>\n' +
                '                                    </td>\n' +
                '                                    <td>\n' +
                '                                        <input class="activetable" name="stg_name" id="stg_name">\n' +
                '                                    </td>\n' +
                '                                    <td>\n' +
                '                                        <input class="activetable" name="stg_value" id="stg_value">\n' +
                '                                    </td>\n' +
                '                                    <td>\n' +
                '                                        <input class="activetable" name="stg_desc" id="stg_desc">\n' +
                '                                    </td>\n' +
                '                                </tr>'
            $('#tb1').append(tb1_html)
        }

        //申请实盘取消按钮
        function fad_askfor_live() {
            $('#modal_askfor_live').modal('hide');
            $("#tb2").html('');
        }

        //上传策略模态框input框的值,
        function gets() {
            //仿真策略参数表的条数[{key,value,desc},{}]
            var pararry = []
            $("#tb1").find("tr").each(function () {
                var tdata = $(this).children()
                var paraname = tdata.eq(1).find("input").val()
                var paravalue = tdata.eq(2).find("input").val()
                var paradesc = tdata.eq(3).find("input").val()
                var paradic = {"paraname": paraname, "paravalue": paravalue, "paradesc": paradesc}
                pararry.push(paradic)
            })

            data = {
                'stgname': JSON.stringify([$('#stgname').val()]),
                'stggroup': JSON.stringify([$('#stggroup').val()]),
                {#'file': JSON.stringify([file]),#}
                'pararry': JSON.stringify(pararry)

            }
            return data;
        }

        //上传列表模态框显示
        function uploadmodal() {
            $("#upmodal").modal("show")
        }

        //上传策略再次确认按钮
        function reSub() {
            //每次请求再次确认页面容器是空
            $('#modal_resub').html('');
            //上传策略点击提交,错误提示信息置空
            $('#stgname_upload_spaninfo').text('');
            $('#stgfile_upload_spaninfo').text('');
            $('#paraarry_upload_spaninfo').text('');
            //取页面输入的值
            var data1 = gets()
            var stgname = JSON.parse(data1["stgname"])[0];
            var stggroup_value = JSON.parse(data1["stggroup"])[0];
            var stggroup = $("#stggroup").find("option[value=" + stggroup_value + "]").text().replace(/\s+/g, "");
            var file = $("#file").val()
            var pararry = JSON.parse(data1["pararry"])

            //输入框校验
            if ((stgname === '') || (stgname.length > 25)) {
                $('#stgname_upload_spaninfo').text('策略名不合法,请重新输入')
                return;
            } else if (file === '') {
                $('#stgfile_upload_spaninfo').text('策略文件不可为空,请重新上传')
                return;
            }
            for (var i in pararry) {
                if ((pararry[i].paraname === '') || ((pararry[i].paraname).length > 25)) {
                    $('#paraarry_upload_spaninfo').text('策略参数不合法,请重新输入')
                    return;
                } else if ((pararry[i].paravalue === '') || ((pararry[i].paravalue).length > 25)) {
                    $('#paraarry_upload_spaninfo').text('策略参数不合法,请重新输入')
                    return;
                } else if ((pararry[i].paradesc).length > 25) {
                    $('#paraarry_upload_spaninfo').text('策略参数不合法,请重新输入')
                    return;
                }
            }
            /**else if ((pararry[0].paraname === '') || ((pararry[0].paraname).length > 25)) {
                $('#paraarry_upload_spaninfo').text('策略参数不合法,请重新输入')
                return;
            } else if ((pararry[0].paravalue === '') || ((pararry[0].paravalue).length > 25)) {
                $('#paraarry_upload_spaninfo').text('策略参数不合法,请重新输入')
                return;
            } else if ((pararry[0].paradesc).length > 25) {
                $('#paraarry_upload_spaninfo').text('策略参数不合法,请重新输入')
                return;
            }**/

                //向再次确认页面容器添加html
            var paradiv = ""
            for (let i = 0; i < pararry.length; i++) {
                var pararow = "<tr class=\"activetable\">\n" +
                    "                                    <td>\n" +
                    "                                        <input class=\"activetable\" disabled name=\"stg_name\" value=" + pararry[i]["paraname"] + ">\n" +
                    "                                    </td>\n" +
                    "                                    <td>\n" +
                    "                                        <input class=\"activetable\" disabled name=\"stg_value\" value=" + pararry[i]["paravalue"] + ">\n" +
                    "                                    </td>\n" +
                    "                                    <td>\n" +
                    "                                        <input class=\"activetable\" disabled name=\"stg_desc\" value=" + pararry[i]["paradesc"] + ">\n" +
                    "                                    </td>\n" +
                    "                                </tr>";
                paradiv = paradiv + pararow
            }
            var confirm_strategy = '<div class="modal-dialog" style="width: 450px;">\n' +
                '            <div class="modal-content">\n' +
                '                <div class="modal-header">\n' +
                '                    <button type="button" class="close" data-dismiss="modal" aria-label="Close"></button>\n' +
                '                    <h4 class="modal-title">上传策略确认</h4>\n' +
                '                </div>\n' +
                '                <div class="modal-body" style="padding: 30px;height:auto">\n' +
                '                    <form>\n' +
                '                        <div style="margin-top:3%; display: block">\n' +
                '                            <label>策略名称</label>\n' +
                '                            <input disabled class="opts conf" name="stgname" type="text"\n' +
                '                                value="' + stgname + '"   >\n' +
                '                                <span id="stgname_spaninfo" style="color: red; font-size: 14px"></span>\n' +
                '                        </div>\n' +
                '                        <div style="margin-top:3%"><label>策略组</label>\n' +
                '                            <input disabled class="opts conf" name="stggroup" type="text"\n' +
                '                                value="' + stggroup + '"   >\n' +
                '                                <span id="stggroup_spaninfo" style="color: red; font-size: 14px"></span>\n' +
                '                        </div>\n' +
                '                        <div style="margin-top:3%"><label>选择文件</label>\n' +
                '                            <input disabled class="opts conf" name="file"' +
                '                                   value="' + file + '">\n' +
                '                                <span id="file_spaninfo" style="color: red; font-size: 14px"></span>\n' +
                '                        </div>\n' +
                '                        <div style="margin-top:3%"><label>策略参数</label>\n' +
                '                            <table style="background-color: white">\n' +
                '                                <thead>\n' +
                '                                <tr class="activetable">\n' +
                '                                    <th>\n' +
                '                                        参数名*\n' +
                '                                    </th>\n' +
                '                                    <th>\n' +
                '                                        参数值*\n' +
                '                                    </th>\n' +
                '                                    <th>\n' +
                '                                        参数描述\n' +
                '                                    </th>\n' +
                '                                </tr>\n' +
                '                                </thead>\n' +
                '                                <tbody>\n' + paradiv +
                '                                </tbody>\n' +
                '                            </table>\n' +
                '                                <span id="paraarry_spaninfo" style="color: red; font-size: 14px"></span>\n' +
                '                        </div>\n' +
                '                        <div style="margin-top:3%">\n' +
                '                            <span style="margin-left:10%;cursor:pointer;padding:5px" class="btn-primary"\n' +
                '                                  onclick="sub(gets)">提交</span>\n' +
                '                            <span style="margin-left:60%;cursor:pointer;padding:5px" class="btn-success"\n' +
                '                                  onclick="reSub_fad()">取消</span>\n' +
                '                        </div>\n' +
                '                    </form>\n' +
                '                </div>\n' +
                '            </div>\n' +
                '        </div>'
            $("#modal_resub").append(confirm_strategy)
            $('#modal_resub').modal('show')

        }

        //申请实盘再次确认按钮
        function reSubAskForLive() {
            //每次请求再次确认页面容器是空
            $('#modal_resubAskForLive').html('');
            //申请实盘点击提交,错误提示信息置空
            $('#paraarry_askFor_spaninfo').text('');


            //取页面输入的值
            var data1 = gets_live()
            var stgid = JSON.parse(data1["stgid_askfor_live"])[0];
            var stgname = JSON.parse(data1["stgname_askfor_live"])[0];
            var stggroup = JSON.parse(data1["stggroup_askfor_live"])[0];
            var pararry = JSON.parse(data1["pararry_askfor_live"])

            //输入框校验
            for (var i in pararry) {
                if ((pararry[i].paravalue === '') || ((pararry[i].paravalue).length > 25)) {
                    $('#paraarry_askFor_spaninfo').text('策略参数不合法,请重新输入')
                    return;
                } else if ((pararry[i].paradesc).length > 25) {
                    $('#paraarry_askFor_spaninfo').text('策略参数不合法,请重新输入')
                    return;
                }
            }


            //向再次确认页面容器添加html
            var paradiv = ""
            for (let i = 0; i < pararry.length; i++) {
                var pararow = "<tr class=\"activetable\">\n" +
                    "                                    <td>\n" +
                    "                                        <input class=\"activetable\" disabled name=\"stg_name\" value=" + pararry[i]["paraname"] + ">\n" +
                    "                                    </td>\n" +
                    "                                    <td>\n" +
                    "                                        <input class=\"activetable\" disabled name=\"stg_value\" value=" + pararry[i]["paravalue"] + ">\n" +
                    "                                    </td>\n" +
                    "                                    <td>\n" +
                    "                                        <input class=\"activetable\" disabled name=\"stg_desc\" value=" + pararry[i]["paradesc"] + ">\n" +
                    "                                    </td>\n" +
                    "                                </tr>";
                paradiv = paradiv + pararow
            }
            var confirm_strategy_askfor = '<div class="modal-dialog" style="width: 450px;">\n' +
                '            <div class="modal-content">\n' +
                '                <div class="modal-header">\n' +
                '                    <button type="button" class="close" data-dismiss="modal" aria-label="Close"></button>\n' +
                '                    <h4 class="modal-title">申请实盘确认</h4>\n' +
                '                </div>\n' +
                '                <div class="modal-body" style="padding: 30px;height:auto">\n' +
                '                    <form>\n' +
                '                        <div style="margin-top:3%; display: block">\n' +
                '                            <label>策略ID</label>\n' +
                '                            <input disabled class="opts conf" name="stgid" type="text"\n' +
                '                                value="' + stgid + '"   >\n' +
                '                                <span id="stgname_spaninfo" style="color: red; font-size: 14px"></span>\n' +
                '                        </div>\n' +
                '                        <div style="margin-top:3%; display: block">\n' +
                '                            <label>策略名称</label>\n' +
                '                            <input disabled class="opts conf" name="stgname" type="text"\n' +
                '                                value="' + stgname + '"   >\n' +
                '                                <span id="stgname_spaninfo" style="color: red; font-size: 14px"></span>\n' +
                '                        </div>\n' +
                '                        <div style="margin-top:3%"><label>策略组</label>\n' +
                '                            <input disabled class="opts conf" name="stggroup" type="text"\n' +
                '                                value="' + stggroup + '"   >\n' +
                '                                <span id="stggroup_spaninfo" style="color: red; font-size: 14px"></span>\n' +
                '                        </div>\n' +
                '                        <div style="margin-top:3%"><label>策略参数</label>\n' +
                '                            <table style="background-color: white">\n' +
                '                                <thead>\n' +
                '                                <tr class="activetable">\n' +
                '                                    <th>\n' +
                '                                        参数名*\n' +
                '                                    </th>\n' +
                '                                    <th>\n' +
                '                                        参数值*\n' +
                '                                    </th>\n' +
                '                                    <th>\n' +
                '                                        参数描述\n' +
                '                                    </th>\n' +
                '                                </tr>\n' +
                '                                </thead>\n' +
                '                                <tbody>\n' + paradiv +
                '                                </tbody>\n' +
                '                            </table>\n' +
                '                        </div>\n' +
                '                        <div style="margin-top:3%">\n' +
                '                            <span style="margin-left:10%;cursor:pointer;padding:5px" class="btn-primary"\n' +
                '                                  onclick="sub_live(gets_live)">提交</span>\n' +
                '                            <span style="margin-left:60%;cursor:pointer;padding:5px" class="btn-success"\n' +
                '                                  onclick="reSubAskForLive_fad()">取消</span>\n' +
                '                        </div>\n' +
                '                    </form>\n' +
                '                </div>\n' +
                '            </div>\n' +
                '        </div>'
            $("#modal_resubAskForLive").append(confirm_strategy_askfor)
            $('#modal_resubAskForLive').modal('show')

        }

        //申请实盘再次确认模态框取消
        function reSubAskForLive_fad() {
            $('#modal_resubAskForLive').modal('hide')
            $("#modal_resubAskForLive").html('');

        }


        //上传策略提交逻辑
        function sub(func) {
            //此处输入框校验可不做,之前写过,懒得删了,留着无碍
            data = func();
            $('#stgname_spaninfo').text('');
            $('#file_spaninfo').text('');
            $('#paraarry_spaninfo').text('');

            data['file'] = JSON.stringify([files])
            for (let key in data) {
                var item = JSON.parse(data[key])[0]
                if (Boolean(item) == false && key != 'id') {
                    var title = $("#" + key).prev().text()
                    $("#" + key + "_spaninfo").text(title + '不能为空')
                    return;
                } else if (key === 'stgname') {
                    if (item.length > 25) {
                        $('#stgname_spaninfo').text('策略名称超过最大长度,请修改')
                        return;
                    }
                }
            }
            temp_para = JSON.parse(data['pararry'])

            if ((temp_para[0].paraname === '') || (temp_para[0].paravalue === '')) {
                $('#paraarry_spaninfo').text('策略参数不能为空')
                return;
            } else if (((temp_para[0].paraname).length > 25) || ((temp_para[0].paravalue).length > 25) || ((temp_para[0].paradesc).length > 25)) {
                $('#paraarry_spaninfo').text('策略参数超过最大长度,请修改')
                return;
            }

            $.post("{% url 'trade:paper' %}", data, function (r) {
                if (r === 'y') {
                    //新建成功则跳转,否则传错误信息
                    window.location.reload();
                } else {
                    window.location.reload();
                }
            });
        }

        //上传策略再次确认模态框的取消
        function reSub_fad() {
            $('#modal_resub').modal('hide');
            $("#modal_resub").innerHTML = "";
        }

        //申请实盘模态框显示
        function modal_askfor_live() {
            $("#modal_askfor_live").modal("show")
        }

        //申请实盘,get请求,携带值
        function askfor_live_modify(id) {
            $('#paraarry_askFor_spaninfo').text('');
            $.get("{% url 'trade:paper' %}", {'askForLive_stgid': id}, function (r) {
                if (r) {
                    var data = (r.rows)[0]
                    for (var key in data) {
                        if (data[key] instanceof Array) {
                            for (let i = 0; i < data[key].length; i++) {
                                var pararow = "<tr class=\"activetable\">\n" +
                                    "                                    <td>\n" +
                                    "                                        <input class=\"activetable\" disabled style='background-color: #eeeeee' name=\"stg_name\" value=" + data[key][i]["paraname"] + ">\n" +
                                    "                                    </td>\n" +
                                    "                                    <td>\n" +
                                    "                                        <input class=\"activetable\" name=\"stg_value\" value=" + data[key][i]["paravalue"] + ">\n" +
                                    "                                    </td>\n" +
                                    "                                    <td>\n" +
                                    "                                        <input class=\"activetable\" name=\"stg_desc\" value=" + data[key][i]["paradesc"] + ">\n" +
                                    "                                    </td>\n" +
                                    "                                </tr>";
                                $("#tb2").append(pararow)
                            }
                        } else {
                            if ($('#' + key + '_askfor_live')) {

                                $('#' + key + '_askfor_live').val(data[key]);
                            }
                        }

                    }
                }
            });
        };

        //申请实盘gets_live,获取页面输入或携带的值
        function gets_live() {

            //参数条数[{key,value,desc},{}]
            var pararry = []

            $("#tb2").find("tr").each(function () {
                var tdata = $(this).children()
                var paraname = tdata.eq(0).find("input").val()
                var paravalue = tdata.eq(1).find("input").val()
                var paradesc = tdata.eq(2).find("input").val()
                var paradic = {"paraname": paraname, "paravalue": paravalue, "paradesc": paradesc}
                pararry.push(paradic)
            })

            data = {
                'stgid_askfor_live': JSON.stringify([$('#stgid_askfor_live').val()]),
                'stgname_askfor_live': JSON.stringify([$('#stgname_askfor_live').val()]),
                'envname_askfor_live': JSON.stringify([$('#envname_askfor_live').val()]),
                'stggroup_askfor_live': JSON.stringify([$('#stggroup_askfor_live').val()]),
                'pararry_askfor_live': JSON.stringify(pararry)
            }
            return data;
        }

        //申请实盘逻辑
        function sub_live(func) {
            var data = func();


            //对提交的数据进行遍历,json解析成数组取第一个值,然后取Bool值,
            // 如果是false(空),则alert,并且返回空,不继续执行下面代码
            for (let key in data) {
                var item = JSON.parse(data[key])[0]
                if (Boolean(item) === false && key != 'id' && key != 'envname_askfor_live') {
                    var title = $("#" + key).prev().text()
                    alert(title + "不能为空!")

                    return
                }
            }

            temp_para = JSON.parse(data['pararry_askfor_live'])

            if (temp_para[0].paravalue === '') {
                $('#paraarry_askFor_spaninfo').text('策略参数不能为空')
                return;
            } else if (((temp_para[0].paravalue).length > 25) || ((temp_para[0].paradesc).length > 25)) {
                $('#paraarry_askFor_spaninfo').text('策略参数超过最大长度,请修改');
                return;
            }

            $.post("{% url 'trade:paper' %}", {'data': data, 'askfor_live_sub': 1}, function (r) {
                if (r == 'y') {
                    //新建成功则跳转,否则传错误信息
                    window.location.reload();
                    $("#fa-upload").removeClass("active")
                    $("#fa-sim").addClass("active")

                } else {
                    window.location.reload();
                }
            });
        }

        //上传列表删除模态框取消
        function fad_delete() {
            $('#modal_delete').modal('hide');
        }

        //仿真列表模态框取消
        function fad_delete_paper() {
            $('#modal_delete_paper').modal('hide');
        }

        //打包模态框取消modal_pack
        function fad_pack() {
            $('#modal_pack').modal('hide');
        }

        //显示上传列表删除的模态框
        function _delete(d, stgname) {
            $('#modal_delete').modal('show');
            $("#confirm_paper").text("确认删除" + "'" + stgname + "'" + "策略?")
            $('#del').attr('sid', d);
        }

        //显示仿真列表删除的模态框
        function _delete_paper(d, stgname) {
            $('#modal_delete_paper').modal('show');
            $("#confirm_delete").text("确认删除" + "'" + stgname + "'" + "策略?")
            $('#del_paper').attr('sid_paper', d);
        }

        //上传列表删除逻辑
        function del_() {
            d = $('#del').attr('sid');//该值是从js动态渲染删除里面拿到的,先_delete,再del_
            $.post("{% url 'trade:paper' %}", {'id': d, 'delete': 1}, function (r) {
                if (r == 'y') {
                    window.location.reload();
                } else {
                    $('#modal_delete').modal('hide');
                }
            });//post请求的回调函数,空值show"默认合约不可修改",y值则删除后跳转。
        };

        //仿真列表删除逻辑
        function del_paper() {
            d = $('#del_paper').attr('sid_paper');
            $.post("{% url 'trade:paper' %}", {'id': d, 'delete_paper_list': 1}, function (r) {
                if (r == 'y') {
                    window.location.reload();
                } else {
                    $('#modal_delete').modal('hide');
                }
            });//post请求的回调函数,空值show"默认合约不可修改",y值则删除后跳转。
        };

        //打包失败逻辑
        function stg_pack_error(d) {
            $('#modal_packageError').html("")
            $.post("{% url 'trade:paper' %}", {'id': d, 'stg_pack_error': 1}, function (r) {
                if (r.packmsg.length == 0) {
                    //window.location.reload();
                } else {
                    var packError = '<div class="modal-dialog" style="width: 450px;margin-top: 10%">\n' +
                        '            <div class="modal-content">\n' +
                        '                <div class="modal-header">\n' +
                        '                    <button type="button" class="close" data-dismiss="modal" aria-label="Close">\n' +
                        '                    <h5 class="modal-title">打包失败错误信息</h5>\n' +
                        '                </div>\n' +
                        '                <div class="modal-body" style="padding: 30px;height:auto">\n' +
                        '                    <form>\n' +
                        '                        <div style="margin-top:3%; display: block">\n' +
                        '                           <p id="packError_spaninfo" style="color: black; font-size: 20px;text-align: center"></p>\n' +
                        '                           <span type="button" class="btn btn-primary  btn-xs btn-flat btn_operation" onclick="packErroBtnSub()" style="margin-top : 33px; margin-left: 43%; padding:5px;cursor:pointer;">确认</span>' +
                        '                        </div>\n' +

                        '</form>' +
                        '</div>' +
                        '</div>' +
                        '</div>'


                    $('#modal_packageError').append(packError)
                    $('#modal_packageError').modal('show')
                    $('#packError_spaninfo').text(r.packmsg);
                }
            });
        };

        //打包失败确认按钮
        function packErroBtnSub() {
            $('#modal_packageError').modal('hide');
        }

        //打包模态框展示
        function stg_pack_show(d) {
            $('#modal_pack').modal('show');
            $('#attr_packid').attr('packid', d);
        }

        //打包逻辑
        function stg_pack() {
            d = $('#attr_packid').attr('packid');
            $.post("{% url 'trade:paper' %}", {'id': d, 'stg_pack': 1}, function (r) {
                if (r == 'y') {
                    window.location.reload();
                } else {
                    $('#modal_pack').modal('hide');
                }
            });
        };


        //上传列表的查询
        function uploadsearch() {
            var ustgid = $("#ustgid").val();
            var ustgname = $("#ustgname").val();
            var ustgstatus = $("#ustgstatus").val();
            // 整理发送后台的数据
            var data = {
                "stgid": ustgid,
                "stgname": ustgname,
                "auditstatus": ustgstatus
            };

            var JsonData = JSON.stringify(data);
            /**
             $.post("{% url 'trade:paper' %}", {"data": JsonData, 'upload_search': 1}, function (r) {
                $("#UploadTable").bootstrapTable("removeAll");
                $("#UploadTable").bootstrapTable("append", r)

            });**/
            $.post("{% url 'trade:paper' %}", {"data": JsonData, 'upload_search': 1}, function (r) {
                $("#UploadTable").bootstrapTable("removeAll");
                $("#UploadTable").bootstrapTable("append", r)

            });

        }

        //打包列表的查询
        function packsearch() {
            var pstgname = $("#pstgname").val();
            var ppackstatus = $("#ppackstatus").val();
            // 整理发送后台的数据
            var data = {
                "pstgname": pstgname,
                "ppackstatus": ppackstatus
            };

            var JsonData = JSON.stringify(data);
            $.post("{% url 'trade:paper' %}", {"data": JsonData, 'pack_search': 1}, function (r) {
                $("#packTable").bootstrapTable("removeAll");
                $("#packTable").bootstrapTable("append", r)

            });
        }

        //仿真列表的查询
        function papersearch() {
            var sstgid = $("#sstgid").val();
            var sstgname = $("#sstgname").val();
            var sstgstatus = $("#sstgstatus").val();
            // 整理发送后台的数据
            var data = {
                "sstgid": sstgid,
                "sstgname": sstgname,
                "sstgstatus": sstgstatus
            };

            var JsonData = JSON.stringify(data);
            $.post("{% url 'trade:paper' %}", {"data": JsonData, 'paper_search': 1}, function (r) {
                $("#simTable").bootstrapTable("removeAll");
                $("#simTable").bootstrapTable("append", r)

            });

        }


        //bstable渲染页面(固定写法)
        function InitBootstrapTable(my_url, my_table_id, my_columns, my_filename, type) {
            $('#' + my_table_id).bootstrapTable('destroy').bootstrapTable({
                url: my_url,
                method: 'get',
                columns: my_columns,
                toolbar: '#toolbar',
                striped: true,
                cache: false,
                pagination: true,
                width: 100,
                sortable: true,
                sortOrder: "asc",
                queryParams: function (pageRequest) {
                    pageRequest['type'] = type;
                    return pageRequest;
                },
                sidePagination: "server",
                pageNumber: 1,
                pageSize: 20,
                pageList: [10, 25, 50, 100],
                minimumCountColumns: 2,
                clickToSelect: true,
                uniqueId: "_id",
                cardView: false,
                detailView: false,
                buttonsAlign: "right",
            })
        }

        // 上传列表table
        my_columns = [
            {
                field: 'stgid',
                title: '策略ID'
            }, {
                field: 'stgname',
                title: '策略名称'
            }, {
                field: 'createtime',
                title: '上传时间'
            }, {
                field: 'auditstatus',
                title: '审批状态',
                {#visible: false     #}
            }, {
                field: 'uoption',
                title: '操作',
                formatter: function (value, row, index) {
                    var stgname = row.stgname
                    if (row.auditstatus === "审批通过") {
                        return ''
                    } else {
                        return "<span onclick=\"_delete('" + value + "','" + stgname + "')\" type='button' class='btn btn-danger btn-xs btn-flat btn_operation'> <i class='fa fa-pencil'></i>删除</span> ";
                    }

                }
            },
        ];
        InitBootstrapTable("{{url}}", "UploadTable", my_columns, "uploadtable", '0');

        // 打包列表table
        my_columns = [
            {
                field: 'stgid',
                title: '策略ID'
            }, {
                field: 'stgname',
                title: '策略名称'
            }, {
                field: 'packstatus',
                title: '打包状态',
            }, {
                field: 'packtime',
                title: '最后打包时间'
            }, {
                field: 'backtype',
                title: '主/备'

            }, {
                field: 'envname',
                title: '运行环境'

            }, {
                field: 'poption',
                title: '操作',
                formatter: function (value, row, index) {
                    if (row.packstatus == "打包失败") {
                        return "<span onclick=\"stg_pack_show('" + value + "')\" type='button' class='btn btn-success btn-xs btn-flat btn_operation'> <i class='fa fa-pencil'></i>打包</span> " + "&nbsp;<span id='pack_error_btn_disable' onclick=\"stg_pack_error('" + value + "')\" class='btn btn-danger btn-xs btn-flat btn_operation' data-toggle='modal' data-target='#modal_model_field'> <i class='fa fa-pencil'></i>失败原因</span> ";
                    } else {
                        return ''
                    }

                }
            },
        ];
        InitBootstrapTable("{{url}}", "packTable", my_columns, "pack", '1');

        //仿真列表
        my_columns = [
            {
                field: 'stgid',
                title: '策略ID'
            }, {
                field: 'stgname',
                title: '策略名称'
            }, {
                field: 'createtime',
                title: '上传时间',
            }, {
                field: 'runstatus',
                title: '运行状态'
            }, {
                title: '开始运行时间',
                field: 'starttime'
            }, {
                title: '结束运行时间',
                field: 'endtime'
            }, {
                field: 'soption',
                title: '操作',
                /**
                 formatter: function (value, row, index) {
                    return (value.split('/@#')[0] != '2') ? "" : "<span onclick=\"pack('" + value.split('/@#')[1] + "')\" style='padding:5px;font-size:10px' class='btn-success'>申请打包</span>";
                }**/
                formatter: function (value, row, index) {
                    var stop = '';
                    var stgname = row.stgname
                    var askfor_live = '';
                    if (row.runstatus == '停止') {
                        stop = "<span onclick=\"_delete_paper('" + value + "','" + stgname + "')\" class='btn btn-danger btn-xs btn-flat btn_operation' data-toggle='modal' data-target='#modal_model_field'> <i class='fa fa-pencil'></i>删除</span> "
                    }
                    if ((row.aud_status_live === '2') || (row.aud_status_live === '-1.1')) {
                        askfor_live = "<span onclick=\"askfor_live_modify('" + value + "')\" type='button' class='btn btn-primary  btn-xs btn-flat btn_operation' data-toggle='modal' data-target='#modal_askfor_live'> <i class='fa fa-pencil' ></i>申请实盘</span> "
                    }
                    return askfor_live + stop
                }
            },
        ];
        InitBootstrapTable("{{url}}", "simTable", my_columns, "pack", '2');

        function new_col(idn) {
            var h = "<tr class='activetable'>" + '<td>' +
                '                                        <span style="padding:3px; cursor: pointer" class="btn-danger small"\n' +
                '                                              onclick="$(this).parent().parent().remove()">删除行' +
                '                                        </span>' +
                '                                    </td>' +
                "<td><input class='activetable' name='stg_name'></td>" +
                "</td>" +
                "<td><input class='activetable' name='stg_value'></td>" +
                "<td><input class='activetable' name='stg_desc'></td>" +
                "</tr>";
            $('#' + idn).append($(h));
        };

        //全局变量,用于取得上传的文件
        var files = ""

        //只能上传py文件
        function filename1() {
            var filename_ = $("#file").val()
            {#var file = $("#file").files[0]#}
            if (filename_ && filename_.slice(-3) != ".py") {
                $('#file_spaninfo').text('请上传py为后缀的文件');
                $("#file").val("")
            }
            //文件上传
            const file = document.getElementById("file").files[0];

            {#console.log("file", file)#}
            if (file) {
                {#console.log("234")#}
                var reader = new FileReader();
                {#reader.readAsBinaryString(file);#} //乱码
                {#reader.readAsDataURL(file); //需要base64解码,然后再解码(会有16进制的数据)#}
                reader.readAsText(file, "utf-8"); //大小不一致
                reader.onload = function () {
                    var file_ = reader.result
                    files = file_
                    {#console.log("files", file_)#}
                    if (file_) {
                        {#console.log(file_)#}
                        return file_
                    }
                }
            }
        }


    </script>
    <style>
        {#加载数据时的样式#}
        .bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading {
            align-items: center;
            background: #141414;
            display: none;
            justify-content: center;
            position: absolute;
            bottom: 0;
            width: 100%;
            z-index: 1000;
        }
    </style>

{% endblock %}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值