提交 b86b4acf 编写于 作者: chengxiang.li's avatar chengxiang.li

新增获取activityId接口逻辑

上级 f6ba965b
...@@ -183,7 +183,7 @@ ...@@ -183,7 +183,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>
...@@ -205,7 +205,7 @@ ...@@ -205,7 +205,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';
...@@ -218,6 +218,9 @@ ...@@ -218,6 +218,9 @@
export default { export default {
data () { data () {
return { return {
activityId: 2, // 上线前等产品通知修改默认值
serverTime: '', serverTime: '',
isLogin: false, // 是否 已登录 isLogin: false, // 是否 已登录
isJoin: false, // 是否 已加入机构 默认为false isJoin: false, // 是否 已加入机构 默认为false
...@@ -277,6 +280,8 @@ ...@@ -277,6 +280,8 @@
clockAward: { // 打卡的奖励 默认都是5 clockAward: { // 打卡的奖励 默认都是5
mark: 5, mark: 5,
bean: 5, bean: 5,
activityId: '',
id: '',
}, },
isWeb: false, isWeb: false,
shareObj: {} shareObj: {}
...@@ -322,7 +327,21 @@ ...@@ -322,7 +327,21 @@
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();
...@@ -334,7 +353,7 @@ ...@@ -334,7 +353,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(); // 判断是否登录
...@@ -346,6 +365,15 @@ ...@@ -346,6 +365,15 @@
} }
} }
}, },
watch: {
clockAward(val){
alert('watch clockAward')
alert(val)
if(val.activityId && val.id && vm.isJoin){
vm.getTaskStatus(vm.clockAward);
}
}
},
methods: { methods: {
// 获取服务器时间 // 获取服务器时间
getServerTime() { getServerTime() {
...@@ -436,7 +464,7 @@ ...@@ -436,7 +464,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;
...@@ -642,7 +670,7 @@ ...@@ -642,7 +670,7 @@
// return 'dddddd' // return 'dddddd'
}, },
// 去打卡 按钮 // 去完成任务 按钮
goToFinish(item) { goToFinish(item) {
let cb = () => { let cb = () => {
vm.goToFinishCB(item); vm.goToFinishCB(item);
...@@ -676,9 +704,13 @@ ...@@ -676,9 +704,13 @@
} }
}) })
} }
}else{ // 非打卡,直接走积木tims跳转逻辑
// vm.jumpPage(item.)
} }
}, },
// 每个任务的跳转点击 // 每个任务的跳转点击
handleTaskClick() { handleTaskClick() {
let cb = this.goToTask; let cb = this.goToTask;
...@@ -690,215 +722,67 @@ ...@@ -690,215 +722,67 @@
// 获取每日任务 及 邀请医生好友学课程里的 邀请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'){
{ let data = res.data;
"id": 14, let taskRuleData = data.taskRuleData || [];
"activityId": 2,
"resourceType": 7, // 业务类型 1.课程 2.考试 3.调查问卷 4.患者招募 5.宣教漫画 6.打卡 7.邀请 for(let i=0; i<taskRuleData.length; i++){
"resourceId": "1", let item = taskRuleData[i];
"resourceChildId": null, let rewardList = [];
"defaultBackgroundImage": "https://test1-file.yunqueyi.com/image/png/common/2019112809513020.png", // 获取 邀请节点,进行中 此时获取邀请1个医生对应的 分数 和 豆子
"finishBackgroundImage": null, if( item.resourceType == 7 && item.resourceId == 1 && item.timeStatus == 1){
"taskFrequency": 1, rewardList = item.rewardJsonInfo || [];
"finishFrequency": 1, for( let j=0; j<rewardList.length; j++ ){
"cumulativeFrequency": null, if( rewardList[j].rewardType == 3 ){ // 勤奋分
"ruleName": "邀请好友测试", vm.eachInviteAward.mark = rewardList[j].rewardQuantity;
"beginTime": "2019-11-26 00:00:00", }else if( rewardList[j].rewardType == 1 ){ // 云鹊豆
"endTime": "2019-11-27 23:59:59", vm.eachInviteAward.bean = rewardList[j].rewardQuantity;
"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
} }
], }else if( item.resourceType == 6 && item.timeStatus == 1 ){ // 打卡 默认奖励 5分 5豆
"activityData": { item.eachInviteAwardMark = 5;
"id": 2, item.eachInviteAwardBean = 5;
"activityName": "hws-test", item = vm.formatEachTaskAward(item);
"isDisabled": 1, vm.clockAward = {
"unloginBackgroundImage": "https://test1-file.yunqueyi.com/image/png/common/20191129095943428.png", mark: item.eachInviteAwardMark,
"loginBackgroundImage": "https://test1-file.yunqueyi.com/image/png/common/20191129095948283.png", bean: item.eachInviteAwardBean,
"rewardType": "5", activityId: item.activityId,
"beginTime": "2019-11-25 00:00:00", id: item.id,
"endTime": "2019-11-30 23:59:59", };
"beginTimeStr": null, vm.taskObj.clock = item;
"endTimeStr": null,
"deleteFlag": 1, }else if( item.resourceType == 1 && item.timeStatus == 1 ){ // 课程 默认奖励 20分 20豆
"createdId": 161, item.eachInviteAwardMark = 20;
"createdTime": "2019-11-26 10:43:40", item.eachInviteAwardBean = 20;
"modifiedId": 161, item = vm.formatEachTaskAward(item);
"modifiedTime": "2019-11-29 15:30:54",
"status": null vm.taskObj.lesson = item;
} }else if( item.resourceType == 4 && item.timeStatus == 1 ){ // smo 没奖励分 默认奖励100豆
}, item.eachInviteAwardBean = 100;
"code": "000000", item = vm.formatEachTaskAward(item);
"message": "成功"
}; vm.taskObj.smo = item;
let data = res.data;
let taskRuleData = data.taskRuleData || [];
for(let i=0; i<taskRuleData.length; i++){
let item = taskRuleData[i];
let rewardList = [];
// 获取 邀请节点,进行中 此时获取邀请1个医生对应的 分数 和 豆子
if( item.resourceType == 7 && item.resourceId == 1 && item.timeStatus == 1){
rewardList = item.rewardJsonInfo || [];
for( let j=0; j<rewardList.length; j++ ){
if( rewardList[j].rewardType == 3 ){ // 勤奋分
vm.eachInviteAward.mark = rewardList[j].rewardQuantity;
}else if( rewardList[j].rewardType == 1 ){ // 云鹊豆
vm.eachInviteAward.bean = rewardList[j].rewardQuantity;
} }
}
}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 );
}
if( vm.taskObj.lesson ){
vm.taskList.push( vm.taskObj.lesson );
}
if( vm.taskObj.smo ){
vm.taskList.push( vm.taskObj.smo );
}
}, },
...@@ -968,6 +852,80 @@ ...@@ -968,6 +852,80 @@
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);
}
}
}
},
}, },
} }
</script>> </script>>
......
...@@ -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 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册