import * as baseUrls from "@/utils/request.js"; import api from '@/api/api' import router from '@/router/index'//引入路由对象 // import { map } from "core-js/core/array"; export default { getGoodsType(status = true) { let type = [ { label: "视频", value: 1, }, { label: "题库", value: 2, }, { label: "补考", value: 3, }, { label: "前培", value: 4, }, { label: "直播", value: 6, }, { label: "讲义资料", value: 8, }, { label: "其他题库", value: 9, }] if (status) { return type } else { type.unshift({ label: "全部", value: "" }) return type } }, getUrl() { return baseUrls.BASE_IMG_URL + '/' }, isLogin() { if (uni.getStorageSync('union_id')) { return true; } else { return false } }, splitImgHost(url) { if (!url) { return '' } if (url.indexOf("http") != -1 || url.indexOf("https") != -1 || url.indexOf("base64") != -1) { return url; } return baseUrls.BASE_IMG_URL + '/' + url }, onlyForma(timeStamp, Diszing = true) { if (!timeStamp) { return } var date = new Date(timeStamp * 1000); //时间戳为10位需*1000,时间戳为13位的话不需乘1000 var Y = date.getFullYear() + '-'; var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'; var D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate(); var h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':'; var m = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) + ':'; var s = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds(); if (Diszing) { return Y + M + D + ' ' + h + m + s; //时分秒可以根据自己的需求加上 } return Y + M + D; }, /** * * @returns 获取当前时间戳 */ getNewTime() { var data = new Date().getTime() return data }, //判断是否为数字 isNotANumber(inputData) { //isNaN(inputData)不能判断空串或一个空格 //如果是一个空串或是一个空格,而isNaN是做为数字0进行处理的,而parseInt与parseFloat是返回一个错误消息,这个isNaN检查不严密而导致的。 if (parseFloat(inputData).toString() == "NaN") { //alert("请输入数字……");注掉,放到调用时,由调用者弹出提示。 return false; } else { return true; } }, exportData(msg, status = true) { if (!msg) { this.$message.warning("导出地址获取错误,请联系开发人员处理") return } if (status) { var baseUrl = baseUrls.baseURL + "common/download?fileName=" } else { var baseUrl = baseUrls.BASE_IMG_URL + '/' } let url = baseUrl + msg; let link = document.createElement("a"); let fileName = "导入模板" + ".xlsx"; document.body.appendChild(link); link.href = url; link.download = fileName; link.click(); link.remove(); }, //判断是否为数组 isArrayFn(o) { return Object.prototype.toString.call(o) === '[object Array]'; }, computedAge(birthday) { let birthDayTime = new Date(birthday).getTime(); //当前时间 毫秒 let nowTime = new Date().getTime(); //一年毫秒数(365 * 86400000 = 31536000000) return Math.ceil((nowTime - birthDayTime) / 31536000000); }, time10to13(time, int) { if (time === null) { return null } // int = 1 为13转10 // int = 2 为10转13 if (int === 1) { return parseInt(time / 1000) } else { return parseInt(time * 1000) } }, //计算两个时间之间的时间差 多少天时分秒 intervalTime(startTime, endTime) { // var timestamp=new Date().getTime(); //计算当前时间戳 var timestamp = (Date.parse(new Date())) / 1000;//计算当前时间戳 (毫秒级) var date1 = ""; //开始时间 if (timestamp < startTime) { date1 = startTime; } else { date1 = timestamp; //开始时间 } var date2 = endTime; //结束时间 // var date3 = date2.getTime() - date1.getTime(); //时间差的毫秒数 var date3 = (date2 - date1) * 1000; //时间差的毫秒数 //计算出相差天数 var days = Math.floor(date3 / (24 * 3600 * 1000)); //计算出小时数 //2021-11-15 10:48:07 2021-11-15 17:34:39 406分钟 var leave1 = date3 % (24 * 3600 * 1000); //计算天数后剩余的毫秒数 var hours = Math.floor(leave1 / (3600 * 1000)); //计算相差分钟数 var leave2 = leave1 % (3600 * 1000); //计算小时数后剩余的毫秒数 var minutes = Math.floor(leave2 / (60 * 1000)); //计算相差秒数 var leave3 = leave2 % (60 * 1000); //计算分钟数后剩余的毫秒数 var seconds = Math.round(leave3 / 1000); console.log(days + "天 " + hours + "小时 ") // return days + "天 " + hours + "小时 " + minutes + " 分钟" + seconds + " 秒" return days + "天 " + hours + "小时 " }, //计算两个时间之间的时间差 多少天时分秒 newTime(endTime) { if (!endTime) { return '-' } var date1 = (Date.parse(new Date())) / 1000; //开始时间 if (date1 > endTime) { return '0' } var date2 = endTime; //结束时间 // var date3 = date2.getTime() - date1.getTime(); //时间差的毫秒数 var date3 = (date2 - date1) * 1000; //时间差的毫秒数 //计算出相差天数 var days = Math.floor(date3 / (24 * 3600 * 1000)); //计算出小时数 //2021-11-15 10:48:07 2021-11-15 17:34:39 406分钟 var leave1 = date3 % (24 * 3600 * 1000); //计算天数后剩余的毫秒数 var hours = Math.floor(leave1 / (3600 * 1000)); //计算相差分钟数 var leave2 = leave1 % (3600 * 1000); //计算小时数后剩余的毫秒数 var minutes = Math.floor(leave2 / (60 * 1000)); //计算相差秒数 var leave3 = leave2 % (60 * 1000); //计算分钟数后剩余的毫秒数 var seconds = Math.round(leave3 / 1000); return days + "天" + hours + "小时" + minutes + "分钟" + seconds + "秒" // return days }, /** * * @param {int} result * @returns {string} * @remard 单位S转小时分钟秒 */ secondToDate(result, Diszing = true) { if(!result){ return '' } var h = Math.floor(result / 3600) < 10 ? '0' + Math.floor(result / 3600) : Math.floor(result / 3600); var m = Math.floor((result / 60 % 60)) < 10 ? '0' + Math.floor((result / 60 % 60)) : Math.floor((result / 60 % 60)); var s = Math.floor((result % 60)) < 10 ? '0' + Math.floor((result % 60)) : Math.floor((result % 60)); if (h == 0 && Diszing) { result = m + ":" + s; } else { result = h + ':' + m + ":" + s } return result; }, /** * @param {string} result * @returns int * @remard 00:00:00格式转秒 */ secondFormDate(result) { if (result) { let reTime = result.split(":").map(Number) var hs = reTime[0] * 60 * 60 var ms = reTime[1] * 60 var ss = reTime[2] return hs + ms + ss } else { return 0 } }, /** * 扁平结构转换成树形结构 ---最佳性能方法 * @param {Arrays} items 数据 * @param {Strings} Id 参数名称 例如:'id' 默认id * @param {Strings} pId 参数名称 例如:'pid' 默认 pid * @returns 返回树形结构 */ arrayToTree(items, Id = 'id', pId = 'pid') { const result = []; // 存放结果集 const itemMap = {}; // for (const item of items) { const id = item[Id]; const pid = item[pId]; if (!itemMap[id]) { itemMap[id] = { children: [], }; } itemMap[id] = { ...item, children: itemMap[id]["children"], }; const treeItem = itemMap[id]; if (pid === 0) { result.push(treeItem); } else { if (!itemMap[pid]) { itemMap[pid] = { children: [], }; } itemMap[pid].children.push(treeItem); } } return result; }, //JS计算两个时间戳相差月数、天数、时数、分钟、秒数 humandate(time1, time2) { // var time1 = Date.parse(new Date()) / 1000; var s = time1 - time2; if (s < 0) { s = Math.abs(s); } return parseInt(s / 60) + '分钟' console.log(s) // if (s > 31536000) { // return formatDate(new Date(time2 * 1000)); // } else if (s > 2592000) { // return parseInt(s / 2592000) + '月'; // } else if (s > 86400) { // return parseInt(s / 86400) + '天'; // } else if (s > 3600) { // return parseInt(s / 3600) + '小时'; // } else if (s > 60) { // return parseInt(s / 60) + '分钟'; // } else { // return parseInt(s) + '秒'; // } }, //判断是否过期 true过期 false未过期 expiredTime(items) { var currentTime = parseInt(Date.parse(new Date()) / 1000) if (currentTime > items) { return true } else { return false } }, /** * int 0.今天时间戳范围 1.昨天时间戳范围 2.7天时间戳范围 */ timestampConvert(int) { var date1, date2 switch (int) { case 0: date1 = new Date(new Date().toLocaleDateString()).getTime() date2 = new Date().getTime() break; case 1: date1 = new Date(new Date().toLocaleDateString()).getTime() - 86400000 date2 = new Date(new Date().toLocaleDateString()).getTime() - 1000 break; case 2: date1 = new Date(new Date().toLocaleDateString()).getTime() - 604800000 date2 = new Date().getTime() break; default: break; } return [parseInt(date1), parseInt(date2)] }, getQueryVariable(variable) { var query = window.location.search.substring(1); var vars = query.split("&"); for (var i = 0; i < vars.length; i++) { var pair = vars[i].split("="); if (pair[0] == variable) { return pair[1]; } } return (false); }, setToken(tokenInfo, int) { var newTime = new Date().getTime() var ESTime = new Date().getTime() + 1000 * 60 * 60 * 24 var SEVENTime = new Date().getTime() + 1000 * 60 * 60 * 24 * 7 if (int === 1) { localStorage['Expiration' + this.getQueryVariable('TenantId')] = ESTime } if (int === 7) { localStorage['Expiration' + this.getQueryVariable('TenantId')] = SEVENTime } localStorage['token' + this.getQueryVariable('TenantId')] = tokenInfo }, checkToken() { var newTime = new Date().getTime() var Time = localStorage['Expiration' + this.getQueryVariable('TenantId')] if (newTime > Time) { localStorage.removeItem('Expiration' + this.getQueryVariable('TenantId')) localStorage.removeItem('token' + this.getQueryVariable('TenantId')) setTimeout(() => { router.replace({ path: `/login?TenantId=${this.getQueryVariable('TenantId')}` }) }, 500) return } else { return localStorage.getItem('token' + this.getQueryVariable('TenantId')) } }, delToken(status) { localStorage.removeItem('Expiration' + this.getQueryVariable('TenantId')) localStorage.removeItem('token' + this.getQueryVariable('TenantId')) if (status) { setTimeout(() => { router.replace({ path: `/login?TenantId=${this.getQueryVariable('TenantId')}` }) }, 500) } }, /** * * @param {strings} name * @returns 获取localStorage缓存 */ storageGet(name) { return window.localStorage.getItem(name) }, /** * * @param {strings} name * @param {strings} val * @returns 设置localStorage缓存 */ storageSet(name, val) { return window.localStorage.setItem(name, val) }, /** * * @param {strings} name * @returns 移除指定name */ storageRemove(name) { return window.localStorage.removeItem(name) }, /** * * @param {Array} ids * @returns 缓存业务层级 */ cacheBusinessList(ids) { let newTime = new Date(new Date().toLocaleDateString()).getTime() // 获取当天时间戳 if (this.storageGet('business')) { let businessList = JSON.parse(this.storageGet('business')) if (businessList.time != newTime) { this.storageRemove(business) this.cacheBusinessList(ids) } else { if (businessList.business.length) { let copyBusinList = JSON.parse(JSON.stringify(businessList.business)) for (let i = 0; i < ids.length; i++) { let statusT = businessList.business.some(item => { return item.businessId == ids[i].businessId && item.subjectId == ids[i].subjectId }) if (!statusT) { copyBusinList.push(ids[i]) } } businessList.business = copyBusinList } else { businessList.business = ids } this.storageSet('business', JSON.stringify(businessList)) } } else { let businessList = { time: newTime, business: ids } this.storageSet('business', JSON.stringify(businessList)) } }, /** * * @returns 获取缓存业务层级 */ getBusinessList() { let newTime = new Date(new Date().toLocaleDateString()).getTime() // 获取当天时间戳 if (this.storageGet('business')) { let businessList = JSON.parse(this.storageGet('business')) if (businessList.time != newTime) { this.storageRemove('business') return [] } else { return businessList.business } } else { return [] } }, /** * * @param {Arrays} arr 数据 * @param {Strings} uniId 根据哪个参数去重 * @returns 对象数组去重 */ uniqueFunc(arr, uniId) { const res = new Map(); return arr.filter( (item) => !res.has(item[uniId]) && res.set(item[uniId], 1) ); }, /** * * @param {Number} int 2题库3补考4前培6直播 * @returns 商品类型-返回固定校验列表 */ getTypeRules(int) { let arr = [] switch (int) { case 2: arr = [{ "fieldName": "商品封面", "fieldKey": "coverUrl", "status": 1, "require": 0, "disabled": 1 }, { "fieldName": "年份", "fieldKey": "year", "status": 1, "require": 0, "disabled": 1 }, { "fieldName": "供应方(服务)", "fieldKey": "supplyId", "status": 1, "require": 0, "disabled": 1 }, { "fieldName": "商品类型", "fieldKey": "goodsType", "status": 1, "require": 1, "disabled": 1 }, { "fieldName": "教育类型", "fieldKey": "educationTypeId", "status": 1, "require": 1, "disabled": 1 }, { "fieldName": "业务层次", "fieldKey": "businessId", "status": 1, "require": 1, "disabled": 1 }, { "fieldName": "院校", "fieldKey": "schoolId", "status": 0, "require": 0, "disabled": 1 }, { "fieldName": "专业", "fieldKey": "majorId", "status": 1, "require": 0, "disabled": 1 }, { "fieldName": "科目", "fieldKey": "subjectIds", "status": 1, "require": 1, "disabled": 1 }, { "fieldName": "商品名称", "fieldKey": "goodsName", "status": 1, "require": 1, "disabled": 1 }, { "fieldName": "学时", "fieldKey": "classHours", "status": 1, "require": 0, "disabled": 1 }, { "fieldName": "商品标准价格", "fieldKey": "standPrice", "status": 1, "require": 1, "disabled": 1 }, { "fieldName": "商品最低价格", "fieldKey": "lowestPrice", "status": 1, "require": 1, "disabled": 1 }, { "fieldName": "商品标准价格明细表", "fieldKey": "standPriceJson", "status": 1, "require": 0, "disabled": 1 }, { "fieldName": "状态", "fieldKey": "status", "status": 1, "require": 1, "disabled": 1 }, { "fieldName": "商品有效期", "fieldKey": "timeArrays", "status": 1, "require": 1, "disabled": 1 }, { "fieldName": "课程内容", "fieldKey": "courseList", "status": 0, "require": 0, "disabled": 1 }, { "fieldName": "学习次数", "fieldKey": "studyCount", "status": 0, "require": 0, "disabled": 0 }, { "fieldName": "考试次数", "fieldKey": "examNumber", "status": 0, "require": 0, "disabled": 0 }, { "fieldName": "前培(刷题)机会", "fieldKey": "doNumber", "status": 0, "require": 0, "disabled": 0 }, { "fieldName": "学习服务期", "fieldKey": "serviceTimeType", "status": 1, "require": 1, "disabled": 0 }, { "fieldName": "关联证书", "fieldKey": "certificateTypeId", "status": 0, "require": 0, "disabled": 1 }, { "fieldName": "商品简介", "fieldKey": "introduce", "status": 1, "require": 0, "disabled": 1 }, { "fieldName": "适合对象", "fieldKey": "suitableObject", "status": 1, "require": 0, "disabled": 1 }, { "fieldName": "学员须知", "fieldKey": "buyNote", "status": 1, "require": 0, "disabled": 1 }, { "fieldName": "商品详情PC端", "fieldKey": "pcDetailHtml", "status": 1, "require": 0, "disabled": 1 }, { "fieldName": "商品详情手机端", "fieldKey": "mobileDetailHtml", "status": 1, "require": 0, "disabled": 1 }] break; case 3: case 4: arr = [{ "fieldName": "商品封面", "fieldKey": "coverUrl", "status": 1, "require": 0, "disabled": 1 }, { "fieldName": "年份", "fieldKey": "year", "status": 1, "require": 0, "disabled": 1 }, { "fieldName": "供应方(服务)", "fieldKey": "supplyId", "status": 1, "require": 0, "disabled": 1 }, { "fieldName": "商品类型", "fieldKey": "goodsType", "status": 1, "require": 1, "disabled": 1 }, { "fieldName": "教育类型", "fieldKey": "educationTypeId", "status": 1, "require": 1, "disabled": 1 }, { "fieldName": "业务层次", "fieldKey": "businessId", "status": 1, "require": 1, "disabled": 1 }, { "fieldName": "院校", "fieldKey": "schoolId", "status": 0, "require": 0, "disabled": 1 }, { "fieldName": "专业", "fieldKey": "majorId", "status": 1, "require": 0, "disabled": 1 }, { "fieldName": "科目", "fieldKey": "subjectIds", "status": 1, "require": 1, "disabled": 1 }, { "fieldName": "商品名称", "fieldKey": "goodsName", "status": 1, "require": 1, "disabled": 1 }, { "fieldName": "学时", "fieldKey": "classHours", "status": 1, "require": 0, "disabled": 1 }, { "fieldName": "商品标准价格", "fieldKey": "standPrice", "status": 1, "require": 1, "disabled": 1 }, { "fieldName": "商品最低价格", "fieldKey": "lowestPrice", "status": 1, "require": 1, "disabled": 1 }, { "fieldName": "商品标准价格明细表", "fieldKey": "standPriceJson", "status": 1, "require": 0, "disabled": 1 }, { "fieldName": "状态", "fieldKey": "status", "status": 1, "require": 1, "disabled": 1 }, { "fieldName": "商品有效期", "fieldKey": "timeArrays", "status": 1, "require": 1, "disabled": 1 }, { "fieldName": "课程内容", "fieldKey": "courseList", "status": 0, "require": 0, "disabled": 1 }, { "fieldName": "学习次数", "fieldKey": "studyCount", "status": 1, "require": 1, "disabled": 0 }, { "fieldName": "考试次数", "fieldKey": "examNumber", "status": 0, "require": 0, "disabled": 0 }, { "fieldName": "前培(刷题)机会", "fieldKey": "doNumber", "status": 0, "require": 0, "disabled": 0 }, { "fieldName": "学习服务期", "fieldKey": "serviceTimeType", "status": 0, "require": 0, "disabled": 0 }, { "fieldName": "关联证书", "fieldKey": "certificateTypeId", "status": 0, "require": 0, "disabled": 1 }, { "fieldName": "商品简介", "fieldKey": "introduce", "status": 1, "require": 0, "disabled": 1 }, { "fieldName": "适合对象", "fieldKey": "suitableObject", "status": 1, "require": 0, "disabled": 1 }, { "fieldName": "学员须知", "fieldKey": "buyNote", "status": 1, "require": 0, "disabled": 1 }, { "fieldName": "商品详情PC端", "fieldKey": "pcDetailHtml", "status": 1, "require": 0, "disabled": 1 }, { "fieldName": "商品详情手机端", "fieldKey": "mobileDetailHtml", "status": 1, "require": 0, "disabled": 1 }] break; case 8: arr = [{ "fieldName": "商品封面", "fieldKey": "coverUrl", "status": 1, "require": 0, "disabled": 1 }, { "fieldName": "年份", "fieldKey": "year", "status": 1, "require": 1, "disabled": 1 }, { "fieldName": "供应方(服务)", "fieldKey": "supplyId", "status": 1, "require": 0, "disabled": 1 }, { "fieldName": "商品类型", "fieldKey": "goodsType", "status": 1, "require": 1, "disabled": 1 }, { "fieldName": "教育类型", "fieldKey": "educationTypeId", "status": 1, "require": 1, "disabled": 1 }, { "fieldName": "业务层次", "fieldKey": "businessId", "status": 1, "require": 1, "disabled": 1 }, { "fieldName": "院校", "fieldKey": "schoolId", "status": 0, "require": 0, "disabled": 1 }, { "fieldName": "专业", "fieldKey": "majorId", "status": 1, "require": 0, "disabled": 1 }, { "fieldName": "科目", "fieldKey": "subjectIds", "status": 1, "require": 1, "disabled": 1 }, { "fieldName": "商品名称", "fieldKey": "goodsName", "status": 1, "require": 1, "disabled": 1 }, { "fieldName": "学时", "fieldKey": "classHours", "status": 1, "require": 0, "disabled": 1 }, { "fieldName": "商品标准价格", "fieldKey": "standPrice", "status": 1, "require": 1, "disabled": 1 }, { "fieldName": "商品最低价格", "fieldKey": "lowestPrice", "status": 1, "require": 1, "disabled": 1 }, { "fieldName": "商品标准价格明细表", "fieldKey": "standPriceJson", "status": 1, "require": 0, "disabled": 1 }, { "fieldName": "状态", "fieldKey": "status", "status": 1, "require": 1, "disabled": 1 }, { "fieldName": "商品有效期", "fieldKey": "timeArrays", "status": 1, "require": 1, "disabled": 1 }, { "fieldName": "课程内容", "fieldKey": "courseList", "status": 0, "require": 0, "disabled": 1 }, { "fieldName": "学习次数", "fieldKey": "studyCount", "status": 1, "require": 1, "disabled": 0 }, { "fieldName": "考试次数", "fieldKey": "examNumber", "status": 0, "require": 0, "disabled": 0 }, { "fieldName": "前培(刷题)机会", "fieldKey": "doNumber", "status": 0, "require": 0, "disabled": 0 }, { "fieldName": "学习服务期", "fieldKey": "serviceTimeType", "status": 0, "require": 0, "disabled": 0 }, { "fieldName": "关联证书", "fieldKey": "certificateTypeId", "status": 0, "require": 0, "disabled": 1 }, { "fieldName": "商品简介", "fieldKey": "introduce", "status": 1, "require": 0, "disabled": 1 }, { "fieldName": "适合对象", "fieldKey": "suitableObject", "status": 1, "require": 0, "disabled": 1 }, { "fieldName": "学员须知", "fieldKey": "buyNote", "status": 1, "require": 0, "disabled": 1 }, { "fieldName": "商品详情PC端", "fieldKey": "pcDetailHtml", "status": 1, "require": 0, "disabled": 1 }, { "fieldName": "商品详情手机端", "fieldKey": "mobileDetailHtml", "status": 1, "require": 0, "disabled": 1 }] break; case 6: arr = [{ "fieldName": "商品封面", "fieldKey": "coverUrl", "status": 1, "require": 0, "disabled": 1 }, { "fieldName": "年份", "fieldKey": "year", "status": 1, "require": 0, "disabled": 1 }, { "fieldName": "供应方(服务)", "fieldKey": "supplyId", "status": 1, "require": 0, "disabled": 1 }, { "fieldName": "商品类型", "fieldKey": "goodsType", "status": 1, "require": 1, "disabled": 1 }, { "fieldName": "教育类型", "fieldKey": "educationTypeId", "status": 1, "require": 1, "disabled": 1 }, { "fieldName": "业务层次", "fieldKey": "businessId", "status": 1, "require": 1, "disabled": 1 }, { "fieldName": "院校", "fieldKey": "schoolId", "status": 0, "require": 0, "disabled": 1 }, { "fieldName": "专业", "fieldKey": "majorId", "status": 1, "require": 0, "disabled": 1 }, { "fieldName": "科目", "fieldKey": "subjectIds", "status": 1, "require": 1, "disabled": 1 }, { "fieldName": "商品名称", "fieldKey": "goodsName", "status": 1, "require": 1, "disabled": 1 }, { "fieldName": "学时", "fieldKey": "classHours", "status": 1, "require": 0, "disabled": 1 }, { "fieldName": "商品标准价格", "fieldKey": "standPrice", "status": 1, "require": 1, "disabled": 1 }, { "fieldName": "商品最低价格", "fieldKey": "lowestPrice", "status": 1, "require": 1, "disabled": 1 }, { "fieldName": "商品标准价格明细表", "fieldKey": "standPriceJson", "status": 1, "require": 0, "disabled": 1 }, { "fieldName": "状态", "fieldKey": "status", "status": 1, "require": 1, "disabled": 1 }, { "fieldName": "商品有效期", "fieldKey": "timeArrays", "status": 1, "require": 1, "disabled": 1 }, { "fieldName": "课程内容", "fieldKey": "courseList", "status": 1, "require": 0, "disabled": 1 }, { "fieldName": "学习次数", "fieldKey": "studyCount", "status": 0, "require": 0, "disabled": 0 }, { "fieldName": "考试次数", "fieldKey": "examNumber", "status": 0, "require": 0, "disabled": 0 }, { "fieldName": "前培(刷题)机会", "fieldKey": "doNumber", "status": 0, "require": 0, "disabled": 0 }, { "fieldName": "学习服务期", "fieldKey": "serviceTimeType", "status": 1, "require": 1, "disabled": 0 }, { "fieldName": "关联证书", "fieldKey": "certificateTypeId", "status": 1, "require": 0, "disabled": 1 }, { "fieldName": "商品简介", "fieldKey": "introduce", "status": 1, "require": 0, "disabled": 1 }, { "fieldName": "适合对象", "fieldKey": "suitableObject", "status": 1, "require": 0, "disabled": 1 }, { "fieldName": "学员须知", "fieldKey": "buyNote", "status": 1, "require": 0, "disabled": 1 }, { "fieldName": "商品详情PC端", "fieldKey": "pcDetailHtml", "status": 1, "require": 0, "disabled": 1 }, { "fieldName": "商品详情手机端", "fieldKey": "mobileDetailHtml", "status": 1, "require": 0, "disabled": 1 }] break; default: break; } return arr }, /** * * @param {Bool} status true 全部 false 筛选 * @param {Number} id 筛选情况下 教育类型ID */ concatList(status, id) { return new Promise((resolve, reject) => { let options = [ { label: "最近选择", options: [], }, { label: "业务层级", options: [], }, ]; api.inquirebusinessList({ status: 1 }).then((res) => { let courTypeOptions = res.rows; if (status) { if (this.getBusinessList().length) { let arrlist = this.getBusinessList(); courTypeOptions.forEach((item) => { if (arrlist.includes(item.id)) { options[0].options.push(item); } else { options[1].options.push(item); } }); } else { options[1].options = courTypeOptions; } // let arrs = options.filter((item) => { // if (item.options.length) { // return item; // } // }); resolve({ value: res.rows, options: options }) } else { let arr = []; if (this.getBusinessList().length) { let arrlist = this.getBusinessList(); courTypeOptions.forEach((item) => { if (arrlist.includes(item.id)) { options[0].options.push(item); } }); arr = courTypeOptions.filter((item) => { return item.educationId == id && !arrlist.includes(item.id); }); } else { arr = courTypeOptions.filter((item) => { return item.educationId == id; }); } options[1].options = arr; // let arrs = options.filter((item) => { // if (item.options.length) { // return item; // } // }); resolve({ value: res.rows, options: options }) } }); }) }, getWeekData(year, month) { //传入 年 月 获取当月有几周 以及日期 var new_year = year; //取当前的年份 var new_month = month++;//取下一个月的第一天,方便计算(最后一天不固定) if (new_month < 10) { new_month = '0' + new_month } var weekDay = ["星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期天"]; if (new_month > 12) { new_month -= 12; //月份减 new_year++; //年份增 } var first_date = new Date(new_year, new_month, 1); //取当年当月中的第一天-时间格式 var last_Data = (new Date(first_date.getTime() - 1000 * 60 * 60 * 24)).getDate() //获取当月最后一天日期 //当月第一天是周几 var firstzhouji = new Date(new_year + '/' + new_month + '/' + 1).getDay() == 0 ? '星期天' : weekDay[new Date(new_year + '/' + new_month + '/' + 1).getDay() - 1] //当月最后一天是周几 var lastzhouji = new Date(new_year + '/' + new_month + '/' + last_Data).getDay() == 0 ? '星期天' : weekDay[new Date(new_year + '/' + new_month + '/' + last_Data).getDay() - 1] var firsttime = '' //第一周有几天 if (firstzhouji == '星期一') { firsttime = 7 } if (firstzhouji == '星期二') { firsttime = 6 } if (firstzhouji == '星期三') { firsttime = 5 } if (firstzhouji == '星期四') { firsttime = 4 } if (firstzhouji == '星期五') { firsttime = 3 } if (firstzhouji == '星期六') { firsttime = 2 } if (firstzhouji == '星期天') { firsttime = 1 } var lasttime = '' //最后一周有几天 if (lastzhouji == '星期一') { lasttime = 1 } if (lastzhouji == '星期二') { lasttime = 2 } if (lastzhouji == '星期三') { lasttime = 3 } if (lastzhouji == '星期四') { lasttime = 4 } if (lastzhouji == '星期五') { lasttime = 5 } if (lastzhouji == '星期六') { lasttime = 6 } if (lastzhouji == '星期天') { lasttime = 7 } // 前后两周 加上 剩余周数 得出总周数 var contime = 2 + (last_Data - lasttime - firsttime) / 7 //得出每周对应的日期 var zhouArry = [] for (var i = 1; i <= contime; i++) { var strTime = '' var lastTime = '' if (i == 1) { strTime = year + '-' + new_month + '-' + '01' let aa = 1 + firsttime - 1 if (aa < 10) { aa = '0' + aa } lastTime = year + '-' + new_month + '-' + aa } else if (i == contime) { let bb = last_Data - lasttime + 1 if (bb < 10) { bb = '0' + bb } strTime = year + '-' + new_month + '-' + bb lastTime = year + '-' + new_month + '-' + (last_Data < 10 ? ('0' + last_Data) : last_Data) } else { strTime = addDate(zhouArry[zhouArry.length - 1].endTime, 1) lastTime = addDate(zhouArry[zhouArry.length - 1].endTime, 7) } zhouArry.push({ weeknum: i, beginTime: strTime, endTime: lastTime, beginTimeCode: new Date(strTime + ' 00:00:00').getTime() / 1000, endTimeCode: new Date(lastTime + ' 23:59:59').getTime() / 1000, }) //日期增加 接受两个参数, 传入的时间,传入时间增加的天数 function addDate(date, days) { if (days == undefined || days == '') { days = 1; } var date = new Date(date); date.setDate(date.getDate() + days); var month = date.getMonth() + 1; if (month < 10) { month = '0' + month; } var day = date.getDate(); if (day < 10) { day = '0' + day; } return date.getFullYear() + '-' + month + '-' + day; } } return zhouArry } }