提交 c5fa84ce 编写于 作者: Yuanzhao.dai's avatar Yuanzhao.dai

Merge branch 'dev-stage2-20191125' of...

Merge branch 'dev-stage2-20191125' of http://192.168.110.53/com.pica.cloud.foundation.frontend/year-end-activitiy into dev-stage2-20191125
...@@ -185,7 +185,7 @@ ...@@ -185,7 +185,7 @@
<!-- <img class="back-image" src="../assets/img/stage-two/win-award-bg.png" alt=""> --> <!-- <img class="back-image" src="../assets/img/stage-two/win-award-bg.png" alt=""> -->
<!-- <img class="back-image" src="../assets/img/stage-two/award-cup-bg.png" alt=""> --> <!-- <img class="back-image" src="../assets/img/stage-two/award-cup-bg.png" alt=""> -->
<p class="title">打卡成功</p> <p class="title">打卡成功</p>
<p class="message">已获得: {{vm.clockAward.mark}}勤奋分, {{vm.clockAward.bean}}云鹊豆</p> <p class="message">已获得: {{clockAward.mark}}勤奋分, {{clockAward.bean}}云鹊豆</p>
<div @click="hideClockModal" class="bottom-btn">我知道了</div> <div @click="hideClockModal" class="bottom-btn">我知道了</div>
<div class="close-btn"></div> <div class="close-btn"></div>
</div> </div>
...@@ -197,7 +197,7 @@ ...@@ -197,7 +197,7 @@
<div class="content-wrap activity-end"> <div class="content-wrap activity-end">
<p class="content-text">本次活动已结束,感谢您的参与,最终获奖排名将于12月30日10点公布,届时查看</p> <p class="content-text">本次活动已结束,感谢您的参与,最终获奖排名将于12月30日10点公布,届时查看</p>
<ul class="btn-list"> <ul class="btn-list">
<li>我知道了</li> <li @click="activityEndVisible=false">我知道了</li>
<li @click="goToYesterdayPrize" class="high-light">查看昨日获奖</li> <li @click="goToYesterdayPrize" class="high-light">查看昨日获奖</li>
</ul> </ul>
</div> </div>
...@@ -207,7 +207,7 @@ ...@@ -207,7 +207,7 @@
</template> </template>
<script> <script>
import { getUserScoreInfo, getInviteList, getClockStatus, goToUpdateClock } from '@/service/activityMainpage'; import { getActivityId, getUserScoreInfo, getInviteList, getClockStatus, goToUpdateClock, getTimsActivityInfo } from '@/service/activityMainpage';
import { checkHospitalStatus } from '@/service'; import { checkHospitalStatus } from '@/service';
import h5header from '@/components/h5header'; import h5header from '@/components/h5header';
import { getShareUrl } from '@/utils/index'; import { getShareUrl } from '@/utils/index';
...@@ -220,6 +220,9 @@ ...@@ -220,6 +220,9 @@
export default { export default {
data () { data () {
return { return {
activityId: 2, // 上线前等产品通知修改默认值
serverTime: '', serverTime: '',
isLogin: false, // 是否 已登录 isLogin: false, // 是否 已登录
isJoin: false, // 是否 已加入机构 默认为false isJoin: false, // 是否 已加入机构 默认为false
...@@ -279,6 +282,8 @@ ...@@ -279,6 +282,8 @@
clockAward: { // 打卡的奖励 默认都是5 clockAward: { // 打卡的奖励 默认都是5
mark: 5, mark: 5,
bean: 5, bean: 5,
activityId: '',
id: '',
}, },
isWeb: false, isWeb: false,
shareObj: {}, shareObj: {},
...@@ -325,10 +330,26 @@ ...@@ -325,10 +330,26 @@
vm = this; vm = this;
// 取服务器时间,切换不同时间段的显示 // 取服务器时间,切换不同时间段的显示
vm.getServerTime(); vm.getServerTime();
// 经与后端产品确认,默认没传id的话,就取接口;默认有的话就不取接口
if( !vm.activityId ){
getActivityId().then(res => {
alert('guhui 获取id')
alert(JSON.stringify(res))
if(res && res.code == '000000' ){
let data = res.data ;
for(let i in data){
if(data[i] == 'ID'){
vm.activityId = i;
}
}
}
})
}
}, },
mounted() { mounted() {
// 这里需要删掉!!!
vm.getUserActivityInfo(); vm.getUserActivityInfo();
// 这里需要删掉!!!
vm.shareObj = { vm.shareObj = {
shareUrl: window.location.href, shareUrl: window.location.href,
title1: '分享title分享title', title1: '分享title分享title',
...@@ -337,7 +358,7 @@ ...@@ -337,7 +358,7 @@
} }
vm.isWeb = vm.$rocNative.isWeb; vm.isWeb = vm.$rocNative.isWeb;
vm.getTasks(); // 放到登录后或其他************************ vm.getTasks();
vm.$rocNative.appInit(); vm.$rocNative.appInit();
vm.getUserInfo(); // 判断是否登录 vm.getUserInfo(); // 判断是否登录
...@@ -349,6 +370,15 @@ ...@@ -349,6 +370,15 @@
} }
} }
}, },
watch: {
clockAward(val){
alert('watch clockAward')
alert(val)
if(val.activityId && val.id && vm.isJoin){
vm.getTaskStatus(vm.clockAward);
}
}
},
methods: { methods: {
// 获取服务器时间 // 获取服务器时间
getServerTime() { getServerTime() {
...@@ -427,6 +457,9 @@ ...@@ -427,6 +457,9 @@
// alert('获取用户及分数信息。。。'); // alert('获取用户及分数信息。。。');
// alert(JSON.stringify(res)); // alert(JSON.stringify(res));
vm.doctorInfo = res.data; vm.doctorInfo = res.data;
if(vm.doctorInfo.userYesterdayRank>0 && vm.doctorInfo.userYesterdayRank<=10){
vm.clockSuccessVisible = true;
}
}); });
}, },
goToCheckJoin() { // 检查是否加入结构 goToCheckJoin() { // 检查是否加入结构
...@@ -439,7 +472,7 @@ ...@@ -439,7 +472,7 @@
if (status && status == 1) { // 机构状态正常 if (status && status == 1) { // 机构状态正常
vm.isJoin = true; vm.isJoin = true;
vm.joinStatus = 1; vm.joinStatus = 1;
vm.getTaskStatus(vm.clockAward); // *******************************************
vm.handleGetInviteList(); //登录且已加入机构才获取医生邀请了的列表 vm.handleGetInviteList(); //登录且已加入机构才获取医生邀请了的列表
}else if (status && status == 15) { // 15创建机构审核中 }else if (status && status == 15) { // 15创建机构审核中
vm.isJoin = false; vm.isJoin = false;
...@@ -645,7 +678,7 @@ ...@@ -645,7 +678,7 @@
// return 'dddddd' // return 'dddddd'
}, },
// 去打卡 按钮 // 去完成任务 按钮
goToFinish(item) { goToFinish(item) {
let cb = () => { let cb = () => {
vm.goToFinishCB(item); vm.goToFinishCB(item);
...@@ -679,9 +712,13 @@ ...@@ -679,9 +712,13 @@
} }
}) })
} }
}else{ // 非打卡,直接走积木tims跳转逻辑
// vm.jumpPage(item.)
} }
}, },
// 每个任务的跳转点击 // 每个任务的跳转点击
handleTaskClick() { handleTaskClick() {
let cb = this.goToTask; let cb = this.goToTask;
...@@ -693,217 +730,78 @@ ...@@ -693,217 +730,78 @@
// 获取每日任务 及 邀请医生好友学课程里的 邀请1位医生的勤奋分及云鹊豆个数 // 获取每日任务 及 邀请医生好友学课程里的 邀请1位医生的勤奋分及云鹊豆个数
getTasks() { getTasks() {
// debugger; // debugger;
let res = { getTimsActivityInfo(vm.activityId).then(res => {
"data": { // alert('^^^^^获取任务信息…………………………')
"loginStatus": 2, // alert(JSON.stringify(res))
"taskRuleData": [ if(res && res.code == '000000'){
{ if(!vm.checkTimeStatus(res.data)){
"id": 14, this.activityEndVisible = true;
"activityId": 2, return;
"resourceType": 7, // 业务类型 1.课程 2.考试 3.调查问卷 4.患者招募 5.宣教漫画 6.打卡 7.邀请
"resourceId": "1",
"resourceChildId": null,
"defaultBackgroundImage": "https://test1-file.yunqueyi.com/image/png/common/2019112809513020.png",
"finishBackgroundImage": null,
"taskFrequency": 1,
"finishFrequency": 1,
"cumulativeFrequency": null,
"ruleName": "邀请好友测试",
"beginTime": "2019-11-26 00:00:00",
"endTime": "2019-11-27 23:59:59",
"linkId": 1703,
"rewardJsonInfo": [{rewardType:3,rewardQuantity:"100"},{rewardType:1,rewardQuantity:"200"}],
"pushType": 1,
"pushLinkUrl": "",
"hideEndFlag": 2,
"seqNo": 1,
"deleteFlag": 1,
"createdId": 161,
"createdTime": "2019-11-28 09:51:58",
"modifiedId": 161,
"modifiedTime": "2019-11-29 15:30:54",
"beginTimeStr": null,
"endTimeStr": null,
"nowCumulativeFrequency": 0,
"isFinish": 0,
"doctorFinishFrequency": null,
"timeStatus": 1 // 项目时间状态 1.进行中 2.结束 3.未开始
},
{
"id": 15,
"activityId": 2,
"resourceType": 6, // 业务类型 1.课程 2.考试 3.调查问卷 4.患者招募 5.宣教漫画 6.打卡 7.邀请
"resourceId": "2",
"resourceChildId": null,
"defaultBackgroundImage": "https://test1-file.yunqueyi.com/image/png/common/2019112809513020.png",
"finishBackgroundImage": null,
"taskFrequency": 1,
"finishFrequency": 1,
"cumulativeFrequency": null,
"ruleName": "每日打卡test",
"beginTime": "2019-11-26 00:00:00",
"endTime": "2019-11-27 23:59:59",
"linkId": 1703,
"rewardJsonInfo": [{rewardType:3,rewardQuantity: 111},{rewardType:1,rewardQuantity:0}],
"pushType": 1,
"pushLinkUrl": "",
"hideEndFlag": 2,
"seqNo": 2,
"deleteFlag": 1,
"createdId": 161,
"createdTime": "2019-11-28 09:51:58",
"modifiedId": 161,
"modifiedTime": "2019-11-29 15:30:54",
"beginTimeStr": null,
"endTimeStr": null,
"nowCumulativeFrequency": 0,
"isFinish": 0,
"doctorFinishFrequency": null,
"timeStatus": 1
},
{
"id": 15,
"activityId": 2,
"resourceType": 1, // 业务类型 1.课程 2.考试 3.调查问卷 4.患者招募 5.宣教漫画 6.打卡 7.邀请
"resourceId": "2",
"resourceChildId": null,
"defaultBackgroundImage": "https://test1-file.yunqueyi.com/image/png/common/2019112809513020.png",
"finishBackgroundImage": null,
"taskFrequency": 1,
"finishFrequency": 1,
"cumulativeFrequency": null,
"ruleName": "高血压课程",
"beginTime": "2019-11-26 00:00:00",
"endTime": "2019-11-27 23:59:59",
"linkId": 1703,
"rewardJsonInfo": [{rewardType:3,rewardQuantity: 222},{rewardType:1,rewardQuantity:0}],
"pushType": 1,
"pushLinkUrl": "",
"hideEndFlag": 2,
"seqNo": 2,
"deleteFlag": 1,
"createdId": 161,
"createdTime": "2019-11-28 09:51:58",
"modifiedId": 161,
"modifiedTime": "2019-11-29 15:30:54",
"beginTimeStr": null,
"endTimeStr": null,
"nowCumulativeFrequency": 0,
"isFinish": 1,
"doctorFinishFrequency": null,
"timeStatus": 1
},
{
"id": 15,
"activityId": 2,
"resourceType": 4, // 业务类型 1.课程 2.考试 3.调查问卷 4.患者招募 5.宣教漫画 6.打卡 7.邀请
"resourceId": "2",
"resourceChildId": null,
"defaultBackgroundImage": "https://test1-file.yunqueyi.com/image/png/common/2019112809513020.png",
"finishBackgroundImage": null,
"taskFrequency": 1,
"finishFrequency": 1,
"cumulativeFrequency": null,
"ruleName": "SMO患者招募",
"beginTime": "2019-11-26 00:00:00",
"endTime": "2019-11-27 23:59:59",
"linkId": 1703,
"rewardJsonInfo": [{rewardType:3,rewardQuantity: 0},{rewardType:1,rewardQuantity:99}],
"pushType": 1,
"pushLinkUrl": "",
"hideEndFlag": 2,
"seqNo": 2,
"deleteFlag": 1,
"createdId": 161,
"createdTime": "2019-11-28 09:51:58",
"modifiedId": 161,
"modifiedTime": "2019-11-29 15:30:54",
"beginTimeStr": null,
"endTimeStr": null,
"nowCumulativeFrequency": 0,
"isFinish": 0,
"doctorFinishFrequency": null,
"timeStatus": 1
}
],
"activityData": {
"id": 2,
"activityName": "hws-test",
"isDisabled": 1,
"unloginBackgroundImage": "https://test1-file.yunqueyi.com/image/png/common/20191129095943428.png",
"loginBackgroundImage": "https://test1-file.yunqueyi.com/image/png/common/20191129095948283.png",
"rewardType": "5",
"beginTime": "2019-11-25 00:00:00",
"endTime": "2019-11-30 23:59:59",
"beginTimeStr": null,
"endTimeStr": null,
"deleteFlag": 1,
"createdId": 161,
"createdTime": "2019-11-26 10:43:40",
"modifiedId": 161,
"modifiedTime": "2019-11-29 15:30:54",
"status": null
} }
}, let data = res.data;
"code": "000000", let taskRuleData = data.taskRuleData || [];
"message": "成功"
}; for(let i=0; i<taskRuleData.length; i++){
let item = taskRuleData[i];
let rewardList = [];
// 获取 邀请节点,进行中 此时获取邀请1个医生对应的 分数 和 豆子
let data = res.data; if( item.resourceType == 7 && item.resourceId == 1 && item.timeStatus == 1){
let taskRuleData = data.taskRuleData || []; rewardList = item.rewardJsonInfo || [];
for( let j=0; j<rewardList.length; j++ ){
for(let i=0; i<taskRuleData.length; i++){ if( rewardList[j].rewardType == 3 ){ // 勤奋分
let item = taskRuleData[i]; vm.eachInviteAward.mark = rewardList[j].rewardQuantity;
let rewardList = []; }else if( rewardList[j].rewardType == 1 ){ // 云鹊豆
// 获取 邀请节点,进行中 此时获取邀请1个医生对应的 分数 和 豆子 vm.eachInviteAward.bean = rewardList[j].rewardQuantity;
if( item.resourceType == 7 && item.resourceId == 1 && item.timeStatus == 1){ }
rewardList = item.rewardJsonInfo || []; }
for( let j=0; j<rewardList.length; j++ ){ }else if( item.resourceType == 6 && item.timeStatus == 1 ){ // 打卡 默认奖励 5分 5豆
if( rewardList[j].rewardType == 3 ){ // 勤奋分 item.eachInviteAwardMark = 5;
vm.eachInviteAward.mark = rewardList[j].rewardQuantity; item.eachInviteAwardBean = 5;
}else if( rewardList[j].rewardType == 1 ){ // 云鹊豆 item = vm.formatEachTaskAward(item);
vm.eachInviteAward.bean = rewardList[j].rewardQuantity; vm.clockAward = {
mark: item.eachInviteAwardMark,
bean: item.eachInviteAwardBean,
activityId: item.activityId,
id: item.id,
};
vm.taskObj.clock = item;
}else if( item.resourceType == 1 && item.timeStatus == 1 ){ // 课程 默认奖励 20分 20豆
item.eachInviteAwardMark = 20;
item.eachInviteAwardBean = 20;
item = vm.formatEachTaskAward(item);
vm.taskObj.lesson = item;
}else if( item.resourceType == 4 && item.timeStatus == 1 ){ // smo 没奖励分 默认奖励100豆
item.eachInviteAwardBean = 100;
item = vm.formatEachTaskAward(item);
vm.taskObj.smo = item;
} }
}
}else if( item.resourceType == 6 && item.timeStatus == 1 ){ // 打卡 默认奖励 5分 5豆
item.eachInviteAwardMark = 5;
item.eachInviteAwardBean = 5;
item = vm.formatEachTaskAward(item);
vm.clockAward = {
mark: item.eachInviteAwardMark,
bean: item.eachInviteAwardBean,
activityId: item.activityId,
id: item.id,
}; };
vm.taskObj.clock = item; vm.taskList = [];
if( vm.taskObj.clock ){
}else if( item.resourceType == 1 && item.timeStatus == 1 ){ // 课程 默认奖励 20分 20豆 vm.taskList.push( vm.taskObj.clock );
item.eachInviteAwardMark = 20; }
item.eachInviteAwardBean = 20; if( vm.taskObj.lesson ){
item = vm.formatEachTaskAward(item); vm.taskList.push( vm.taskObj.lesson );
}
vm.taskObj.lesson = item; if( vm.taskObj.smo ){
}else if( item.resourceType == 4 && item.timeStatus == 1 ){ // smo 没奖励分 默认奖励100豆 vm.taskList.push( vm.taskObj.smo );
item.eachInviteAwardBean = 100; }
item = vm.formatEachTaskAward(item); }else{
vm.$toast(res.message);
vm.taskObj.smo = item;
} }
}; })
vm.taskList = []; },
if( vm.taskObj.clock ){ // 校验活动是否结束
vm.taskList.push( vm.taskObj.clock ); checkTimeStatus(data){
} const { timeStatus } = data.activityData;
if( vm.taskObj.lesson ){ // timeStatus 活动时间状态 1:在活动时间范围 2.已经结束 3.未开始
vm.taskList.push( vm.taskObj.lesson ); if(timeStatus==2){
} return false;
if( vm.taskObj.smo ){
vm.taskList.push( vm.taskObj.smo );
} }
return true;
}, },
getTaskStatus(params) { getTaskStatus(params) {
vm.isClockFinish = false; vm.isClockFinish = false;
...@@ -970,12 +868,85 @@ ...@@ -970,12 +868,85 @@
} }
return text; return text;
}, },
// async jumpPage(url, id) {
// const _this = this;
// if (!!url) {
// // 判断是否有跳转
// const { token, isWeb } = _this;
// _this.videoWatchTime = 0;
// _this.widgetId = id;
// const { data } = await selectAppModuleParam({
// id: url,
// token
// });
// const itemData = data.model;
// this.$sendBuriedData({ // 积木组件点击埋点
// url: this.baseUrl + "/file/log/trace1",
// action: 'ACTION_CLICK',
// component_tag: `200#${_this.tempId}#0#${_this.widgetId}`
// });
// if (isWeb) {
// // TODO: //如果在 web 中在这里写
// if (itemData.code == 'M300') {
// let paramList = setEventByModuleCode(itemData);
// if (
// paramList[0].value.search('crrspt.') != -1
// ) {
// // 患者招募
// paramList[0].value =
// paramList[0].value + '?' + this.paramString;
// }
// if (paramList[0].value.search('/wjdc/') != -1) {
// // 问卷调查
// //console.log(paramList[0].value + '&pageUrl=' + window.location.href)
// location.href =
// paramList[0].value +
// '&pageUrl=' +
// window.location.href;
// return;
// }
// location.href = paramList[0].value;
// } else {
// this.$dialog
// .confirm({
// message: '请下载最新app',
// confirmButtonText: '去下载',
// className: 'go-down-msg-box'
// })
// .then(() => {
// location.href =
// 'https://www.yunqueyi.com/mobile/share_pica.html?hideQrcode=true';
// })
// .catch(() => {});
// }
// } else {
// // 增加点击图片时候,是否有loginFlag参数,有,则校验并登录。如未登录去登录,已登录,老逻辑。
// const loginFlag = this.checkLoginFlag(itemData.paramList);
// if(loginFlag){
// _this.refreshFlag = true;
// _this.$rocNative.getToken().then(res => {
// const { userToken } = res;
// // alert('APP拿到的token=:'+userToken)
// checkToken({ token: userToken }).then(res=>{
// if(res.code == '200000' || res.code == '200006') {
// _this.$rocNative.gotoLogin();
// }else{
// _this.oldJumpHandle(itemData, userToken);
// }
// })
// });
// }else{
// _this.oldJumpHandle(itemData, _this.token);
// }
// }
// }
// },
getHeaderHeight(val){ getHeaderHeight(val){
this.padTop = val; this.padTop = val;
}, },
}, },
} }
</script>> </script>
<style lang="less"> <style lang="less">
@import '../assets/style/in-activity.less'; @import '../assets/style/in-activity.less';
......
...@@ -47,5 +47,20 @@ export const goToUpdateClock = (params) => { ...@@ -47,5 +47,20 @@ export const goToUpdateClock = (params) => {
}) })
} }
// 获取activityId
export const getActivityId = () => {
return request({
url: `contents/commonComstant/selectByTypeCode?code=C015`,
method: 'get',
withCredentials: true,
})
}
// 获取任务列表
export const getTimsActivityInfo = (id) => {
return request({
url: `campaign/tims/timsActivityInfo?activityId=${id}`,
method: 'get',
withCredentials: true,
})
}
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册