Files
YwxAppThink/addon/appmall/view/backend/addonreview/detail.html
T

140 lines
7.3 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="zh-CN">
<!DOCTYPE html>
<head>
<meta charset="utf-8">
<title>审核详情 - 应用市场管理</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="/assets/layui/css/layui.css" rel="stylesheet">
<link href="/assets/ywxapp/css/wxapp.css" rel="stylesheet">
<style>
body { background: #f2f3f5; padding: 15px; }
.info-card { background: #fff; border-radius: 4px; padding: 15px 20px; margin-bottom: 15px; }
.info-card h3 { margin: 0 0 12px; font-size: 15px; border-left: 3px solid #1e9fff; padding-left: 8px; }
.info-row { display: flex; flex-wrap: wrap; }
.info-item { width: 50%; padding: 6px 0; box-sizing: border-box; }
.info-item.full { width: 100%; }
.info-item .label { color: #999; margin-right: 6px; }
.info-item .value { color: #333; }
.step-wrap { background: #fff; border-radius: 4px; padding: 20px; margin-bottom: 15px; }
.timeline-empty { color: #999; text-align: center; padding: 20px 0; }
</style>
</head>
<body>
<div class="info-card">
<h3>提交信息</h3>
<div class="info-row" id="infoRow">
<div class="timeline-empty">加载中…</div>
</div>
</div>
<div class="step-wrap">
<h3 style="margin:0 0 18px;font-size:15px;border-left:3px solid #1e9fff;padding-left:8px;">审核状态流</h3>
<div class="layui-row layui-col-space20" id="stepRow">
<div class="timeline-empty">加载中…</div>
</div>
</div>
<div class="info-card">
<h3>审核历史时间线</h3>
<ul class="layui-timeline" id="timeline">
<li class="layui-timeline-item"><i class="layui-icon layui-timeline-axis layui-icon-loading"></i><div class="layui-timeline-content layui-text"><div class="timeline-empty">加载中…</div></div></li>
</ul>
</div>
<script src="/assets/layui/layui.js"></script>
<script src="/assets/ywxapp/ywxapp.js" module="{$site.app}"></script>
<script>
layui.use(['jquery', 'http', 'util'], function () {
var $ = layui.jquery, http = layui.http, util = layui.util;
var id = {$id};
function statusText(s) {
switch (parseInt(s, 10)) {
case 0: return '待审核';
case 1: return '已通过';
case 2: return '已驳回';
default: return '未知(' + s + ')';
}
}
function actionText(a) {
switch (a) {
case 'submit': return '提交审核';
case 'approve': return '审核通过';
case 'reject': return '审核驳回';
default: return a;
}
}
function fmt(ts) {
if (!ts) return '';
return util.toDateString(ts * 1000, 'yyyy-MM-dd HH:mm:ss');
}
http.get('detail', { id: id }).then(function (r) {
if (r.code !== 0 || !r.data) { $('#infoRow').html('<div class="timeline-empty">加载失败</div>'); return; }
var d = r.data;
var html = ''
+ '<div class="info-item"><span class="label">ID</span><span class="value">' + (d.id || '') + '</span></div>'
+ '<div class="info-item"><span class="label">标识:</span><span class="value">' + (d.name || '') + '</span></div>'
+ '<div class="info-item"><span class="label">名称:</span><span class="value">' + (d.title || '') + '</span></div>'
+ '<div class="info-item"><span class="label">类型:</span><span class="value">' + (d.type === 'template' ? '模板' : '插件') + '</span></div>'
+ '<div class="info-item"><span class="label">作者:</span><span class="value">' + (d.author || '') + '</span></div>'
+ '<div class="info-item"><span class="label">版本:</span><span class="value">' + (d.version || '') + '</span></div>'
+ '<div class="info-item"><span class="label">价格:</span><span class="value">' + (d.price > 0 ? '¥' + d.price : '免费') + '</span></div>'
+ '<div class="info-item"><span class="label">当前状态:</span><span class="value">' + statusText(d.status) + '</span></div>'
+ '<div class="info-item"><span class="label">提交时间:</span><span class="value">' + fmt(d.create_at) + '</span></div>'
+ '<div class="info-item"><span class="label">上架状态:</span><span class="value">' + (d.published ? '已上架' : '未上架') + '</span></div>'
+ '<div class="info-item full"><span class="label">简介:</span><span class="value">' + (d.description || '-') + '</span></div>'
+ '<div class="info-item full"><span class="label">驳回原因:</span><span class="value">' + (d.reject_reason || '-') + '</span></div>';
$('#infoRow').html(html);
// 步骤条:提交 → 审核(通过/驳回)
var steps = [
{ title: '提交审核', done: true },
{ title: '运营审核', done: true, current: d.status != 0, reject: d.status == 2, pass: d.status == 1 }
];
var stepHtml = '';
steps.forEach(function (s) {
var cls = 'layui-bg-blue';
if (s.reject) cls = 'layui-bg-red';
else if (!s.done) cls = 'layui-bg-gray';
var icon = '&#xe605;';
if (s.reject) icon = '&#x1006;';
else if (!s.done) icon = '&#xe615;';
stepHtml += ''
+ '<div class="layui-col-xs6 layui-col-md6" style="text-align:center;">'
+ ' <button class="layui-btn layui-btn-circle ' + cls + '">' + icon + '</button>'
+ ' <div style="margin-top:6px;">' + s.title + '</div>'
+ '</div>';
});
$('#stepRow').html('<div class="layui-col-xs12" style="display:flex;align-items:center;justify-content:center;">' + stepHtml + '</div>');
}).catch(function () { $('#infoRow').html('<div class="timeline-empty">请求失败</div>'); });
http.get('history', { id: id }).then(function (r) {
var arr = (r.code === 0 && r.data) ? r.data : [];
if (!arr.length) {
$('#timeline').html('<li class="layui-timeline-item"><i class="layui-icon layui-timeline-axis layui-icon-face-surprised"></i><div class="layui-timeline-content layui-text"><div class="timeline-empty">暂无审核记录</div></div></li>');
return;
}
var html = '';
arr.forEach(function (item) {
var color = item.action === 'reject' ? '#ff5722' : (item.action === 'approve' ? '#16b777' : '#1e9fff');
html += ''
+ '<li class="layui-timeline-item">'
+ ' <i class="layui-icon layui-timeline-axis" style="color:' + color + ';">&#xe63f;</i>'
+ ' <div class="layui-timeline-content layui-text">'
+ ' <h4>' + actionText(item.action) + ' <span class="layui-badge layui-bg-gray">' + statusText(item.from_status) + ' → ' + statusText(item.to_status) + '</span></h4>'
+ ' <p>操作人ID' + (item.operator_id || 0) + (item.reason ? ';意见:' + item.reason : '') + '</p>'
+ ' <p style="color:#999;">' + fmt(item.create_at) + '</p>'
+ ' </div>'
+ '</li>';
});
$('#timeline').html(html);
}).catch(function () {
$('#timeline').html('<li class="layui-timeline-item"><i class="layui-icon layui-timeline-axis layui-icon-face-surprised"></i><div class="layui-timeline-content layui-text"><div class="timeline-empty">请求失败</div></div></li>');
});
});
</script>
</body>
</html>