Browse Source

列设置 封装公共方法

QuKatie 3 years ago
parent
commit
851085413b
4 changed files with 71 additions and 36 deletions
  1. 11 2
      src/enums/column-name.js
  2. 21 6
      src/main.js
  3. 31 0
      src/util/columnSetting.js
  4. 8 28
      src/views/exportTrade/customerInquiry/index.vue

+ 11 - 2
src/enums/column-name.js

@@ -1,7 +1,16 @@
-export const columnName = [{
+const columnName = [{
   code: 0,
   name: '出口报价单'
 }, {
   code: 1,
   name: '出口采购订单'
-}]
+}]
+export const getColumnName=(key)=>{
+  console.log(key)
+  for(let index=0;index<columnName.length;index++){
+    const element = columnName[index];
+    if (element.code === key) {
+      return element.name
+    }
+  }
+}

+ 21 - 6
src/main.js

@@ -5,9 +5,11 @@ import App from './App';
 import router from './router/router';
 import './permission'; // 权限
 import './error'; // 日志
-import './cache';//页面缓存
+import './cache'; //页面缓存
 import store from './store';
-import {loadStyle} from './util/util'
+import {
+  loadStyle
+} from './util/util'
 import * as urls from '@/config/env';
 import Element from 'element-ui';
 import {
@@ -22,11 +24,21 @@ import thirdRegister from './components/third-register/main';
 import avueUeditor from 'avue-plugin-ueditor';
 import website from '@/config/website';
 import crudCommon from '@/mixins/crud';
-import format from 'vue-text-format';//v-format
-import {getWorkDicts} from '@/api/system/dictbiz'
+import format from 'vue-text-format'; //v-format
+import {
+  getWorkDicts
+} from '@/api/system/dictbiz'
 import './util/directives.js'
 //客户选择组件
 import selectComponent from '@/components/selectComponent/customerSelect';
+//枚举列设置名称管理
+import {
+  getColumnName
+} from "@/enums/column-name"
+import {
+  getColumnData,
+  saveColumnData
+} from "@/util/columnSetting"
 Vue.component('selectComponent', selectComponent);
 import portInfo from "@/components/port-info/index";
 Vue.component('portInfo', portInfo);
@@ -44,7 +56,7 @@ Vue.use(window.AVUE, {
   calcHeight: 65,
   i18n: (key, value) => i18n.t(key, value)
 });
-Vue.use(format);//v-format
+Vue.use(format); //v-format
 // 注册全局容器
 Vue.component('basicContainer', basicContainer);
 Vue.component('basicBlock', basicBlock);
@@ -67,7 +79,10 @@ Vue.prototype.getWorkDicts = getWorkDicts
 iconfontVersion.forEach(ele => {
   loadStyle(iconfontUrl.replace('$key', ele));
 });
-
+//枚举列设置名称管理
+Vue.prototype.getColumnName = getColumnName
+Vue.prototype.getColumnData = getColumnData
+Vue.prototype.saveColumnData = saveColumnData
 Vue.config.productionTip = false;
 new Vue({
   router,

+ 31 - 0
src/util/columnSetting.js

@@ -0,0 +1,31 @@
+import {
+  saveColumn,
+  getColumn
+} from "@/api/saveColumn";
+
+export async function getColumnData(columnKey, mainOption) {
+  let option
+  const localData = JSON.parse(localStorage.getItem(columnKey) || null);
+  if (localData != null) {
+    option = localData;
+  } else {
+    let res = await getColumn({
+      fileName: columnKey
+    })
+    option = res.data.data ? JSON.parse(res.data.data.jsonMessage) : mainOption;
+    localStorage.setItem(columnKey, JSON.stringify(option));
+  }
+  return option
+}
+export async function saveColumnData(columnKey, option) {
+  let res = await saveColumn({
+    fileName: columnKey,
+    jsonMessage: JSON.stringify(option)
+  })
+  if (res.data.code == 200) {
+    localStorage.setItem(columnKey, JSON.stringify(option));
+    return true
+  } else {
+    return false
+  }
+}

+ 8 - 28
src/views/exportTrade/customerInquiry/index.vue

@@ -84,13 +84,9 @@
 </template>
 
 <script>
-import mainOption from "./config/mainList.json";
+import option from "./config/mainList.json";
 import { getList, remove } from "@/api/basicData/customerInquiry";
 import detailPage from "./detailsPage.vue";
-import { saveColumn, getColumn, getJson } from "@/api/saveColumn";
-import {columnName} from "@/enums/column-name"
-let columnKey=columnName[0].name
-console.log(columnKey)
 export default {
   name: "customerInformation",
   data() {
@@ -119,18 +115,7 @@ export default {
   },
   components: { detailPage },
   async created() {
-    const localData = JSON.parse(localStorage.getItem(columnKey) || null);
-    if (localData != null) {
-      this.option = localData;
-    } else {
-      const res = await getColumn({ fileName: columnKey });
-      console.log(res.data.data);
-      this.option =
-        res.data.data != null
-          ? JSON.parse(res.data.data.jsonMessage)
-          : mainOption;
-      localStorage.setItem(columnKey, JSON.stringify(this.option));
-    }
+    this.option =await this.getColumnData(this.getColumnName(0),option);
     let _this = this;
     this.option.column.forEach(e => {
       if (e.prop == "exchangeRate") {
@@ -227,17 +212,12 @@ export default {
       this.detailData = this.$options.data().detailData;
       this.show = true;
     },
-    saveColumn(row, column) {
-      saveColumn({
-        fileName: columnKey,
-        jsonMessage: JSON.stringify(this.option)
-      }).then(res => {
-        if (res.data.code == 200) {
-          this.$message.success("保存成功");
-          localStorage.setItem(columnKey, JSON.stringify(this.option));
-          this.$refs.crud.$refs.dialogColumn.columnBox = false;
-        }
-      });
+    async saveColumn() {
+     const inSave=await this.saveColumnData(this.getColumnName(0),this.option)
+     if(inSave){
+       this.$message.success("保存成功");
+       this.$refs.crud.$refs.dialogColumn.columnBox = false;
+     }
     }
   }
 };