1.在common.php后端中编写获取下拉框数据源信息的方法,也可以通过ajax从后端获取
//获取班次信息
function get_shift($id=0)
{
    $shift_array = ['白班','夜班','项目现场休息(非自主)','路工','请假/休息'];
    if($id==0){
        return $shift_array;
    }
    else{
        $news_array=[];
        foreach($shift_array as $key => $value){
            if($key>0){
                $news_array[]=array(
                    'id'=>$key,
                    'title'=>$value,
                );
            }
        }
        return $news_array;
    }
}

//获取班次信息
function shift_name($shift=0)
{
    $shift_array = get_shift();
    return $shift_array[$shift];
}

2.使用volist循环增加option的值

    <tr>
            <td class="layui-td-gray-2">班次<span style="color: red">*</span></td>
            <td>
                {if ($id == 0) } 
                <select id="shift" name="shift" lay-verify="required" lay-reqText="请选择班次" lay-filter="shiftFilter">
                    {volist name=":get_shift()" id="vo"}
                    {gt name="$key" value=""}
                    <option value="{$key}">{$vo}</option>
                    {/gt}
                    {/volist}
                </select>
                {else}
                <select id="shift" name="shift" lay-verify="required" lay-reqText="请选择班次" lay-filter="shiftFilter">
                    {volist name=":get_shift()" id="vo"}
                    {gt name="$key" value=""}
                    <option value="{$key}" {$key == $detail.shift ? 'selected' : ''}>{$vo}</option>
                    {/gt}
                    {/volist}
                </select>
                {/if}
            </td>
        </tr>

3.当选中下拉的值时在js中设置表单中其他组件是否可见

        //选中班次设置录入信息是否可见
        form.on('select(shiftFilter)',function (data) {
            if(data.value == "4"){
                $(".taskVisible").hide(); 
                $(".statusVisible").hide(); 
                $(".actualVisible").hide(); 
                $(".personalVisible").hide(); 
                $(".worksVisible").hide(); 
                $(".outsideVisible").hide(); 

                $('[name="task_name"]').removeAttr('lay-verify');
                $('[name="task_status"]').removeAttr('lay-verify');
                $('[name="actual_work_hours"]').removeAttr('lay-verify');
                $('[name="personal_plan_hours"]').removeAttr('lay-verify');
                $('[name="works"]').removeAttr('lay-verify');
                $('[name="is_outside_contract_hours"]').removeAttr('lay-verify');
            }
            else if(data.value == "2"){
                $(".taskVisible").hide(); 
                $(".worksVisible").hide(); 
                $(".outsideVisible").show(); 
                $(".statusVisible").show(); 
                $(".actualVisible").show(); 
                $(".personalVisible").show();
                $('[name="task_name"]').removeAttr('lay-verify');
                $('[name="works"]').removeAttr('lay-verify');
                $('[name="is_outside_contract_hours"]').attr('lay-verify');
                $('[name="task_status"]').attr('lay-verify','required');
                $('[name="actual_work_hours"]').attr('lay-verify','required');
                $('[name="personal_plan_hours"]').attr('lay-verify','required');

            }
            else if(data.value == "3"){
                $(".statusVisible").hide(); 
                $(".taskVisible").show();  
                $(".actualVisible").show(); 
                $(".personalVisible").show(); 
                $(".worksVisible").show(); 
                $(".outsideVisible").show(); 
                $('[name="task_status"]').removeAttr('lay-verify');
                $('[name="task_name"]').attr('lay-verify','required');
                $('[name="actual_work_hours"]').attr('lay-verify','required');
                $('[name="personal_plan_hours"]').attr('lay-verify','required');
                $('[name="works"]').attr('lay-verify','required');
                $('[name="is_outside_contract_hours"]').attr('lay-verify','required');
            }
            else{
                $(".taskVisible").show(); 
                $(".statusVisible").show(); 
                $(".actualVisible").show(); 
                $(".personalVisible").show(); 
                $(".worksVisible").show(); 
                $(".outsideVisible").show(); 

                $('[name="task_name"]').attr('lay-verify','required');
                $('[name="task_status"]').attr('lay-verify','required');
                $('[name="actual_work_hours"]').attr('lay-verify','required');
                $('[name="personal_plan_hours"]').attr('lay-verify','required');
                $('[name="works"]').attr('lay-verify','required');
                $('[name="is_outside_contract_hours"]').attr('lay-verify','required');
            }
        });

4.编辑页面时更加下拉框的初始信息设置表单内其他组件是否可见

        if($('#shift').val() == "4"){
                $(".taskVisible").hide(); 
                $(".statusVisible").hide(); 
                $(".actualVisible").hide(); 
                $(".personalVisible").hide(); 
                $(".worksVisible").hide(); 
                $(".outsideVisible").hide(); 

                $('[name="task_name"]').removeAttr('lay-verify');
                $('[name="task_status"]').removeAttr('lay-verify');
                $('[name="actual_work_hours"]').removeAttr('lay-verify');
                $('[name="personal_plan_hours"]').removeAttr('lay-verify');
                $('[name="works"]').removeAttr('lay-verify');
                $('[name="is_outside_contract_hours"]').removeAttr('lay-verify');
            }
        else if($('#shift').val() == "2"){
            $(".taskVisible").hide(); 
            $(".worksVisible").hide(); 
            $(".outsideVisible").show(); 
            $(".statusVisible").show(); 
            $(".actualVisible").show(); 
            $(".personalVisible").show();
            $('[name="task_name"]').removeAttr('lay-verify');
            $('[name="works"]').removeAttr('lay-verify');
            $('[name="is_outside_contract_hours"]').attr('lay-verify');
            $('[name="task_status"]').attr('lay-verify','required');
            $('[name="actual_work_hours"]').attr('lay-verify','required');
            $('[name="personal_plan_hours"]').attr('lay-verify','required');

        }
        else if($('#shift').val() == "3"){
            $(".statusVisible").hide(); 
            $(".taskVisible").show();  
            $(".actualVisible").show(); 
            $(".personalVisible").show(); 
            $(".worksVisible").show(); 
            $(".outsideVisible").show(); 
            $('[name="task_status"]').removeAttr('lay-verify');
            $('[name="task_name"]').attr('lay-verify','required');
            $('[name="actual_work_hours"]').attr('lay-verify','required');
            $('[name="personal_plan_hours"]').attr('lay-verify','required');
            $('[name="works"]').attr('lay-verify','required');
            $('[name="is_outside_contract_hours"]').attr('lay-verify','required');
        }
        else{
            $(".taskVisible").show(); 
            $(".statusVisible").show(); 
            $(".actualVisible").show(); 
            $(".personalVisible").show(); 
            $(".worksVisible").show(); 
            $(".outsideVisible").show(); 

            $('[name="task_name"]').attr('lay-verify','required');
            $('[name="task_status"]').attr('lay-verify','required');
            $('[name="actual_work_hours"]').attr('lay-verify','required');
            $('[name="personal_plan_hours"]').attr('lay-verify','required');
            $('[name="works"]').attr('lay-verify','required');
            $('[name="is_outside_contract_hours"]').attr('lay-verify','required');
        }

 

posted on 2025-06-10 17:41  江渔湖  阅读(19)  评论(0)    收藏  举报