Browse Source

添加附件组件自定义列枚举值,完善自定义列保存

caojunjie 3 years ago
parent
commit
5114f9b143
1 changed files with 39 additions and 2 deletions
  1. 39 2
      src/components/upload/index.vue

+ 39 - 2
src/components/upload/index.vue

@@ -1,6 +1,6 @@
 <template>
   <basic-container>
-    <avue-crud :data="data" ref="crud" :option="option" @row-save="rowSave">
+    <avue-crud :data="data" ref="crud" :option="option" @resetColumn="resetColumn" @saveColumn="saveColumn">
       <template slot="menuLeft">
         <el-button type="primary"
                    size="small"
@@ -87,6 +87,8 @@
 <script>
 import {getToken} from "@/util/auth";
 import {sharedDeletion} from "@/api/user";
+import option from "@/views/exportTrade/customerInquiry/config/mainList.json";
+import {gainUser} from "@/api/basicData/customerInquiry";
 
 export default {
   name: "index",
@@ -99,6 +101,9 @@ export default {
     },
     deleteUrl: {
       type: String
+    },
+    enumerationValue: {
+      type: Number
     }
   },
   data() {
@@ -110,7 +115,8 @@ export default {
       imgUrl: '',
       action: '/api/blade-resource/oss/endpoint/put-file',
       headers: {"Blade-Auth": 'Bearer ' + getToken()},
-      option: {
+      option: {},
+      originalOptions: {
         dialogDrag: true,
         index: true,
         refreshBtn: false,
@@ -159,7 +165,38 @@ export default {
       uploadCount: 0,
     }
   },
+  async created() {
+    /**
+     * 已定义全局方法,直接使用,getColumnData获取列数据,参数传值(表格名称,引入的本地JSON的数据定义的名称)
+     * 已定义全局方法,直接使用,getColumnName方法用来获取枚举值,参数根据自己定义的code值获取中文名
+     * 一定要执行异步操作,要等接口成功返回,才能执行下一行代码
+     */
+    this.option = await this.getColumnData(this.getColumnName(this.enumerationValue), this.originalOptions);
+  },
   methods: {
+    //自定义列保存
+    async saveColumn() {
+      /**
+       * 已定义全局方法,直接使用,saveColumnData保存列数据方法,参数传值(表格名称,当前表格的option数据)
+       * 已定义全局方法,直接使用,getColumnName方法用来获取枚举值,参数根据自己定义的code值获取中文名
+       * 一定要执行异步操作,要等接口成功返回,才能执行下一行代码
+       */
+      const inSave = await this.saveColumnData(this.getColumnName(this.enumerationValue),this.option);
+      if (inSave) {
+        this.$message.success("保存成功");
+        //关闭窗口
+        this.$refs.crud.$refs.dialogColumn.columnBox = false;
+      }
+    },
+    //自定义列重置
+    async resetColumn() {
+      this.option = this.originalOptions;
+      const inSave = await this.delColumnData(this.getColumnName(this.enumerationValue), this.originalOptions);
+      if (inSave) {
+        this.$message.success("重置成功");
+        this.$refs.crud.$refs.dialogColumn.columnBox = false;
+      }
+    },
     //新增上传成功
     onSuccess(response, file, fileList) {
       this.$refs.crud.rowCellAdd({