Commit db5b3c86 authored by Smile's avatar Smile Committed by wux

feat:会员升级提醒

parent ab441181
......@@ -100,6 +100,15 @@ export function getNeedKnow(query) {
})
}
// 获得用户等级
export function getLevelDetails(data) {
return request({
url: '/admin-api/member/level-details/page',
method: 'post',
data
})
}
// 获得所有计量单位
export function getUnitList() {
return request({
......
......@@ -168,6 +168,14 @@
<el-button @click="noticeVisble=false;bannerVisible=true">{{ $t('知道了') }}</el-button>
</div>
</el-dialog>
<el-dialog :title="this.levelTitle" :visible.sync="levelVisble" width="30%" top="30vh" center append-to-body :close-on-click-modal="false">
<el-card v-html="levelLeviteInfo">
</el-card>
<div slot="footer" class="dialog-footer">
<el-button @click="levelVisble=false;">{{ $t('知道了') }}</el-button>
</div>
</el-dialog>
</div>
</template>
......@@ -176,9 +184,12 @@ import JdButton from '@/components/JdButton'
import JdDialog from '@/components/JdDialog'
import DictTag from '@/components/DictTag'
import { getBannerList, getBannerUrlList, getNoticeList } from '@/api/message'
import { getNeedKnow,getLevelDetails } from '@/api/data'
import { getIssued, getReceived } from '@/api/order'
import { getDialog, setDialog } from '@/utils/auth'
import { mapGetters } from 'vuex'
import {DICT_TYPE} from "@/utils/dict";
import { parseTime } from '@/utils'
export default {
name: 'Profile',
components: {
......@@ -190,8 +201,12 @@ export default {
return {
bannerVisible: false,
noticeVisble: false,
levelVisble: false,
bannerList: [],
noticeList: [],
membershipLevels: [],
levelLeviteInfo:'',
levelTitle:'',
count: 0, // 当前索引
urlCount: 0, // 当前索引
intervalId: null, // 定时器ID
......@@ -206,8 +221,12 @@ export default {
creator: null
},
apiLang: '',
apiContentLang: '',
apiLabelLang: '',
bannerLang: '',
langData: { zh_CN: 'title', en_US: 'titleEn' },
langData: { zh_CN: 'titleZh', en_US: 'titleEn' },
langContentData: { zh_CN: 'contentZh', en_US: 'contentEn' },
langLabelData: { zh_CN: 'label', en_US: 'labelEn' },
bannerData: { zh_CN: 'Zh', en_US: 'En' }
}
},
......@@ -229,11 +248,15 @@ export default {
watch: {
language() {
this.apiLang = this.langData[this.language]
this.bannerLang = this.bannerData[this.language]
this.apiContentLang = this.langContentData[this.language]
this.apiLabelLang = this.langLabelData[this.language]
this.bannerLang = this.langLabelData[this.language]
}
},
created() {
this.apiLang = this.langData[this.language]
this.apiContentLang = this.langContentData[this.language]
this.apiLabelLang = this.langLabelData[this.language]
this.bannerLang = this.bannerData[this.language]
// this.condition.creator = this.loginUser.id
this.noticeVisble = this.loginUser.isSimplePassword && !getDialog()
......@@ -247,6 +270,7 @@ export default {
}
}
})
this.getUpdateOpenAd(this.loginUser)
getBannerUrlList({ page: 1, rows: 10 }).then(r => {
this.bannerUrlList = r.data.list
})
......@@ -267,6 +291,54 @@ export default {
clearInterval(this.intervalId) // 清除定时器
},
methods: {
getUpdateOpenAd: function (data) {
//获取存储的会员等级信息
// const levelRule = this.levelRule;
const levelRule = window.localStorage.getItem("levelRule");
const user=data;
const params = {
memberId: data.id,
pageNo: 1,
pageSize: 10
}
let levelRule1 = '';
const that = this;
getLevelDetails(params).then((res) => {
levelRule1 = res.data.list[0];
if (levelRule1!=null){
//升级展示 获取升级提示
getNeedKnow({key:'levelUpdate'}).then(res => {
debugger
if(res.code == 0 && res.data){
levelRule1.username=user.nickname;
debugger
console.log()
const level = this.getDictDatas(DICT_TYPE.MEMBERSHIP_LEVELS).filter(item => levelRule1.level.toString() === item.value)[0]
if (level) {
levelRule1.levelName = level[this.apiLabelLang];
}
levelRule1.validityPeriod=parseTime(levelRule1.validityPeriod,'{y}-{m}-{d}')
this.levelTitle=res.data[this.apiLang]
this.levelLeviteInfo=this.replaceContent(res.data[this.apiContentLang],levelRule1);
if (!levelRule){
//提示升级
this.levelVisble=true;
}else if ((levelRule1.level>levelRule.level)||(levelRule1.level==levelRule.level&&levelRule1.sort>levelRule.sort)){
//提示升级
this.levelVisble=true;
}
}
})
window.localStorage.setItem("levelRule", JSON.stringify(levelRule1))
}
})
},
replaceContent(content,levelRule){
return content.replace(/{(\w+)}/g, function(match, key) {
return levelRule[key] !== undefined ? levelRule[key] : match;
});
},
notice(val) {
var id = this.noticeList[val].id
this.$router.push('/jiedao/jd-notice/jd-noticedetail?id=' + id)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment