widget.js 9.98 KB
(function () {
    Vue.prototype.$echarts = echarts;
    Vue.prototype.$layui = layui;

    let vm = new Vue({
        el: '#app',
        data() {
            return {
                zbjsmx: ['全部', '基础指标', '推荐指标'],
                table: null,
                layer: null,
                laytpl: null
            }
        },
        mounted() {
            this.$layui.use(['table', 'layer', 'laytpl','form'], () => {
                this.table = this.$layui.table;
                this.layer = this.$layui.layer;
                this.laytpl = this.$layui.laytpl;
                this.form = this.$layui.form;
                this.initTable();
                // this.initYjgzTable();
            })
        },
        methods: {
            initTable() {
                this.table.render({
                    elem: '#mxlbTable',
                    data: [
                        { "id": '1', "xh": '1', "mxfz": '基础指标', "mxmc": '等级医院交通30分钟村庄覆盖率计算模型', "mxsm": '模型说明模型说明模型说明模型说明', "cz": '江宁区政府' },
                        { "id": '2', "xh": '2', "mxfz": '基础指标', "mxmc": '等级医院交通30分钟村庄覆盖率计算模型', "mxsm": '模型说明模型说明模型说明模型说明', "cz": '江宁区政府' },
                        { "id": '3', "xh": '3', "mxfz": '基础指标', "mxmc": '等级医院交通30分钟村庄覆盖率计算模型', "mxsm": '模型说明模型说明模型说明模型说明', "cz": '江宁区政府' },
                        { "id": '4', "xh": '4', "mxfz": '基础指标', "mxmc": '等级医院交通30分钟村庄覆盖率计算模型', "mxsm": '模型说明模型说明模型说明模型说明', "cz": '江宁区政府' },
                        { "id": '5', "xh": '5', "mxfz": '基础指标', "mxmc": '等级医院交通30分钟村庄覆盖率计算模型', "mxsm": '模型说明模型说明模型说明模型说明', "cz": '江宁区政府' }
                    ],
                    cellMinWidth: 80,//全局定义常规单元格的最小宽度,layui 2.2.1 新增
                    cols: [[
                        {
                            field: 'xh',
                            width: "10%",
                            title: '序号'
                        },
                        {
                            field: 'mxfz',
                            width: "15%",
                            title: '模型分组'
                        },
                        {
                            field: 'mxmc',
                            width: "25%",
                            title: '模型名称'
                        },
                        {
                            field: 'mxsm',
                            width: "25%",
                            title: '模型说明',
                        },
                        {
                            field: 'cz',
                            title: '操作',
                            width: "25%",
                            minWidth: 100,
                            templet: '#titleTpl'
                        },
                    ]],
                    done: (res, curr, count) => {
                        this.table.on('tool(test)', function (obj) {
                            var data = obj.data; //获得当前行数据
                            var layEvent = obj.event; //获得 lay-event 对应的值(也可以是表头的 event 参数对应的值)
                            var tr = obj.tr; //获得当前行 tr 的 DOM 对象(如果有的话)
                            if (layEvent === 'design') { //设计
                                window.location.href = '/frontweb/view/modelManage/mymodel/modelSet/widget.html'
                            } else if (layEvent === 'edit') { //编辑

                                //同步更新缓存对应的值
                                obj.update({
                                    username: '123'
                                    , title: 'xxx'
                                });
                            } else if (layEvent === 'publib') { //部署

                            } else if (layEvent === 'del') { //删除
                                layer.confirm('真的删除行么', function (index) {
                                    obj.del(); //删除对应行(tr)的DOM结构,并更新缓存
                                    layer.close(index);
                                    //向服务端发送删除指令
                                });
                            } else if (layEvent === 'LAYTABLE_TIPS') {
                                layer.alert('Hi,头部工具栏扩展的右侧图标。');
                            }
                        });
                    },
                });
            },
            initYjgzTable() {
                this.table.render({
                    elem: '#mxlbYjgzTable',
                    data: [
                        { "id": '1', "xh": '1', "mc": '耕地保有量', "ssfl": '底线管控', "bjlx": '监测值大于规划值', "yjqj": '(100,300]', "yjqjj": '(0,100]' },
                        { "id": '2', "xh": '2', "mc": '耕地保有量', "ssfl": '底线管控', "bjlx": '监测值大于规划值', "yjqj": '(100,300]', "yjqjj": '(0,100]' },
                        { "id": '3', "xh": '3', "mc": '耕地保有量', "ssfl": '底线管控', "bjlx": '监测值大于规划值', "yjqj": '(100,300]', "yjqjj": '(0,100]' },
                        { "id": '4', "xh": '4', "mc": '耕地保有量', "ssfl": '底线管控', "bjlx": '监测值大于规划值', "yjqj": '(100,300]', "yjqjj": '(0,100]' },
                        { "id": '5', "xh": '5', "mc": '耕地保有量', "ssfl": '底线管控', "bjlx": '监测值大于规划值', "yjqj": '(100,300]', "yjqjj": '(0,100]' }
                    ],
                    cellMinWidth: 80,//全局定义常规单元格的最小宽度,layui 2.2.1 新增
                    cols: [[
                        {
                            field: 'xh',
                            width: "10%",
                            title: '序号'
                        },
                        {
                            field: 'mc',
                            width: "18%",
                            title: '名称'
                        },
                        {
                            field: 'ssfl',
                            width: "18%",
                            title: '所属分类'
                        },
                        {
                            field: 'bjlx',
                            width: "18%",
                            title: '报警类型',
                        },
                        {
                            field: 'yjqj',
                            width: "18%",
                            title: '预警区间',
                            // minWidth: 100,
                        },
                        {
                            field: 'yjqjj',
                            title: '预警区间',
                            width: "18%"
                        },
                    ]],
                    done: (res, curr, count) => {
                    },
                });
            },
            addModel() {
                layui.layer.open({
                    type: 1,
                    title: "新增模型",
                    area: ['474px', '501px'],
                    content: layui.laytpl($("#iFrame_addModel").html()).render(function () {
                        $('#iFrame_addMod').html()
                    }),
                    btn: ['确定', '取消']
                });
            },
            setBjlx() {
                layui.layer.open({
                    type: 1,
                    title: "设置报警类型",
                    area: ['474px', '271px'],
                    content: layui.laytpl($("#iFrame_setBjlx").html()).render(function () {
                        $('#iFrame_setBj').html()
                    }),
                    btn: ['确定', '取消']
                });
            }
        }
    });

    $('#button1').css({
        'color': '#0096EB',
        "border": "1px solid #0096EB"
    });

    $('.container-top button').on('click', function () {
        var $this = $(this);
        var _index = $this.index();
        if (_index == 0) {
            $('.container-content-right-content-mxlb,#fz,#jczb,#addLx').css('display', 'inline-block');
            $('.container-content-right-content-yjgz,#setBjlx').css('display', 'none');
            $('#button1').css({
                'color': '#0096EB',
                "border": "1px solid #0096EB"
            });
            $('#button2').css({
                'color': ' rgba(0,0,0,0.60)',
                "border": "1px solid #000"
            });
            $('#button3').css({
                'color': ' rgba(0,0,0,0.60)',
                "border": "1px solid #000"
            });
        }
        if (_index == 1) {
            vm.initYjgzTable();
            $('.container-content-right-content-mxlb,#fz,#jczb,#addLx').css('display', 'none');
            $('.container-content-right-content-yjgz,#setBjlx').css('display', 'inline-block');
            $('#button1').css({
                'color': ' rgba(0,0,0,0.60)',
                "border": "1px solid #000"
            });
            $('#button2').css({
                'color': '#0096EB',
                "border": "1px solid #0096EB"
            });
            $('#button3').css({
                'color': ' rgba(0,0,0,0.60)',
                "border": "1px solid #000"
            });
        }
        if (_index == 2) {
            $('#button1').css({
                'color': ' rgba(0,0,0,0.60)',
                "border": "1px solid #000"
            });
            $('#button2').css({
                'color': ' rgba(0,0,0,0.60)',
                "border": "1px solid #000"
            });
            $('#button3').css({
                'color': ' #0096EB',
                "border": "1px solid #0096EB"
            });
        }
    });
})()