Commit 95ffddb5 by 曾经

集团后台 到期提醒 商户到期

parent a4fef048
<template>
<el-dialog title="查看服务到期时间" :visible.sync="visible" width="600px" @close="onClose">
<el-table :data="list" max-height="700">
<el-table-column label="服务" prop="serviceName"></el-table-column>
<el-table-column label="服务" prop="enterpriseName"></el-table-column>
<el-table-column label="到期时间" prop="expireDayStr"></el-table-column>
</el-table>
</el-dialog>
......
......@@ -17,13 +17,13 @@
</div>
</div>
</el-alert>
<expire-dialog :visible.sync="showDialog" :list="otherExpireServices"></expire-dialog>
<expire-dialog :visible.sync="showDialog" :list="expireEnterprises"></expire-dialog>
</div>
</template>
<script>
import ExpireDialog from './expire-dialog.vue';
import { getAccountStateInfo, getExpireData } from './request.js';
import { getAccountStateInfo, getExpireExterprise } from './request.js';
export default {
name: 'Notice',
inject: ['projectName'],
......@@ -39,7 +39,7 @@ export default {
show: false
},
showDialog: false,
otherExpireServices: []
enterpriseSubExpireInfos: []
};
},
created() {
......@@ -66,38 +66,79 @@ export default {
});
},
loadExpireData() {
let service = {
serviceType: 11,
serviceName: '集团商户'
};
let serviceType = service.serviceType;
getExpireData({
serviceType
}).then((res) => {
let dmUserInfo = JSON.parse(localStorage.getItem('dmUserInfo')) || {};
if(!dmUserInfo.superAdmin){
return;
}
getExpireExterprise().then((res) => {
const { errorCode, result } = res.data || {};
if (errorCode != 0) return;
let { otherExpireServices, expireStatus, expireDayStr, allExpire, clique } = result;
otherExpireServices = otherExpireServices || [];
let name = serviceType == 11 ? (clique ? (allExpire ? '集团商户' : '集团下部分商户') : service.serviceName) : service.serviceName;
if (expireStatus == 1) {
this.expireTip.content = `${name}将于 ${expireDayStr || ''} 到期,到期后将被冻结无法登录,请及时联系运营人员续费。`;
this.expireTip.show = true;
} else if (otherExpireServices.length) {
this.expireTip.content = `${otherExpireServices[0].serviceName}将于 ${otherExpireServices[0].expireDayStr} 到期,到期后功能无法使用,请及时联系运营人员续费。`;
this.expireTip.show = true;
let { totalCount, expireEnterprises } = result;
expireEnterprises = expireEnterprises || [];
if(!expireEnterprises.length){
return;
}
let name = '集团商户';
let expireDayStr;
let all = 1;
expireEnterprises.forEach(item=>{
if(!expireDayStr){
expireDayStr = item.expireDayStr;
return
}
if(item.expireDayStr != expireDayStr){
all = 0;
}
if(item.expireDayStr < expireDayStr){
expireDayStr = item.expireDayStr;
}
})
if(!all || totalCount > expireEnterprises.length){
name = '集团下部分商户';
}
this.expireTip.showButton = otherExpireServices.length && serviceType == 11;
this.otherExpireServices = otherExpireServices || [];
let dmUserInfo = JSON.parse(localStorage.getItem('dmUserInfo')) || {};
if (serviceType == 11 && !dmUserInfo.superAdmin) {
this.expireTip.show = false;
if(!expireDayStr){
return;
}
let expireDate = new Date(expireDayStr);
expireDayStr = this.formatDate(expireDate,'yyyy-MM-dd');
expireDayStr = (expireDayStr == this.formatDate(new Date(),'yyyy-MM-dd') ? '今日 23:59:59' : expireDayStr);
this.expireTip = {
content: `${name}将于 ${expireDayStr || ''} 到期,到期后将被冻结无法登录,请及时联系运营人员续费。`,
show: dmUserInfo.superAdmin ? true : false,
showButton: expireEnterprises.length,
};
this.expireEnterprises = expireEnterprises;
if (this.expireTip.show) {
this.updateNoticeShow();
}
console.log('this.expireTip----->', this.expireTip);
});
},
formatDate(date,fmt){
var o = {
"M+": date.getMonth() + 1, //月份
"d+": date.getDate(), //日
"H+": date.getHours(), //小时
"m+": date.getMinutes(), //分
"s+": date.getSeconds(), //秒
"q+": Math.floor((date.getMonth() + 3) / 3), //季度
S: date.getMilliseconds(), //毫秒
};
if (/(y+)/.test(fmt)){
fmt = fmt.replace(
RegExp.$1,
(date.getFullYear() + "").substr(4 - RegExp.$1.length)
);
}
for (let k in o){
if (new RegExp("(" + k + ")").test(fmt)){
fmt = fmt.replace(
RegExp.$1,
RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length)
);
}
}
return fmt;
},
updateNoticeShow() {
if (this.showNotice) return;
this.showNotice = true;
......
......@@ -43,6 +43,12 @@ function getUserInfo() {
});
}
export function getExpireExterprise(){
return getRequest('/api-admin/get_expire_enterprise', {
requestProject: 'gic-clique'
})
}
export function getExpireData(params) {
return new Promise((resolve, reject) => {
getUserInfo()
......
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