2
3
Переглянути джерело

优化企业信息子组件数据同步

yuedefeng 6 роки тому
батько
коміт
78661db2db

+ 9 - 2
src/dashoo.cn/frontend_web/src/components/oilsupplier/basisinfo.vue

@@ -349,7 +349,7 @@
       },
       dictData: {
         type: Object,
-        default: {}
+        default: null
       },
       disabled: {
         type: Boolean,
@@ -512,7 +512,14 @@
       }
     },
     created () {
-      this.getDictOptions()
+    },
+    watch: {
+      dictData: {
+        handler (newName, oldName) {
+          this.getDictOptions()
+        },
+        immediate: true
+      }
     },
     methods: {
       getDictOptions () {

+ 9 - 2
src/dashoo.cn/frontend_web/src/components/oilsupplier/goodsinfo.vue

@@ -381,7 +381,7 @@
     props: {
       formData: {
         type: Object,
-        default: {}
+        default: null
       },
       dictData: {
         type: Object,
@@ -553,7 +553,14 @@
       }
     },
     created () {
-      this.getDictOptions()
+    },
+    watch: {
+      dictData: {
+        handler (newName, oldName) {
+          this.getDictOptions()
+        },
+        immediate: true
+      }
     },
     methods: {
       getDictOptions () {

+ 9 - 2
src/dashoo.cn/frontend_web/src/components/oilsupplier/techinfo.vue

@@ -349,7 +349,7 @@
       },
       dictData: {
         type: Object,
-        default: {}
+        default: null
       },
       disabled: {
         type: Boolean,
@@ -512,7 +512,14 @@
       }
     },
     created () {
-      this.getDictOptions()
+    },
+    watch: {
+      dictData: {
+        handler (newName, oldName) {
+          this.getDictOptions()
+        },
+        immediate: true
+      }
     },
     methods: {
       getDictOptions () {

+ 2 - 3
src/dashoo.cn/frontend_web/src/pages/oilsupplier/supplier/_opera/basisedit.vue

@@ -37,7 +37,7 @@
                 <el-button type="primary" size="mini" @click="saveEntity">保存基本信息</el-button>
               </span>
             </div>
-            <basis-info v-if="dictData" ref="BasisInfo" :formData="formData" :dictData="dictData"></basis-info>
+            <basis-info ref="BasisInfo" :formData.sync="formData" :dictData.sync="dictData"></basis-info>
           </el-card>
         </el-tab-pane>
 
@@ -348,6 +348,7 @@
         this.formData.Id = 0
       }
       this.getDictOptions()
+      this.initDatas()
     },
     methods: {
       equipmentdialog() {
@@ -408,8 +409,6 @@
       getDictOptions () {
         api.getDictList(this.$axios).then(res => {
           this.dictData = res.data.items
-          console.log("dictData = ", this.dictData)
-          this.initDatas()
           /*this.UnitRelationOptions = res.data.items['UnitRelation']
            this.getCityList(res.data.items['GaodeMapChinaAreas'])
            this.CompanyTypeOptions = res.data.items['CompanyType']*/

+ 2 - 2
src/dashoo.cn/frontend_web/src/pages/oilsupplier/supplier/_opera/goodsedit.vue

@@ -37,7 +37,7 @@
                 <el-button type="primary" size="mini" @click="saveEntity">保存基本信息</el-button>
               </span>
             </div>
-            <goods-info v-if="dictData" ref="GoodsInfo" :formData="formData" :dictData="dictData"></goods-info>
+            <goods-info ref="GoodsInfo" :formData.sync="formData" :dictData.sync="dictData"></goods-info>
           </el-card>
         </el-tab-pane>
 
@@ -348,6 +348,7 @@
         this.formData.Id = 0
       }
       this.getDictOptions()
+      this.initDatas()
     },
     methods: {
       equipmentdialog() {
@@ -408,7 +409,6 @@
       getDictOptions () {
         api.getDictList(this.$axios).then(res => {
           this.dictData = res.data.items
-          this.initDatas()
           /*this.UnitRelationOptions = res.data.items['UnitRelation']
            this.getCityList(res.data.items['GaodeMapChinaAreas'])
            this.CompanyTypeOptions = res.data.items['CompanyType']*/

+ 2 - 2
src/dashoo.cn/frontend_web/src/pages/oilsupplier/supplier/_opera/techedit.vue

@@ -37,7 +37,7 @@
                 <el-button type="primary" size="mini" @click="saveEntity">保存基本信息</el-button>
               </span>
             </div>
-            <tech-info v-if="dictData" ref="TechInfo" :formData="formData" :dictData="dictData"></tech-info>
+            <tech-info ref="TechInfo" :formData.sync="formData" :dictData.sync="dictData"></tech-info>
           </el-card>
         </el-tab-pane>
 
@@ -348,6 +348,7 @@
         this.formData.Id = 0
       }
       this.getDictOptions()
+      this.initDatas()
     },
     methods: {
       equipmentdialog() {
@@ -408,7 +409,6 @@
       getDictOptions () {
         api.getDictList(this.$axios).then(res => {
           this.dictData = res.data.items
-          this.initDatas()
           /*this.UnitRelationOptions = res.data.items['UnitRelation']
           this.getCityList(res.data.items['GaodeMapChinaAreas'])
           this.CompanyTypeOptions = res.data.items['CompanyType']*/

+ 2 - 2
src/dashoo.cn/frontend_web/src/pages/oilsupplier/supplieraudit/_opera/basisedit.vue

@@ -23,7 +23,7 @@
             <div slot="header" class="clearfix">
               <span>供方基本信息表</span>
             </div>
-            <basis-info v-if="dictData" ref="TechInfo" :formData="formData" :dictData="dictData" :disabled="true"></basis-info>
+            <basis-info ref="TechInfo" :formData.sync="formData" :dictData.sync="dictData" :disabled="true"></basis-info>
           </el-card>
         </el-tab-pane>
 
@@ -316,6 +316,7 @@
         this.formData.Id = 0
       }
       this.getDictOptions()
+      this.initDatas()
     },
     methods: {
       equipmentdialog() {
@@ -359,7 +360,6 @@
       getDictOptions () {
         api.getDictList(this.$axios).then(res => {
           this.dictData = res.data.items
-          this.initDatas()
         }).catch(err => {
           console.error(err)
         })

+ 2 - 2
src/dashoo.cn/frontend_web/src/pages/oilsupplier/supplieraudit/_opera/goodsedit.vue

@@ -23,7 +23,7 @@
             <div slot="header" class="clearfix">
               <span>供方基本信息表</span>
             </div>
-            <goods-info v-if="dictData" ref="TechInfo" :formData="formData" :dictData="dictData" :disabled="true"></goods-info>
+            <goods-info ref="TechInfo" :formData.sync="formData" :dictData.sync="dictData" :disabled="true"></goods-info>
           </el-card>
         </el-tab-pane>
 
@@ -316,6 +316,7 @@
         this.formData.Id = 0
       }
       this.getDictOptions()
+      this.initDatas()
     },
     methods: {
       equipmentdialog() {
@@ -359,7 +360,6 @@
       getDictOptions () {
         api.getDictList(this.$axios).then(res => {
           this.dictData = res.data.items
-          this.initDatas()
         }).catch(err => {
           console.error(err)
         })

+ 2 - 2
src/dashoo.cn/frontend_web/src/pages/oilsupplier/supplieraudit/_opera/techedit.vue

@@ -23,7 +23,7 @@
             <div slot="header" class="clearfix">
               <span>供方基本信息表</span>
             </div>
-            <tech-info v-if="dictData" ref="TechInfo" :formData="formData" :dictData="dictData" :disabled="true"></tech-info>
+            <tech-info ref="TechInfo" :formData.sync="formData" :dictData.sync="dictData" :disabled="true"></tech-info>
           </el-card>
         </el-tab-pane>
 
@@ -316,6 +316,7 @@
         this.formData.Id = 0
       }
       this.getDictOptions()
+      this.initDatas()
     },
     methods: {
       equipmentdialog() {
@@ -359,7 +360,6 @@
       getDictOptions () {
         api.getDictList(this.$axios).then(res => {
           this.dictData = res.data.items
-          this.initDatas()
         }).catch(err => {
          console.error(err)
          })