Browse Source

界面数据缺失

pm 1 year ago
parent
commit
5749598a78

+ 38 - 16
src/components/separationPoint/workshop.vue

@@ -68,7 +68,7 @@
 import { listAllWorkshop } from "@/api/mes/md/workshop";
 import { getIsWorkareaList } from "@/api/mes/wa/workarea";
 import {selectIsSopById} from "@/api/mes/sop/sopindex"
-
+import { mapActions, mapGetters } from 'vuex';
 export default {
   props: {
     sopProps: {
@@ -115,13 +115,24 @@ export default {
         // 在这里处理 jobProps 变化后的逻辑
         this.form.workShop=newVal[0].workshopId
         this.form.producLine=newVal[0].workareaId
-       b
+        // this.handleselect(newVal[0].workshopId)
+        // this.handleselectProductLine(newVal[0].workareaId)
+
+        // 确保 handleselect 完成后再调用 handleselectProductLine
+        this.handleselect(newVal[0].workshopId).then(() => {
+          this.handleselectProductLine(newVal[0].workareaId);
+        }).catch((error) => {
+          console.error('处理车间下拉失败', error);
+        });
+
        // 这里是为了拿到sop模板里默认的隔离点选中的数据
         selectIsSopById(newVal[0].sopId).then(res => {
             console.log(res,'sop')
             const selectSopPoints=res.data.pointDetailVOList.map((item)=>{
                 return item.pointId
             })
+          // 调用 Vuex action 来存储 selectSopPoints
+            this.setSelectSopPoints(selectSopPoints)
           console.log(selectSopPoints,'sop_selectePoints')
         })
       },
@@ -132,7 +143,9 @@ export default {
     this.getworkshopList();
 
   },
+
   methods: {
+    ...mapActions(['setSelectSopPoints']),//这里是为了调用 存储数据的方法
     // 获取车间列表
     getworkshopList() {
       listAllWorkshop().then((response) => {
@@ -146,30 +159,39 @@ export default {
       });
     },
 
+    // 单选车间下拉
     // 单选车间下拉
     handleselect(value) {
-      // console.log(value,'我触发了车间下拉');
-      getIsWorkareaList(value).then((response) => {
-        this.producLineOptions = response.data.map((item) => {
-          return {
-            label: item.workareaName,
-            value: item.workareaId,
-            key: item.workareaCode,
-            map: item.map,
-          };
-        });      });
+      return new Promise((resolve, reject) => {
+        getIsWorkareaList(value).then((response) => {
+          this.producLineOptions = response.data.map((item) => {
+            return {
+              label: item.workareaName,
+              value: item.workareaId,
+              key: item.workareaCode,
+              map: item.map,
+            };
+          });
+
+          console.log(this.producLineOptions, 'this.producLineOptions');
+          resolve(); // 异步操作成功后 resolve
+        }).catch((error) => {
+          console.error('获取生产线下拉列表失败', error);
+          reject(error); // 异步操作失败后 reject
+        });
+      });
     },
     // 生产线下拉
     handleselectProductLine(val) {
-      // console.log(val, "生产线下拉");
+      console.log(val, "生产线下拉");
       //   利用组件逆传递 selectProductLine方法传递数据给兄弟组件
       const selectedOption = this.producLineOptions.filter((item) => {
-        return item.value === val;
+        return item.value == val;
       });
       const selectworkShop = this.workShopOptions.filter((item) => {
-        return item.value === this.form.workShop;
+        return item.value == this.form.workShop;
       });
-      // console.log(selectworkShop, selectedOption, "workshop-components");
+      console.log(selectworkShop, selectedOption, "workshop-components");
       // 触发自定义事件,传递 selectedOption[0] 数据给父组件
       this.$emit("product-line-selected", selectedOption[0]);
       this.$emit("work-shop-selected", selectworkShop[0]);

+ 2 - 2
src/store/index.js

@@ -6,7 +6,7 @@ import tagsView from './modules/tagsView'
 import permission from './modules/permission'
 import settings from './modules/settings'
 import getters from './getters'
-
+import sopSelectPoints from './modules/sopSelectPoints'
 Vue.use(Vuex)
 
 const store = new Vuex.Store({
@@ -16,7 +16,7 @@ const store = new Vuex.Store({
     tagsView,
     permission,
     settings,
-
+    sopSelectPoints
   },
   getters
 })

+ 26 - 0
src/store/modules/sopSelectPoints.js

@@ -0,0 +1,26 @@
+const state = {
+  selectSopPoints: []
+};
+
+const mutations = {
+  ADD_SELECTPOINT: (state, payload) => {
+    state.selectSopPoints = payload;
+  }
+};
+
+const actions = {
+  setSelectSopPoints: ({ commit }, selectSopPoints) => {
+    commit('ADD_SELECTPOINT', selectSopPoints);
+  }
+};
+
+const getters = {
+  getSelectSopPoints: state => state.selectSopPoints
+};
+
+export default {
+  namespaced: true,
+  state,
+  mutations,
+  actions
+}