yangle
2023-10-18 6d49ec57450e4549ba3ff195526bd17d09a2c98f
KB_EquipmentUtilizationRate.html
@@ -15,6 +15,7 @@
    <script src="js/jquery.SuperSlide.2.1.3.js"></script>
    <script src='js/template.js'></script>
    <script src="js/jquery.qrcode.min.js"></script>
    <script src="js/webConfig.js"></script>
    <style>
        .clock {
            font-family: 'BebasNeueRegular', Arial, Helvetica, sans-serif;
@@ -222,17 +223,18 @@
    </style>
    <script type="text/javascript">
        //参数配置
        var HouseCode = '509'; //仓库编码
        var HouseCode = '509';
        var interval;//计时器
        var interval1;//计时器
        var num = 0;
        var LackMastProgress = [];     //缺料率数据数组
        var BadProgress = [];          //来料不良率数据数组
        var NetQtys = [];     //开机
        var SumQtys = [];     //开工
        var WayQtys = [];     //维修
        var MatsQtys = [];     //待机
        var ToDayDt = [];              //今日不良对比时间数组
        var GoodQty = [];              //今日不良对比合格数数组
        var BadQty = [];               //今日不良对比不良数数组
        $(document).ready(function () {
            // 创建两个变量,一个数组中的月和日的名称
            var monthNames = ["1 月", "2 月", "3 月", "4 月", "5 月", "6 月", "7 月", "8 月", "9 月", "10 月", "11 月", "12 月"];
@@ -262,20 +264,22 @@
            var mychart3 = echarts.init(document.getElementById('mychart3'));
            Chart(mychart1, mychart2, mychart3);
            DataTable();
            DataTableCol(20);
            // 定时器
            interval = setInterval(function () {
                num = 0;
                LackMastProgress = [];     //缺料率数据数组
                BadProgress = [];          //来料不良率数据数组
                NetQtys = [];     //开机
                SumQtys = [];     //开工
                WayQtys = [];     //维修
                MatsQtys = [];     //待机
                ToDayDt = [];              //今日不良对比时间数组
                GoodQty = [];              //今日不良对比合格数数组
                BadQty = [];               //今日不良对比不良数数组
                Chart(mychart1, mychart2, mychart3);
            }, 20000);
            interval1 = setInterval(function () {
                $("#tb_order").bootstrapTable('refresh');
            }, 10000);
                DataTableCol(20);
            }, 20000);
            //根据浏览器大小改变大小
            window.onresize = () => {
                mychart1.resize();
@@ -286,7 +290,7 @@
        function Chart(mychart1, mychart2, mychart3) {
            $.ajax({
                url: "http://122.227.199.62:5058/HDKanBanApi/api/loaddata/LackMatsData",
                url: GetWEBURL() +"loaddata/KB_EquipmentUtilizationRateData",
                dataType: "JSON",
                async: false,//使用同步的方式,true为异步方式
                type: "Get",
@@ -322,15 +326,16 @@
                    $("#MatsQty").html(parseFloat(data.data[0][0].LackMastQty).toFixed(0));
                    $("#WayQty").html(parseFloat(data.data[0][0].PuchQty).toFixed(0));
                    //缺料率
                    LackMastProgress.push(data.data[1][0].LackMastProgress);
                    //开机率  开工率  维修率  待机率
                    NetQtys.push(data.data[1][0]["NetQtys"]);
                    SumQtys.push(data.data[1][0]["SumQtys"]);
                    WayQtys.push(data.data[1][0]["WayQtys"]);
                    MatsQtys.push(data.data[1][0]["MatsQtys"]);
                    //来料不良率
                    BadProgress.push(data.data[2][0].BadProgress);
                    //今日不良对比
                    $.each(data.data[3], function (index, val) {
                        ToDayDt.push(val.hour.substring(5));
                        GoodQty.push(parseFloat(val.GoodQty).toFixed(0));
                        BadQty.push(parseFloat(val.BadQty).toFixed(0));
                    $.each(data.data[2], function (index, val) {
                        ToDayDt.push(val.num);
                        GoodQty.push(val.workOEE);
                    });
                },
                error: function (data) {
@@ -338,12 +343,12 @@
                }
            })
            const colorList = ['#47A2FF', '#ff9900']
            const colorList = ['#47A2FF', '#ff9900', '#c0ffff', '#ffffff']
            option1 = {
                title: [
                    {
                        text: '',
                        subtext: LackMastProgress + '%',
                        text: '开机率',
                        subtext: NetQtys + '%',
                        textStyle: {
                            fontSize: 16,
                            color: '#999',
@@ -355,11 +360,11 @@
                        },
                        textAlign: 'center',
                        left: '50%',
                        top: '85%'
                        top: '78%'
                    },
                    {
                        show: true,
                        text: '总稼动率分析',
                        text: '状态对比分析',
                        textStyle: {
                            color: '#00c6ff',
                            fontSize: '16',
@@ -375,7 +380,11 @@
                legend: {
                    type: 'scroll',
                    icon: 'pin',
                    show: false
                    top: '15%',
                    left: 'center',
                    textStyle: {
                        color: '#09d1ea'
                    }
                },
                color: colorList,
                series: [
@@ -384,7 +393,6 @@
                        type: 'pie',
                        radius: [50, 80],
                        center: ['50%', '50%'],
                        center: ['50%', '60%'],
                        avoidLabelOverlap: false,
                        label: {
                            show: false
@@ -397,8 +405,10 @@
                            borderColor: '#000000'
                        },
                        data: [
                            { name: '', value: LackMastProgress },
                            { name: '', value: 100 - LackMastProgress }
                            { name: '开机', value: NetQtys },
                            { name: '开工', value: SumQtys },
                            { name: '待机', value: WayQtys },
                            { name: '维修中', value: MatsQtys }
                        ],
                    }
                ]
@@ -408,7 +418,7 @@
                title: [
                    {
                        text: '',
                        subtext: BadProgress + '%',
                        subtext: 0 + '%',
                        textStyle: {
                            fontSize: 16,
                            color: '#999',
@@ -462,8 +472,8 @@
                            borderColor: '#000000'
                        },
                        data: [
                            { name: '', value: BadProgress },
                            { name: '', value: 100 - BadProgress }
                            { name: '', value: 0 },
                            { name: '', value: 100 - 2 }
                        ],
                    }
                ]
@@ -492,7 +502,7 @@
                },
                legend: {
                    left: 'right',
                    data: ['任务数', '完成数'],
                    data: ['工作稼动率'],
                    textStyle: {
                        color: '#00c6ff',
                        fontSize: 16,
@@ -517,6 +527,8 @@
                            }
                        },
                        axisLabel: {
                            interval: 0, //控制X轴刻度全部显示
                            rotate: 45, //倾斜角度
                            show: true,
                            textStyle: {
                                color: '#00c6ff', //坐标值得具体的颜色
@@ -549,16 +561,10 @@
                ],
                series: [
                    {
                        name: '任务数',
                        name: '工作稼动率',
                        type: 'bar',
                        barWidth: 15,
                        data: GoodQty
                    },
                    {
                        name: '完成数',
                        type: 'bar',
                        barWidth: 15,
                        data: BadQty
                    }
                ]
            };
@@ -568,15 +574,48 @@
            //mychart2.setOption(option2);
            mychart3.setOption(option3);
        }
        var col = [];
        var colTable = [];
        var option = [];
        //获取表格数据 的列名  数据 以及总数
        function DataTableCol(nums) {
            var params = queryParams(nums);
            $.ajax({
                url: GetWEBURL() + '/loaddata/KB_EquipmentUtilizationRateTableData'
                , type: "get"
                , data: {
                    HouseCode: params.HouseCode,
                    limit: params.limit,   //页面大小
                    offset: params.offset  //页码
                }
                , success: function (data) {
                    col = [];
                    var dataTable = JSON.parse(data);
                    //判断是否是最后一页
                    var num_total = (dataTable.data[0][0]["Column1"]) / nums
                    if (num >= num_total) {
                        num = 0
                    }
                    for (var i = 0; i < dataTable.ColName.length; i++) {
                        col.push({ field: dataTable.ColName[i].ColName, title: dataTable.ColName[i].ColName, align: "left" })
                    }
                    colTable = dataTable.data[1];
                    DataTable();
                    $('#tb_order').bootstrapTable('destroy');//先删除
                    $('#tb_order').bootstrapTable(option);//再重新渲染
                }
            })
        }
        function DataTable() {
            $('#tb_order').bootstrapTable({
                url: 'http://122.227.199.62:5058/HDKanBanApi/api/loaddata/LackMatsTableData',
                //data: dataJson,
                method: 'get',                      //请求方式(*)
                dataType: "json",
                queryParams: queryParams,
            //$('#tb_order').bootstrapTable();
            option = {
                //url: GetWEBURL() +'/loaddata/KB_EquipmentUtilizationRateTableData',
                data: colTable,
                //method: 'get',                      //请求方式(*)
                //dataType: "json",
                //queryParams: queryParams,
                striped: false,                      //是否显示行间隔色
                cache: false,                       //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
                pagination: true,                   //是否显示分页(*)
@@ -593,77 +632,7 @@
                uniqueId: "ID",                     //每一行的唯一标识,一般为主键列
                cardView: false,                    //是否显示详细视图
                detailView: false,                   //是否显示父子表
                columns: [
                    { field: 'PartNumber', title: '物料编码', align: "left" },
                    {
                        field: 'PartName', title: '物料名称', align: "left", cellStyle: function (value, row, index) {
                            return {
                                css: {
                                    "min-width": "100px",
                                    "white-space": "nowrap",
                                    "text-overflow": "ellipsis",
                                    "overflow": "hidden",
                                    "max-width": "120px"
                                }
                            }
                        }
                    },
                    {
                        field: 'PartSpec', title: '规格型号', align: "left", cellStyle: function (value, row, index) {
                            return {
                                css: {
                                    "min-width": "100px",
                                    "white-space": "nowrap",
                                    "text-overflow": "ellipsis",
                                    "overflow": "hidden",
                                    "max-width": "120px"
                                }
                            }
                        }
                    },
                    {
                        field: 'LackMastQty', title: '缺料数量', align: "left", formatter: function (value, row, index) {
                            return parseFloat(value).toFixed(2);
                        }
                    },
                    {
                        field: 'KQty', title: '库存数量', align: "left", formatter: function (value, row, index) {
                            return parseFloat(value).toFixed(2);
                        }
                    },
                    {
                        field: 'EmpQty', title: '占用数量', align: "left", formatter: function (value, row, index) {
                            return parseFloat(value).toFixed(2);
                        }
                    },
                    {
                        field: 'AVAILQTY', title: '剩余可用数量', align: "left", formatter: function (value, row, index) {
                            var res = row.KQty - row.EmpQty;
                            return parseFloat(res).toFixed(2);
                        }
                    },
                    {
                        field: 'PuchQty', title: '采购在途数量', align: "left", formatter: function (value, row, index) {
                            return parseFloat(value).toFixed(2);
                        }
                    },
                    {
                        field: 'SafeQty', title: '安全库存', align: "left", formatter: function (value, row, index) {
                            return parseFloat(value).toFixed(2);
                        }
                    },
                    {
                        field: 'SupQty', title: '需求量', align: "left", formatter: function (value, row, index) {
                            return parseFloat(value).toFixed(2);
                        }
                    },
                    {
                        field: 'ToDaySupQty', title: '本日求量', align: "left", formatter: function (value, row, index) {
                            return parseFloat(value).toFixed(2);
                        }
                    }
                ],
                columns: col,
                onClickRow: function (row, $element) {
                },
@@ -671,21 +640,19 @@
                },
                onLoadSuccess: function (row) {
                    var num_total = (row.total) / 20
                    if (num >= num_total) {
                        num = 0
                    }
                    //var a = $('#tb_order').bootstrapTable('getSelections');
                }
            })
            };
        }
        //得到查询的参数
        function queryParams(params) {
            num += 1;
            var temp = {   //这里的键的名字和控制器的变量名必须一直,这边改动,控制器也需要改成一样的
                HouseCode: HouseCode,
                limit: params.limit,   //页面大小
                //limit: params.limit,   //页面大小
                limit: params,   //页面大小
                offset: num,  //页码
            };
            return temp;