骏飞影业微信小程序API
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

65 lines
4.6 KiB

{php}
// 获取一级联动数据
$levelOne = getLinkageData($form[type]['model'], 0, $form[type]['pid']);
$levelKey = [];
$levelData = [];
// 默认值
if ($form[type]['value'] != '') {
$levelKeyData = getLinkageAllData($form[type]['model'], $form[type]['value'], $form[type]['key'], $form[type]['option'], $form[type]['pid']);
$levelKey = $levelKeyData['key'];
$levelData = $levelKeyData['data'];
sort($levelKey); // 升序排序
$levelData = array_reverse($levelData); // 以相反的元素顺序返回数组
}
{/php}
<div class="row dd_input_group no-gutters {$form[type].extra_class|default=''}" id="form_group_{$form[type].name}">
<label class="col-3 col-sm-2 col-md-2 col-lg-2 col-xl-1 dd_input_l col-form-label {notempty name="form[type].required"}is-required{/notempty}" for="{$form[type].name}">{$form[type].title|htmlspecialchars}</label>
<div class="col-9 col-sm-9 col-md-9 col-lg-8 col-xl-7">
<select class="form-control js_linkage" data-model="{$form[type]['model']}" data-key="{$form[type]['key']}" data-key_value="{$form[type]['option']}" data-pid_field_name="{$form[type].pid|default='pid'}" data-next_level_id="{$form[type].name}_2" id="{$form[type].name}_1" name="{$form[type].name}{gt name="form[type].level" value="1"}_1{/gt}" data-placeholder="{$form[type].placeholder}" {$form[type].extra_attr|default=''} data-ajax_url="{$form[type]['ajax_url']}" style="width: auto; display: inline-block">
<option value="">{$form[type].placeholder}</option>
{volist name="levelOne" id="option"}
{eq name="form[type].level" value="1"}
<option value="{$option[$form[type]['key']]}" {if ($form[type].value == (string)$option[$form[type]['key']])}selected{/if}>{$option[$form[type]['option']]|raw}</option>
{else/}
<option value="{$option[$form[type]['key']]}" {if (isset($levelKey[1]) && $levelKey[1] == (string)$option[$form[type]['key']])}selected{/if}>{$option[$form[type]['option']]|raw}</option>
{/eq}
{/volist}
</select>
{eq name="form[type].level" value="2"}
<select class="form-control" id="{$form[type].name}_2" name="{$form[type].name}" data-placeholder="{$form[type].placeholder}" {$form[type].extra_attr|default=''} style="width: auto; display: inline-block">
<option value="">{$form[type].placeholder}</option>
{notempty name="levelData.1"}
{volist name="levelData.1" id="option"}
<option value="{$option[$form[type]['key']]}" {if ($form[type].value == (string)$option[$form[type]['key']])}selected{/if}>{$option[$form[type]['option']]|raw}</option>
{/volist}
{/notempty}
</select>
{/eq}
{eq name="form[type].level" value="3"}
<select class="form-control js_linkage" data-model="{$form[type]['model']}" data-key="{$form[type]['key']}" data-key_value="{$form[type]['option']}" data-pid_field_name="{$form[type].pid|default='pid'}" data-next_level_id="{$form[type].name}_3" id="{$form[type].name}_2" name="{$form[type].name}_2" data-placeholder="{$form[type].placeholder}" {$form[type].extra_attr|default=''} data-ajax_url="{$form[type]['ajax_url']}" style="width: auto; display: inline-block">
<option value="">{$form[type].placeholder}</option>
{notempty name="levelData.1"}
{volist name="levelData.1" id="option"}
<option value="{$option[$form[type]['key']]}" {if (isset($levelKey[2]) && $levelKey[2] == (string)$option[$form[type]['key']])}selected{/if}>{$option[$form[type]['option']]|raw}</option>
{/volist}
{/notempty}
</select>
<select class="form-control" id="{$form[type].name}_3" name="{$form[type].name}" data-placeholder="{$form[type].placeholder}" {$form[type].extra_attr|default=''} style="width: auto; display: inline-block">
<option value="">{$form[type].placeholder}</option>
{notempty name="levelData.2"}
{volist name="levelData.2" id="option"}
<option value="{$option[$form[type]['key']]}" {if ($form[type].value == (string)$option[$form[type]['key']])}selected{/if}>{$option[$form[type]['option']]|raw}</option>
{/volist}
{/notempty}
</select>
{/eq}
</div>
{notempty name="form[type].tips"}
<div class="col-12 offset-sm-2 offset-md-2 offset-lg-0 offset-xl-0 col-sm-10 col-md-10 col-lg-2 col-xl-4 dd_ts">
<small class="text-muted">
<i class="fa fa-info-circle"></i> {$form[type].tips|raw}
</small>
</div>
{/notempty}
</div>