smallchill 6 лет назад
Родитель
Сommit
02de800cce
2 измененных файлов с 101 добавлено и 94 удалено
  1. 74 69
      src/util/func.js
  2. 27 25
      src/views/authority/datascope.vue

+ 74 - 69
src/util/func.js

@@ -1,80 +1,85 @@
-/**
- * 不为空
- * @param val
- * @returns {boolean}
- */
-export function notEmpty(val) {
-  return !this.isEmpty(val);
-}
 
 /**
- * 为空
- * @param val
- * @returns {boolean}
+ * 通用工具类
  */
-export function isEmpty(val) {
-  if (
-    val === null ||
-    typeof val === 'undefined' ||
-    (typeof val === 'string' && val === '' && val !== 'undefined')
-  ) {
-    return true;
+export default class func {
+  /**
+   * 不为空
+   * @param val
+   * @returns {boolean}
+   */
+  static notEmpty(val) {
+    return !this.isEmpty(val);
   }
-  return false;
-}
 
-/**
- * 强转int型
- * @param val
- * @param defaultValue
- * @returns {number}
- */
-export function toInt(val, defaultValue) {
-  if (this.isEmpty(val)) {
-    return defaultValue === undefined ? -1 : defaultValue;
+  /**
+   * 为空
+   * @param val
+   * @returns {boolean}
+   */
+  static isEmpty(val) {
+    if (
+      val === null ||
+      typeof val === 'undefined' ||
+      (typeof val === 'string' && val === '' && val !== 'undefined')
+    ) {
+      return true;
+    }
+    return false;
   }
-  const num = parseInt(val, 0);
-  return Number.isNaN(num) ? (defaultValue === undefined ? -1 : defaultValue) : num;
-}
 
-/**
- * Json强转为Form类型
- * @param obj
- * @returns {FormData}
- */
-export function toFormData(obj) {
-  const data = new FormData();
-  Object.keys(obj).forEach(key => {
-    data.append(key, Array.isArray(obj[key]) ? obj[key].join(',') : obj[key]);
-  });
-  return data;
-}
+  /**
+   * 强转int型
+   * @param val
+   * @param defaultValue
+   * @returns {number}
+   */
+  static toInt(val, defaultValue) {
+    if (this.isEmpty(val)) {
+      return defaultValue === undefined ? -1 : defaultValue;
+    }
+    const num = parseInt(val, 0);
+    return Number.isNaN(num) ? (defaultValue === undefined ? -1 : defaultValue) : num;
+  }
 
-/**
- * date类转为字符串格式
- * @param date
- * @param format
- * @returns {null}
- */
-export function format(date, format = 'YYYY-MM-DD HH:mm:ss') {
-  return date ? date.format(format) : null;
-}
+  /**
+   * Json强转为Form类型
+   * @param obj
+   * @returns {FormData}
+   */
+  static toFormData(obj) {
+    const data = new FormData();
+    Object.keys(obj).forEach(key => {
+      data.append(key, Array.isArray(obj[key]) ? obj[key].join(',') : obj[key]);
+    });
+    return data;
+  }
 
-/**
- * 根据逗号联合
- * @param arr
- * @returns {string}
- */
-export function join(arr) {
-  return arr ? arr.join(',') : '';
-}
+  /**
+   * date类转为字符串格式
+   * @param date
+   * @param format
+   * @returns {null}
+   */
+  static format(date, format = 'YYYY-MM-DD HH:mm:ss') {
+    return date ? date.format(format) : null;
+  }
 
-/**
- * 根据逗号分隔
- * @param str
- * @returns {string}
- */
-export function split(str) {
-  return str ? String(str).split(',') : '';
-}
+  /**
+   * 根据逗号联合
+   * @param arr
+   * @returns {string}
+   */
+  static join(arr) {
+    return arr ? arr.join(',') : '';
+  }
 
+  /**
+   * 根据逗号分隔
+   * @param str
+   * @returns {string}
+   */
+  static split(str) {
+    return str ? String(str).split(',') : '';
+  }
+}

+ 27 - 25
src/views/authority/datascope.vue

@@ -87,6 +87,7 @@
   } from "@/api/system/scope";
   import {mapGetters} from "vuex";
   import iconList from "@/config/iconList";
+  import func from "@/util/func";
 
   export default {
     data() {
@@ -431,26 +432,27 @@
     },
     methods: {
       initScope() {
-        if (this.watchMode) {
-          const scopeType = this.formScope.scopeType;
-          let column = "-", name = "暂无";
-          if (scopeType === "1") {
-            column = "-";
-            name = "全部可见";
-          } else if (scopeType === "2") {
-            column = "create_user";
-            name = "本人可见";
-          } else if (scopeType === "3") {
-            column = "create_dept";
-            name = "所在机构可见";
-          } else if (scopeType === "4") {
-            column = "create_dept";
-            name = "所在机构可见及子级可见";
-          } else if (scopeType === "5") {
-            column = "";
-            name = "自定义";
-          }
-          this.$refs.crudScope.option.column.filter(item => {
+        const scopeType = func.toInt(this.formScope.scopeType);
+        const watchMode = this.watchMode;
+        let column = "-", name = "暂无";
+        if (scopeType === 1) {
+          column = "-";
+          name = "全部可见";
+        } else if (scopeType === 2) {
+          column = "create_user";
+          name = "本人可见";
+        } else if (scopeType === 3) {
+          column = "create_dept";
+          name = "所在机构可见";
+        } else if (scopeType === 4) {
+          column = "create_dept";
+          name = "所在机构可见及子级可见";
+        } else if (scopeType === 5) {
+          column = "";
+          name = "自定义";
+        }
+        this.$refs.crudScope.option.column.filter(item => {
+          if (watchMode) {
             if (item.prop === "scopeName") {
               this.formScope.scopeName = `${this.scopeMenuName} [${name}]`;
             }
@@ -460,11 +462,11 @@
             if (item.prop === "scopeColumn") {
               this.formScope.scopeColumn = column;
             }
-            if (item.prop === "scopeValue") {
-              item.display = scopeType === '5';
-            }
-          });
-        }
+          }
+          if (item.prop === "scopeValue") {
+            item.display = scopeType === 5;
+          }
+        });
       },
       // 菜单管理模块
       rowSave(row, loading, done) {