
let el = {
    tb: '#tb',
    useState: '#useState',
}

$(function () {
    initDict('reasons_for_nonconformity')
    initPageSelect();
    loadGrid();
});
/**
 * 初始化页面下拉框数据
 */
function initPageSelect() {
    // 初始化使用状态下拉框
    $(el.useState).combobox({
        valueField: 'value',
        textField: 'label',
        value: -1,
        data: [
            {label: '全部', value: -1},
            {label: '使用', value: 0},
            {label: '未使用', value: 1}
        ],
        editable: false,
        prompt: '-- 请选择 --',
        panelHeight: 'auto'
    });
}

function loadGrid() {
    $('#tb').datagrid({
        url: g.ctx + "pc/spe/supQualityManage/qualityHandle/rest/listEnd",
        iconCls: 'icon-list',
        title: '',
        height: gridheight - 50,
        width: gridwidth,
        singleSelect: true,
        pagination: true,
        idField: 'id',
        autoHeight: true,
        loadMsg: "数据加载中......",
        rownumbers: true,
        fitColumns: false,
        remoteSort: true,
        columns: [[
            {
                field: 'ck',
                checkbox: true
            },
            {
                field: 'id',
                title: 'id',
                hidden: true
            },
            {
                field: 'status',
                // title: '数据状态',
                title: claimModel.dataStatus,
                width: 200,
                formatter: function (value) {
                    //数据状态 0:新建 1:发布 2:供方待确认 3:待复核 4:待SQE初审 5:初审不同意 6:待主管审批 7:主管审批不同意 8:待经理审批 9:经理审批不同意 10:待跟踪 11:已结案
                    // if (value == 0) {
                    //     return '<span style="color:green">新建</span>';
                    // } else if (value == 1) {
                    //     return '<span style="color:blue">发布</span>';
                    // } else if (value == 2) {
                    //     return '<span style="color:blue">供方待确认</span>';
                    // } else if (value == 3) {
                    //     return '<span style="color:blue">待复核</span>';
                    // } else if (value == 4) {
                    //     return '<span style="color:blue">待提交改善计划</span>';
                    // } else if (value == 5) {
                    //     return '<span style="color:red">审批拒绝，重新提交改善计划</span>';
                    // } else if (value == 6) {
                    //     return '<span style="color:green">待主管审批</span>';
                    // }else if (value == 7) {
                    //     return '<span style="color:red">审批拒绝，重新提交改善计划</span>';
                    // }else if (value == 8) {
                    //     return '<span style="color:green">待经理审批</span>';
                    // }else if (value == 9) {
                    //     return '<span style="color:red">审批拒绝，重新提交改善计划</span>';
                    // }else if (value == 10) {
                    //     return '<span style="color:green">待跟踪</span>';
                    // }else if (value == 11) {
                    //     return '<span style="color:grey">已结案</span>';
                    // }else if (value == 12) {
                    //     return '<span style="color:green">已提交改善计划</span>';
                    // }
                    if (value == 0) {
                        return '<span style="color:green">'+claimModel.create+'</span>';
                    } else if (value == 1) {
                        return '<span style="color:blue">'+buttonI18n.Release+'</span>';
                    } else if (value == 2) {
                        return '<span style="color:blue">'+suplierModel.suplierWaitConfirm+'</span>';
                    } else if (value == 3) {
                        return '<span style="color:blue">'+suplierModel.waitReview+'</span>';
                    } else if (value == 4) {
                        return '<span style="color:blue">待供应商回复</span>';
                    } else if (value == 5) {
                        return '<span style="color:red">'+suplierModel.rejectMsg1+'</span>';
                    } else if (value == 6) {
                        return '<span style="color:green">'+suplierModel.waitSupervisor_approve+'</span>';
                    }else if (value == 7) {
                        return '<span style="color:red">'+suplierModel.rejectMsg1+'</span>';
                    }else if (value == 8) {
                        return '<span style="color:green">'+suplierModel.waitManager_approve+'</span>';
                    }else if (value == 9) {
                        return '<span style="color:red">'+suplierModel.waitSupervisor_approve+'</span>';
                    }else if (value == 10) {
                        return '<span style="color:green">待跟踪</span>';
                    }else if (value == 11) {
                        return '<span style="color:grey">'+suplierModel.closeCase+'</span>';
                    }else if (value == 12) {
                        return '<span style="color:green">'+suplierModel.submittedPlan+'</span>';
                    }
                }
            },
            {
                field: 'followingStatus',
                title: '跟踪状态',
                width: 80,
                sortable: true,
                formatter: function (value) {
                    switch (Number(value)) {
                        case 1:
                            return '<span>跟踪</span>';
                        case 2:
                            return '<span>关闭</span>';
                        default:
                            return '';
                    }
                }
            },

            {
                field: 'noticeOrderCode',
                // title: '质量通知单号',
                title:suplierModel.notice_order_code,
                width: 140
            },
            {
                field: 'sapBatchNum',
                title: 'SAP批次号',
                //title:suplierModel.sap_batch_num,
                width: 140
            },
            {
                field: 'materialCode',
                // title: '物料编码',
                title: materiaTable.materiaCode,
                width: 300
            },
            {
                field: 'materialName',
                // title: '物料名称',
                title: materiaTable.materialName,
                width: 350
            },
            {
                field: 'batchNum',
                // title: '检验批数量',
                title: suplierModel.insQuantity,
                width: 100
            },
            {
                field: 'badNum',
                // title: '不合格数量',
                title: suplierModel.unqualifiedQuantity,
                width: 90
            },
            {
                field: 'badReason',
                // title: '不合格原因',
                title: suplierModel.unqualifiedReason,
                width: 200,
                exportEnum:getDictList('reasons_for_nonconformity'),
                formatter: function (value, row) {
                    return getDicName('reasons_for_nonconformity',value)
                }
            },
            {
                field: 'limitProcessingTime',
                //title: '限制处理时间',
                title:suplierModel.limitProTime,
                width: 140,
                formatter: function (value) {
                    if(value){
                        return moment(value).format('YYYY-MM-DD HH:mm:SS');
                    }
                    return '';
                }
            },
            {
                field: 'problemSource',
                // title: '问题来源',
                title: suplierModel.problem_source,
                width: 90,
                formatter: function (value) {
                    switch (value){
                        case 1:
                            return suplierModel.suplier;
                        case 2:
                            return suplierModel.incoming;
                        case 3:
                            return suplierModel.re_inspection_materials;
                        case 4:
                            return suplierModel.online;
                        case 5:
                            return suplierModel.customer_retreat;
                        default:
                            return '';
                    }
                }
            },
            {
                field: 'badRemark',
                // title: '不合格描述',
                title: suplierModel.unqualified_des,
                width: 200
            },

            {
                field: 'createTime',
                //title: '发起时间',
                title: suplierModel.initiation_time,
                width: 140,
                formatter: function (value) {
                    if(value){
                        return moment(value).format('YYYY-MM-DD HH:mm:SS');
                    }
                    return '';
                }
            }
        ]],
        toolbar: [
        //     {
        //     // text: '确认',
        //     text: claimModel.confirm,
        //     iconCls: 'icon-ok',
        //     handler: function () {
        //         improve();
        //     }
        // },
        //     "-", {
        //         // text: '改善计划',
        //         text: suplierModel.improvementPlan,
        //         iconCls: 'icon-plan-copy',
        //         handler: function () {
        //             confirm(1);
        //         }
        //     },
            {
                // text: '改善计划',
                id:'look',
                text: "查看",
                iconCls: 'icon-plan-copy',
                handler: function () {
                    look(2);
                }
            },
            // "-", {
            //     // text: '改善跟踪',
            //     text: suplierModel.improvementTrack,
            //     iconCls: 'icon-plan-move',
            //     handler: function () {
            //         track();
            //     }
            // },
        //     "-", {
        //         // text: '归并',
        //         text: suplierModel.merge,
        //         iconCls: 'icon-accept',
        //         handler: function () {
        //             merge();
        //         }
        // }
        ],
        onBeforeLoad:function (){
            displayButtonByUserRole('supplierProcessed');
        },
        onLoadSuccess: function () {
            $(el.tb).datagrid('clearSelections');
        },
        // onCheck:function (rowIndex, field, value) {
        //     var rows = $('#tb').datagrid('getRows');
        //     var flag = rows[rowIndex].status;
        //     console.log(80908088808)
        //     console.log(flag)
        //     if(flag==0){ //  //数据状态 0:新建 1:发布 2:供方待确认 3:待复核 4:待SQE初审 5:初审不同意 6:待主管审批 7:主管审批不同意 8:待经理审批 9:经理审批不同意 10:待跟踪 11:已结案 12:待SQE初审
        //         $('div.datagrid-toolbar a').eq(0).linkbutton('enable');
        //         $('div.datagrid-toolbar a').eq(1).linkbutton('enable');
        //         $('div.datagrid-toolbar a').eq(2).linkbutton('enable');
        //         $('div.datagrid-toolbar a').eq(3).linkbutton('enable');
        //         $('div.datagrid-toolbar a').eq(4).linkbutton('enable');
        //     }else if(flag==1){   //数据状态 0:新建 1:发布 2:供方待确认 3:待复核 4:待SQE初审 5:初审不同意 6:待主管审批 7:主管审批不同意 8:待经理审批 9:经理审批不同意 10:待跟踪 11:已结案 12:待SQE初审
        //         $('div.datagrid-toolbar a').eq(0).linkbutton('enable');
        //         $('div.datagrid-toolbar a').eq(1).linkbutton('disable');
        //         $('div.datagrid-toolbar a').eq(2).linkbutton('disable');
        //         $('div.datagrid-toolbar a').eq(3).linkbutton('enable');
        //         $('div.datagrid-toolbar a').eq(4).linkbutton('enable');
        //     }else if(flag==2){   //数据状态 0:新建 1:发布 2:供方待确认 3:待复核 4:待SQE初审 5:初审不同意 6:待主管审批 7:主管审批不同意 8:待经理审批 9:经理审批不同意 10:待跟踪 11:已结案 12:待SQE初审
        //         $('div.datagrid-toolbar a').eq(0).linkbutton('enable');
        //         $('div.datagrid-toolbar a').eq(1).linkbutton('disable');
        //         $('div.datagrid-toolbar a').eq(2).linkbutton('disable');
        //         $('div.datagrid-toolbar a').eq(3).linkbutton('enable');
        //         $('div.datagrid-toolbar a').eq(4).linkbutton('enable');
        //     }else if(flag==3){   //数据状态 0:新建 1:发布 2:供方待确认 3:待复核 4:待SQE初审 5:初审不同意 6:待主管审批 7:主管审批不同意 8:待经理审批 9:经理审批不同意 10:待跟踪 11:已结案 12:待SQE初审
        //         $('div.datagrid-toolbar a').eq(0).linkbutton('enable');
        //         $('div.datagrid-toolbar a').eq(1).linkbutton('disable');
        //         $('div.datagrid-toolbar a').eq(2).linkbutton('disable');
        //         $('div.datagrid-toolbar a').eq(3).linkbutton('enable');
        //         $('div.datagrid-toolbar a').eq(4).linkbutton('enable');
        //     }else if(flag==4){   //数据状态 0:新建 1:发布 2:供方待确认 3:待复核 4:待SQE初审 5:初审不同意 6:待主管审批 7:主管审批不同意 8:待经理审批 9:经理审批不同意 10:待跟踪 11:已结案 12:待SQE初审
        //         $('div.datagrid-toolbar a').eq(0).linkbutton('enable');
        //         $('div.datagrid-toolbar a').eq(1).linkbutton('disable');
        //         $('div.datagrid-toolbar a').eq(2).linkbutton('disable');
        //         $('div.datagrid-toolbar a').eq(3).linkbutton('enable');
        //         $('div.datagrid-toolbar a').eq(4).linkbutton('enable');
        //     }else if(flag==12){   //数据状态 0:新建 1:发布 2:供方待确认 3:待复核 4:待SQE初审 5:初审不同意 6:待主管审批 7:主管审批不同意 8:待经理审批 9:经理审批不同意 10:待跟踪 11:已结案 12:待SQE初审
        //         $('div.datagrid-toolbar a').eq(0).linkbutton('enable');
        //         $('div.datagrid-toolbar a').eq(1).linkbutton('disable');
        //         $('div.datagrid-toolbar a').eq(2).linkbutton('disable');
        //         $('div.datagrid-toolbar a').eq(3).linkbutton('enable');
        //         $('div.datagrid-toolbar a').eq(4).linkbutton('enable');
        //     }else if(flag==5){   //数据状态 0:新建 1:发布 2:供方待确认 3:待复核 4:待SQE初审 5:初审不同意 6:待主管审批 7:主管审批不同意 8:待经理审批 9:经理审批不同意 10:待跟踪 11:已结案 12:待SQE初审
        //         $('div.datagrid-toolbar a').eq(0).linkbutton('enable');
        //         $('div.datagrid-toolbar a').eq(1).linkbutton('disable');
        //         $('div.datagrid-toolbar a').eq(2).linkbutton('disable');
        //         $('div.datagrid-toolbar a').eq(3).linkbutton('enable');
        //         $('div.datagrid-toolbar a').eq(4).linkbutton('enable');
        //     }else if(flag==6){   //数据状态 0:新建 1:发布 2:供方待确认 3:待复核 4:待SQE初审 5:初审不同意 6:待主管审批 7:主管审批不同意 8:待经理审批 9:经理审批不同意 10:待跟踪 11:已结案 12:待SQE初审
        //         $('div.datagrid-toolbar a').eq(0).linkbutton('enable');
        //         $('div.datagrid-toolbar a').eq(1).linkbutton('disable');
        //         $('div.datagrid-toolbar a').eq(2).linkbutton('disable');
        //         $('div.datagrid-toolbar a').eq(3).linkbutton('enable');
        //         $('div.datagrid-toolbar a').eq(4).linkbutton('disable');
        //     }else if(flag==7){   //数据状态 0:新建 1:发布 2:供方待确认 3:待复核 4:待SQE初审 5:初审不同意 6:待主管审批 7:主管审批不同意 8:待经理审批 9:经理审批不同意 10:待跟踪 11:已结案 12:待SQE初审
        //         $('div.datagrid-toolbar a').eq(0).linkbutton('enable');
        //         $('div.datagrid-toolbar a').eq(1).linkbutton('disable');
        //         $('div.datagrid-toolbar a').eq(2).linkbutton('disable');
        //         $('div.datagrid-toolbar a').eq(3).linkbutton('enable');
        //         $('div.datagrid-toolbar a').eq(4).linkbutton('disable');
        //     }else if(flag==8){   //数据状态 0:新建 1:发布 2:供方待确认 3:待复核 4:待SQE初审 5:初审不同意 6:待主管审批 7:主管审批不同意 8:待经理审批 9:经理审批不同意 10:待跟踪 11:已结案 12:待SQE初审
        //         $('div.datagrid-toolbar a').eq(0).linkbutton('enable');
        //         $('div.datagrid-toolbar a').eq(1).linkbutton('disable');
        //         $('div.datagrid-toolbar a').eq(2).linkbutton('disable');
        //         $('div.datagrid-toolbar a').eq(3).linkbutton('enable');
        //         $('div.datagrid-toolbar a').eq(4).linkbutton('disable');
        //     }else if(flag==9){   //数据状态 0:新建 1:发布 2:供方待确认 3:待复核 4:待SQE初审 5:初审不同意 6:待主管审批 7:主管审批不同意 8:待经理审批 9:经理审批不同意 10:待跟踪 11:已结案 12:待SQE初审
        //         $('div.datagrid-toolbar a').eq(0).linkbutton('enable');
        //         $('div.datagrid-toolbar a').eq(1).linkbutton('disable');
        //         $('div.datagrid-toolbar a').eq(2).linkbutton('disable');
        //         $('div.datagrid-toolbar a').eq(3).linkbutton('enable');
        //         $('div.datagrid-toolbar a').eq(4).linkbutton('disable');
        //     }else if(flag==10){   //数据状态 0:新建 1:发布 2:供方待确认 3:待复核 4:待SQE初审 5:初审不同意 6:待主管审批 7:主管审批不同意 8:待经理审批 9:经理审批不同意 10:待跟踪 11:已结案 12:待SQE初审
        //         $('div.datagrid-toolbar a').eq(0).linkbutton('enable');
        //         $('div.datagrid-toolbar a').eq(1).linkbutton('disable');
        //         $('div.datagrid-toolbar a').eq(2).linkbutton('disable');
        //         $('div.datagrid-toolbar a').eq(3).linkbutton('enable');
        //         $('div.datagrid-toolbar a').eq(4).linkbutton('disable');
        //     }else if(flag==11){   //数据状态 0:新建 1:发布 2:供方待确认 3:待复核 4:待SQE初审 5:初审不同意 6:待主管审批 7:主管审批不同意 8:待经理审批 9:经理审批不同意 10:待跟踪 11:已结案 12:待SQE初审
        //         $('div.datagrid-toolbar a').eq(0).linkbutton('enable');
        //         $('div.datagrid-toolbar a').eq(1).linkbutton('disable');
        //         $('div.datagrid-toolbar a').eq(2).linkbutton('disable');
        //         $('div.datagrid-toolbar a').eq(3).linkbutton('enable');
        //         $('div.datagrid-toolbar a').eq(4).linkbutton('disable');
        //     }else if(flag==12){   //数据状态 0:新建 1:发布 2:供方待确认 3:待复核 4:待SQE初审 5:初审不同意 6:待主管审批 7:主管审批不同意 8:待经理审批 9:经理审批不同意 10:待跟踪 11:已结案 12:待SQE初审
        //         $('div.datagrid-toolbar a').eq(0).linkbutton('enable');
        //         $('div.datagrid-toolbar a').eq(1).linkbutton('disable');
        //         $('div.datagrid-toolbar a').eq(2).linkbutton('disable');
        //         $('div.datagrid-toolbar a').eq(3).linkbutton('enable');
        //         $('div.datagrid-toolbar a').eq(4).linkbutton('disable');
        //     }
        // },
        onClickCell: function (rowIndex, field, value) {
        }
    });
}


/**
 * 供方改善计划
 */
function confirm(flag) {
    var id= '';
    var rows = $('#tb').datagrid('getSelections');
    if(flag===1){
        var cbox = $('#tb').datagrid('getSelected');
        if (cbox === null || cbox === undefined) {
            layer.msg("请选中一条记录");
            return;
        }
        if (cbox.status === 11 ) {
            layer.msg("不可更改已结案的记录");
            return;
        }
        id = cbox.id;
    }

    var status = rows[0].status;
    // if(status !== 2){
    //     // layer.msg('只有供方待确认的记录才能进行确认操作', {icon: 2});
    //     layer.msg(suplierModel.msg2, {icon: 2});
    //     return false;
    // }
    var qmNoticeOrderDialog = openDialog('qualityManage', g.ctx + 'pc/spe/supQualityManage/qualityHandle/confirm?id=' + id, {
        title: '供应商确认',
        width: '1300px',
        height: '800px',
        cache: false,
        modal: true,
        border: false,
        draggable: false,
        shadow: false,
        onClose: function () {
            qmNoticeOrderDialog.dialog('destroy');
        },
        buttons: [
            {
                text: itablei8n.save,
                iconCls: 'icon-save',
                handler: function () {
                    topWin.frames['qualityManage'].confirmRelease(function () {
                        topWin.layer.msg('数据保存成功', {icon: 1});
                        qmNoticeOrderDialog.dialog('close');
                        $(el.tb).datagrid('reload');
                    });
                }
            },
            {
                text: itablei8n.close,
                iconCls: 'icon-cancel',
                handler: function () {
                    qmNoticeOrderDialog.dialog('close');
                }
            }
        ]
    });
}

/**
 * 改善
 */
function improve() {
    var rows = $(el.tb).datagrid('getSelections');
    if (rows.length !== 1) {
        // layer.msg('请选中一条记录进行改善操作', {icon: 2});
        layer.msg(suplierModel.msg4, {icon: 2});
        return false;
    }
    var status = rows[0].status;
    if(status === 4 || status === 5 || status === 7 || status === 9|| status === 12){
        // openMainLayerWin(suplierModel.quality_improve, '/supplierQuality/improveUI.do?id=' + rows[0].id, '1000px', '80%');
        var qmNoticeOrderImproveDialog = openDialog('qualityManageImprove', g.ctx + 'pc/spe/supQualityManage/qualityHandle/improve?id=' + rows[0].id, {
            title: '供应商改善',
            width: '900px',
            height: '800px',
            cache: false,
            modal: true,
            border: false,
            draggable: false,
            shadow: false,
            onClose: function () {
                qmNoticeOrderImproveDialog.dialog('destroy');
            },
            buttons: [
                {
                    text: itablei8n.save,
                    iconCls: 'icon-save',
                    handler: function () {
                        topWin.frames['qualityManageImprove'].improveRelease(function () {
                            topWin.layer.msg('数据保存成功', {icon: 1});
                            qmNoticeOrderImproveDialog.dialog('close');
                            $(el.tb).datagrid('reload');
                        });
                    }
                },
                {
                    text: itablei8n.close,
                    iconCls: 'icon-cancel',
                    handler: function () {
                        qmNoticeOrderImproveDialog.dialog('close');
                    }
                }
            ]
        });
    }else {
        // layer.msg('只有待改善或者已改善的记录才能进行改善操作', {icon: 2});
        layer.msg(suplierModel.msg3, {icon: 2});
        return false;
    }
}

/**
 * 查看
 */
function look(flag) {
    var id= '';
    if(flag===2){
        var cbox = $('#tb').datagrid('getSelected');
        if (cbox === null || cbox === undefined) {
            layer.msg("请选中一条记录");
            return;
        }
        id = cbox.id;
    }
    var qmNoticeOrderDialog = openDialog('qualityManage', g.ctx + 'pc/spe/supQualityManage/qualityHandle/lookNew?id=' + id, {
        title:'查看',
        width: '90%',
        height: '800px',
        cache: false,
        modal: true,
        border: false,
        draggable: false,
        shadow: false,
        onClose: function () {
            qmNoticeOrderDialog.dialog('destroy');
        },
        buttons: [
            {
                text: itablei8n.close,
                iconCls: 'icon-cancel',
                handler: function () {
                    qmNoticeOrderDialog.dialog('close');
                }
            }
        ]
    });
}


/**
 * 发布
 */
function release(){
    var row = $(el.tb).datagrid('getSelected');
    if (!row) {
        topWin.layer.alert('请选中一条记录', {icon: 0});
        return false;
    }
    var id = row.id;
    parent.layer.confirm('是否确认发布？', function (index) {
        var loading = top.layer.msg('处理中', {icon: 16, shade: [0.1, '#000'], time: false});
        $.ajax({
            url: g.ctx + 'pc/spe/qualityManage/launchedQualityManage/rest/confirm',
            method: "post",
            data: {id: id},
            success: function () {
                parent.layer.close(index);
                $(el.tb).datagrid('reload');
                $(el.tb).datagrid('clearSelections');
            },
            complete: function(data) {
                top.layer.close(loading);
            },
            error: function (data) {
                parent.layer.alert(JSON.parse(data.responseText).message,{icon: 2, shadeClose: true, title: '温馨提示'});
            }
        });
    });
}

//删除
function delFactory() {
    var cbox = $('#tb').datagrid('getSelected');
    if (cbox === null || cbox === undefined) {
        layer.msg("请选中一条记录");
        return;
    }

    var qmNoticeOrderCode = cbox.noticeOrderCode;

    parent.layer.confirm('是否删除？', function (index) {
        var loading = top.layer.msg('处理中', {icon: 16, shade: [0.1, '#000'], time: false});
        var url = g.ctx + 'pc/spe/qualityManage/launchedQualityManage/rest/remove';
        $.ajax({
            url: url,
            method: "post",
            data: {noticeOrderCode: qmNoticeOrderCode},
            success: function (data) {
                parent.layer.close(index);
                $(el.tb).datagrid('reload');
            },
            complete: function(data) {
                top.layer.close(loading);
            },
            error: function (data) {
                layer.close(index);
                layer.alert(JSON.parse(data.responseText).message);
            }
        });
    });
}