import {dicts} from "@/utils/dicts"; import axios from 'axios' import Vue from 'vue' window.axios = axios const KENGEE_CDN_BASE = "http://10.0.97.209/presource/datascreen" const libs = [ `${KENGEE_CDN_BASE}/js/pinyin.min.js`, `${KENGEE_CDN_BASE}/js/dayjs.min.js`, `${KENGEE_CDN_BASE}/js/Tween.js`, `${KENGEE_CDN_BASE}/js/three/three.js`, `${KENGEE_CDN_BASE}/js/d3-array.min.js`, `${KENGEE_CDN_BASE}/js/d3-geo.min.js`, ] window.$loadScript = (type = 'js', url, dom = "body") => { let flag = false; return new Promise((resolve) => { const head = dom == 'head' ? document.getElementsByTagName('head')[0] : document.body; for (let i = 0; i < head.children.length; i++) { let ele = head.children[i] if ((ele.src || '').indexOf(url) !== -1) { flag = true; resolve(); } } if (flag) return; let script; if (type === 'js') { script = document.createElement('script'); script.type = 'text/javascript'; script.src = url; } else if (type === 'css') { script = document.createElement('link'); script.rel = 'stylesheet'; script.type = 'text/css'; script.href = url; } head.appendChild(script); script.onload = function () { resolve(); }; }); }; window.$glob = {token: "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJoLXVzZXItaWQiOiIxODA4MDM2NzI3NzQzNDU1MjMyIiwiaC1yb2xlLWlkIjoiMTgwODAzNjg5NDQxMjUxMzI4MCIsImV4cCI6MTc1MTQ0NDg0MywibmJmIjoxNzE5OTA4ODQzfQ.Wi6wzArP79mFj3XEzSendOfWHJc1mNuSAlAC1W4zMzI"} window.$dicts = dicts window.$waitFor = (target, t = 500) => new Promise(resolve => { const interval = setInterval(() => { if (target) { clearInterval(interval) resolve(target) } }, t) if (target) { clearInterval(interval) resolve(target) } }) window.evenRowBGC = (color = "#09265B") => `transparent;background-image: linear-gradient(-45deg, ${color} 0, ${color} 10%, transparent 10%, transparent 50%,${color} 50%, ${color} 60%, transparent 60%, transparent);background-size: 10px 10px;` Vue.prototype.$marketBoard = Vue.observable({ search: {"groupCodeList": ["20011061"], "currentDate": "20240701", "compareDate": "20240630", "hourNum": "18"} }) Vue.prototype.$multipleStoreBoard = Vue.observable({ search: {"groupCodeList": [], "hourNum": "", type: "1"} }) Vue.prototype.$storeBoard = Vue.observable({ search: {} }) Vue.component("tableColumn", { props: { column: {default: () => ({})} }, render(h) { const config = this.$props.column return h('el-table-column', {props: {...config, label: `${config.label}` || "-"}}, config.children?.map(col => h("tableColumn", {props: {column: col}})) || h('template', { slotScope: { default: ({row}) => { config.custom ? h('div', {style: {color: row.preSaleNum > row.stockNum ? 'red' : '#fff'}}, '周边库存情况') : h('span', row[config.prop] || '') } } })) }, }) export default Promise.all([ import("./fetch"), ...libs.map(url => $loadScript('js', url)), ])