Jelajahi Sumber

Merge branch 'develop_yh13' of http://git.chelingzhu.com/jianguan-web/jg-ocs-html into develop_yh13

chenrui 2 tahun lalu
induk
melakukan
5e4a8bf4ec

+ 1 - 1
src/config/router.config.js

@@ -3514,4 +3514,4 @@ export const constantRouterMap = [
     path: '/404',
     component: () => import(/* webpackChunkName: "fail" */ '@/views/exception/404')
   }
-]
+]

+ 1 - 3
src/layouts/BigScreen.vue

@@ -1,4 +1,3 @@
-<!--大屏模板-->
 <template>
   <div class="screen-page">
     <ScaleScreen
@@ -277,7 +276,6 @@ export default {
   @keyframes yh-setting-fade-out {
       0% {
           opacity: 1;
-
       }
 
       100% {
@@ -305,4 +303,4 @@ export default {
           transform: translate(100%, 0)
       }
   }
-</style>
+</style>

+ 2 - 1
src/layouts/index.js

@@ -3,5 +3,6 @@ import BlankLayout from './BlankLayout'
 import BasicLayout from './BasicLayout'
 import RouteView from './RouteView'
 import PageView from './PageView'
+import BigScreen from './BigScreen'
 
-export { UserLayout, BasicLayout, BlankLayout, RouteView, PageView }
+export { UserLayout, BasicLayout, BlankLayout, RouteView, PageView, BigScreen }

+ 8 - 1
src/libs/getDate.js

@@ -135,5 +135,12 @@ export default {
     obj.starttime = moment(moment().month(moment().month() - 2).startOf('month').valueOf()).format('YYYY-MM-DD 00:00:00')
     obj.endtime = moment(moment().month(moment().month() - 2).endOf('month').valueOf()).format('YYYY-MM-DD 23:59:59')
     return obj
+  },
+  // 获取某一年的开始和结束时间
+  getBeDateByYear(year){
+    return {
+      	beginDate: moment(year.toString()).startOf('year').format('YYYY-MM-DD 00:00:00'),
+      	endDate: moment(year.toString()).endOf('year').format('YYYY-MM-DD 23:59:59')
+    }
   }
-}
+}

+ 0 - 2
src/libs/types.js

@@ -42,5 +42,3 @@ export function isHtmlElement(node) {
 export const isUndefined = (val) => {
     return val === void 0;
 };
-
-

+ 1 - 0
src/store/getters.js

@@ -19,6 +19,7 @@ const getters = {
   employeeList: state => state.app.employeeList,
   tempBillOfData: state => state.app.tempBillOfData,
   returnReason: state => state.app.returnReason,
+  echartsAutoTime: state => state.setting.echartsAutoTime,
   authMenusList: state => state.app.authMenusList,
   priceAuthOptions: state => state.app.priceAuthOptions,
   curActionPermission: state => state.app.curActionPermission

+ 4 - 3
src/store/index.js

@@ -4,7 +4,7 @@ import Vuex from 'vuex'
 import app from './modules/app'
 import user from './modules/user'
 import socket from './modules/websocketStore'
-
+import setting from './modules/setting'
 // default router permission control
 import permission from './modules/permission'
 
@@ -19,7 +19,8 @@ export default new Vuex.Store({
     app,
     user,
     permission,
-    socket
+    socket,
+    setting
   },
   state: {
 
@@ -31,4 +32,4 @@ export default new Vuex.Store({
 
   },
   getters
-})
+})

+ 37 - 0
src/utils/domUtil.js

@@ -16,3 +16,40 @@ export const setDocumentTitle = function (title) {
   }
 }
 export const domTitle = process.env.VUE_APP_PRO_NAME
+
+// 设置keyframes属性
+export const addKeyFrames = function (id,y,dur){
+    var style = document.createElement('style');
+    style.type = 'text/css';
+    var keyFrames = '\
+    @-webkit-keyframes A_ID {\
+        0% {\
+            -webkit-transform: translate3d(0, 0, 0);\
+            transform: translate3d(0, 0, 0);\
+        }\
+        100% {\
+            -webkit-transform: translate3d(0, A_DYNAMIC_VALUE, 0);\
+            transform: translate3d(0, A_DYNAMIC_VALUE, 0);\
+        }\
+    }\
+    @keyframes A_ID {\
+        0% {\
+            -webkit-transform: translate3d(0, 0, 0);\
+            transform: translate3d(0, 0, 0);\
+        }\
+        100% {\
+            -webkit-transform: translate3d(0, A_DYNAMIC_VALUE, 0);\
+            transform: translate3d(0, A_DYNAMIC_VALUE, 0);\
+        }\
+    }\
+    .A_ID{\
+        -webkit-animation: A_DURs A_ID linear infinite normal;\
+        animation: A_DURs A_ID linear infinite normal;\
+        position: relative;\
+    }\
+    .A_ID:hover{\
+        animation-play-state:paused;\
+    }';
+    style.innerHTML = keyFrames.replace(/A_ID/g, id).replace(/A_DYNAMIC_VALUE/g, y).replace(/A_DUR/g,dur);
+    document.getElementsByTagName('head')[0].appendChild(style);
+}

+ 15 - 2
src/utils/request.js

@@ -6,7 +6,19 @@ import notification from 'ant-design-vue/es/notification'
 import modal from 'ant-design-vue/es/modal'
 import { getAuthPriceCode } from './util'
 import { VueAxios } from './axios'
- 
+
+//没有基地址 访问根目录下文件
+const GETNOBASE = async (url, params) => {
+    try {
+        const data = await axios.get(url, {
+            params: params,
+        });
+        return data.data;
+    } catch (error) {
+        return error;
+    }
+}
+
 // 创建 axios 实例
 const service = axios.create({
   baseURL: process.env.VUE_APP_API_BASE_URL, // api base_url
@@ -155,5 +167,6 @@ const installer = {
 
 export {
   installer as VueAxios,
-  service as axios
+  service as axios,
+  GETNOBASE
 }

+ 63 - 0
src/utils/util.js

@@ -71,6 +71,69 @@ export function oneOf (value, validList) {
   }
   return false
 }
+
+/**
+ * @param {Function} fn 防抖函数
+ * @param {Number} delay 延迟时间
+ */
+export function debounce(fn, delay) {
+  var timer;
+  return function () {
+    var context = this;
+    var args = arguments;
+    clearTimeout(timer);
+    timer = setTimeout(function () {
+      fn.apply(context, args);
+    }, delay);
+  };
+}
+/**
+ * @param {date} time 需要转换的时间
+ * @param {String} fmt 需要转换的格式 如 yyyy-MM-dd、yyyy-MM-dd HH:mm:ss
+ */
+export function formatTime(time, fmt) {
+  if (!time) return '';
+  else {
+    const date = new Date(time);
+    const 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 (const 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;
+  }
+}
+
+// 千分位分隔符
+export function formatThousands (number) {
+  if(!number){return 0}
+  const arr = number.toString().split('.')
+  const numbers = arr[0].split('').reverse()
+  const segs = []
+
+  while (numbers.length) segs.push(numbers.splice(0, 3).join(''))
+
+  return segs.join(',').split('').reverse().join('') + (arr.length>1 ? ("."+arr[1]) : '')
+}
 // 树查找
 export function treeFind (tree, func) {
   for (const data of tree) {

+ 1 - 1
src/views/bigScreen/realTimeSalesReport/center-map.vue

@@ -62,7 +62,7 @@ export default {
       this.timer = setInterval(looper, 30000)
     },
     getData (code) {
-      this.loading = !this.timer ? true : false
+      this.loading = !this.timer
       queryMapSaleData(getDate.getBeDateByYear(this.curYear)).then((res) => {
         console.log('地图', res)
         if (res.status == 200) {