feat: 初步完成详情生成

This commit is contained in:
augushong
2026-01-08 23:43:21 +08:00
parent 3fdea8b85b
commit 0e92ab2363
22 changed files with 578 additions and 247 deletions

View File

@@ -1,2 +1,6 @@
$this->assign('{{var_name}}', $this->model::{{name}}, true);
${{var_name}}_list = [];
foreach ($this->model::{{name}} as $key => $value) {
${{var_name}}_list[] = ['value' => $key, 'label' => $value];
}
$this->assign('{{var_name}}', ${{var_name}}_list, true);

View File

@@ -4,7 +4,8 @@ var init = {
indexUrl: '{{controllerUrl}}/index',
addUrl: '{{controllerUrl}}/add' + location.search,
editUrl: '{{controllerUrl}}/edit',
readUrl: '{{controllerUrl}}/read',
deleteUrl: '{{controllerUrl}}/delete',
exportUrl: '{{controllerUrl}}/export',
modifyUrl: '{{controllerUrl}}/modify',
};
};

View File

@@ -0,0 +1,12 @@
/**
* {{comment}}获取器
* @param $value
* @return array
*/
public function get{{accessorName}}Attr($value, $data)
{
if (empty($data['{{field}}'])) {
return [];
}
return explode('{{separator}}', $data['{{field}}']);
}

View File

@@ -15,7 +15,7 @@ class {{modelName}} extends TimeModel
protected $deleteTime = {{deleteTime}};
{{selectList}}
{{accessorList}}
{{relationList}}
}
}

View File

@@ -0,0 +1,10 @@
<div class="detail-field-item">
<div class="detail-field-label">{{comment}}</div>
<div class="detail-field-value">
{notempty name="row.{{field}}"}
{$row.{{field}}|date="Y-m-d H:i:s"}
{else/}
<span class="layui-text-em">暂无数据</span>
{/notempty}
</div>
</div>

View File

@@ -0,0 +1,10 @@
<div class="detail-field-item detail-field-full">
<div class="detail-field-label">{{comment}}</div>
<div class="detail-field-value detail-editor-content">
{notempty name="row.{{field}}"}
{$row.{{field}}|raw}
{else/}
<span class="layui-text-em">暂无内容</span>
{/notempty}
</div>
</div>

View File

@@ -0,0 +1,13 @@
<div class="detail-field-item">
<div class="detail-field-label">{{comment}}</div>
<div class="detail-field-value">
{notempty name="row.{{field}}"}
<a href="{$row.{{field}}}" target="_blank" class="layui-btn layui-btn-xs layui-btn-normal">
<i class="layui-icon layui-icon-download-circle"></i> 下载文件
</a>
<div style="margin-top: 5px; color: #999; font-size: 12px;">{$row.{{field}}}</div>
{else/}
<span class="layui-text-em">暂无文件</span>
{/notempty}
</div>
</div>

View File

@@ -0,0 +1,17 @@
<div class="detail-field-item">
<div class="detail-field-label">{{comment}}</div>
<div class="detail-field-value">
{notempty name="row.{{field}}_list"}
{volist name="row.{{field}}_list" id="file"}
<div style="margin-bottom: 8px;">
<a href="{$file}" target="_blank" class="layui-btn layui-btn-xs layui-btn-normal">
<i class="layui-icon layui-icon-download-circle"></i> 文件 {$key + 1}
</a>
<span style="margin-left: 10px; color: #999; font-size: 12px;">{$file}</span>
</div>
{/volist}
{else/}
<span class="layui-text-em">暂无文件</span>
{/notempty}
</div>
</div>

View File

@@ -0,0 +1,10 @@
<div class="detail-field-item">
<div class="detail-field-label">{{comment}}</div>
<div class="detail-field-value">
{notempty name="row.{{field}}"}
<img src="{$row.{{field}}}" class="detail-image" style="max-width: 300px; max-height: 300px; border-radius: 4px; cursor: pointer;" onclick="layer.photos({photos: {data: [{src: this.src}]}, anim: 5})">
{else/}
<span class="layui-text-em">暂无图片</span>
{/notempty}
</div>
</div>

View File

@@ -0,0 +1,12 @@
<div class="detail-field-item">
<div class="detail-field-label">{{comment}}</div>
<div class="detail-field-value">
{notempty name="row.{{field}}_list"}
{volist name="row.{{field}}_list" id="img"}
<img src="{$img}" class="detail-image" style="max-width: 150px; max-height: 150px; margin-right: 10px; margin-bottom: 10px; border-radius: 4px; cursor: pointer;" onclick="layer.photos({photos: {data: {volist name='row.{{field}}_list' id='imgItem'}[{src: '{$imgItem}'}{notlast},{/notlast}]{/volist}}, start: {$key}}, anim: 5})">
{/volist}
{else/}
<span class="layui-text-em">暂无图片</span>
{/notempty}
</div>
</div>

View File

@@ -0,0 +1,6 @@
<div class="detail-field-item">
<div class="detail-field-label">{{comment}}</div>
<div class="detail-field-value">
{{define}}
</div>
</div>

View File

@@ -0,0 +1,6 @@
<div class="detail-field-item">
<div class="detail-field-label">{{comment}}</div>
<div class="detail-field-value">
{{define}}
</div>
</div>

View File

@@ -0,0 +1,10 @@
<div class="detail-field-item">
<div class="detail-field-label">{{comment}}</div>
<div class="detail-field-value">
{notempty name="row.{{field}}"}
{$row.{{field}}}
{else/}
<span class="layui-text-em">暂无数据</span>
{/notempty}
</div>
</div>

View File

@@ -0,0 +1,10 @@
<div class="detail-field-item">
<div class="detail-field-label">{{comment}}</div>
<div class="detail-field-value" style="white-space: pre-wrap;">
{notempty name="row.{{field}}"}
{$row.{{field}}|raw}
{else/}
<span class="layui-text-em">暂无内容</span>
{/notempty}
</div>
</div>