feat(fsgx): 完成全部24项开发任务 Phase1-7
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
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["components/areaWindow/index"],{"0c74":function(e,t,s){"use strict";var i=s("47a9");Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var d=i(s("af34")),n=s("360a"),r={},l={props:{display:{type:Boolean,default:!0},cityShow:{type:Number,default:3},address:{type:Array|Object,default:[]}},data:function(){return{active:0,addressList:[],selectedArr:[],selectedIndex:-1,is_loading:!1,old:{scrollTop:0},scrollTop:0}},computed:{activeId:function(){return-1==this.selectedIndex?0:this.selectedArr[this.selectedIndex].id},showMore:function(){return!this.selectedArr.length||this.selectedArr[this.selectedArr.length-1].hasOwnProperty("children")&&(1==this.cityShow&&this.addressList.level<2||2==this.cityShow&&this.addressList.level<3||3==this.cityShow&&this.addressList.level<4)}},watch:{address:function(e){this.selectedArr=e?(0,d.default)(e):[]},display:function(e){e?this.loadAddress(0):(this.addressList=[],this.selectedArr=this.address?(0,d.default)(this.address):[],this.selectedIndex=-1,this.is_loading=!1)}},mounted:function(){this.loadAddress(0)},methods:{change:function(e,t){this.selectedIndex!=t&&(-1===e&&(e=this.selectedArr.length?this.selectedArr[this.selectedArr.length-1].id:0),this.selectedIndex=t,this.loadAddress(e))},loadAddress:function(e){var t=this;r[e]?this.addressList=r[e]:(this.is_loading=!0,(0,n.getCityData)(e).then((function(s){t.is_loading=!1,r[e]=s.data,t.addressList=s.data})),this.goTop())},selected:function(e){this.is_loading||(this.selectedIndex>-1?(this.selectedArr.splice(this.selectedIndex+1,999),this.selectedArr[this.selectedIndex]=e,this.selectedIndex=-1):e.pid?this.selectedArr.push(e):this.selectedArr=[e],e.hasOwnProperty("children")&&(1==this.cityShow&&this.addressList[0].level<2||2==this.cityShow&&this.addressList[0].level<3||3==this.cityShow&&this.addressList[0].level<4)?this.loadAddress(e.id):(this.$emit("submit",(0,d.default)(this.selectedArr)),this.$emit("changeClose")),this.goTop())},close:function(){this.$emit("changeClose")},scroll:function(e){this.old.scrollTop=e.detail.scrollTop},goTop:function(e){var t=this;this.scrollTop=this.old.scrollTop,this.$nextTick((function(){t.scrollTop=0}))}}};t.default=l},"277d0":function(e,t,s){"use strict";s.d(t,"b",(function(){return i})),s.d(t,"c",(function(){return d})),s.d(t,"a",(function(){}));var i=function(){var e=this.$createElement;this._self._c},d=[]},"7d39":function(e,t,s){"use strict";s.r(t);var i=s("0c74"),d=s.n(i);for(var n in i)["default"].indexOf(n)<0&&function(e){s.d(t,e,(function(){return i[e]}))}(n);t["default"]=d.a},9174:function(e,t,s){"use strict";var i=s("bb81"),d=s.n(i);d.a},bb81:function(e,t,s){},e636:function(e,t,s){"use strict";s.r(t);var i=s("277d0"),d=s("7d39");for(var n in d)["default"].indexOf(n)<0&&function(e){s.d(t,e,(function(){return d[e]}))}(n);s("9174");var r=s("828b"),l=Object(r["a"])(d["default"],i["b"],i["c"],!1,null,"233ede96",null,!1,i["a"],void 0);t["default"]=l.exports}}]);
|
||||
;(global["webpackJsonp"] = global["webpackJsonp"] || []).push([
|
||||
'components/areaWindow/index-create-component',
|
||||
{
|
||||
'components/areaWindow/index-create-component':(function(module, exports, __webpack_require__){
|
||||
__webpack_require__('df3c')['createComponent'](__webpack_require__("e636"))
|
||||
})
|
||||
},
|
||||
[['components/areaWindow/index-create-component']]
|
||||
]);
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"component": true,
|
||||
"usingComponents": {}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
<view class="data-v-233ede96"><view class="{{['address-window','data-v-233ede96',display==true?'on':'']}}"><view class="title data-v-233ede96">请选择所在地区<text data-event-opts="{{[['tap',[['close',['$event']]]]]}}" class="iconfont icon-guanbi data-v-233ede96" bindtap="__e"></text></view><view class="address-count data-v-233ede96"><view class="address-selected data-v-233ede96"><block wx:for="{{selectedArr}}" wx:for-item="item" wx:for-index="index" wx:key="index"><view data-event-opts="{{[['tap',[['change',['$0',index],[[['selectedArr','',index,'pid']]]]]]]}}" class="{{['selected-list','data-v-233ede96',(index===selectedIndex)?'active':'']}}" bindtap="__e">{{''+item.label+''}}<text class="iconfont icon-xiangyou data-v-233ede96"></text></view></block><block wx:if="{{showMore}}"><view data-event-opts="{{[['tap',[['change',[-1,-1]]]]]}}" class="{{['selected-list','data-v-233ede96',(-1===selectedIndex)?'active':'']}}" bindtap="__e"><text class="iconfont icon-xiangyou data-v-233ede96"></text> 请选择 </view></block></view><scroll-view class="address-list data-v-233ede96" scroll-y="true" scroll-top="{{scrollTop}}" data-event-opts="{{[['scroll',[['scroll',['$event']]]]]}}" bindscroll="__e"><block wx:for="{{addressList}}" wx:for-item="item" wx:for-index="index" wx:key="index"><view data-event-opts="{{[['tap',[['selected',['$0'],[[['addressList','',index]]]]]]]}}" class="{{['list','data-v-233ede96',(item.id===activeId)?'active':'']}}" bindtap="__e"><text class="item-name data-v-233ede96">{{item.label}}</text><block wx:if="{{item.id===activeId}}"><text class="iconfont icon-duihao2 data-v-233ede96"></text></block></view></block></scroll-view></view></view><view class="mask z-100 data-v-233ede96" catchtouchmove="true" hidden="{{display==false}}" data-event-opts="{{[['tap',[['close',['$event']]]]]}}" bindtap="__e"></view></view>
|
||||
@@ -0,0 +1 @@
|
||||
.address-window.data-v-233ede96{background-color:#fff;position:fixed;bottom:0;left:0;width:100%;z-index:101;border-radius:30rpx 30rpx 0 0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);transition:all .3s cubic-bezier(.25,.5,.5,.9)}.address-window.on.data-v-233ede96{-webkit-transform:translateZ(0);transform:translateZ(0)}.address-window .title.data-v-233ede96{font-size:32rpx;font-weight:700;text-align:center;height:123rpx;line-height:123rpx;position:relative}.address-window .title .iconfont.data-v-233ede96{position:absolute;right:30rpx;color:#8a8a8a;font-size:35rpx}.address-count .address-selected.data-v-233ede96{padding:0 30rpx;margin-top:10rpx;position:relative;padding-bottom:20rpx;border-bottom:2rpx solid #f7f7f7}.address-count .selected-list.data-v-233ede96{font-size:26rpx;color:#282828;line-height:50rpx;padding-bottom:10rpx;padding-left:60rpx;position:relative}.address-count .selected-list.active.data-v-233ede96{color:var(--view-theme)}.address-count .selected-list.data-v-233ede96:before, .address-count .selected-list.data-v-233ede96:after{content:"";display:block;position:absolute}.address-count .selected-list.data-v-233ede96:before{width:4rpx;height:100%;background-color:var(--view-theme);top:0;left:10rpx}.address-count .selected-list.data-v-233ede96:after{width:12rpx;height:12rpx;background:var(--view-theme);border-radius:100%;left:6rpx;top:50%;margin-top:-8rpx}.address-count .selected-list.data-v-233ede96:first-child:before, .address-count .selected-list.data-v-233ede96:last-child:before{height:50%}.address-count .selected-list.data-v-233ede96:first-child:before{top:auto;bottom:0}.address-count .selected-list .iconfont.data-v-233ede96{font-size:20rpx;float:right;color:#ddd}.address-count scroll-view.data-v-233ede96{height:550rpx}.address-count .address-list.data-v-233ede96{padding:0 30rpx;margin-top:20rpx;box-sizing:border-box}.address-count .address-list .list .iconfont.data-v-233ede96{float:right;color:#ddd;font-size:22rpx}.address-count .address-list .list .item-name.data-v-233ede96{display:inline-block;line-height:50rpx;margin-bottom:20rpx;font-size:26rpx}.address-count .address-list .list.active.data-v-233ede96{color:var(--view-theme)}.address-count .address-list .list.active .iconfont.data-v-233ede96{color:var(--view-theme)}
|
||||
Reference in New Issue
Block a user