<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>销售计划管理</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport"
          content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
    <link rel="stylesheet" href="../../layuiadmin/layui/css/layui.css" media="all">
    <link rel="stylesheet" href="../../layuiadmin/style/admin.css" media="all">
    <style type="text/css">
    .LAY-btns .layui-nav {padding-left:0;padding-right:10px;top:-4px;margin: 0 10px;border: 0;background-color: #009688;}
    .LAY-btns .layui-nav .layui-nav-item{line-height: 30px;}
    .LAY-btns .layui-nav .layui-nav-child{top:34px;}
    .LAY-btns .layui-nav .layui-nav-bar{display: none;}
    .LAY-btns .layui-nav .layui-nav-child dd.layui-this a{color:#333;background-color:#fff;}
    .LAY-btns .layui-nav .layui-nav-child dd.layui-this a:hover {background-color: #f2f2f2;color: #000;}
  </style>
</head>
<body>
<div class="layui-fluid">
    <div class="layui-card">
        <div class="layui-card-body" pad15>
            <div class="layui-row layui-col-space15">
                <div class="layui-col-md12">

                    <div class="LAY-btns" style="margin-bottom: 10px;">
                        <button class="layui-btn layui-btn-sm" id="btn_add" data-permission="plan.add_sale_plan"><i class="layui-icon layui-icon-add-1"></i>添加</button>

                        <button class="layui-nav" data-permission="plan.export_sale_plan">
                            <div class="layui-nav-item">
                                <a href="javascript:;" style="color:#fff;">导出</a>
                                <dl class="layui-nav-child"> <!-- 二级菜单 -->
                                    <dd><a href="#" id="btn_export">导出列表</a></dd>
                                    <dd><a href="#" id="btn_export_detail">导出明细</a></dd>
                                </dl>
                            </div>
                        </button>

                        <button class="layui-btn layui-btn-sm" id="btn_print" data-permission="plan.print_sale_plan"><i class="layui-icon layui-icon-form"></i>打印</button>
                        <button class="layui-btn layui-btn-sm" id="btn_query"><i class="layui-icon layui-icon-search"></i>查询</button>
                    </div>
                    <table class="layui-hide" id="datagrid" lay-filter="datagrid-operate"></table>
                    <script type="text/html" id="datagrid-operate-bar">
                        <div class="layui-btn-group">
                            <a class="layui-btn layui-btn-xs" lay-event="detail">查看</a>
                            {{#  if(d.status == 0){ }}
                            <a class="layui-btn layui-btn-xs" lay-event="edit" data-permission="plan.add_sale_plan">修改</a>
                            <a class="layui-btn layui-btn-danger layui-btn-xs" data-permission="plan.delete_sale_plan" lay-event="del">删除</a>
                            <a class="layui-btn layui-btn-xs" lay-event="check" data-permission="plan.check_sale_plan">审核</a>
                            {{#  } }}
                            {{#  if(d.status == 1){ }}
                            <a class="layui-btn layui-btn-xs" lay-event="toProduction" data-permission="plan.add_production_plan">转生产</a>
                            <a class="layui-btn layui-btn-xs" lay-event="checkout" data-permission="plan.check_sale_plan">撤销审核</a>
                            {{#  } }}
                        </div>
                    </script>

                </div>
            </div>
        </div>
    </div>
</div>
<div id="dlg_query" style="display: none">
    <div class="layui-card-body" pad15>
        <form class="layui-form" lay-filter="query-form-element">
            <div class="layui-row layui-col-space10 layui-form-item">
                <div class="layui-col-xs12 layui-col-sm12">
                    <label class="layui-form-label">单号：</label>
                    <div class="layui-input-block">
                        <input type="text" name="no" class="layui-input" autocomplete="off">
                    </div>
                </div>
                <div class="layui-col-xs12 layui-col-sm12">
                    <label class="layui-form-label">客户：</label>
                    <div class="layui-input-block">
                        <input type="text" name="customer_text" class="layui-input" autocomplete="off">
                    </div>
                </div>
            </div>
            <div style="display: none" >
                <button id="query-submit" lay-submit lay-filter="query-form-element">查询</button>
            </div>
        </form>
    </div>
</div>

<script src="../../layuiadmin/layui/layui.js?t=1"></script>
<script>
    var _params = '';
    layui.config({
        base: '../../../layuiadmin/' //静态资源所在路径
    }).extend({
        index: 'lib/index', //主入口模块
        utils: 'utils'
    }).use(['index', 'table', 'form', 'utils'], function () {
        var $ = layui.$;
        var table = layui.table
            , form = layui.form
            , admin = layui.admin
            ,utils = layui.utils;

        table.render({
            elem: '#datagrid'
            , url: '/plan/sale/data/'
            , cols: [[
                {type: 'checkbox', width: 50}
                , {field: 'no', title: '单号', width: 140}
                , {field: 'customer_text', title: '客户', width: 120}
                , {field: 'goods_text', title: '产品', width: 150}
                , {field: 'total_count', align:'right', title: '合计数量', width: 150}
                , {field: 'total_amount', align:'right', title: '合计金额', width: 150}
                , {field: 'create_time', title: '创建时间', width: 145}
                , {field: 'create_user_text', title: '创建人', width: 100}
                , {field: 'department_text', title: '所属部门', width: 130}
                , {field: 'status_text', title: '审核状态', width: 100}
                , {field: 'check_time', title: '审核时间', width: 145}
                , {field: 'check_user_text', title: '审核人', width: 100}
                , {field: 'notes', title: '备注', minWidth: 150}
                , {width: 200, align: 'left', fixed: 'right', toolbar: '#datagrid-operate-bar'}
            ]]
            , page: true
            , height: 'full-104'
            , totalRow: true
            ,parseData:function(res) {
                var cols = this.cols[0];
                for (var i in cols) {
                    if (cols[i].field == 'total_count') {
                        cols[i].totalRowText = res.more.total_count;
                    }
                    if (cols[i].field == 'total_amount') {
                        cols[i].totalRowText = res.more.total_amount;
                    }
                }
                return {
                  "code": res.code, //解析接口状态
                  "count": res.count, //解析数据长度
                  "data": res.data //解析数据列表
                };
            }
            , done: function (res) {
                layui.index.removeNoPermButtons();
            }
        });
        //监听工具条
        table.on('tool(datagrid-operate)', function (obj) {
            var data = obj.data;
            if (obj.event === 'del') {
                if (data.status == 1){
                    layer.msg('销售计划已审核，无法删除！');
                    return false;
                }
                layer.confirm('确定要删除吗？', function (index) {
                    layer.close(index);
                    layui.admin.req({
                        url: '/plan/sale/delete/?id=' + data.id
                        , done: function (res) {
                            table.reload('datagrid', {});
                        }
                    });
                });
            } else if (obj.event === 'edit') {
                table.editdata = data;
                if (data.status == 1){
                    layer.msg('销售计划已审核，无法修改！');
                    return false;
                }
                layer.open({
                    type: 2,
                    title: '修改',
                    shadeClose: false,
                    area: ['90%', '90%'],
                    btn: ['保存', '取消'],
                    yes: function (index, dom) {
                        layui.onSubmitChild = function (data) {
                        layer.close(index);
                        table.reload('datagrid', {});
                    };
                    layui.submitChild();
                    },
                    btn2: function (index, layero) {
                        layer.close(index);//关闭当前按钮
                    },
                    content: 'sale_edit.html?id=' + data.id
                });
            }else if(obj.event === 'check'){
                layer.confirm('确定要审核吗？', function(index){

                    layer.close(index);
                    layui.admin.req({
                        url: '/plan/sale/check/?status=1&id='+data.id
                        ,done: function(res){
                            table.reload('datagrid',{});
                        }
                    });
                });
              }else if(obj.event === 'checkout'){
                layer.confirm('确定要撤销审核吗？', function(index){

                    layer.close(index);
                    layui.admin.req({
                        url: '/plan/sale/check/?status=0&id='+data.id
                        ,done: function(res){
                            table.reload('datagrid',{});
                        }
                    });
                });
              }else if(obj.event === 'detail'){
                  table.editdata = data;
                layer.open({
                  type: 2,
                  title: '查看['+ data.no + ']',
                  shadeClose: true,
                  area: ['80%', '80%'],
                  content: 'sale_detail.html?id='+data.id
                });
              } else if (obj.event === 'toProduction') {
                admin.req({
                    url: '/plan/sale/detail/?id=' + data.id,
                    done: function (res) {
                        var status = res.data.sale_data.status;
                        var is_toproduction = res.data.sale_data.is_toproduction;
                        if (status == '已审核'){
                            if(is_toproduction){
                                toProduction(data)
                            }else{
                                layer.msg('库存充足，无需转生产！');
                            }
                        }else {
                            layer.msg('销售计划未审核，无法转生产！');
                        }
                    }
                })
                table.editdata = data;

            }
        });
        $('#btn_export').on('click', function () {
            layui.admin.req({
                url: '/plan/sale/export/',
                data: _params,
                done: function (res) {
                    layui.view.download(res.data.filename);
                }
            });
        });
        $('#btn_export_detail').on('click', function () {
            var data = utils.getSelectedRow('datagrid');
            if (data == false) {
                return;
            }
            layui.admin.req({
                url: '/plan/sale/export_detail/?id='+data.id,
                data: _params,
                done: function (res) {
                    layui.view.download(res.data.filename);
                }
            });
        });
        $('#btn_add').on('click', function () {
            layer.open({
                type: 2,
                title: '添加销售计划',
                area: ['90%', '90%'],
                btn: ['保存', '取消'],
                yes: function (index, dom) {
                    layui.onSubmitChild = function (data) {
                        layer.close(index);
                        table.reload('datagrid', {});
                    };
                    layui.submitChild();
                },
                btn2: function (index, layero) {
                    layer.close(index);//关闭当前按钮
                },
                content: 'sale_edit.html'
            });
        });
        $('#btn_query').on('click', function () {
            layer.open({
                type: 1,
                shadeClose: true,
                area: ['400px', '240px'],
                title: '查询',
                btn: ['查询'],
                yes: function (index, dom) {
                    $("#query-submit").click();
                },
                content: $('#dlg_query')
            });
        });
        form.on('submit(query-form-element)', function (data) {
            //layer.msg(JSON.stringify(data.field));
            _params = data.field;
            table.reload('datagrid', {
                where: data.field,
                page:{curr:1}
            });
            layer.closeAll();
            return false
        });
        $('#btn_print').on('click', function () {
            var data = utils.getSelectedRow('datagrid');
            if (data == false) {
                return;
            }
            layer.open({
                type: 2,
                title: '打印',
                shadeClose: true,
                area: ['90%', '90%'],
                btn: ['打印', '取消'],
                yes: function (index, dom) {
                    layui.onSubmitChild = function(data){
                      layer.close(index);
                    };
                    layui.submitChild();
                },
                btn2: function (index, layero) {
                    layer.close(index);//关闭当前按钮
                },
                content: 'sale_print.html?id=' + data.id
            });
        });
        function toProduction(data) {
            layer.open({
                    type: 2,
                    title: '添加生产计划',
                    area: ['80%', '90%'],
                    btn: ['保存', '取消'],
                    yes: function (index, dom) {
                        layui.onSubmitChild = function (data) {
                            layer.close(index);
                            layer.msg('生产计划添加成功', {icon: 6});
                        };
                        layui.submitChild();
                    },
                    btn2: function (index, layero) {
                        layer.close(index);//关闭当前按钮
                    },
                    content: 'production_edit.html?sale_id=' + data.id
                });
        }

    })
</script>
</body>
</html>