|
@@ -14,7 +14,7 @@
|
|
|
</view>
|
|
|
<view class="exchange-btn" @click="showExchangePopup">兑换</view>
|
|
|
</view>
|
|
|
- <view class="bean-number">{{num_gmd}}</view>
|
|
|
+ <view class="bean-number">{{ num_gmd }}</view>
|
|
|
</view>
|
|
|
|
|
|
<!-- 星愿打卡区域 -->
|
|
@@ -23,7 +23,7 @@
|
|
|
<view class="card-title">初次见面礼</view>
|
|
|
<view class="card-desc">完善个人资料可得</view>
|
|
|
<view class="card-reward">奖励+100彩豆</view>
|
|
|
- <view class="card-progress">{{newer_bfb}}</view>
|
|
|
+ <view class="card-progress">{{ newer_bfb }}</view>
|
|
|
</view>
|
|
|
<view class="card yellow-card">
|
|
|
<view class="card-title">每日签到</view>
|
|
@@ -42,12 +42,12 @@
|
|
|
<!-- 任务项列表 -->
|
|
|
<view class="task-item" v-for="(item, index) in taskList" :key="index">
|
|
|
<view class="task-info">
|
|
|
- <view class="task-name">{{item.name}}</view>
|
|
|
- <view class="task-desc">{{item.content}}</view>
|
|
|
+ <view class="task-name">{{ item.name }}</view>
|
|
|
+ <view class="task-desc">{{ item.content }}</view>
|
|
|
</view>
|
|
|
- <view class="task-reward">+{{item.num}}彩豆</view>
|
|
|
- <view class="task-btn" :class="{'task-completed': item.status == 9}" @click="claimReward(index)">
|
|
|
- {{item.status == 9 ? '已领取' : '领取'}}
|
|
|
+ <view class="task-reward">+{{ item.num }}彩豆</view>
|
|
|
+ <view class="task-btn" :class="{ 'task-completed': item.status == 9 }" @click="claimReward(index)">
|
|
|
+ {{ item.status == 9 ? "已领取" : "领取" }}
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
@@ -95,7 +95,7 @@
|
|
|
<text class="sign-notify-text">签到消息提醒</text>
|
|
|
<switch class="sign-switch" color="#9C27B0" :checked="signNotify" @change="toggleSignNotify" />
|
|
|
</view>
|
|
|
- <view class="sign-days-tag">已签到{{signInfo.signDay}}天</view>
|
|
|
+ <view class="sign-days-tag">已签到{{ signInfo.signDay }}天</view>
|
|
|
</view>
|
|
|
|
|
|
<!-- VIP特权区域 -->
|
|
@@ -110,108 +110,129 @@
|
|
|
|
|
|
<!-- 签到奖励网格布局 -->
|
|
|
<view class="sign-grid">
|
|
|
- <view class="sign-grid-item" v-for="(item, index) in signRewards" :key="index"
|
|
|
- :class="{'sign-received': index < signInfo.signDay || (index === signInfo.signDay - 1 && signInfo.isSigned)}">
|
|
|
- <view class="sign-day-num">{{item.dayNum}}</view>
|
|
|
+ <view class="sign-grid-item" v-for="(item, index) in signRewards" :key="index" :class="{
|
|
|
+ 'sign-received':
|
|
|
+ index < signInfo.signDay ||
|
|
|
+ (index === signInfo.signDay - 1 && signInfo.isSigned),
|
|
|
+ }">
|
|
|
+ <view class="sign-day-num">{{ item.dayNum }}</view>
|
|
|
<view class="sign-item-img"></view>
|
|
|
- <view class="sign-item-name">{{item.reward}}</view>
|
|
|
+ <view class="sign-item-name">{{ item.reward }}</view>
|
|
|
<view class="sign-vip-tag" v-if="item.isVip">VIP</view>
|
|
|
- <view class="sign-received-mask"
|
|
|
- v-if="index < signInfo.signDay || (index === signInfo.signDay - 1 && signInfo.isSigned)">
|
|
|
+ <view class="sign-received-mask" v-if="
|
|
|
+ index < signInfo.signDay ||
|
|
|
+ (index === signInfo.signDay - 1 && signInfo.isSigned)
|
|
|
+ ">
|
|
|
<text class="received-text">已领取</text>
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
|
|
|
<!-- 底部签到按钮 -->
|
|
|
- <view class="sign-btn-large" :class="{'sign-btn-disabled': signInfo.isSigned}" @click="confirmSign">
|
|
|
- {{signInfo.isSigned ? '今日已签到' : '签到领取奖励'}}
|
|
|
+ <view class="sign-btn-large" :class="{ 'sign-btn-disabled': signInfo.isSigned }" @click="confirmSign">
|
|
|
+ {{ signInfo.isSigned ? "今日已签到" : "签到领取奖励" }}
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
|
|
|
+ <checkInPopUpWindow ref="checkInPopUpWindow"></checkInPopUpWindow>
|
|
|
+
|
|
|
<!-- 提示框 -->
|
|
|
<DialogBox ref="DialogBox"></DialogBox>
|
|
|
</view>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
+ import checkInPopUpWindow from "@/components/checkIn-popUp-window/checkIn-popUp-window.vue";
|
|
|
export default {
|
|
|
- components: {},
|
|
|
+ components: {
|
|
|
+ checkInPopUpWindow
|
|
|
+ },
|
|
|
data() {
|
|
|
return {
|
|
|
- title: '任务中心',
|
|
|
+ title: "任务中心",
|
|
|
myinfo: {},
|
|
|
- realname: '',
|
|
|
+ realname: "",
|
|
|
num_gmd: 0,
|
|
|
- newer_bfb: '',
|
|
|
+ newer_bfb: "",
|
|
|
beanBalance: 2560,
|
|
|
showExchange: false,
|
|
|
- exchangeAmount: '',
|
|
|
+ exchangeAmount: "",
|
|
|
mCoinBalance: 14500,
|
|
|
showSign: false,
|
|
|
signNotify: true,
|
|
|
signRewards: [{
|
|
|
- dayNum: '01',
|
|
|
- reward: '10彩豆',
|
|
|
- isVip: false
|
|
|
+ dayNum: "01",
|
|
|
+ reward: "10彩豆",
|
|
|
+ isVip: false,
|
|
|
},
|
|
|
{
|
|
|
- dayNum: '02',
|
|
|
- reward: '15彩豆',
|
|
|
- isVip: false
|
|
|
+ dayNum: "02",
|
|
|
+ reward: "15彩豆",
|
|
|
+ isVip: false,
|
|
|
},
|
|
|
{
|
|
|
- dayNum: '03',
|
|
|
- reward: '20彩豆',
|
|
|
- isVip: false
|
|
|
+ dayNum: "03",
|
|
|
+ reward: "20彩豆",
|
|
|
+ isVip: false,
|
|
|
},
|
|
|
{
|
|
|
- dayNum: '04',
|
|
|
- reward: '25彩豆',
|
|
|
- isVip: false
|
|
|
+ dayNum: "04",
|
|
|
+ reward: "25彩豆",
|
|
|
+ isVip: false,
|
|
|
},
|
|
|
{
|
|
|
- dayNum: '05',
|
|
|
- reward: '30彩豆',
|
|
|
- isVip: false
|
|
|
+ dayNum: "05",
|
|
|
+ reward: "30彩豆",
|
|
|
+ isVip: false,
|
|
|
},
|
|
|
{
|
|
|
- dayNum: '06',
|
|
|
- reward: '35彩豆',
|
|
|
- isVip: true
|
|
|
+ dayNum: "06",
|
|
|
+ reward: "35彩豆",
|
|
|
+ isVip: true,
|
|
|
},
|
|
|
{
|
|
|
- dayNum: '07',
|
|
|
- reward: '50彩豆',
|
|
|
- isVip: true
|
|
|
- }
|
|
|
+ dayNum: "07",
|
|
|
+ reward: "50彩豆",
|
|
|
+ isVip: true,
|
|
|
+ },
|
|
|
],
|
|
|
signInfo: {
|
|
|
signDay: 1,
|
|
|
isSigned: false,
|
|
|
- reward: 0
|
|
|
+ reward: 0,
|
|
|
},
|
|
|
- taskList: []
|
|
|
- }
|
|
|
+ taskList: [],
|
|
|
+ };
|
|
|
},
|
|
|
onLoad() {
|
|
|
this.loadData();
|
|
|
this.getSignInfo();
|
|
|
},
|
|
|
- onShow() {},
|
|
|
+ onShow() {
|
|
|
+ setTimeout(() => {
|
|
|
+ this.opencheckInPopUpWindow()
|
|
|
+ }, 100)
|
|
|
+ },
|
|
|
methods: {
|
|
|
+ opencheckInPopUpWindow() {
|
|
|
+
|
|
|
+ this.$refs.checkInPopUpWindow.open();
|
|
|
+ },
|
|
|
+ closecheckInPopUpWindow() {
|
|
|
+ this.$refs.checkInPopUpWindow.close();
|
|
|
+ },
|
|
|
onBack() {},
|
|
|
|
|
|
loadData() {
|
|
|
uni.request({
|
|
|
- url: this.$apiHost + '/Job/getlist',
|
|
|
+ url: this.$apiHost + "/Job/getlist",
|
|
|
data: {
|
|
|
- uuid: getApp().globalData.uuid
|
|
|
+ uuid: getApp().globalData.uuid,
|
|
|
},
|
|
|
header: {
|
|
|
"content-type": "application/json",
|
|
|
- 'sign': getApp().globalData.headerSign
|
|
|
+ sign: getApp().globalData.headerSign,
|
|
|
},
|
|
|
success: (res) => {
|
|
|
console.log("----:", res.data);
|
|
@@ -224,34 +245,34 @@
|
|
|
},
|
|
|
fail: (e) => {
|
|
|
console.log("----e:", e);
|
|
|
- }
|
|
|
+ },
|
|
|
});
|
|
|
},
|
|
|
|
|
|
// 获取签到信息
|
|
|
getSignInfo() {
|
|
|
uni.request({
|
|
|
- url: this.$apiHost + '/User/sign7Day',
|
|
|
+ url: this.$apiHost + "/User/sign7Day",
|
|
|
data: {
|
|
|
uuid: getApp().globalData.uuid,
|
|
|
- action: 'get'
|
|
|
+ action: "get",
|
|
|
},
|
|
|
header: {
|
|
|
"content-type": "application/json",
|
|
|
- 'sign': getApp().globalData.headerSign
|
|
|
+ sign: getApp().globalData.headerSign,
|
|
|
},
|
|
|
success: (res) => {
|
|
|
- if (res.data.success === 'yes') {
|
|
|
+ if (res.data.success === "yes") {
|
|
|
this.signInfo = {
|
|
|
signDay: res.data.data.sign_day,
|
|
|
isSigned: res.data.data.is_signed,
|
|
|
- reward: res.data.data.reward || 0
|
|
|
+ reward: res.data.data.reward || 0,
|
|
|
};
|
|
|
}
|
|
|
},
|
|
|
fail: (e) => {
|
|
|
console.log("获取签到信息失败:", e);
|
|
|
- }
|
|
|
+ },
|
|
|
});
|
|
|
},
|
|
|
|
|
@@ -285,26 +306,26 @@
|
|
|
if (this.signInfo.isSigned) {
|
|
|
uni.showToast({
|
|
|
title: "今日已签到",
|
|
|
- icon: 'none'
|
|
|
+ icon: "none",
|
|
|
});
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
uni.request({
|
|
|
- url: this.$apiHost + '/User/sign7Day',
|
|
|
+ url: this.$apiHost + "/User/sign7Day",
|
|
|
data: {
|
|
|
uuid: getApp().globalData.uuid,
|
|
|
- action: 'sign'
|
|
|
+ action: "sign",
|
|
|
},
|
|
|
header: {
|
|
|
"content-type": "application/json",
|
|
|
- 'sign': getApp().globalData.headerSign
|
|
|
+ sign: getApp().globalData.headerSign,
|
|
|
},
|
|
|
success: (res) => {
|
|
|
- if (res.data.success === 'yes') {
|
|
|
+ if (res.data.success === "yes") {
|
|
|
uni.showToast({
|
|
|
title: res.data.str,
|
|
|
- icon: 'none'
|
|
|
+ icon: "none",
|
|
|
});
|
|
|
// 更新签到信息
|
|
|
this.getSignInfo();
|
|
@@ -313,7 +334,7 @@
|
|
|
} else {
|
|
|
uni.showToast({
|
|
|
title: res.data.str,
|
|
|
- icon: 'none'
|
|
|
+ icon: "none",
|
|
|
});
|
|
|
}
|
|
|
},
|
|
@@ -321,9 +342,9 @@
|
|
|
console.log("签到失败:", e);
|
|
|
uni.showToast({
|
|
|
title: "签到失败,请稍后重试",
|
|
|
- icon: 'none'
|
|
|
+ icon: "none",
|
|
|
});
|
|
|
- }
|
|
|
+ },
|
|
|
});
|
|
|
},
|
|
|
|
|
@@ -332,7 +353,7 @@
|
|
|
if (!this.exchangeAmount) {
|
|
|
uni.showToast({
|
|
|
title: "请输入兑换数量",
|
|
|
- icon: 'none'
|
|
|
+ icon: "none",
|
|
|
});
|
|
|
return;
|
|
|
}
|
|
@@ -342,7 +363,7 @@
|
|
|
if (isNaN(amount) || amount <= 0) {
|
|
|
uni.showToast({
|
|
|
title: "请输入有效数量",
|
|
|
- icon: 'none'
|
|
|
+ icon: "none",
|
|
|
});
|
|
|
return;
|
|
|
}
|
|
@@ -350,30 +371,30 @@
|
|
|
if (amount % 10 !== 0) {
|
|
|
uni.showToast({
|
|
|
title: "兑换数量必须是10的倍数",
|
|
|
- icon: 'none'
|
|
|
+ icon: "none",
|
|
|
});
|
|
|
return;
|
|
|
}
|
|
|
let that = this;
|
|
|
uni.request({
|
|
|
- url: this.$apiHost + '/User/gmmToGMD',
|
|
|
+ url: this.$apiHost + "/User/gmmToGMD",
|
|
|
data: {
|
|
|
uuid: getApp().globalData.uuid,
|
|
|
- num: amount
|
|
|
+ num: amount,
|
|
|
},
|
|
|
header: {
|
|
|
"content-type": "application/json",
|
|
|
- 'sign': getApp().globalData.headerSign
|
|
|
+ sign: getApp().globalData.headerSign,
|
|
|
},
|
|
|
success: (res) => {
|
|
|
console.log("----:", res.data);
|
|
|
uni.showToast({
|
|
|
title: res.data.str,
|
|
|
- icon: 'none'
|
|
|
+ icon: "none",
|
|
|
});
|
|
|
- if (res.data.success == 'yes') {
|
|
|
+ if (res.data.success == "yes") {
|
|
|
this.hideExchangePopup();
|
|
|
- this.exchangeAmount = '';
|
|
|
+ this.exchangeAmount = "";
|
|
|
setTimeout(function() {
|
|
|
that.loadData();
|
|
|
}, 900);
|
|
@@ -384,7 +405,7 @@
|
|
|
},
|
|
|
fail: (e) => {
|
|
|
console.log("----e:", e);
|
|
|
- }
|
|
|
+ },
|
|
|
});
|
|
|
|
|
|
// // 模拟兑换处理
|
|
@@ -402,27 +423,27 @@
|
|
|
if (this.taskList[index].status == 9) {
|
|
|
uni.showToast({
|
|
|
title: "已领取该奖励",
|
|
|
- icon: 'none'
|
|
|
+ icon: "none",
|
|
|
});
|
|
|
return;
|
|
|
}
|
|
|
let that = this;
|
|
|
uni.request({
|
|
|
- url: this.$apiHost + '/Job/doAct',
|
|
|
+ url: this.$apiHost + "/Job/doAct",
|
|
|
data: {
|
|
|
uuid: getApp().globalData.uuid,
|
|
|
- id: this.taskList[index].id
|
|
|
+ id: this.taskList[index].id,
|
|
|
},
|
|
|
header: {
|
|
|
"content-type": "application/json",
|
|
|
- 'sign': getApp().globalData.headerSign
|
|
|
+ sign: getApp().globalData.headerSign,
|
|
|
},
|
|
|
success: (res) => {
|
|
|
console.log("----:", res.data);
|
|
|
- if (res.data.success == 'yes') {
|
|
|
+ if (res.data.success == "yes") {
|
|
|
uni.showToast({
|
|
|
title: res.data.str,
|
|
|
- icon: 'none'
|
|
|
+ icon: "none",
|
|
|
});
|
|
|
setTimeout(function() {
|
|
|
that.loadData();
|
|
@@ -434,14 +455,13 @@
|
|
|
},
|
|
|
fail: (e) => {
|
|
|
console.log("----e:", e);
|
|
|
- }
|
|
|
+ },
|
|
|
});
|
|
|
-
|
|
|
},
|
|
|
- }
|
|
|
- }
|
|
|
+ },
|
|
|
+ };
|
|
|
</script>
|
|
|
|
|
|
<style scoped lang="scss">
|
|
|
- @import 'job.scss';
|
|
|
+ @import "job.scss";
|
|
|
</style>
|