diff --git a/api/index.js b/api/index.js
index 49ce09b..1cbf0b7 100644
--- a/api/index.js
+++ b/api/index.js
@@ -39,6 +39,9 @@ import refund from "./interfaces/refund"
// 购物袋
import bag from "./interfaces/bag"
+// 增收赋能
+import empower from "./interfaces/empower"
+
export default {
auth,
bank,
@@ -51,5 +54,6 @@ export default {
idcard,
withdraw,
refund,
- bag
+ bag,
+ empower
}
\ No newline at end of file
diff --git a/api/interfaces/empower.js b/api/interfaces/empower.js
new file mode 100644
index 0000000..55a10b4
--- /dev/null
+++ b/api/interfaces/empower.js
@@ -0,0 +1,72 @@
+ /*
+ * 手太欠
+ * 愿这世界都如故事里一样 美好而动人~
+*/
+
+import { req } from "../request"
+
+//增收赋能
+const lists = () => req({
+ url: "empower/index"
+})
+
+//增收赋能-详情
+const info = (id) => req({
+ url: "empower/" + id + "/show"
+})
+
+//下单前置
+const buyInit = (id, data) => req({
+ url : "empower/" + id + "/buy/init",
+ method : "POST",
+ data : data
+})
+
+//下单购买
+const buy = (data) => req({
+ url : "empower/buy/order",
+ method : "POST",
+ data : data
+})
+
+// 订单列表初始化
+const orderInit = () => req({
+ url : "empower/order/init"
+})
+
+// 订单列表
+const orderList = (data) => req({
+ url : "empower/order/index",
+ data : data
+})
+
+// 取消订单
+const orderCancel = (order) => req({
+ url : "empower/order/" + order + "/cancel",
+})
+
+// 核验列表
+const codes = (data) => req({
+ url : "empower/code",
+ method : "POST",
+ data : data
+})
+
+// 确认核验
+const sign = (data) => req({
+ url : "empower/code/sign",
+ method : "POST",
+ data : data
+})
+
+export default ({
+ lists,
+ info,
+ buyInit,
+ buy,
+ orderInit,
+ orderList,
+ orderCancel,
+ codes,
+ sign
+})
\ No newline at end of file
diff --git a/api/request.js b/api/request.js
index baffe03..1916203 100644
--- a/api/request.js
+++ b/api/request.js
@@ -7,9 +7,9 @@ import { errInfo } from './err'
import { updToken } from './updateToken'
// 正式地址
-const api = "https://api.xuanhuojk.com/api/"
+// const api = "https://api.xuanhuojk.com/api/"
// 测试地址
-// const api = "https://api.xhtest.douhuofalv.com/api/"
+const api = "https://api.xhtest.douhuofalv.com/api/"
const header = {
"Accept" : "application/json"
}
diff --git a/app.json b/app.json
index 2c15622..7ff5b81 100644
--- a/app.json
+++ b/app.json
@@ -40,7 +40,12 @@
"pages/refund/logs/logs",
"pages/richText/richText",
"pages/bag/bag",
- "pages/bag/bagConfirm/bagConfirm"
+ "pages/bag/bagConfirm/bagConfirm",
+ "pages/empower/index",
+ "pages/empower/writeOff/writeOff",
+ "pages/empower/empowerInfo/empowerInfo",
+ "pages/empower/empowerBuy/empowerBuy",
+ "pages/empower/empowerOrder/empowerOrder"
],
"window": {
"backgroundTextStyle": "light",
diff --git a/pages/account/index.wxml b/pages/account/index.wxml
index ba22041..ed37d72 100644
--- a/pages/account/index.wxml
+++ b/pages/account/index.wxml
@@ -20,11 +20,18 @@
- 销售补贴考核进度
+
+ 销售补贴考核进度
+ ¥{{examine.amount}} 元
+
- {{examine.amount}}
+
+
+
+ 0
+ {{examine.need}}
+
+
+
+ {{empower.title}}
+ {{empower.sub_title}}
+ ¥{{empower.price}}
+
+
+
+ 报名人
+
+ 报名信息{{index + 1}}删除
+
+
+
+
+
+
+
+
+
+
+
+
+ {{semesters[item.index].title}}
+
+
+
+
+
+ 添加报名人
+
+
+
\ No newline at end of file
diff --git a/pages/empower/empowerBuy/empowerBuy.wxss b/pages/empower/empowerBuy/empowerBuy.wxss
new file mode 100644
index 0000000..75b10ae
--- /dev/null
+++ b/pages/empower/empowerBuy/empowerBuy.wxss
@@ -0,0 +1,190 @@
+.content {
+ background: #f7f8f9;
+ padding: 30rpx 30rpx 210rpx;
+ min-height: calc(100vh - 44px);
+ box-sizing: border-box;
+}
+
+/* 报名人信息 */
+.user-title {
+ padding-top: 30rpx;
+ font-size: 30rpx;
+ line-height: 40rpx;
+ color: gray;
+}
+
+.user-block {
+ background: white;
+ margin-top: 30rpx;
+ border-radius: 20rpx;
+ padding: 20rpx 30rpx;
+}
+
+.user-block-flex {
+ display: flex;
+ justify-content: space-between;
+ height: 90rpx;
+ align-items: center;
+ font-size: 30rpx;
+ color: gray;
+}
+
+.user-block-remove {
+ color: #da2b56;
+ line-height: 90rpx;
+}
+
+.user-block-input {
+ display: flex;
+ justify-content: space-between;
+ height: 90rpx;
+ align-items: center;
+ flex-wrap: wrap;
+}
+
+label {
+ font-size: 32rpx;
+ width: 200rpx;
+}
+
+picker,
+input {
+ width: calc(100% - 200rpx);
+ font-size: 32rpx;
+}
+
+picker {
+ position: relative;
+}
+
+.user-block-picker {
+ padding-right: 30rpx;
+ box-sizing: border-box;
+ position: relative;
+ width: calc(100% - 42rpx);
+ display: inline-block;
+}
+
+.picker-icon {
+ width: 42rpx;
+ height: 42rpx;
+}
+
+.user-add {
+ text-align: center;
+ background: white;
+ border-radius: 20rpx;
+ margin-top: 30rpx;
+ display: flex;
+ align-items: center;
+ height: 120rpx;
+ justify-content: center;
+ color: #da2b56;
+ font-size: 32rpx;
+}
+
+.user-add image {
+ width: 38rpx;
+ height: 38rpx;
+ margin-right: 15rpx;
+}
+
+/* 报名课程信息 */
+.info {
+ display: flex;
+ background: white;
+ padding: 30rpx;
+ border-radius: 20rpx;
+ flex-wrap: wrap;
+ justify-content: space-between;
+}
+
+.info-cover {
+ width: 180rpx;
+ height: 180rpx;
+ border-radius: 10rpx;
+}
+
+.info-text {
+ width: calc(100% - 210rpx);
+}
+
+.info-title {
+ font-size: 38rpx;
+ font-weight: bold;
+ line-height: 50rpx;
+ height: 50rpx;
+}
+
+.info-subtitle {
+ line-height: 40rpx;
+ height: 80rpx;
+ font-size: 30rpx;
+}
+
+.info-price {
+ font-weight: bold;
+ color: #da2b56;
+ font-size: 42rpx;
+ font-family: Arial, Helvetica, sans-serif;
+ line-height: 50rpx;
+ height: 50rpx;
+}
+
+.info-price text {
+ font-size: 80%;
+ margin-right: 5rpx;
+}
+
+/* 底部 */
+.footer {
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ padding: 30rpx 30rpx 50rpx;
+ display: flex;
+ flex-wrap: wrap;
+ align-items: center;
+ z-index: 99;
+ box-shadow: 0 0 10rpx 10rpx rgba(0, 0, 0, .04);
+ background: white;
+}
+
+.footer-text {
+ width: 200rpx;
+ margin-right: 30rpx;
+ flex: 1;
+}
+
+.footer-text-price {
+ font-weight: bold;
+ color: #da2b56;
+ font-size: 40rpx;
+}
+
+.footer-text-price text {
+ font-size: 80%;
+ margin-right: 5rpx;
+}
+
+.footer-text-subtitle {
+ font-size: 28rpx;
+ color: gray;
+}
+
+.footer-btn {
+ background: #da2b56;
+ color: white;
+ line-height: 100rpx;
+ border-radius: 50rpx;
+ flex: 1;
+ text-align: center;
+ font-weight: bold;
+ font-size: 36rpx;
+ padding: 0 80rpx;
+}
+
+.footer-btn::after {
+ display: none;
+}
\ No newline at end of file
diff --git a/pages/empower/empowerInfo/empowerInfo.js b/pages/empower/empowerInfo/empowerInfo.js
new file mode 100644
index 0000000..a8505ee
--- /dev/null
+++ b/pages/empower/empowerInfo/empowerInfo.js
@@ -0,0 +1,75 @@
+/*
+ * 手太欠
+ * 愿这世界都如故事里一样 美好而动人~
+*/
+
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ empowerId : '', //增收赋能id
+ id : '',
+ cover : '',
+ title : '',
+ subtitle : '',
+ price : '0.00',
+ semester : null,
+ count : {},
+ content : []
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad(options) {
+ this.setData({
+ empowerId: options.id
+ })
+ this.indexInfo(options.id)
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow() {},
+
+ /**
+ * 增收赋能-详情
+ */
+ indexInfo(id) {
+ wx.$api.empower.info(id).then(res => {
+ console.log(res.data)
+ let { cover, title, subtitle, price, semester_current, count, content, id } = res.data;
+ this.setData({
+ id : id,
+ cover : cover,
+ title : title,
+ subtitle : subtitle,
+ price : price,
+ semester : semester_current,
+ count : count,
+ content : content.replace(/\
{})
+ },
+
+ /**
+ * 增收赋能-立即购买
+ */
+ onBuy(){
+ if(this.data.count.ing <= 0){
+ wx.showToast({
+ title: '暂无可报名学期',
+ icon : 'none'
+ })
+ return
+ }
+
+ wx.navigateTo({
+ url: "/pages/empower/empowerBuy/empowerBuy?id=" + this.data.id
+ })
+ }
+})
\ No newline at end of file
diff --git a/pages/empower/empowerInfo/empowerInfo.json b/pages/empower/empowerInfo/empowerInfo.json
new file mode 100644
index 0000000..3928faa
--- /dev/null
+++ b/pages/empower/empowerInfo/empowerInfo.json
@@ -0,0 +1,3 @@
+{
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/pages/empower/empowerInfo/empowerInfo.wxml b/pages/empower/empowerInfo/empowerInfo.wxml
new file mode 100644
index 0000000..6a813db
--- /dev/null
+++ b/pages/empower/empowerInfo/empowerInfo.wxml
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+ {{ title }}
+ {{ subtitle }}
+
+
+
+ {{count.all || '-'}}期
+
+
+
+ {{count.over || 0}}期
+
+
+
+ {{semester.time.start || '-'}}
+
+
+
+ ¥{{semester.price || '0.00'}}
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/empower/empowerInfo/empowerInfo.wxss b/pages/empower/empowerInfo/empowerInfo.wxss
new file mode 100644
index 0000000..5d3fbbd
--- /dev/null
+++ b/pages/empower/empowerInfo/empowerInfo.wxss
@@ -0,0 +1,104 @@
+.content {
+ padding-bottom: 180rpx;
+}
+
+/* 封面图 */
+.cover {
+ position: relative;
+ padding-top: 70%;
+ background: #f7f8f9;
+}
+
+.cover-src {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+}
+
+/* 信息 */
+.info {
+ padding: 40rpx;
+}
+
+.info-title {
+ font-weight: bold;
+ font-size: 50rpx;
+ margin-bottom: 20rpx;
+ line-height: 65rpx;
+ color: #333;
+ text-align: justify;
+}
+
+.info-subtitle {
+ font-size: 30rpx;
+ line-height: 50rpx;
+ margin-bottom: 40rpx;
+ color: #333;
+ text-align: justify;
+}
+
+.info-info {
+ background: #f7f8f9;
+ padding: 0 30rpx;
+ font-size: 30rpx;
+ border-radius: 20rpx;
+}
+
+.info-info-item {
+ padding: 30rpx 0;
+ line-height: 40rpx;
+ display: flex;
+ justify-content: space-between;
+}
+
+label {
+ font-weight: bold;
+ width: 170rpx;
+}
+
+.info-info-item:last-child::after {
+ display: none;
+}
+
+.info-value {
+ width: calc(100% - 170rpx);
+ text-align: right;
+ font-family: Arial, Helvetica, sans-serif;
+}
+
+.info-value.price {
+ font-weight: bold;
+ color: #da2b56;
+}
+
+/* 底部 */
+.footer {
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ padding: 30rpx 30rpx 50rpx;
+ display: flex;
+ flex-wrap: wrap;
+ align-items: center;
+ z-index: 99;
+ background-color: white;
+ box-shadow: 0 0 10rpx 10rpx rgba(0, 0, 0, .04);
+}
+
+.footer-btn {
+ background: #da2b56;
+ color: white;
+ line-height: 100rpx;
+ border-radius: 50rpx;
+ flex: 1;
+ text-align: center;
+ font-weight: bold;
+ font-size: 36rpx;
+}
+
+.footer-btn.in {
+ opacity: .6;
+}
\ No newline at end of file
diff --git a/pages/empower/empowerOrder/empowerOrder.js b/pages/empower/empowerOrder/empowerOrder.js
new file mode 100644
index 0000000..8eea376
--- /dev/null
+++ b/pages/empower/empowerOrder/empowerOrder.js
@@ -0,0 +1,178 @@
+/*
+ * 手太欠
+ * 愿这世界都如故事里一样 美好而动人~
+*/
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ statusArr : [{ title: '全部订单', id: '' }],
+ empowerArr : [{ title: '全部课程', id: '' }],
+ statusIndex : 0,
+ empowerIndex: 0,
+ // 报名信息
+ users : [],
+ usersTotal : 0,
+ usersShow : false,
+ // 订单列表
+ orders : [],
+ // 分页
+ page : {}, // 分页信息
+ lodingStats : false,// 加载状态
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad(options) {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow() {
+ wx.$api.empower.orderInit().then(res => {
+ let { status, empower } = res.data;
+ this.setData({
+ statusArr : status,
+ empowerArr : [...this.data.empowerArr, ...empower]
+ })
+ // 获取列表
+ this.getList()
+ }).catch(err => {})
+ },
+
+ // 筛选类型
+ onPickerChange(e){
+ this.setData({
+ statusIndex: e.detail.value
+ })
+ this.getList()
+ },
+
+ // 筛选类型-课程
+ onPickerClass(e){
+ this.setData({
+ empowerIndex: e.detail.value
+ })
+ this.getList()
+ },
+
+ /**
+ * 获取列表
+ */
+ getList(page) {
+ wx.$api.empower.orderList({
+ page : page || 1,
+ status : this.data.statusArr[this.data.statusIndex].id,
+ empower : this.data.empowerArr[this.data.empowerIndex].id
+ }).then(res => {
+ let listArr = this.data.orders,
+ newData = []
+ if(page == 1 || page == undefined) listArr = []
+ newData = listArr.concat(res.data.data)
+ newData.map(val => {
+ val.is_show_type = false
+ })
+ this.setData({
+ orders : newData,
+ page : res.data.page,
+ lodingStats : false
+ })
+ wx.stopPullDownRefresh()
+ }).catch(err => {})
+ },
+
+ /**
+ * 课程数量
+ */
+ typeTap(e) {
+ let index = e.currentTarget.dataset.index
+ this.setData({
+ [`orders[${index}].is_show_type`]: !this.data.orders[index].is_show_type
+ });
+ },
+
+ /**
+ * 报名信息
+ */
+ onShowUsers(val) {
+ let { count, lists } = val.currentTarget.dataset.items
+ this.setData({
+ users : lists,
+ usersTotal : count,
+ usersShow : true
+ })
+ },
+
+ /**
+ * 报名信息弹出关闭
+ */
+ usersHide() {
+ this.setData({
+ usersShow: false
+ })
+ },
+
+ /**
+ * 取消订单
+ */
+ onCancel(e){
+ let id = e.currentTarget.dataset.id
+ wx.showModal({
+ title : '提示',
+ content : '取消订单后无法找回,确认取消吗?',
+ success : modalRes => {
+ if(modalRes.confirm){
+ wx.showLoading({
+ title: '加载中...',
+ mask : true
+ })
+ wx.$api.empower.orderCancel(id).then(res => {
+ wx.showToast({
+ title: '订单已取消',
+ icon : 'none'
+ })
+ this.getList()
+ }).catch(err => {})
+ }
+ }
+ })
+ },
+
+ /**
+ * 支付
+ */
+ onPay(e){
+ let data = e.currentTarget.dataset.item
+ wx.redirectTo({
+ url: '/pages/pay/index?params=' + encodeURIComponent(JSON.stringify(data))
+ })
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh() {
+ // 获取订单列表
+ this.getList()
+ },
+
+ /**
+ * 上拉加载
+ */
+ onReachBottom(){
+ this.setData({
+ lodingStats: true
+ })
+ let pageNumber = this.data.page.current
+ if(this.data.page.has_more){
+ pageNumber++
+ // 获取订单列表
+ this.getList(pageNumber)
+ }
+ },
+})
\ No newline at end of file
diff --git a/pages/empower/empowerOrder/empowerOrder.json b/pages/empower/empowerOrder/empowerOrder.json
new file mode 100644
index 0000000..3928faa
--- /dev/null
+++ b/pages/empower/empowerOrder/empowerOrder.json
@@ -0,0 +1,3 @@
+{
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/pages/empower/empowerOrder/empowerOrder.wxml b/pages/empower/empowerOrder/empowerOrder.wxml
new file mode 100644
index 0000000..219b318
--- /dev/null
+++ b/pages/empower/empowerOrder/empowerOrder.wxml
@@ -0,0 +1,98 @@
+
+
+
+
+
+
+ {{ statusArr[statusIndex].title }}
+
+
+
+
+
+
+ {{ empowerArr[empowerIndex].title }}
+
+
+
+
+
+
+
+
+
+ 客户
+ 个人
+ {{item.order_no}}
+
+ {{item.status_text}}
+
+
+
+
+ {{item.empower.title}}
+
+
+
+
+ ×{{item.items.count}}
+
+
+
+
+ {{citem.semester.subtitle}}({{citem.name}})
+ ¥{{citem.price}}
+
+
+
+
+ ¥{{item.price}}
+
+
+
+ {{item.created_at}}
+
+
+
+ {{item.paid_at}}
+
+
+
+
+ 取消
+ 支付
+ 报名信息
+
+
+
+
+
+
+ 加载中...
+
+
+ 没有更多了~
+
+
+
+
+
+
+ 暂无数据
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/empower/empowerOrder/empowerOrder.wxss b/pages/empower/empowerOrder/empowerOrder.wxss
new file mode 100644
index 0000000..d3f46ab
--- /dev/null
+++ b/pages/empower/empowerOrder/empowerOrder.wxss
@@ -0,0 +1,271 @@
+.content {
+ background: #f7f8f9;
+ min-height: calc(100vh - 44px);
+}
+
+/* 订单弹出层 */
+.users-back {
+ position: fixed;
+ height: 100vh;
+ width: 100%;
+ left: 0;
+ bottom: 0;
+ z-index: 100;
+ background-color: rgba(0, 0, 0, .4);
+ display: none;
+}
+
+.users-back.active {
+ display: block;
+}
+
+.users-content {
+ position: fixed;
+ height: 80vh;
+ width: 100%;
+ left: 0;
+ bottom: 0;
+ z-index: 101;
+ background-color: white;
+ display: none;
+}
+
+.users-content.active {
+ display: block;
+}
+
+.users-title {
+ text-align: center;
+ font-weight: bold;
+ font-size: 40rpx;
+ color: #333;
+ height: 70rpx;
+ line-height: 70rpx;
+ padding: 30rpx;
+ position: relative;
+}
+
+.users-content-icon {
+ position: absolute;
+ right: 30rpx;
+ top: 44rpx;
+ width: 40rpx;
+ height: 40rpx;
+}
+
+.users-lists {
+ padding: 0 30rpx 50rpx;
+ max-height: 70vh;
+ overflow-y: scroll;
+}
+
+.users-lists-item {
+ background: #f7f8f9;
+ padding: 30rpx;
+ border-radius: 20rpx;
+ font-size: 30rpx;
+ margin-bottom: 30rpx;
+}
+
+.users-item {
+ position: relative;
+ line-height: 45rpx;
+ min-height: 45rpx;
+ padding-left: 160rpx;
+ margin: 5rpx 0;
+ text-align: right;
+}
+
+.users-item label {
+ position: absolute;
+ left: 0;
+ top: 0;
+ color: gray;
+}
+
+.users-item .bold {
+ font-weight: bold;
+ color: #da2b56;
+}
+
+/* 订单筛选 */
+.screen-flex {
+ display: flex;
+ flex-wrap: wrap;
+ position: fixed;
+ width: 100%;
+ left: 0;
+ top: 0;
+ height: 90rpx;
+ background-color: white;
+ z-index: 99;
+}
+
+.screen-picker {
+ width: 50%;
+ text-align: center;
+}
+
+.screen-text {
+ line-height: 90rpx;
+ height: 90rpx;
+ display: inline-block;
+ font-size: 30rpx;
+}
+
+.screen-icon {
+ margin-left: 5rpx;
+ width: 34rpx;
+ height: 34rpx;
+ vertical-align: -6rpx;
+}
+
+/* 订单为空 */
+.order-null {
+ height: 80vh;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+/* 订单列表 */
+.orders {
+ padding: 30rpx 0 10rpx;
+ margin-top: 90rpx;
+}
+
+.orders-item {
+ margin: 0 30rpx 20rpx;
+ background-color: white;
+ border-radius: 20rpx;
+}
+
+.orders-content {
+ padding: 20rpx 30rpx;
+}
+
+.orders-content-item {
+ line-height: 70rpx;
+ display: flex;
+ justify-content: space-between;
+ font-size: 30rpx;
+ color: #111111;
+}
+
+.orders-content-item label {
+ color: #999999;
+}
+
+.orders-content .orders-content-bottom {
+ padding-right: 30rpx;
+ position: relative;
+}
+
+.orders-content-type {
+ display: flex;
+}
+
+.orders-content-icon {
+ width: 20rpx;
+ height: 20rpx;
+ margin-top: 26rpx;
+ transition: .3s;
+}
+
+.orders-content-icon.active {
+ transform: rotate(90deg);
+}
+
+.orders-content-icon {
+ position: absolute;
+ right: 0;
+ top: 0;
+}
+
+.orders-content-block {
+ background: rgba(68, 110, 254, .03);
+ padding: 20rpx;
+ font-size: 28rpx;
+ border-radius: 10rpx;
+ margin: 10rpx 0;
+}
+
+.item-flex {
+ display: flex;
+ justify-content: space-between;
+ line-height: 50rpx;
+}
+
+.orders-flex {
+ border-bottom: solid 1rpx #F6F6F6;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ padding: 20rpx 30rpx;
+}
+
+.orders-flex:last-child {
+ border-top: solid 1rpx #F6F6F6;
+ border-bottom: none;
+}
+
+.orders-tag {
+ display: inline-block;
+ background: #da2b56;
+ font-size: 26rpx;
+ color: white;
+ border-radius: 10rpx;
+ padding: 0 10rpx;
+ height: 40rpx;
+ line-height: 40rpx;
+ margin-right: 10rpx;
+}
+
+.orders-tag.order-tag-my {
+ background: #da2b56;
+}
+
+.no {
+ font-size: 30rpx;
+ color: #111;
+ line-height: 60rpx;
+ width: calc(100% - 150rpx);
+}
+
+.state {
+ color: #da2b56;
+ font-weight: bold;
+ font-size: 30rpx;
+ line-height: 60rpx;
+ width: 150rpx;
+ text-align: right;
+}
+
+.btns {
+ text-align: right;
+ width: 100%;
+}
+
+.btns-item {
+ display: inline-block;
+ height: 70rpx;
+ line-height: 70rpx;
+ background: #da2b56;
+ color: white;
+ border-radius: 35rpx;
+ padding: 0 30rpx;
+ font-size: 30rpx;
+}
+
+.btns-item.btns-border {
+ line-height: 68rpx;
+ box-sizing: border-box;
+ border: solid 1rpx #da2b56;
+ background: white;
+ color: #da2b56;
+ margin-right: 20rpx;
+}
+
+.pack-center {
+ z-index: 0;
+}
\ No newline at end of file
diff --git a/pages/empower/index.js b/pages/empower/index.js
new file mode 100644
index 0000000..735cf93
--- /dev/null
+++ b/pages/empower/index.js
@@ -0,0 +1,66 @@
+// pages/empower/index.js
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad(options) {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage() {
+
+ }
+})
\ No newline at end of file
diff --git a/pages/empower/index.json b/pages/empower/index.json
new file mode 100644
index 0000000..3928faa
--- /dev/null
+++ b/pages/empower/index.json
@@ -0,0 +1,3 @@
+{
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/pages/empower/index.wxml b/pages/empower/index.wxml
new file mode 100644
index 0000000..ac5d2c6
--- /dev/null
+++ b/pages/empower/index.wxml
@@ -0,0 +1,2 @@
+
+pages/empower/index.wxml
diff --git a/pages/empower/index.wxss b/pages/empower/index.wxss
new file mode 100644
index 0000000..c129eeb
--- /dev/null
+++ b/pages/empower/index.wxss
@@ -0,0 +1 @@
+/* pages/empower/index.wxss */
\ No newline at end of file
diff --git a/pages/empower/writeOff/writeOff.js b/pages/empower/writeOff/writeOff.js
new file mode 100644
index 0000000..c1db17d
--- /dev/null
+++ b/pages/empower/writeOff/writeOff.js
@@ -0,0 +1,76 @@
+/*
+ * 手太欠
+ * 愿这世界都如故事里一样 美好而动人~
+*/
+
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ popupShow : false,
+ code : '',
+ vouchers : [],
+ layIndex : 0
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad(options) {
+ this.setData({
+ code: options.scene
+ })
+ this.codesInfo();
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow() {},
+
+ /**
+ * 核销列表
+ */
+ codesInfo() {
+ wx.$api.empower.codes({
+ code: this.data.code
+ }).then(res => {
+ this.setData({
+ vouchers: res.data
+ })
+ }).catch(err => {})
+ },
+
+ /**
+ * 报名信息弹出关闭
+ */
+ usersHide() {
+ this.setData({
+ popupShow: false
+ })
+ },
+
+ // 显示确认弹出层
+ onShowLay(e){
+ let index = e.currentTarget.dataset.index
+ this.setData({
+ layIndex : index,
+ popupShow: true
+ })
+ },
+
+ // 签到
+ onSign(e){
+ let id = e.currentTarget.dataset.id
+ wx.$api.empower.sign({
+ item_id: id
+ }).then(res => {
+ this.setData({
+ popupShow: false
+ })
+ this.codesInfo();
+ }).catch(err => { })
+ }
+})
\ No newline at end of file
diff --git a/pages/empower/writeOff/writeOff.json b/pages/empower/writeOff/writeOff.json
new file mode 100644
index 0000000..3928faa
--- /dev/null
+++ b/pages/empower/writeOff/writeOff.json
@@ -0,0 +1,3 @@
+{
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/pages/empower/writeOff/writeOff.wxml b/pages/empower/writeOff/writeOff.wxml
new file mode 100644
index 0000000..3008a30
--- /dev/null
+++ b/pages/empower/writeOff/writeOff.wxml
@@ -0,0 +1,72 @@
+
+
+
+
+
+
+ {{item.empower.title}}(第{{item.semester.no}}期)
+ 报名人:{{item.name}}
+ 有效期:{{item.semester.end}}
+
+
+ {{item.can_sign ? '立即使用': '查看凭证'}}
+
+
+
+
+
+ 暂无数据
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/empower/writeOff/writeOff.wxss b/pages/empower/writeOff/writeOff.wxss
new file mode 100644
index 0000000..7d4cc7e
--- /dev/null
+++ b/pages/empower/writeOff/writeOff.wxss
@@ -0,0 +1,194 @@
+page {
+ background-color: #f7f7f7;
+ padding: 30rpx;
+ box-sizing: border-box;
+}
+
+/* 票券 */
+.vouchers {
+ background: white;
+ border-radius: 20rpx;
+ margin-bottom: 30rpx;
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: space-between;
+ align-items: center;
+ position: relative;
+}
+
+.vouchers-icon {
+ position: absolute;
+ width: 100rpx;
+ height: 100rpx;
+ z-index: 1;
+ top: 15%;
+ left: 53%;
+ opacity: .5;
+}
+
+.vouchers-info {
+ position: relative;
+ padding: 20rpx 30rpx;
+ font-size: 28rpx;
+ border-right: dashed 2rpx #ddd;
+ width: calc(100% - 200rpx);
+ box-sizing: border-box;
+}
+
+.vouchers-info::after,
+.vouchers-info::before {
+ content: " ";
+ height: 22rpx;
+ width: 22rpx;
+ background: #f7f7f7;
+ position: absolute;
+ right: -11rpx;
+ border-radius: 50%;
+}
+
+.vouchers-info::after {
+ top: -11rpx;
+}
+
+.vouchers-info::before {
+ bottom: -11rpx;
+}
+
+.vouchers-info-item {
+ line-height: 40rpx;
+ font-size: 26rpx;
+ color: gray;
+}
+
+.vouchers-info-item.bold {
+ font-weight: bold;
+}
+
+.vouchers-info-item.title {
+ font-size: 30rpx;
+ margin-bottom: 10rpx;
+ font-weight: bold;
+ color: #333;
+}
+
+.vouchers-btns {
+ width: 200rpx;
+ text-align: center;
+}
+
+.vouchers-btn {
+ background: #da2b56;
+ color: white;
+ line-height: 60rpx;
+ border-radius: 30rpx;
+ width: 150rpx;
+ font-size: 26rpx;
+ display: inline-block;
+}
+
+/* 核销凭证弹出层 */
+.lay-back {
+ top: 0;
+ left: 0;
+ position: fixed;
+ width: 100vw;
+ height: 100vh;
+ z-index: 998;
+ background-color: rgba(0, 0, 0, .5);
+ display: none;
+}
+
+.lay-back.active {
+ display: block;
+}
+
+.lay-info {
+ width: 100vw;
+ box-sizing: border-box;
+ padding-bottom: 50rpx;
+ position: fixed;
+ left: 0;
+ bottom: 0;
+ z-index: 999;
+ background-color: #ffffff;
+ display: none;
+ transition: .2s;
+ height: 65vh;
+ overflow-y: scroll;
+}
+
+.lay-info.active {
+ display: block;
+}
+
+.lay-title {
+ font-size: 40rpx;
+ font-weight: bold;
+ text-align: center;
+ color: #333;
+ line-height: 60rpx;
+ padding: 50rpx;
+ position: relative;
+}
+
+.lay-title-icon {
+ position: absolute;
+ right: 30rpx;
+ top: 44rpx;
+ width: 40rpx;
+ height: 40rpx;
+}
+
+.lay-content {
+ padding: 0 40rpx;
+}
+
+.lay-item {
+ display: flex;
+ justify-content: space-between;
+ font-size: 30rpx;
+ padding: 10rpx 0;
+ line-height: 40rpx;
+}
+
+.lay-item label {
+ color: gray;
+ width: 160rpx;
+}
+
+.lay-item-val {
+ width: calc(100% - 160rpx);
+}
+
+.lay-item-val.bold {
+ color: #da2b56;
+ font-weight: bold;
+}
+
+.lay-border {
+ border-bottom: dashed 2rpx #ddd;
+ margin: 40rpx 0;
+}
+
+.lay-btns {
+ padding: 40rpx;
+}
+
+button.lay-btn {
+ width: 100%;
+ margin: 0;
+ background: #da2b56;
+ color: white;
+ height: 90rpx;
+ line-height: 90rpx;
+ padding: 0;
+ border-radius: 45rpx;
+}
+
+button.lay-btn ::after {
+ display: none;
+}
+
+button.lay-btn [disabled] {
+ opacity: .7;
+}
\ No newline at end of file
diff --git a/pages/mall/details/details.js b/pages/mall/details/details.js
index 2abd78f..fc70dfc 100644
--- a/pages/mall/details/details.js
+++ b/pages/mall/details/details.js
@@ -88,8 +88,8 @@ Page({
mask : true
})
wx.request({
- // url : 'https://api.xhtest.douhuofalv.com/api/mall/goods/' + this.data.goodsId,
- url : 'https://api.xuanhuojk.com/api/mall/goods/' + this.data.goodsId,
+ url : 'https://api.xhtest.douhuofalv.com/api/mall/goods/' + this.data.goodsId,
+ // url : 'https://api.xuanhuojk.com/api/mall/goods/' + this.data.goodsId,
header : {
"Accept" : "application/json",
"channel" : "client",
@@ -138,9 +138,12 @@ Page({
this.setData({
[temp1]: valueid
})
+
let newlist = []
let str = ''
for (var i in this.data.specselect) {
+ console.log(this.data.specselect)
+
if (i == index) {
newlist.push(valueid);
if (i == 0) {
@@ -164,6 +167,8 @@ Page({
})
break;
}
+
+ console.log(this.data.selectSkusValues)
}
this.setData({
specselect: newlist
diff --git a/pages/mall/index.js b/pages/mall/index.js
index 09c4da2..fdead08 100644
--- a/pages/mall/index.js
+++ b/pages/mall/index.js
@@ -19,6 +19,8 @@ Page({
buy_sku_id : false,// 身份包产品
can_buy : false,// 是否可购买
certification : false,// 是否已认证
+
+ empowerArr : [] // 增收赋能
},
/**
@@ -55,6 +57,20 @@ Page({
// 获取身份包产品
this.getidpackage()
+
+ // 增收赋能接口
+ this.getEmpower()
+ },
+
+ /**
+ * 增收赋能接口
+ */
+ getEmpower(){
+ wx.$api.empower.lists().then(res => {
+ this.setData({
+ empowerArr: res.data
+ })
+ })
},
/**
@@ -188,6 +204,21 @@ Page({
url: "/pages/login/index"
})
},
+
+ /**
+ * 查看增收赋能详情
+ */
+ onEmpower(e){
+ if(wx.getStorageSync("token") != ''){
+ wx.navigateTo({
+ url: '/pages/empower/empowerInfo/empowerInfo?id=' + e.currentTarget.dataset.id
+ })
+ return
+ }
+ wx.navigateTo({
+ url: "/pages/login/index"
+ })
+ },
/**
* 页面相关事件处理函数--监听用户下拉动作
diff --git a/pages/mall/index.wxml b/pages/mall/index.wxml
index 7e00be3..a95990c 100644
--- a/pages/mall/index.wxml
+++ b/pages/mall/index.wxml
@@ -117,6 +117,7 @@
+
@@ -137,7 +138,7 @@
加载中...
- 没有更多了~
+
@@ -145,4 +146,21 @@
暂无商品
+
+
+
+
+
+ 增收赋能类
+
+
+
+
+
+ {{item.title}}
+ {{item.sub_title}}
+ ¥{{item.price}}/年
+
+
+
\ No newline at end of file
diff --git a/pages/mall/index.wxss b/pages/mall/index.wxss
index fa5a443..cfdf4d1 100644
--- a/pages/mall/index.wxss
+++ b/pages/mall/index.wxss
@@ -266,6 +266,7 @@ page {
.goodsList {
flex-wrap: wrap;
justify-content: flex-start;
+ margin: 0 -10rpx;
}
.goodsItem {
@@ -330,4 +331,55 @@ page {
border-radius: 20rpx;
padding: 30rpx 30rpx 60rpx;
box-sizing: border-box;
+}
+
+/* 增收赋能 */
+.module {
+ padding: 30rpx;
+ box-sizing: border-box;
+}
+
+.module-title {
+ margin-bottom: 20rpx;
+ color: #000000;
+ font-size: 32rpx;
+ font-weight: 600;
+}
+
+.enable-label {
+ background-color: #ffffff;
+ padding: 20rpx;
+ box-sizing: border-box;
+ border-radius: 20rpx;
+ position: relative;
+ margin-bottom: 30rpx;
+}
+
+.enable-img {
+ width: 200rpx;
+ border-radius: 20rpx;
+}
+
+.enable-cont {
+ position: absolute;
+ left: 0;
+ top: 0;
+ padding: 20rpx 20rpx 20rpx 240rpx;
+ box-sizing: border-box;
+}
+
+.enable-title {
+ font-size: 34rpx;
+ margin: 10rpx 0 15rpx;
+}
+
+.enable-price {
+ font-size: 36rpx;
+ color: #f0115c;
+ font-weight: 600;
+}
+
+.enable-text {
+ color: #999999;
+ margin: 10rpx 0 40rpx;
}
\ No newline at end of file
diff --git a/pages/pay/index.js b/pages/pay/index.js
index 7c37f6f..4b975a2 100644
--- a/pages/pay/index.js
+++ b/pages/pay/index.js
@@ -75,6 +75,14 @@ Page({
loding: false
})
break;
+ default:
+ wx.showToast({
+ title: '请选择支付',
+ icon : 'none'
+ })
+ this.setData({
+ loding: false
+ })
}
},
/**
diff --git a/pages/sign/sign.js b/pages/sign/sign.js
index 23f2024..370adb4 100644
--- a/pages/sign/sign.js
+++ b/pages/sign/sign.js
@@ -1,66 +1,65 @@
-// pages/sign/sign.js
Page({
- /**
- * 页面的初始数据
- */
- data: {
+ /**
+ * 页面的初始数据
+ */
+ data: {
+
+ },
- },
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad: function (options) {
+
+ },
- /**
- * 生命周期函数--监听页面加载
- */
- onLoad(options) {
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady: function () {
+
+ },
- },
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow: function () {
+
+ },
- /**
- * 生命周期函数--监听页面初次渲染完成
- */
- onReady() {
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide: function () {
+
+ },
- },
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload: function () {
+
+ },
- /**
- * 生命周期函数--监听页面显示
- */
- onShow() {
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh: function () {
+
+ },
- },
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom: function () {
+
+ },
- /**
- * 生命周期函数--监听页面隐藏
- */
- onHide() {
-
- },
-
- /**
- * 生命周期函数--监听页面卸载
- */
- onUnload() {
-
- },
-
- /**
- * 页面相关事件处理函数--监听用户下拉动作
- */
- onPullDownRefresh() {
-
- },
-
- /**
- * 页面上拉触底事件的处理函数
- */
- onReachBottom() {
-
- },
-
- /**
- * 用户点击右上角分享
- */
- onShareAppMessage() {
-
- }
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage: function () {
+
+ }
})
\ No newline at end of file
diff --git a/pages/sign/sign.wxml b/pages/sign/sign.wxml
index 60eb05e..8dcff42 100644
--- a/pages/sign/sign.wxml
+++ b/pages/sign/sign.wxml
@@ -1,2 +1 @@
-
-pages/sign/sign.wxml
+
\ No newline at end of file
diff --git a/pages/sign/sign.wxss b/pages/sign/sign.wxss
index 5b1ccef..e69de29 100644
--- a/pages/sign/sign.wxss
+++ b/pages/sign/sign.wxss
@@ -1 +0,0 @@
-/* pages/sign/sign.wxss */
\ No newline at end of file
diff --git a/pages/user/index.wxml b/pages/user/index.wxml
index 7173c5f..b8cc959 100644
--- a/pages/user/index.wxml
+++ b/pages/user/index.wxml
@@ -89,6 +89,13 @@
+
+
+ 增收赋能类
+
+ {{userData.empower.count}}
+
+
我的账户
diff --git a/pages/user/index.wxss b/pages/user/index.wxss
index 9778411..ccd9b43 100644
--- a/pages/user/index.wxss
+++ b/pages/user/index.wxss
@@ -130,6 +130,12 @@ page {
border: 4rpx solid #ffffff;
}
+.tool--number {
+ border-radius: 30rpx;
+ padding: 0 8rpx;
+ right: 30rpx;
+}
+
.parent-user {
display: flex;
padding: 30rpx;
diff --git a/project.private.config.json b/project.private.config.json
index 9cb3045..0bffeb5 100644
--- a/project.private.config.json
+++ b/project.private.config.json
@@ -10,15 +10,15 @@
"list": [
{
"name": "购物车",
- "pathName": "pages/bag/bag",
+ "pathName": "pages/empower/writeOff/writeOff",
"query": "",
"launchMode": "default",
"scene": null
},
{
- "name": "朋友圈进入详情",
- "pathName": "pages/mall/details/details",
- "query": "id=3&invite=null",
+ "name": "提现",
+ "pathName": "pages/empower/writeOff/writeOff",
+ "query": "",
"launchMode": "default",
"scene": 1084
},
diff --git a/static/icons/empowerArrow.png b/static/icons/empowerArrow.png
new file mode 100644
index 0000000..8cff5d1
Binary files /dev/null and b/static/icons/empowerArrow.png differ
diff --git a/static/icons/sign.png b/static/icons/sign.png
new file mode 100644
index 0000000..79cc822
Binary files /dev/null and b/static/icons/sign.png differ
diff --git a/static/imgs/tool_00.png b/static/imgs/tool_00.png
new file mode 100644
index 0000000..fbd287c
Binary files /dev/null and b/static/imgs/tool_00.png differ