| | |
| | | import SparkMD5 from 'spark-md5' |
| | | import { getPublicImage } from '@/assets/js/middleGround/tool.js' |
| | | // import moment from "moment"; |
| | | import SparkMD5 from "spark-md5"; |
| | | |
| | | var tool = { |
| | | secondToTime(second) { |
| | | var minute = Math.floor(second / 60) |
| | | var sec = second % 60 |
| | | var time |
| | | var minute = Math.floor(second / 60); |
| | | var sec = second % 60; |
| | | var time; |
| | | if (second < 60) { |
| | | time = second + '"' |
| | | time = second + '"'; |
| | | } else { |
| | | time = sec === 0 ? minute + "'" : minute + "'" + sec + '"' |
| | | time = sec === 0 ? minute + "'" : minute + "'" + sec + '"'; |
| | | } |
| | | return time |
| | | return time; |
| | | }, |
| | | setCookie: function (c_name, value, expiredays, path) { |
| | | var exdate = new Date() |
| | | exdate.setDate(exdate.getDate() + expiredays) |
| | | var exdate = new Date(); |
| | | exdate.setDate(exdate.getDate() + expiredays); |
| | | document.cookie = |
| | | c_name + |
| | | '=' + |
| | | "=" + |
| | | escape(value) + |
| | | (expiredays == null ? '' : ';expires=' + exdate.toGMTString()) + |
| | | (path ? ';path=' + path : '') |
| | | (expiredays == null ? "" : ";expires=" + exdate.toGMTString()) + |
| | | (path ? ";path=" + path : ""); |
| | | }, |
| | | getCookie: function (c_name) { |
| | | if (document.cookie.length > 0) { |
| | | var c_start = document.cookie.indexOf(c_name + '=') |
| | | var c_start = document.cookie.indexOf(c_name + "="); |
| | | if (c_start != -1) { |
| | | c_start = c_start + c_name.length + 1 |
| | | var c_end = document.cookie.indexOf(';', c_start) |
| | | if (c_end == -1) c_end = document.cookie.length |
| | | return unescape(document.cookie.substring(c_start, c_end)) |
| | | c_start = c_start + c_name.length + 1; |
| | | var c_end = document.cookie.indexOf(";", c_start); |
| | | if (c_end == -1) c_end = document.cookie.length; |
| | | return unescape(document.cookie.substring(c_start, c_end)); |
| | | } |
| | | } |
| | | return '' |
| | | return ""; |
| | | }, |
| | | delCookie: function (name) { |
| | | var exp = new Date() |
| | | exp.setTime(exp.getTime() - 1) |
| | | var cval = tool.getCookie(name) |
| | | if (cval != null) document.cookie = name + '=' + cval + ';expires=' + exp.toGMTString() |
| | | var exp = new Date(); |
| | | exp.setTime(exp.getTime() - 1); |
| | | var cval = tool.getCookie(name); |
| | | if (cval != null) |
| | | document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString(); |
| | | }, |
| | | // 强制保留2位小数,如:2,会在2后面补上00.即2.00 |
| | | toDecimal2(x) { |
| | | var f |
| | | f = parseFloat(x) |
| | | var f; |
| | | f = parseFloat(x); |
| | | if (isNaN(f)) { |
| | | return false |
| | | return false; |
| | | } |
| | | f = Math.round(x * 100) / 100 |
| | | var s = f.toString() |
| | | var rs = s.indexOf('.') |
| | | f = Math.round(x * 100) / 100; |
| | | var s = f.toString(); |
| | | var rs = s.indexOf("."); |
| | | if (rs < 0) { |
| | | rs = s.length |
| | | s += '.' |
| | | rs = s.length; |
| | | s += "."; |
| | | } |
| | | while (s.length <= rs + 2) { |
| | | s += '0' |
| | | s += "0"; |
| | | } |
| | | return s |
| | | return s; |
| | | }, |
| | | formateTime(date) { |
| | | var newDate = new Date(+new Date(date) + 8 * 3600 * 1000) |
| | | .toISOString() |
| | | .replace(/T/g, ' ') |
| | | .replace(/\.[\d]{3}Z/, '') |
| | | var time = new Date(newDate) |
| | | return time.getTime() |
| | | .replace(/T/g, " ") |
| | | .replace(/\.[\d]{3}Z/, ""); |
| | | var time = new Date(newDate); |
| | | return time.getTime(); |
| | | } |
| | | } |
| | | |
| | | // 处理订单记录 |
| | | // export function setOrderList(res) { |
| | | // // 获取当前年份的开始时间 |
| | | // let currentTimestamp = moment().startOf("year"); |
| | | // let arr = []; |
| | | // for (let i = 0; i < res.length; i++) { |
| | | // const item = res[i]; |
| | | // // 发票状态为审核中或者审核失败,将item选中状态设置选中。 |
| | | // // UI控制禁用(显示的效果为 选中并且禁用) |
| | | // if (item.invoiceInfo) { |
| | | // item.checked = true; |
| | | // } else { |
| | | // item.checked = false; |
| | | // } |
| | | // // 判断是否超出申请发票的日期 |
| | | // item.exceedingTheSpecifiedTime = moment(item.createDate).isBefore( |
| | | // currentTimestamp |
| | | // ); |
| | | // if (item.saleMethodLinks.length > 0) { |
| | | // let itemName = null; |
| | | // let itemIcon = null; |
| | | // let cmsItemList = null; |
| | | // try { |
| | | // cmsItemList = item.saleMethodLinks[0].orderSaleMethod.cmsItemList[0]; |
| | | // } catch (error) { |
| | | // cmsItemList = null; |
| | | // } |
| | | // if (cmsItemList && cmsItemList.icon) { |
| | | // itemName = cmsItemList.name; |
| | | // itemIcon = cmsItemList.icon; |
| | | // } else { |
| | | // itemName = item.saleMethodLinks[0].orderSaleMethod.product.name; |
| | | // itemIcon = item.saleMethodLinks[0].orderSaleMethod.product.icon; |
| | | // } |
| | | // item.saleMethodLinks[0].title = itemName; |
| | | // item.saleMethodLinks[0].icon = getPublicImage(itemIcon); |
| | | // } else { |
| | | // const itemIcon = require("@/assets/images/bookCity/place_img.png"); |
| | | // const saleMethodLink = []; |
| | | // const obj = { |
| | | // icon: itemIcon, |
| | | // orderSaleMethod: { |
| | | // price: item.payPrice, |
| | | // }, |
| | | // }; |
| | | // saleMethodLink.push(obj); |
| | | // item.saleMethodLinks = saleMethodLink; |
| | | // } |
| | | // if (item.state == "Success") { |
| | | // item.CustomState = "支付成功"; |
| | | // } |
| | | // if (item.state == "Cancel") { |
| | | // item.CustomState = "取消支付"; |
| | | // } |
| | | // if (item.state == "WaitPay") { |
| | | // item.CustomState = "等待支付"; |
| | | // } |
| | | // if (item.state == "WaitDeliver") { |
| | | // item.CustomState = "正在支付"; |
| | | // } |
| | | // arr.push(item); |
| | | // } |
| | | // return arr; |
| | | // } |
| | | }; |
| | | |
| | | //处理表单提交数据 |
| | | export function worksData(res) { |
| | | let arr = [] |
| | | let arr = []; |
| | | for (let i = 0; i < res.length; i++) { |
| | | const item = res[i] |
| | | const item = res[i]; |
| | | if (item.typeField) { |
| | | if (item.typeField.config) { |
| | | item.typeField.options = JSON.parse(item.typeField.config).option |
| | | item.typeField.options = JSON.parse(item.typeField.config).option; |
| | | } |
| | | arr.push(item.typeField) |
| | | arr.push(item.typeField); |
| | | } |
| | | } |
| | | return arr |
| | | return arr; |
| | | } |
| | | |
| | | export function worksDataBytool(res, value, linkList) { |
| | | let arr = [] |
| | | let nrr = [] |
| | | let arr = []; |
| | | let nrr = []; |
| | | if (linkList && linkList.length > 0) { |
| | | linkList.forEach((e) => |
| | | nrr.push({ |
| | |
| | | linkType: e.linkType, |
| | | md5: e.md5 |
| | | }) |
| | | ) |
| | | ); |
| | | } |
| | | res.forEach((item) => { |
| | | const obj = { |
| | | baseType: item.typeField.baseType, |
| | | order: 0, |
| | | typeFieldId: item.typeField.id, |
| | | sequenceNum: item.config ? JSON.parse(item.config).uuid : '', |
| | | sequenceNum: item.config ? JSON.parse(item.config).uuid : "", |
| | | newDataAndFileLinkListRequest: [] |
| | | } |
| | | }; |
| | | for (let k in value) { |
| | | if (item.typeField.refCode === k) { |
| | | if (item.typeField.type == 'File') { |
| | | if (item.typeField.type == "File") { |
| | | try { |
| | | obj.strValue = JSON.stringify(value[k].map((citem) => citem.md5)) |
| | | obj.strValue = JSON.stringify(value[k].map((citem) => citem.md5)); |
| | | } catch (error) { |
| | | obj.strValue = '' |
| | | obj.strValue = ""; |
| | | } |
| | | obj.newDataAndFileLinkListRequest = nrr |
| | | obj.newDataAndFileLinkListRequest = nrr; |
| | | } else { |
| | | if (typeof value[k] == 'object') { |
| | | obj.strValue = JSON.stringify(value[k]) |
| | | if (typeof value[k] == "object") { |
| | | obj.strValue = JSON.stringify(value[k]); |
| | | } else { |
| | | if (obj.baseType === 'String') { |
| | | obj.strValue = value[k] + '' |
| | | } else if (obj.baseType === 'Text') { |
| | | obj.textValue = value[k] + '' |
| | | if (obj.baseType === "String") { |
| | | obj.strValue = value[k] + ""; |
| | | } else if (obj.baseType === "Text") { |
| | | obj.textValue = value[k] + ""; |
| | | } else { |
| | | obj.strValue = value[k] + '' |
| | | obj.strValue = value[k] + ""; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | // if (obj.strValue || obj.textValue) { |
| | | arr.push(obj) |
| | | arr.push(obj); |
| | | // } |
| | | }) |
| | | return arr |
| | | }); |
| | | return arr; |
| | | } |
| | | |
| | | export function UpdateworksDataBytool(initData, res, value, linkList) { |
| | |
| | | id: updateOldData.id, |
| | | typeFieldId: citem.typeField.id, |
| | | sequenceNum: citem.sequenceNum, |
| | | setDataAndFileLinkListRequest: [], |
| | | setDataAndFileLinkListRequest: [] |
| | | }; |
| | | for (let k in value) { |
| | | if (citem.typeField.refCode === k) { |
| | |
| | | order: 0, |
| | | typeFieldId: citem.typeField.id, |
| | | sequenceNum: citem.sequenceNum, |
| | | setDataAndFileLinkListRequest: [], |
| | | setDataAndFileLinkListRequest: [] |
| | | }; |
| | | for (let k in value) { |
| | | if (citem.typeField.refCode === k) { |
| | |
| | | }); |
| | | return { |
| | | updateData: arr, |
| | | newData: newArr, |
| | | newData: newArr |
| | | }; |
| | | } |
| | | |
| | | export function download(url) { |
| | | const iframe = document.createElement('iframe') |
| | | iframe.setAttribute('hidden', 'hidden') |
| | | document.body.appendChild(iframe) |
| | | const iframe = document.createElement("iframe"); |
| | | iframe.setAttribute("hidden", "hidden"); |
| | | document.body.appendChild(iframe); |
| | | iframe.onload = () => { |
| | | if (iframe) { |
| | | iframe.setAttribute('src', 'about:blank') |
| | | iframe.setAttribute("src", "about:blank"); |
| | | } |
| | | } |
| | | }; |
| | | |
| | | iframe.setAttribute('src', url) |
| | | iframe.setAttribute("src", url); |
| | | } |
| | | |
| | | /** |
| | |
| | | * @returns {string} |
| | | */ |
| | | export function uuid(len = 32, radix = 16) { |
| | | const chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split('') |
| | | const chars = |
| | | "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""); |
| | | let uuid = [], |
| | | i |
| | | radix = radix || chars.length |
| | | i; |
| | | radix = radix || chars.length; |
| | | |
| | | if (len) { |
| | | // Compact form |
| | | for (i = 0; i < len; i++) uuid[i] = chars[0 | (Math.random() * radix)] |
| | | for (i = 0; i < len; i++) uuid[i] = chars[0 | (Math.random() * radix)]; |
| | | } else { |
| | | // rfc4122, version 4 form |
| | | let r |
| | | let r; |
| | | |
| | | // rfc4122 requires these characters |
| | | uuid[8] = uuid[13] = uuid[18] = uuid[23] = '-' |
| | | uuid[14] = '4' |
| | | uuid[8] = uuid[13] = uuid[18] = uuid[23] = "-"; |
| | | uuid[14] = "4"; |
| | | |
| | | // Fill in random data. At i==19 set the high bits of clock sequence as |
| | | // per rfc4122, sec. 4.1.5 |
| | | for (i = 0; i < 36; i++) { |
| | | if (!uuid[i]) { |
| | | r = 0 | (Math.random() * 16) |
| | | uuid[i] = chars[i === 19 ? (r & 0x3) | 0x8 : r] |
| | | r = 0 | (Math.random() * 16); |
| | | uuid[i] = chars[i === 19 ? (r & 0x3) | 0x8 : r]; |
| | | } |
| | | } |
| | | } |
| | | |
| | | return uuid.join('') |
| | | return uuid.join(""); |
| | | } |
| | | |
| | | export function getFileMd5(file, chunkSize) { |
| | | return new Promise((resolve, reject) => { |
| | | let blobSlice = File.prototype.slice || File.prototype.mozSlice || File.prototype.webkitSlice |
| | | let chunks = Math.ceil(file.size / chunkSize) |
| | | let currentChunk = 0 |
| | | let spark = new SparkMD5.ArrayBuffer() |
| | | let fileReader = new FileReader() |
| | | let blobSlice = |
| | | File.prototype.slice || |
| | | File.prototype.mozSlice || |
| | | File.prototype.webkitSlice; |
| | | let chunks = Math.ceil(file.size / chunkSize); |
| | | let currentChunk = 0; |
| | | let spark = new SparkMD5.ArrayBuffer(); |
| | | let fileReader = new FileReader(); |
| | | fileReader.onload = function (e) { |
| | | spark.append(e.target.result) |
| | | currentChunk++ |
| | | spark.append(e.target.result); |
| | | currentChunk++; |
| | | if (currentChunk < chunks) { |
| | | loadNext() |
| | | loadNext(); |
| | | } else { |
| | | const md5 = spark.end() |
| | | resolve(md5) |
| | | const md5 = spark.end(); |
| | | resolve(md5); |
| | | } |
| | | } |
| | | }; |
| | | fileReader.onerror = function (e) { |
| | | reject(e) |
| | | } |
| | | reject(e); |
| | | }; |
| | | |
| | | function loadNext() { |
| | | let start = currentChunk * chunkSize |
| | | let end = start + chunkSize |
| | | let start = currentChunk * chunkSize; |
| | | let end = start + chunkSize; |
| | | if (end > file.size) { |
| | | end = file.size |
| | | end = file.size; |
| | | } |
| | | fileReader.readAsArrayBuffer(blobSlice.call(file, start, end)) |
| | | fileReader.readAsArrayBuffer(blobSlice.call(file, start, end)); |
| | | } |
| | | loadNext() |
| | | }) |
| | | loadNext(); |
| | | }); |
| | | } |
| | | |
| | | // 处理时间,用于显示音视频当前时间 |
| | | // export function realFormatSecond(time) { |
| | | // let duration = parseInt(time); |
| | | // let minute = parseInt(duration / 60); |
| | | // let sec = (duration % 60) + ""; |
| | | // let isM0 = ":"; |
| | | // if (minute == 0) { |
| | | // minute = "00"; |
| | | // } else if (minute < 10) { |
| | | // minute = "0" + minute; |
| | | // } |
| | | // if (sec.length == 1) { |
| | | // sec = "0" + sec; |
| | | // } |
| | | // return minute + isM0 + sec; |
| | | // } |
| | | |
| | | // export function parseHtml(content) { |
| | | // const tagReg = |
| | | // /<\/?div[^>]*>|<\/?span[^>]*>|<\/?table[^>]*>|<\/?th[^>]*>|<\/?thead>|<\/?tbody>|<\/?tr>|<\/?td[^>]*>|<br[^>]*>|<\/?p[^>]*>|<\/?sub>|<\/?sup>|<\/?font[^>]*>|<img[^>]*>|<\/?a[^>]*>|\n|\\n/gi; |
| | | // const escapeReg = |
| | | // /&(lt|gt|le|ge|nbsp|amp|quot|times|Alpha|Beta|Gamma|Delta|Epsilon|Zeta|Eta|Theta|Iota|Kappa|Lambda|MU|NU|Xi|Omicron|Pi|Rho|Sigma|Tau|Upsilon|Phi|Chi|Psi|Omega|alpha|beta|gamma|delta|epsilon|zeta|eta|theta|iota|kappa|lambda|mu|nu|xi|omicron|pi|rho|sigmaf|sigma|tau|upsilon|phi|chi|psi|omega|thetasym|upsih|piv|circ|tilde|ndash|permil|lsquo|rsquo|ldquo|rdquo|prime);/gi; |
| | | // const escapeElements = { |
| | | // lt: "<", |
| | | // gt: ">", |
| | | // le: "≤", |
| | | // ge: "≥", |
| | | // nbsp: " ", |
| | | // amp: "&", |
| | | // quot: '""', |
| | | // times: "×", |
| | | // Alpha: "Α", |
| | | // Beta: "Β", |
| | | // Gamma: "Γ", |
| | | // Delta: "Δ", |
| | | // Epsilon: "Ε", |
| | | // Zeta: "Ζ", |
| | | // Eta: "Η", |
| | | // Theta: "Θ", |
| | | // Iota: "Ι", |
| | | // Kappa: "Κ", |
| | | // Lambda: "Λ", |
| | | // Mu: "Μ", |
| | | // Nu: "Ν", |
| | | // Xi: "Ξ", |
| | | // Omicron: "Ο", |
| | | // Pi: "Π", |
| | | // Rho: "Ρ", |
| | | // Sigma: "Σ", |
| | | // Tau: "Τ", |
| | | // Upsilon: "Υ", |
| | | // Phi: "Φ", |
| | | // Chi: "Χ", |
| | | // Psi: "Ψ", |
| | | // Omega: "Ω", |
| | | // alpha: "α", |
| | | // beta: "β", |
| | | // gamma: "γ", |
| | | // delta: "δ", |
| | | // epsilon: "ε", |
| | | // zeta: "ζ", |
| | | // eta: "η", |
| | | // theta: "θ", |
| | | // iota: "ι", |
| | | // kappa: "κ", |
| | | // lambda: "λ", |
| | | // mu: "μ", |
| | | // nu: "ν", |
| | | // xi: "ξ", |
| | | // omicron: "ο", |
| | | // pi: "π", |
| | | // rho: "ρ", |
| | | // sigmaf: "ς", |
| | | // sigma: "σ", |
| | | // tau: "τ", |
| | | // upsilon: "υ", |
| | | // phi: "φ", |
| | | // chi: "χ", |
| | | // psi: "ψ", |
| | | // omega: "ω", |
| | | // thetasym: "ϑ", |
| | | // upsih: "ϒ", |
| | | // piv: "ϖ", |
| | | // circ: "ˆ", |
| | | // tilde: "˜", |
| | | // ndash: "–", |
| | | // permil: "‰", |
| | | // lsquo: "‘", |
| | | // rsquo: "’", |
| | | // ldquo: "“", |
| | | // rdquo: "”", |
| | | // prime: "′", |
| | | // }; |
| | | // const contentWithoutTag = content.replace(tagReg, ""); |
| | | // const contentWithOnlyOneSpace = contentWithoutTag.replace(/ {2,}/g, " "); |
| | | // return contentWithOnlyOneSpace.replace( |
| | | // escapeReg, |
| | | // (all, t) => escapeElements[t] |
| | | // ); |
| | | // } |
| | | export function getParentNodeByClassName(element, className) { |
| | | if (element && element.classList.contains(className)) { |
| | | return element; |
| | | } else { |
| | | return getParentNodeByClassName(element.parentNode, className); |
| | | } |
| | | } |
| | | |
| | | export default { |
| | | ...tool, |
| | |
| | | getFileMd5, |
| | | worksDataBytool, |
| | | UpdateworksDataBytool, |
| | | getPublicImage, |
| | | worksData |
| | | worksData, |
| | | getParentNodeByClassName |
| | | // parseHtml, |
| | | } |
| | | }; |