Phase1 后端核心:
- 新增 fsgx_v1.sql 迁移脚本(is_queue_goods/frozen_points/available_points/no_assess)
- SystemConfigServices 返佣设置扩展(周期人数/分档比例/范围/时机)
- StoreOrderCreateServices 周期循环佣金计算
- StoreOrderTakeServices 佣金发放后同步冻结积分
- StoreProductServices/StoreProduct 保存 is_queue_goods
Phase2 后端接口:
- GET /api/hjf/brokerage/progress 佣金周期进度
- GET /api/hjf/assets/overview 资产总览
- HjfPointsServices 每日 frozen_points 0.4‰ 释放定时任务
- PUT /adminapi/hjf/member/{uid}/no_assess 不考核接口
- GET /adminapi/hjf/points/release_log 积分日志接口
Phase3 前端清理:
- hjfCustom.js 路由精简(仅保留 points/log)
- hjfQueue.js/hjfMember.js API 清理/重定向至 CRMEB 原生接口
- pages.json 公排→推荐佣金/佣金记录/佣金规则
Phase4-5 前端改造:
- queue/status.vue 推荐佣金进度页整体重写
- 商品详情/订单确认/支付结果页文案与逻辑改造
- 个人中心/资产页/引导页/规则页文案改造
- HjfQueueProgress/HjfRefundNotice/HjfAssetCard 组件改造
- 推广中心嵌入佣金进度摘要
- hjfMockData.js 全量更新(公排字段→佣金字段)
Phase6 Admin 增强:
- 用户列表新增 frozen_points/available_points 列及不考核操作按钮
- hjfPoints.js USE_MOCK=false 对接真实积分日志接口
Phase7 配置文档:
- docs/fsgx-phase7-config-checklist.md 后台配置与全链路验收清单
Made-with: Cursor
92 lines
3.1 KiB
HTML
Executable File
92 lines
3.1 KiB
HTML
Executable File
<!doctype html>
|
|
<html>
|
|
<head>
|
|
<meta charset="UTF-8"/>
|
|
<title>{$title|default=''} - {$powered|default=''}</title>
|
|
<link rel="stylesheet" href="css/install2.css"/>
|
|
<link rel="stylesheet" href="css/step4.css"/>
|
|
<link rel="stylesheet" href="css/theme-chalk.css"/>
|
|
</head>
|
|
<body>
|
|
<div class="wrap" id="step4">
|
|
<div class="title">安装进度</div>
|
|
<section class="section">
|
|
<div class="title">
|
|
<h1>系统安装中,请稍等片刻...</h1>
|
|
</div>
|
|
<div class="progress">
|
|
<el-progress :percentage="percentage" color="#37CA71" define-back-color="rgba(255,255,255,0.5)"
|
|
:stroke-width="8"
|
|
status="success"></el-progress>
|
|
<div class="progress-msg" v-if="!isShow">
|
|
<div id="loginner_item" class="msg p8">{{installList[installList.length]}}</div>
|
|
</div>
|
|
</div>
|
|
<div class="bottom tac">
|
|
<a href="javascript:;" class="btn_old mid">
|
|
<img class="shuaxin" src="./images/install/shuaxin.png" align="absmiddle"/> 正在安装...
|
|
</a>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
<div class="footer"> © 2014-2022 <a href="http://www.crmeb.com" target="_blank">www.crmeb.com</a> 西安众邦网络科技有限公司出品
|
|
</div>
|
|
</body>
|
|
<script src="js/vue2.6.11.js"></script>
|
|
<script src="js/element-ui.js"></script>
|
|
<script src="js/jquery.js"></script>
|
|
<script type="text/javascript">
|
|
var n = -1;
|
|
var data = <?php echo $data;?>;
|
|
$.ajaxSetup({cache: false});
|
|
|
|
new Vue({
|
|
el: '#step4',
|
|
data() {
|
|
return {
|
|
percentage: 0,
|
|
isShow: 0,
|
|
installList: []
|
|
}
|
|
},
|
|
mounted() {
|
|
this.reloads(n);
|
|
},
|
|
methods: {
|
|
reloads(n) {
|
|
var url = "?step=4&install=1&n=" + n;
|
|
$.ajax({
|
|
type: "POST",
|
|
url: url,
|
|
data: data,
|
|
dataType: 'json',
|
|
beforeSend: function () {
|
|
},
|
|
success: (msg)=> {
|
|
this.percentage = Math.round((msg.n / msg.count) * 100) > 100 ? 100 : Math.round((msg.n / msg.count) * 100)
|
|
if (msg.n >= 0) {
|
|
$('#loginner_item').html(msg.msg);
|
|
if (msg.n == '999999') {
|
|
setTimeout(e => {
|
|
this.gonext()
|
|
}, 1000);
|
|
return false;
|
|
} else {
|
|
this.reloads(msg.n);
|
|
}
|
|
} else {
|
|
//alert('指定的数据库不存在,系统也无法创建,请先通过其他方式建立好数据库!');
|
|
alert(msg.msg);
|
|
}
|
|
}
|
|
});
|
|
},
|
|
gonext() {
|
|
window.location.href = '?step=5';
|
|
}
|
|
},
|
|
|
|
})
|
|
</script>
|
|
</html>
|