| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208 |
- <style>
- .editor_tool .layui-btn+.layui-btn {margin-left: 0px;}
- .editor_tool .layui-form-checkbox {margin-right: 0px;}
- </style>
- {volist name="fieldList" id="vo"}
- <div data-favisible="{$vo.visible|default=''}">
- <div class="layui-form-item">
- {if $vo.type!='hidden'}<label class="layui-form-label {if condition="isset($vo.ifrequire) AND $vo.ifrequire"}layui-form-item-required{/if}">{$vo.title}</label>{/if}
- {switch name="vo.type"}
- {case value="hidden"}
- {if $vo.value}<input type="hidden" class="form-control" name="{$vo.fieldArr}[{$vo.name}]" value="{$vo.value}">{/if}
- {/case}
- {case value="text"}
- <div class="layui-input-block">
- <input {$vo.extend_html} type="text" name="{$vo.fieldArr}[{$vo.name}]" placeholder="请输入{$vo.title}" autocomplete="off" class="layui-input" value="{$vo.value}">
- </div>
- {/case}
- {case value="password"}
- <div class="layui-input-block">
- <input {$vo.extend_html} type="password" name="{$vo.fieldArr}[{$vo.name}]" placeholder="请输入{$vo.title}" autocomplete="off" class="layui-input" value="{$vo.value}" lay-affix="eye">
- </div>
- {/case}
- {case value="tags"}
- <div class="layui-input-block">
- <input {$vo.extend_html} type="text" name="{$vo.fieldArr}[{$vo.name}]" class="layui-input form-tags tags-{$vo.name}" value="{$vo.value}" data-remark="{$vo.remark|default='输入回车键确认'}">
- </div>
- {/case}
- {case value="number"}
- <div class="layui-input-block">
- <input {$vo.extend_html} type="number" name="{$vo.fieldArr}[{$vo.name}]" placeholder="请输入{$vo.title}" autocomplete="off" lay-affix="number" class="layui-input" value="{$vo.value}">
- </div>
- {/case}
- {case value="switch"}
- <div class="layui-input-block">
- <input type="checkbox" name="{$vo.fieldArr}[{$vo.name}]" lay-skin="switch" lay-text="ON|OFF" value="{$vo['value']}" {if 1==$vo['value']}checked='' {/if}>
- </div>
- {/case}
- {case value="array"}
- <dl {$vo.extend_html} class="layui-input-block fieldlist" data-name="{$vo.fieldArr}[{$vo.name}]" data-id="{$vo.name}">
- <dd>
- <ins>键名</ins>
- <ins>键值</ins>
- </dd>
- <dd><button type="button" class="layui-btn btn-append">追加</button></dd>
- <textarea name="{$vo.fieldArr}[{$vo.name}]" class="layui-textarea layui-hide">{$vo.value}</textarea>
- </dl>
- {/case}
- {case value="checkbox"}
- <div class="layui-input-block">
- {volist name="vo.options" id="v"}
- <input type="checkbox" name="{$vo.fieldArr}[{$vo.name}][]" lay-skin="primary" title="{$v}" value="{$key}" {if in_array($key,$vo['value'])}checked{/if}>
- {/volist}
- </div>
- {/case}
- {case value="radio"}
- <div class="layui-input-block">
- {volist name="vo.options" id="v"}
- <input type="radio" name="{$vo.fieldArr}[{$vo.name}]" value="{$key}" title="{$v}" {if $key==$vo['value']}checked='' {/if}> {/volist}
- </div>
- {/case}
- {case value="select"}
- <div class="layui-input-block">
- <select name="{$vo.fieldArr}[{$vo.name}]">
- <option value=""></option>
- {if $vo.name=='project_id' && empty($vo.options)}
- {php}
- $productOptions = [];
- try {
- $productModel = \app\admin\model\cms\Models::where('status', 1)
- ->where(function ($query) {
- $query->where('tablename', 'cms_product')->whereOr('name', '产品模型');
- })->order('id', 'asc')->find();
- if ($productModel) {
- $prefix = \think\facade\Config::get('database.connections.mysql.prefix', '');
- $tableName = strpos($productModel['tablename'], $prefix) === 0 ? $productModel['tablename'] : $prefix . $productModel['tablename'];
- $list = \think\facade\Db::table($tableName)->where('status', 'in', [0,1])->order('id desc')->select()->toArray();
- foreach ($list as $item) {
- $label = $item['title'] ?? ($item['name'] ?? ('ID:' . $item['id']));
- $productOptions[$item['id']] = $label . ' [#' . $item['id'] . ']';
- }
- }
- } catch (\Throwable $e) {
- $productOptions = [];
- }
- {/php}
- {volist name="productOptions" id="v"}
- <option value="{$key}" {if $key==$vo['value']}selected="" {/if}>{$v}</option>
- {/volist}
- {else /}
- {volist name="vo.options" id="v"}
- <option value="{$key}" {if $key==$vo['value']}selected="" {/if}>{$v}</option>
- {/volist}
- {/if}
- </select>
- </div>
- {/case}
- {case value="selects"}
- <div class="layui-input-block">
- <div {$vo.extend_html} class="form-selects" data-name="{$vo.fieldArr}[{$vo.name}]" data-id="{$vo.name}" data-value="{$vo.value}" data-list="{$vo.options|json_encode}"></div>
- </div>
- {/case}
- {case value="selectpage"}
- <div class="layui-input-block">
- <input {$vo.extend_html} class="form-control layui-input selectpage" type="text" name="{$vo.fieldArr}[{$vo.name}]" data-source="{$vo.options.url|url}" data-multiple="{$vo.options.multiple|default='false'}" data-field="{$vo.options.field|default='name'}" data-primary-key="{$vo.options.key|default='id'}" data-max-select-limit="{$vo.options.max|default='20'}" data-pagination="{$vo.options.pagination|default='true'}" data-page-size="{$vo.options.limit|default='10'}" data-order-by="{$vo.options.order|default='id'}" value="{$vo.value}">
- </div>
- {/case}
- {case value="color"}
- <div class="layui-input-block">
- <div class="layui-input-inline" style="width: 120px;">
- <input {$vo.extend_html} type="text" name="{$vo.fieldArr}[{$vo.name}]" value="{$vo.value}" placeholder="请选择颜色" class="layui-input test-form-input" id="c-{$vo.name}">
- </div>
- <div class="layui-inline" style="left: -11px;">
- <div class="colorpicker" data-input-id="c-{$vo.name}"></div>
- </div>
- </div>
- {/case}
- {case value="datetime"}
- <div class="layui-input-block">
- <input {$vo.extend_html} type="text" class="layui-input datetime" name="{$vo.fieldArr}[{$vo.name}]" placeholder="请输入{$vo.title}" value="{$vo.value}">
- </div>
- {/case}
- {case value="datetimerange"}
- <div class="layui-input-block">
- <input {$vo.extend_html} type="text" class="layui-input datetime" name="{$vo.fieldArr}[{$vo.name}]" placeholder="请输入{$vo.title}" value="{$vo.value}" data-date-range="-">
- </div>
- {/case}
- {case value="textarea"}
- <div class="layui-input-block">
- <textarea {$vo.extend_html} placeholder="请输入{$vo.title}" class="layui-textarea" name="{$vo.fieldArr}[{$vo.name}]">{$vo.value}</textarea>
- </div>
- {/case}
- {case value="image" break="0"}{/case}
- {case value="images"}
- <div class="layui-input-block">
- <div class="layui-col-xs6">
- <input type="text" name="{$vo.fieldArr}[{$vo.name}]" id="c-{$vo.name}" value="{$vo.value|default=''}" class="layui-input">
- </div>
- <button type="button" class="layui-btn faupload" id="faupload-{$vo.name}" data-multiple="{$vo.type=='image'?'false':'true'}" data-input-id="c-{$vo.name}" data-preview-id="p-{$vo.name}" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp"><i class="iconfont icon-upload-line"></i> 上传</button><button type="button" class="layui-btn fachoose" data-multiple="{$vo.type=='image'?'false':'true'}" data-mimetype="image/*" data-input-id="c-{$vo.name}" id="fachoose-c-{$vo.name}"><i class="iconfont icon-list-unordered"></i> 选择</button>
- <ul class="layui-row list-inline plupload-preview" id="p-{$vo.name}"></ul>
- </div>
- {/case}
- {case value="file" break="0"}{/case}
- {case value="files"}
- <div class="layui-input-block">
- <div class="layui-col-xs6">
- <input type="text" name="{$vo.fieldArr}[{$vo.name}]" id="c-{$vo.name}" value="{$vo.value|default=''}" class="layui-input">
- </div>
- <button type="button" class="layui-btn faupload" id="faupload-{$vo.name}" data-multiple="{$vo.type=='file'?'false':'true'}" data-input-id="c-{$vo.name}" data-preview-id="p-{$vo.name}" data-type="file"><i class="iconfont icon-upload-line"></i> 上传</button><button type="button" class="layui-btn fachoose" data-multiple="{$vo.type=='file'?'false':'true'}" data-input-id="c-{$vo.name}" id="fachoose-c-{$vo.name}"><i class="iconfont icon-list-unordered"></i> 选择</button>
- </div>
- {/case}
- {case value="editor"}
- <div class="layui-input-block">
- <textarea {$vo.extend_html} name="{$vo.fieldArr}[{$vo.name}]" id="editor-{$vo.name}" class="layui-textarea editor" rows="5">{$vo.value}</textarea>
- </div>
- {if $vo.name == 'content'}
- <div class="{$vo.name}_attr editor_tool" style="margin-left: 140px;">
- <a class="layui-btn layui-btn-sm btn-grabimg" style="margin-top: 4px;"><i class="iconfont icon-image-line"></i> 图片本地化</a>
- {if $cmsConfig['site_getwords']}
- <a class="layui-btn layui-btn-sm btn-filterword" style="margin-top: 4px;"><i class="iconfont icon-alert-line"></i> 检测违禁词</a>
- {/if}
- {php}$info = get_addon_info('getwords');{/php}
- {if $info && $info['status']>0}
- <a class="layui-btn layui-btn-sm btn-getwords" style="margin-top: 4px;"><i class="iconfont icon-price-tag-3-line"></i> 提取关键词</a>
- {/if}
- <input type='checkbox' lay-skin='tag' name='modelField[get_introduce]' title='是否截取到内容摘要' checked>
- <input type='checkbox' lay-skin='tag' name='modelField[auto_thumb]' title='是否提取到缩略图' checked>
- </div>
- {/if}
- {/case}
- {case value="markdown"}
- <div class="layui-input-block">
- <textarea {$vo.extend_html} name="{$vo.fieldArr}[{$vo.name}]" id="markdown-{$vo.name}" class="layui-textarea markdown" rows="5">{$vo.value}</textarea>
- </div>
- {/case}
- {case value="city"}
- <div class="layui-input-block">
- <input {$vo.extend_html} type="text" autocomplete="on" class="layui-input" name="{$vo.fieldArr}[{$vo.name}]" id="{$vo.name}" value="{$vo.value}" data-toggle="city-picker" placeholder="请选择"/>
- </div>
- {/case}
- {case value="custom"}
- {$vo.options|raw}
- {/case}
- {/switch}
- {if $vo.remark}<div class="layui-form-mid no-float layui-word-aux">{$vo.remark}</div>{/if}
- </div>
- </div>
- {/volist}
|