createDevice.php 11.2 KB
<?php

use yii\helpers\Url;
use app\ht\helpers\CssFiles;

$this->title = '新建序列号';
$this->params['breadcrumbs'][] = '序列号管理';
$this->params['breadcrumbs'][] = ['label' => '序列号列表', 'url' => ['/device/device/index']];
$this->params['breadcrumbs'][] =  $this->title;

CssFiles::register($this, 'exts/showimg/css/showimg.css');

?>
<style>
 .create-div .form-group{padding:1rem 0}
 .create-div .full-width{width:100%;}
 .combo-select{max-width:100% !important;}
</style>
<div class="panel panel-default">
    <div class="panel-body form-inline create-div">

            <ul class="nav nav-tabs" role="tablist">
                <li role="presentation" class="active"><a href="#new" aria-controls="new" role="tab" data-toggle="tab">新创建</a></li>
                <li role="presentation"><a href="#append" aria-controls="append" role="tab" data-toggle="tab">追加创建</a></li>
            </ul>

            <!-- Tab panes -->
            <div class="tab-content">
                <div role="tabpanel" class="tab-pane active" id="new">
                    <form action="" method="get" id="create-form" class="filter-form">
                        <div class="form-group col-sm-12">
                            <label for="manufacture" class="col-sm-4 control-label text-right">厂商:</label>
                            <div class="col-sm-4 form-inline">
                                <select class="form-control full-width select-cls" id="manufacture" name="manufacture">

                                </select>

                            </div>
                            <div class="col-sm-4"><a href="<?=Url::toRoute('/manufacturer/manufacturer/create')?>">+创建厂商</a></div>
                        </div>
                        <div class="form-group col-sm-12">
                            <label for="project" class="col-sm-4 control-label text-right">项目名:</label>
                            <div class="col-sm-4 form-inline">
                                <select class="form-control full-width select-cls" id="project" name="project">

                                </select>
                            </div>
                            <div class="col-sm-4"><a href="<?=Url::toRoute('/project/project/create')?>">+创建项目</a></div>

                        </div>
                        <div class="form-group col-sm-12">
                            <label for="model" class="col-sm-4 control-label text-right">设备型号:</label>
                            <div class="col-sm-4 form-inline">
                                <select class="form-control full-width select-cls" id="model" name="model">

                                </select>
                            </div>
                            <div class="col-sm-4"><a href="<?=Url::toRoute('/model/model/create')?>">+创建型号</a></div>
                        </div>
                        <div class="form-group col-sm-12">
                            <label for="production" class="col-sm-4 control-label text-right">生产日期:</label>
                            <div class="col-sm-4 form-inline">
                                <select class="form-control full-width select-cls" id="production" name="production">

                                </select>
                            </div>
                            <div class="col-sm-4"><a href="<?=Url::toRoute('/production/production/create')?>">+生产日期</a></div>
                        </div>
                        <div class="form-group col-sm-12">
                            <label for="batch_no" class="col-sm-4 control-label text-right">编码预览:</label>
                            <div class="col-sm-4 form-inline">
                                <span id="preview_batch_no">----</span>
                            </div>
                        </div>
                        <div class="form-group col-sm-12">
                            <label for="production" class="col-sm-4 control-label text-right">数量:</label>
                            <div class="col-sm-4 form-inline">
                                <input type="number" class="form-control full-width" id="num" name="num" value="" autocomplete="off">
                            </div>
                        </div>

                        <div class="form-group col-sm-12" style="text-align: center;">
                            <div><button type="submit" class="btn btn-primary font-1" id="createDeviceBtn">创建</button></div>
                        </div>
                    </form>

                </div>


                <div role="tabpanel" class="tab-pane" id="append">
                    <form action=""  id="append-form" class="filter-form">
                        <div class="form-group col-sm-12">
                            <label for="batch_id" class="col-sm-4 control-label text-right">批次编码:</label>
                            <div class="col-sm-4 form-inline">
                                <select class="form-control full-width batch-select-cls" id="batch_id" name="batch_id"></select>
                            </div>
                        </div>
                        <div class="form-group col-sm-12">
                            <label for="append_num" class="col-sm-4 control-label text-right">追加数量:</label>
                            <div class="col-sm-4 form-inline">
                                <input type="number" class="form-control full-width" id="append_num" name="append_num" value="" autocomplete="off">
                            </div>
                        </div>

                        <div class="form-group col-sm-12" style="text-align: center;">
                            <div><button type="submit" class="btn btn-primary font-1" id="appendDeviceBtn">追加创建</button></div>
                        </div>
                    </form>
                </div>

            </div>



    </div>

</div>

<script src="<?= Yii::$app->request->baseUrl . "/exts/combo-select/js/jquery.combo.select.js"?>"></script>
<link rel="stylesheet" type="text/css" href="<?= Yii::$app->request->baseUrl . "/exts/combo-select/css/combo.select.css"?>" />
<script type="text/javascript">
    var searchItemUrl = "<?=Url::toRoute('/device/device/batch-item')?>";
    var saveUrl = "<?=Url::toRoute('/device/device/do-create-device')?>";
    var getBatchSelectUrl = "<?=Url::toRoute('/device/device/get-batch-select')?>";
    var appendSerialUrl = "<?=Url::toRoute('/device/device/append-serial-no')?>";
$(function() {

    function selectAll(id) {
        $.post(searchItemUrl, {type:id}, function(res) {
            if(res.list.length > 0) {
                var wrapper = '<option value="">请选择</option>';
                $.each(res.list, function(i,n){
                    wrapper = wrapper + '<option value="'+ n.uid+'">'+ n.name+'</option>';
                })
                $('#'+id).html(wrapper);
                $('#'+id).comboSelect();
            }

        }, 'json')

    }
    selectAll('manufacture');
    selectAll('project');
    selectAll('model');
    selectAll('production');

    // 追加选批次
    function getBatchSelectList() {
        $.post(getBatchSelectUrl, {type:0}, function(res) {
            if(res.list.length > 0) {
                var wrapper = '<option value="">请选择</option>';
                $.each(res.list, function(i,n){
                    wrapper = wrapper + '<option value="'+ n.id+'">'+ n.batch_no+' | '+ n.manufacture + '-' + n.project +'-'+ n.model +'</option>';
                })
                $('#batch_id').html(wrapper);
                $('#batch_id').comboSelect();
            }

        }, 'json')
    }
    getBatchSelectList();

    $('.select-cls').change(function(e){
        var manufacture = $('#manufacture').val();
        var project = $('#project').val();
        var model = $('#model').val();
        var production = $('#production').val();
        var manufactureArr = manufacture.split('_');
        var projectArr = project.split('_');
        var modelArr = model.split('_');
        var productionArr = production.split('_');
        if (undefined !== manufactureArr[1]) {
            manufacture = manufactureArr[1];
        } else {
            manufacture = '-';
        }

        if (undefined !== projectArr[1]) {
            project = projectArr[1];
        } else {
            project = '-';
        }

        if (undefined !== modelArr[1]) {
            model = modelArr[1];
        } else {
            model = '-';
        }
        if (undefined !== productionArr[1]) {
            production = productionArr[1];
        } else {
            production = '-';
        }
        $('#preview_batch_no').html(manufacture+ project+ model + production +'');
    })

    $('#createDeviceBtn').click(function(e) {
        e.preventDefault();
        var manufacture = $('#manufacture').val();
        if ('' == manufacture) {
            alert('请选择厂商');
            return false;
        }
        //manufacture = manufacture.split('_');

        var project = $('#project').val();
        if ('' == project) {
            alert('请选择项目');
            return false;
        }
        //project = project.split('_');

        var model = $('#model').val();
        if ('' == model) {
            alert('请选择型号');
            return false;
        }
        //model = model.split('_');

        var production = $('#production').val();
        if ('' == production) {
            alert('请选生产日期');
            return false;
        }
        //production = production.split('_');
        var num = $('#num').val();
        var par = /^[0-9]+$/;
        if (par.test(num) && (num > 0)) {
            // 合法的
        } else {
            alert('请录入大于0的整数');
            return false;
        }

        var params = {
            manufacture: manufacture,
            project: project,
            model: model,
            production: production,
            num: num
        }
        $.post(saveUrl, params, function(res) {
            if (!res.success) {
                alert(res.message);
                return false;
            }
            alert('成功生成'+params.num +'个序列号');
            window.location.href = '<?=Url::toRoute('/datas/device/index')?>'
        }, 'json')
    })

    $('#appendDeviceBtn').click(function(e){
        var batch_id = $('#batch_id').val();
        var append_num = $('#append_num').val();
        if ('' == batch_id || 0 == batch_id) {
            alert('请选择批次');
            return false;
        }
       var par = /^[0-9]+$/;
        if (par.test(append_num) && (append_num > 0)) {
            // 合法的
        } else {
            alert('请录入大于0的整数');
            return false;
        }

        if (append_num*1 > 3000) {
            alert('追加数量不要超过3000');
            return false;
        }
        $.post(appendSerialUrl,{batch_id:batch_id, append_num:append_num}, function(ajaxRes){
            if (ajaxRes.success) {
                alert('成功追加'+append_num+'个序列号');
                window.location.href = '<?=Url::toRoute('/datas/device/index')?>'
            } else {
                alert(ajaxRes.message);
            }
        }, 'json')
    })

})
</script>