rehearsalmodel.js 4.5 KB
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {

    var Controller = {
        index: function () {
            // 初始化表格参数配置
            Table.api.init({
                extend: {
                    index_url: 'pipes/rehearsalmodel/index' + location.search,
                    add_url: 'pipes/rehearsalmodel/add',
                    edit_url: 'pipes/rehearsalmodel/edit',
                    del_url: 'pipes/rehearsalmodel/del',
                    multi_url: 'pipes/rehearsalmodel/multi',
                    import_url: 'pipes/rehearsalmodel/import',
                    table: 'pipes_rehearsalmodel',
                }
            });

            var table = $("#table");

            // 初始化表格
            table.bootstrapTable({
                url: $.fn.bootstrapTable.defaults.extend.index_url,
                pk: 'id',
                sortName: 'id',
                columns: [
                    [
                        {checkbox: true},
                        {field: 'id', title: __('Id')},
                        {field: 'model_name', title: __('Model_name'), operate: 'LIKE'},
                        {field: 'intake_dam_num', title: __('Intake_dam_num')},
                        {field: 'pump_num', title: __('Pump_num')},
                        {field: 'pool_num', title: __('Pool_num')},
                        {field: 'valve_num', title: __('Valve_num')},
                        {field: 'line_num', title: __('Line_num')},
                        {field: 'point_num', title: __('Point_num')},
                        {field: 'model_file', title: __('Model_file'), operate: false},
                        {field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
                        {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
                    ]
                ]
            });
            $('.btn-caption').on('click',function () {
                let captionHtml = `<div class="row" style="overflow-x: auto;padding-left: 20px;padding-right: 20px;"><div class="col-sm-12"><p>EPANET2.2软件中,供水管网预演需求模型(Demand-Driven AnalysisDDA)是一种供水网络分析方法。DDA模型基于供水管网系统中的水力平衡方程和用户需求模型,用来估计管道和节点的流量、压力等参数。</p>
<p>DDA模型的主要特点和原理如下:</p>
<p>1. 网络水力平衡方程:DDA模型基于供水管网的水力平衡方程,通过将流量、压力和阻力等参数考虑在内,计算管道和节点的水流情况。该模型可以模拟供水管网中流体在管道和节点之间的流动过程。</p>
<p>2. 用户需求模型:DDA模型利用用户需求模型来估计各个节点的需水量。用户需求模型通常基于各个节点的用水特征(如居民、工业、商业用水等),结合时间变化模式和用水量预测,计算节点的需水量。</p>
<p>3. 迭代算法:DDA模型采用迭代算法来求解供水管网中的水力平衡方程和用户需求模型。通过多次迭代计算,不断调整管道流量和节点压力,直至达到收敛条件为止。</p>
<p>4. 节点优先级排序:DDA模型根据节点的优先级对供水管网进行分析。通常,源节点、水池、消防栓等重要节点会被优先考虑,以确保这些节点的需水量得到满足。</p>
<p>DDA模型在EPANET2.2软件中广泛应用于供水管网的规划、设计和操作过程中。通过使用DDA模型,可以评估不同供水方案下的管道流量、压力、水质等参数,进行系统优化和决策,以满足用户需求并提高供水管网的效率和可靠性。</p>
<p>填写参数数据主要为:模式、选项、曲线、水库、管道、节点、水泵、水池、阀门等。</p>
</div></div>`;
                layer.open({
                    title:'模型说明',
                    type:1,
                    content:captionHtml,
                    area:['50%', '70%'],
                });
            })
            // 为表格绑定事件
            Table.api.bindevent(table);
        },
        add: function () {
            Controller.api.bindevent();
        },
        edit: function () {
            Controller.api.bindevent();
        },
        api: {
            bindevent: function () {
                Form.api.bindevent($("form[role=form]"));
            }
        }
    };
    return Controller;
});