Browse Source

提交标书

caojunjie 2 years ago
parent
commit
ab9365d738

+ 68 - 8
src/views/bidingDocument/issueTender/detailsPageEdit.vue

@@ -33,7 +33,9 @@
       <avue-form :option="optionForm" v-model="form" ref="form"></avue-form>
     </trade-card>
     <trade-card title="箱信息">
-      <avue-crud ref="crudBox" :option="optionBox" :data="dataListBox">
+      <avue-crud ref="crudBox" :key="key" :option="optionBox" :data="dataListBox"
+                 @resetColumn="resetColumn('crudBox','optionBox','optionBoxTwo',201.1)"
+                 @saveColumn="saveColumn('crudBox','optionBox','optionBoxTwo',201.1)">
         <template slot-scope="{row,index}" slot="menu">
           <el-button
               type="text"
@@ -54,7 +56,9 @@
       </avue-crud>
     </trade-card>
     <trade-card title="代理信息">
-      <avue-crud ref="crudAgent" :option="optionAgent" :data="dataListAgent">
+      <avue-crud ref="crudAgent" :key="key" :option="optionAgent" :data="dataListAgent"
+                 @resetColumn="resetColumn('crudAgent','optionAgent','optionAgentTwo',201.2)"
+                 @saveColumn="saveColumn('crudAgent','optionAgent','optionAgentTwo',201.2)">
         <template slot-scope="{row,index}" slot="menu">
           <el-button
               type="text"
@@ -75,7 +79,9 @@
       </avue-crud>
     </trade-card>
     <trade-card title="投标对比">
-      <avue-crud ref="crudAgent" :option="optionBid" :data="dataListBid">
+      <avue-crud ref="crudBid" :key="key" :option="optionBid" :data="dataListBid"
+                 @resetColumn="resetColumn('crudBid','optionBid','optionBidTwo',201.3)"
+                 @saveColumn="saveColumn('crudBid','optionBid','optionBidTwo',201.3)">
         <template slot-scope="{row,index}" slot="menu">
           <el-button
               type="text"
@@ -153,7 +159,6 @@ export default {
   watch: {
     form: {
       handler(newValue, oldValue) {
-        console.log(this.form.status)
         if (this.form.status > 0){
           this.$set(this.optionForm,'disabled',true)
           this.$set(this.optionBox,'addRowBtn',false)
@@ -187,6 +192,7 @@ export default {
       checkScheduleDialog:false,
       checkId: '',
       batchNo:'',
+      key:0,
       checkData: {},
       fullscreenLoading: false,
       optionForm: {
@@ -397,7 +403,8 @@ export default {
           span: 24,
         }]
       },
-      optionBox: {
+      optionBox:{},
+      optionBoxTwo: {
         align: 'center',
         index: true,
         refreshBtn: false,
@@ -457,7 +464,8 @@ export default {
           index:7,
         }]
       },
-      optionAgent: {
+      optionAgent:{},
+      optionAgentTwo: {
         align: 'center',
         index: true,
         refreshBtn: false,
@@ -511,7 +519,8 @@ export default {
           index:6,
         }]
       },
-      optionBid: {
+      optionBid:{},
+      optionBidTwo: {
         align: 'center',
         index:true,
         refreshBtn: false,
@@ -588,7 +597,7 @@ export default {
       type: Object
     }
   },
-  created() {
+  async created() {
     if (this.id) {
       this.refreshData(this.id)
     }
@@ -596,8 +605,59 @@ export default {
       this.checkDisabled = true
       this.batchNo = this.detailData.check.batchNo
     }
+    this.optionBox = await this.getColumnData(this.getColumnName(201.1), this.optionBoxTwo);
+    this.optionAgent = await this.getColumnData(this.getColumnName(201.2), this.optionAgentTwo);
+    this.optionBid = await this.getColumnData(this.getColumnName(201.3), this.optionBidTwo);
+    this.key++
   },
   methods: {
+    //自定义列保存
+    async saveColumn(ref, option, optionBack, code) {
+      /**
+       * 已定义全局方法,直接使用,saveColumnData保存列数据方法,参数传值(表格名称,当前表格的option数据)
+       * 已定义全局方法,直接使用,getColumnName方法用来获取枚举值,参数根据自己定义的code值获取中文名
+       * 一定要执行异步操作,要等接口成功返回,才能执行下一行代码
+       */
+      const inSave = await this.saveColumnData(this.getColumnName(code), this[option]);
+      if (inSave) {
+        this.$message.success("保存成功");
+        //关闭窗口
+        this.$refs[ref].$refs.dialogColumn.columnBox = false;
+      }
+    },
+    //自定义列重置
+    async resetColumn(ref, option, optionBack, code) {
+      this[option] = this[optionBack];
+      const inSave = await this.delColumnData(this.getColumnName(code), this[optionBack]);
+      if (inSave) {
+        this.$message.success("重置成功");
+        if (this.form.status > 0){
+          this.$set(this.optionForm,'disabled',true)
+          this.$set(this.optionBox,'addRowBtn',false)
+          this.$set(this.optionAgent,'addRowBtn',false)
+          this.optionBox.column.forEach(item=>{
+            this.$set(item,'disabled',true)
+            if (item.prop === "remark"){
+              this.$set(item,'disabled',false)
+            }
+          })
+          this.optionAgent.column.forEach(item=>{
+            this.$set(item,'disabled',true)
+            if (item.prop === "remark"){
+              this.$set(item,'disabled',false)
+            }
+          })
+        }else {
+          this.$set(this.optionForm,'disabled',false)
+          this.findObject(this.optionForm.column, "status").disabled = true
+          this.$set(this.optionBox,'disabled',false)
+          this.findObject(this.optionBox.column, "status").disabled = true
+          this.$set(this.optionAgent,'disabled',false)
+          this.findObject(this.optionAgent.column, "status").disabled = true
+        }
+        this.$refs[ref].$refs.dialogColumn.columnBox = false;
+      }
+    },
     edit(row){
       if (row.$cellEdit){
         this.$set(row,'$cellEdit',false)

+ 33 - 2
src/views/bidingDocument/issueTender/index.vue

@@ -6,8 +6,12 @@
           :data="dataList"
           :page.sync="page"
           :table-loading="loading"
+          :key="key"
+          ref="crud"
           @refresh-change="refreshChange"
           @search-change="searchChange"
+          @resetColumn="resetColumn"
+          @saveColumn="saveColumn"
           @on-load="onLoad">
         <template slot-scope="scope" slot="menuLeft">
           <el-button type="primary"
@@ -40,13 +44,15 @@ export default {
         total: 0,
         pageSizes: [10, 50, 100, 200, 300]
       },
+      key:0,
       query:{},
       dataList:[],
       detailData: {},
       loading:false,
       show:false,
       id:'',
-      option:{
+      option:{},
+      optionList:{
         addBtn:false,
         editBtn:false,
         delBtn:false,
@@ -150,7 +156,7 @@ export default {
       }
     }
   },
-  created() {
+  async created() {
     if (this.$route.query.check){
       this.detailData = {
         id: this.$route.query.check.billId,
@@ -163,6 +169,8 @@ export default {
     }else {
       this.detailData = {}
     }
+    this.option = await this.getColumnData(this.getColumnName(201), this.optionList);
+    this.key++
     let i = 0;
     if (i % 3 !== 0) {
       const num = 3 - Number(i % 3)
@@ -171,6 +179,29 @@ export default {
     }
   },
   methods:{
+    //自定义列保存
+    async saveColumn() {
+      /**
+       * 已定义全局方法,直接使用,saveColumnData保存列数据方法,参数传值(表格名称,当前表格的option数据)
+       * 已定义全局方法,直接使用,getColumnName方法用来获取枚举值,参数根据自己定义的code值获取中文名
+       * 一定要执行异步操作,要等接口成功返回,才能执行下一行代码
+       */
+      const inSave = await this.saveColumnData(this.getColumnName(201), this.option);
+      if (inSave) {
+        this.$message.success("保存成功");
+        //关闭窗口
+        this.$refs.crud.$refs.dialogColumn.columnBox = false;
+      }
+    },
+    //自定义列重置
+    async resetColumn() {
+      this.option = this.optionList;
+      const inSave = await this.delColumnData(this.getColumnName(201), this.optionList);
+      if (inSave) {
+        this.$message.success("重置成功");
+        this.$refs.crud.$refs.dialogColumn.columnBox = false;
+      }
+    },
     rowSave(){
       this.show = true
     },

+ 1 - 1
vue.config.js

@@ -32,7 +32,7 @@ module.exports = {
       '/api': {
         //本地服务接口地址
         // target: 'http://192.168.3.64:1080',
-        // target: 'http://192.168.1.102:1080',
+        // target: 'http://192.168.1.120:1080',
         // target: 'http://124.222.119.174:1080',
         // 打包地址
         target: 'http://121.37.83.47:10004',//服务器ip