diff --git a/commons/style/common.scss b/commons/style/common.scss
index 5c51603..6a0a8f3 100644
--- a/commons/style/common.scss
+++ b/commons/style/common.scss
@@ -418,4 +418,13 @@ text {
::v-deep .u-m-t-16 .u-textarea{
border-width: 1px!important;
+}
+.font-700{
+ font-weight: 700;
+}
+.text-center{
+ text-align: center;
+}
+.bg-f7{
+ background-color: #F7F7F7;
}
\ No newline at end of file
diff --git a/components/date-range-picker/README.md b/components/date-range-picker/README.md
new file mode 100644
index 0000000..4b9f5ec
--- /dev/null
+++ b/components/date-range-picker/README.md
@@ -0,0 +1,52 @@
+#时间范围选择器
+#### 参数文档
+
+| 参数 | 说明 | 类型 | 默认值 | 其他 |
+| :---- | :---- | :---- | :---- | :---- |
+| show | 显示选择器 | Boolean | false | - |
+| defaultDate | 默认日期 | String | - | 不传则默认今天 |
+| minYear | 最小年份 | Number | 1990 | - |
+| themeColor | 主题色 | String | #43b983 | - |
+| startText | 开始时间文字 | String | 开始时间 | - |
+| endText | 结束时间文字 | String | 结束时间 | - |
+
+#### case
+```vue
+
+
+
+ 显示日期选择器
+
+
+ 所选日期 {{ date.join(',') }}
+
+
+
+
+
+
+
+
+```
diff --git a/components/date-range-picker/date-range-picker.vue b/components/date-range-picker/date-range-picker.vue
new file mode 100644
index 0000000..b686d19
--- /dev/null
+++ b/components/date-range-picker/date-range-picker.vue
@@ -0,0 +1,342 @@
+
+
+
+
+
+ {{ startText }}
+ {{ resultDate[0] }}
+
+ 至
+
+ {{ endText }}
+ {{ resultDate[1] }}
+
+
+
+
+
+ {{ item }}年
+
+
+
+
+ {{ item }}月
+
+
+
+
+ {{ item }}日
+
+
+
+
+ 取消
+ 确认
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/http/api/market/distribution.js b/http/api/market/distribution.js
new file mode 100644
index 0000000..b877061
--- /dev/null
+++ b/http/api/market/distribution.js
@@ -0,0 +1,139 @@
+import http from '@/http/http.js'
+const request = http.request
+const urlType='market'
+
+export function getConfig(data) {
+ return request({
+ url: `${urlType}/admin/distribution`,
+ method: "GET",
+ data: {
+ ...data
+ }
+ })
+}
+
+
+export function editConfig(data) {
+ return request({
+ url: `${urlType}/admin/distribution`,
+ method: "PUT",
+ data: {
+ ...data
+ }
+ })
+}
+
+export function moneyRecoders(data) {
+ return request({
+ url: `${urlType}/admin/distribution/flow`,
+ method: "GET",
+ data: {
+ ...data
+ }
+ })
+}
+export function cashPay(data) {
+ return request({
+ url: `${urlType}/admin/distribution/cashPay`,
+ method: "POST",
+ data: {
+ ...data
+ }
+ })
+}
+export function openFlow(data) {
+ return request({
+ url: `${urlType}/admin/distribution/openFlow`,
+ method: "GET",
+ data: {
+ ...data
+ }
+ })
+}
+export function distributionFlow(data) {
+ return request({
+ url: `${urlType}/admin/distribution/distributionFlow`,
+ method: "GET",
+ data: {
+ ...data
+ }
+ })
+}
+export function rechargeQrCode(data) {
+ return request({
+ url: `${urlType}/admin/distribution/rechargeQrCode`,
+ method: "GET",
+ data: {
+ ...data
+ }
+ })
+}
+export function withdrawFlow(data) {
+ return request({
+ url: `${urlType}/admin/distribution/withdrawFlow`,
+ method: "GET",
+ data: {
+ ...data
+ }
+ })
+}
+
+export function distributionUser(data) {
+ return request({
+ url: `${urlType}/admin/distribution/user`,
+ method: "GET",
+ data: {
+ ...data
+ }
+ })
+}
+
+export function addDistributionUser(data) {
+ return request({
+ url: `${urlType}/admin/distribution/user`,
+ method: "POST",
+ data: {
+ ...data
+ }
+ })
+}
+
+export function editDistributionUser(data) {
+ return request({
+ url: `${urlType}/admin/distribution/user`,
+ method: "PUT",
+ data: {
+ ...data
+ }
+ })
+}
+
+export function deleteDistributionUser(data) {
+ return request({
+ url: `${urlType}/admin/distribution/user`,
+ method: "DELETE",
+ data: {
+ ...data
+ }
+ })
+}
+
+export function inviteUser(data) {
+ return request({
+ url: `${urlType}/admin/distribution/user/inviteUser`,
+ method: "GET",
+ data: {
+ ...data
+ }
+ })
+}
+
+export function resetLevel(data) {
+ return request({
+ url: `${urlType}/admin/distribution/user/resetLevel`,
+ method: "POST",
+ data: {
+ ...data
+ }
+ })
+}
diff --git a/pageMarket/components/modal.vue b/pageMarket/components/modal.vue
new file mode 100644
index 0000000..d8f4fc3
--- /dev/null
+++ b/pageMarket/components/modal.vue
@@ -0,0 +1,84 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pageMarket/distribution/add-fenxiao-user.vue b/pageMarket/distribution/add-fenxiao-user.vue
new file mode 100644
index 0000000..0f31251
--- /dev/null
+++ b/pageMarket/distribution/add-fenxiao-user.vue
@@ -0,0 +1,317 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.nickName }}
+ {{ item.phone }}
+
+
+
+ 会员等级{{ item.memberLevelName }}
+
+
+
+
+ {{
+ item.amount
+ }}
+
+
+ 余额
+
+
+
+
+ {{
+ item.accountPoints
+ }}
+
+
+ 积分
+
+
+
+
+ {{
+ item.accountPoints
+ }}
+
+
+ 优惠券
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 已选择{{ hasSelected.length }}名用户
+ 取消
+ 确认
+
+
+
+
+
+
diff --git a/pageMarket/distribution/components/config.vue b/pageMarket/distribution/components/config.vue
index c857bb5..1cde388 100644
--- a/pageMarket/distribution/components/config.vue
+++ b/pageMarket/distribution/components/config.vue
@@ -1,93 +1,175 @@
-
-
-
- 可用门店
-
-
-
-
-
-
- 适用用户
-
-
-
-
-
-
- 返现类型
-
-
-
-
-
-
- {{ item.label }}
-
-
-
-
-
-
- 阶梯设置
-
-
-
- {{ returnName(index) }}
-
-
- 返现门槛
-
- 元
-
-
- {{form.cashbackType === 'percentage' ? '返现比例' : '返现金额'}}
-
- {{ returnUnit }}
- 删除
-
-
+
+
+
+ 开通方式
+
+
+
+
+
+
+ {{ item.label }}
+
+
+
+
-
-
+
+
+
+
+
+
+ 获得佣金条件
+
+
+
+ 人
+
+ 邀请达到指定人数才可赚取佣金
+
+
+
+
+ 被邀请人消费有效
+
+
+
+
+
+
+
+
+
+
+ 付费金额
+
+
+
+ 元
+
+
+
+
+
+
+ 分销奖励次数
+
+
+
+
+
+
+ {{ item.label }}
+
+
+
+
+
+
+
+
+
+
+
+
+ 每人奖励
+
+
+
+ 次
+
+
+
+
+
+
+
+
+
+ 结算时长
+
+
+
+ 天
+
+
+
+
+
+
+
+
+
+ 分销员等级
+
+ 去设置
+
+
+
+
+
+ 未开通页面
+
+ 请前往PC端设置
+
+
+
+
-
-
-
-
\ No newline at end of file
+$height: 70rpx;
+.number-box {
+ font-size: 28rpx;
+ padding: 0 26rpx;
+ border-radius: 6rpx 0 0 6rpx;
+ border-top: 2rpx solid #d9d9d9;
+ border-bottom: 2rpx solid #d9d9d9;
+ border-left: 2rpx solid #d9d9d9;
+ background: #fff;
+ box-sizing: border-box;
+ height: $height;
+ flex: 1;
+ line-height: $height;
+}
+.unit {
+ display: flex;
+ padding: 0 38rpx;
+ height: $height;
+ line-height: $height;
+ align-items: center;
+ border-radius: 0 6rpx 6rpx 0;
+ border: 2rpx solid #d9d9d9;
+ background: #f7f7fa;
+ font-size: 28rpx;
+ color: #999999;
+}
+
diff --git a/pageMarket/distribution/components/fenxiao-mingxi.vue b/pageMarket/distribution/components/fenxiao-mingxi.vue
new file mode 100644
index 0000000..69032bc
--- /dev/null
+++ b/pageMarket/distribution/components/fenxiao-mingxi.vue
@@ -0,0 +1,197 @@
+
+
+
+
+
+ 关联订单:
+ {{ item.orderNo }}
+
+
+ {{ returnStatus(item.status) }}
+
+
+
+
+ 分销员
+
+ {{ item.nickName }}
+
+ {{ item.phone }}
+
+
+ 下级用户
+
+ {{ item.sourceNickName }}
+
+ {{ item.sourcePhone }}
+
+
+ 创建时间
+
+ {{ item.sourceNickName }}
+
+ {{ item.createTime }}
+
+
+
+ {{ 0 }}
+ {{
+ item.level == 1 ? "直接分成" : "间接分成"
+ }}
+
+
+
+
+
+
+
+
+
+
diff --git a/pageMarket/distribution/components/fenxiao-user-list.vue b/pageMarket/distribution/components/fenxiao-user-list.vue
new file mode 100644
index 0000000..4a20196
--- /dev/null
+++ b/pageMarket/distribution/components/fenxiao-user-list.vue
@@ -0,0 +1,270 @@
+
+
+
+
+
+ 用户昵称
+
+ {{ item.shopUserName }}
+
+
+
+ {{
+ item.distributionLevelName
+ }}
+ {{ item.createTime }}
+
+
+
+
+
+ 总收益
+ {{
+ item.totalIncome || 0
+ }}
+
+
+ 已入账
+ {{
+ item.receivedIncome || 0
+ }}
+
+
+ 未入账
+ {{
+ item.pendingIncome || 0
+ }}
+
+
+
+ 更多
+
+
+
+
+
+
+
+ 添加分销员
+
+
+
+
+
+ 分销组
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+ 是否确认重置分销组 重置后将会按照用户的实际数据匹配分销组
+
+
+
+ 是否确认取消分销员
+
+
+
+
+
+
diff --git a/pageMarket/distribution/components/open-list.vue b/pageMarket/distribution/components/open-list.vue
new file mode 100644
index 0000000..4aef715
--- /dev/null
+++ b/pageMarket/distribution/components/open-list.vue
@@ -0,0 +1,254 @@
+
+
+
+
+
+ 订单号:
+ {{ item.orderNo }}
+
+
+ {{ item.createTime }}
+
+
+
+
+ 用户昵称
+
+ {{ item.nickName }}
+
+
+ {{ item.changeAmount }}
+
+
+
+
+
+
+
+
+
+
+
+
+ 分销组
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+ 是否确认重置分销组 重置后将会按照用户的实际数据匹配分销组
+
+
+
+ 是否确认取消分销员
+
+
+
+
+
+
diff --git a/pageMarket/distribution/index.vue b/pageMarket/distribution/index.vue
index 83e0124..cf98324 100644
--- a/pageMarket/distribution/index.vue
+++ b/pageMarket/distribution/index.vue
@@ -1,221 +1,444 @@
-
-
-
-
-
-
- {{selShop.shopName || "全部门店"}}
-
-
-
-
-
-
-
-
-
-
-
-
-
- 关联订单:{{ item.orderNo }}
-
- {{ item.shopName }}
- {{ item.createTime }}
-
-
- ID:{{ item.id }}
-
-
-
-
-
-
- 用户昵称
- {{ item.nickName }}
-
-
-
- 返现金额
- {{ item.cashbackAmount ||0 }}
-
-
- 支付金额
- {{ item.amount || 0 }}
-
-
-
-
+
+
+
+
+
+
+
+ 分销
+ 允许客户充值并使用余额支付
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ userComponentQuery.startTime }} -
+ {{ userComponentQuery.endTime }}
+
+
+
+ 请选择日期范围
+
+
+
+
+
+
+
+
+
+
+
+
+ 全部
+
+
+
+
+
+
+
+
+
+
+ {{ userComponentQuery.startTime }} -
+ {{ userComponentQuery.endTime }}
+
+
+
+ 请选择日期
+
+
+
+
+
+
+ {{ listRes.totalCount}}
+ 支付开通人数
+
+
+ {{ listRes.totalAmount}}
+ 支付开通人数
+
+
+
+
+ {{ listRes.successAmount}}
+ 已入账金额(元)
+
+
+ {{ listRes.pendingAmount||0}}
+ 待入账金额(元)
+
+
+ {{ listRes.balanceAmount}}
+
+ 运营余额(元)
+ 充值>
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
\ No newline at end of file
+.delete-btn {
+ background: #ffe7e6;
+ color: #ff1c1c;
+}
+.filter-box {
+ display: flex;
+ padding: 8rpx 24rpx;
+ align-items: center;
+ border-radius: 8rpx;
+ border: 2rpx solid #d9d9d9;
+ background: #f7f7f7;
+ min-height: 62rpx;
+ box-sizing: border-box;
+}
+
diff --git a/pageMarket/distribution/level-list.vue b/pageMarket/distribution/level-list.vue
new file mode 100644
index 0000000..045d9c8
--- /dev/null
+++ b/pageMarket/distribution/level-list.vue
@@ -0,0 +1,292 @@
+
+
+
+ 升级条件
+
+
+
+
+
+ {{ item.label }}
+
+
+
+
+
+
+
+
+ {{index+1}}级:{{ item.name }}
+
+ 展开
+
+
+
+
+
+
+
+ 名称
+
+
+
+
+ 分成比例
+
+
+
+ %
+
+
+
+ 有效人数
+
+
+
+ 人
+
+
+ 有效人数:被邀请人在店铺消费过,即有一笔订单完成
+
+
+
+ {{index==0? '添加':'继续添加'}}
+
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pageMarket/distribution/money-recoders.vue b/pageMarket/distribution/money-recoders.vue
new file mode 100644
index 0000000..1f63020
--- /dev/null
+++ b/pageMarket/distribution/money-recoders.vue
@@ -0,0 +1,328 @@
+
+
+
+
+
+
+
+ {{ selType.name }}
+
+
+ 全部
+
+
+
+
+
+
+
+
+
+
+ {{ query.startTime }} -
+ {{ query.endTime }}
+
+
+
+ 请选择日期
+
+
+
+
+
+
+ {{
+ state.totalRecharge
+ }}
+ 已充值金额(元)
+
+
+ {{
+ state.totalSub
+ }}
+ 已扣减金额(元)
+
+
+
+
+
+
+
+
+
+ {{ returnState(item.type) }}
+
+ {{ item.createTime }}
+
+
+
+ 关联订单:WX1987787224197300224
+
+
+
+
+ {{ item.changeAmount }}
+
+ 变动后:{{item.amount}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages.json b/pages.json
index bd10954..27ec6c6 100644
--- a/pages.json
+++ b/pages.json
@@ -93,8 +93,7 @@
"path": "pages/pay",
"pageId": "PAGES_PAY",
"style": {
- "navigationBarTitleText": "分销",
- "navigationStyle": "custom"
+ "navigationBarTitleText": "运营余额"
}
}
],
@@ -658,6 +657,24 @@
"path": "addCoupon/index",
"style": {
"navigationBarTitleText": "添加优惠券"
+ "pageId": "PAGES_DISTRIBUTION_LEVEL_LIST",
+ "path": "distribution/level-list",
+ "style": {
+ "navigationBarTitleText": "分销员等级"
+ }
+ },
+ {
+ "pageId": "PAGES_DISTRIBUTION_ADD_FENXIAO_USER",
+ "path": "distribution/add-fenxiao-user",
+ "style": {
+ "navigationBarTitleText": "添加分销员"
+ }
+ },
+ {
+ "pageId": "PAGES_DISTRIBUTION_MONEY_RECODERS",
+ "path": "distribution/money-recoders",
+ "style": {
+ "navigationBarTitleText": "运营余额"
}
}
]
diff --git a/pages/pay.vue b/pages/pay.vue
index f127d40..05aeec3 100644
--- a/pages/pay.vue
+++ b/pages/pay.vue
@@ -1,115 +1,105 @@
-
-
-
-
-
-
+
+
-
-
-
-
-
- 立即充值
+
+
+
+
+ 当前余额:{{distributionFlowRes.balanceAmount}}
+
+
+
+ 查看记录
-
- 充值代表接受
- 《用户隐私协议》
+
+ 选择金额
+
+
+
+ ¥
+ {{ item.price }}
+
+
+
+
+
+
+ 其他金额
+
+
+
-
- 选择金额
-
+
+
+ 立即充值
+
+
+
+
+
+ 充值记录
+
+
+
+
+ 总计:{{ state.totalRecharge || 0 }}元
+
+
+
+
-
- ¥
- {{
- item.price
- }}
-
-
-
-
-
-
- 其他金额
-
-
-
-
- 立即充值
-
-
-
-
-
- 充值记录
-
-
-
-
- 总计:{{ state.totalRecharge || 0 }}元
-
-
-
-
-
-
-
-
- 自助充值
- 手动充值
+
+
+
+ 自助充值
+ 手动充值
+
+
+ 时间:
+ {{ item.createTime }}
+
-
- 时间:
- {{ item.createTime }}
+
+ {{ item.changeAmount }}
+ 元
-
- {{ item.changeAmount }}
- 元
-
+
-
@@ -117,9 +107,11 @@