ysy 1 rok pred
rodič
commit
dfcf8f8446

+ 7 - 2
src/views/produce/components/jobBooking/components/jobBom.vue

@@ -27,8 +27,9 @@
           </div>
         </div>
        
+   
 
-        <div class="item rx-sc" v-if="clientEnvironmentId != 3 && item.singleReport != 0">
+        <div class="item rx-sc" v-if="(clientEnvironmentId != 3 && item.singleReport != 0) ||  taskObj.type == 4">
           <div class="rx ww40">
             <div class="lable lable100 rx-cc">合格品数量</div>
             <div class="content content_num rx-sc">
@@ -48,7 +49,7 @@
           </div>
         </div>
 
-        <div class="item rx-sc" v-for="(not, notIndex) in notFormedList" :key="notIndex" v-if="clientEnvironmentId != 3 && item.singleReport != 0">
+        <div class="item rx-sc" v-for="(not, notIndex) in notFormedList" :key="notIndex" v-if="(clientEnvironmentId != 3 && item.singleReport != 0) ||  taskObj.type == 4">
           <div class="rx ww40">
             <div class="lable lable100 rx-cc">不合格数量</div>
             <div class="content content_num rx-sc">
@@ -131,6 +132,10 @@ export default {
 
   computed: {
 
+    taskObj() {
+        return this.$store.state.user.taskObj;
+      },
+
     clientEnvironmentId() {
       return this.$store.state.user.info.clientEnvironmentId;
     }

+ 38 - 16
src/views/produce/components/jobBooking/components/packingTgBom.vue

@@ -26,37 +26,37 @@
         </template>
       </el-table-column>
 
-      <el-table-column label="编码" type="code" minWidth="110">
+      <el-table-column label="编码" prop="code" minWidth="110">
         <template slot-scope="{ row, $index }">
           {{ row.code }}
         </template>
       </el-table-column>
 
-      <el-table-column label="名称" type="name" minWidth="110">
+      <el-table-column label="名称" prop="name" minWidth="110">
         <template slot-scope="{ row, $index }">
           {{ row.name }}
         </template>
       </el-table-column>
 
-      <el-table-column label="型号" type="modelType">
+      <el-table-column label="型号" prop="modelType">
         <template slot-scope="{ row, $index }">
           {{ row.modelType }}
         </template>
       </el-table-column>
 
-      <el-table-column label="规格" type="specification">
+      <el-table-column label="规格" prop="specification">
         <template slot-scope="{ row, $index }">
           {{ row.specification }}
         </template>
       </el-table-column>
 
-      <el-table-column label="牌号" type="brandNum">
+      <el-table-column label="牌号" prop="brandNum">
         <template slot-scope="{ row, $index }">
           {{ row.brandNum }}
         </template>
       </el-table-column>
 
-      <el-table-column label="刻码" type="engrave">
+      <el-table-column label="刻码" prop="engrave"   v-if="item.singleReport == 1">
         <template slot-scope="{ row, $index }">
           <span v-if="isDetails"> {{ row.extInfo.engrave }}</span>
           <el-input
@@ -70,7 +70,7 @@
         </template>
       </el-table-column>
 
-      <el-table-column label="物料代号" type="materielCode">
+      <el-table-column label="物料代号" prop="materielCode"  v-if="item.singleReport == 1">
         <template slot-scope="{ row, $index }">
           <span v-if="isDetails"> {{ row.extInfo.materielCode }}</span>
           <el-input
@@ -83,7 +83,7 @@
         </template>
       </el-table-column>
 
-      <el-table-column label="客户代号" type="clientCode">
+      <el-table-column label="客户代号" prop="clientCode"  v-if="item.singleReport == 1">
         <template slot-scope="{ row, $index }">
           <span v-if="isDetails"> {{ row.extInfo.clientCode }}</span>
           <el-input
@@ -96,7 +96,7 @@
         </template>
       </el-table-column>
 
-      <el-table-column label="位置" width="110" type="feedQuantity">
+      <el-table-column label="位置" width="110" prop="feedQuantity"  v-if="item.singleReport == 1">
         <template slot-scope="{ row, $index }">
           {{ row.extInfo.position }}
         </template>
@@ -104,23 +104,48 @@
 
 
 
-      <el-table-column label="工序重量" type="newWeight">
+      <el-table-column label="工序重量" prop="newWeight">
         <template slot-scope="{ row, $index }">
           <span> {{ row.extInfo.newWeight }}  {{ row.extInfo.weightUnit }} </span>
         </template>
       </el-table-column>
 
+      
+      <el-table-column label="打包类型" prop="" v-if="item.singleReport == 0">
+        <template slot-scope="{ row, $index }">
+          <span style="color:#157A2C;"> 批量打包 </span>
+        </template>
+      </el-table-column>
+
+      <el-table-column label="打包数量" prop="feedQuantity" width="200"  v-if="item.singleReport == 0">
+        <template slot-scope="{ row, $index }">
+       <div v-if="!isWarehousing">
+        <el-input
+            size="mini"
+            class="content_num"
+            v-model="row.feedQuantity"
+            :disabled="isDetails"
+          />
+       </div>
+
+       <div v-if="isWarehousing">
+        <div style="color:#157A2C;"	>{{row.feedQuantity }}</div>
+        </div>
+        </template>
+      </el-table-column>
+
+
 
       
 
-      <el-table-column label="处置" type="">
+      <el-table-column label="处置" prop=""  v-if="item.singleReport == 1">
         <template slot-scope="{ row, $index }">
           <span>入库 </span>
         </template>
       </el-table-column>
 
 
-      <el-table-column label="发货(包装)码" type="" width="200">
+      <el-table-column label="发货(包装)码" prop="" width="200"  v-if="item.singleReport == 1">
         <template slot-scope="{ row, $index }">
             <el-input
             size="mini"
@@ -159,10 +184,7 @@
         default: false
       },
 
-      isDetails: {
-        type: Boolean,
-        default: false
-      }
+   
     },
 
     data() {

+ 538 - 443
src/views/produce/components/jobBooking/index.vue

@@ -1,542 +1,637 @@
 <template>
   <div>
     <div class="top_fixed">
-      <el-button type="primary" size="mini" @click="save(2, 'all')">一键报工</el-button>
-      <el-button type="primary" size="mini" @click="removeCacheFn('all')">清空缓存</el-button>
-      <el-button v-if="taskObj.type == 1" type="primary" size="mini" @click="save(1, 'all')">缓存</el-button>
+      <el-button type="primary" size="mini" @click="save(2, 'all')"
+        >一键报工</el-button
+      >
+      <el-button type="primary" size="mini" @click="removeCacheFn('all')"
+        >清空缓存</el-button
+      >
+      <el-button
+        v-if="taskObj.type == 1"
+        type="primary"
+        size="mini"
+        @click="save(1, 'all')"
+        >缓存</el-button
+      >
     </div>
 
     <div class="job_box">
-      <div v-for="(item, index) in List" :key="index" class="card_box" v-if="isLoad">
+      <div
+        v-for="(item, index) in List"
+        :key="index"
+        class="card_box"
+        v-if="isLoad"
+      >
         <div class="title_box rx-bc">
           <div class="name">工单信息 </div>
 
           <div class="rx-bc">
-            <el-button type="text" size="mini" @click="openPicking(item.workOrderId, item)">添加物料</el-button>
-            <el-button type="text" size="mini" @click="removeCacheFn(item.workOrderId)">清空缓存</el-button>
-            <el-button v-if="taskObj.type == 1" type="text" size="mini" @click="save(1, index)">缓存</el-button>
+            <el-button
+              type="text"
+              size="mini"
+              @click="openPicking(item.workOrderId, item)"
+              >添加物料</el-button
+            >
+            <el-button
+              type="text"
+              size="mini"
+              @click="removeCacheFn(item.workOrderId)"
+              >清空缓存</el-button
+            >
+            <el-button
+              v-if="taskObj.type == 1"
+              type="text"
+              size="mini"
+              @click="save(1, index)"
+              >缓存</el-button
+            >
           </div>
         </div>
 
         <workOrderBom :item="item"></workOrderBom>
-        <paramBom v-if="item.paramDetailList.length != 0" :list="item.paramDetailList"></paramBom>
-
-        <jobBom :item="item" :notFormed="item.notFormedList" :warehouseList="warehouseList"></jobBom>
-
-        <deviceBom v-if="item.equipmentList.length != 0" :list="item.equipmentList"></deviceBom>
-
-        <modelBom v-if="item.modelList.length != 0" :list="item.modelList" pattern="job" ref="modelRef"></modelBom>
-
-        <palletBom v-if="item.palletList.length != 0" :list="item.palletList"></palletBom>
-
-        <revolvingDiskBom v-if="item.revolvingDiskList.length > 0" pattern="job" :list="objData.revolvingDiskList">
+        <paramBom
+          v-if="item.paramDetailList.length != 0"
+          :list="item.paramDetailList"
+        ></paramBom>
+
+        <jobBom
+          :item="item"
+          :notFormed="item.notFormedList"
+          :warehouseList="warehouseList"
+        ></jobBom>
+
+        <deviceBom
+          v-if="item.equipmentList.length != 0"
+          :list="item.equipmentList"
+        ></deviceBom>
+
+        <modelBom
+          v-if="item.modelList.length != 0"
+          :list="item.modelList"
+          pattern="job"
+          ref="modelRef"
+        ></modelBom>
+
+        <palletBom
+          v-if="item.palletList.length != 0"
+          :list="item.palletList"
+        ></palletBom>
+
+        <revolvingDiskBom
+          v-if="item.revolvingDiskList.length > 0"
+          pattern="job"
+          :list="objData.revolvingDiskList"
+        >
         </revolvingDiskBom>
 
-        <semiProductJobBom :singleReport="item.singleReport" v-if="
-          item.semiProductList &&
-          item.semiProductList.length != 0 &&
-          taskObj.type != 4 &&
-          taskObj.type != 6 && item.singleReport == 1
-        " :item="item" :list="item.semiProductList" :equipmentList="item.equipmentList"></semiProductJobBom>
-
-
-        <semiProductJobBomPL :singleReport="item.singleReport" v-if="
-          item.semiProductList &&
-          item.semiProductList.length != 0 &&
-          taskObj.type != 4 &&
-          taskObj.type != 6 && item.singleReport == 0
-        " :item="item" :list="item.semiProductList" :equipmentList="item.equipmentList"></semiProductJobBomPL>
-
-
-        <oneJobQualityBom :singleReport="item.singleReport" v-if="
-          item.semiProductList &&
-          item.semiProductList.length != 0 &&
-          taskObj.type == 6 &&
-          item.singleReport == 1
-        " :item="item" :list="item.semiProductList">
+        <semiProductJobBom
+          :singleReport="item.singleReport"
+          v-if="
+            item.semiProductList &&
+            item.semiProductList.length != 0 &&
+            taskObj.type != 4 &&
+            taskObj.type != 6 &&
+            item.singleReport == 1
+          "
+          :item="item"
+          :list="item.semiProductList"
+          :equipmentList="item.equipmentList"
+        ></semiProductJobBom>
+
+        <semiProductJobBomPL
+          :singleReport="item.singleReport"
+          v-if="
+            item.semiProductList &&
+            item.semiProductList.length != 0 &&
+            taskObj.type != 4 &&
+            taskObj.type != 6 &&
+            item.singleReport == 0
+          "
+          :item="item"
+          :list="item.semiProductList"
+          :equipmentList="item.equipmentList"
+        ></semiProductJobBomPL>
+
+        <oneJobQualityBom
+          :singleReport="item.singleReport"
+          v-if="
+            item.semiProductList &&
+            item.semiProductList.length != 0 &&
+            taskObj.type == 6 &&
+            item.singleReport == 1
+          "
+          :item="item"
+          :list="item.semiProductList"
+        >
         </oneJobQualityBom>
 
-        <byProductBom v-if="item.productRecycleList.length != 0" :list="item.productRecycleList">
+        <byProductBom
+          v-if="item.productRecycleList.length != 0"
+          :list="item.productRecycleList"
+        >
         </byProductBom>
 
-        <turnoverBom v-if="item.turnover.length != 0" :list="item.turnover" :wordItem="item" pattern="job">
+        <turnoverBom
+          v-if="item.turnover.length != 0"
+          :list="item.turnover"
+          :wordItem="item"
+          pattern="job"
+        >
         </turnoverBom>
 
-        <aridRegion v-if="item.aridRegionList.length != 0" :list="item.aridRegionList" :isType="true"></aridRegion>
+        <aridRegion
+          v-if="item.aridRegionList.length != 0"
+          :list="item.aridRegionList"
+          :isType="true"
+        ></aridRegion>
 
         <!-- <packingBom :taskId='taskObj.id' :workOrderId="item.workOrderId" :objData="item" ref="packRef"
           v-if='taskObj.type == 4 && clientEnvironmentId != 3 && item'></packingBom> -->
 
-        <packingTgBom v-if="
-          item.pickOutInList &&
-          item.pickOutInList.length != 0 &&
-          taskObj.type == 4 &&
-          clientEnvironmentId == 3
-        " :list="item.pickOutInList" :item="item"></packingTgBom>
+        <packingTgBom
+          v-if="
+            item.pickOutInList &&
+            item.pickOutInList.length != 0 &&
+            taskObj.type == 4 &&
+            clientEnvironmentId == 3
+          "
+          :list="item.pickOutInList"
+          :item="item"
+        ></packingTgBom>
       </div>
     </div>
 
-    <pickingList isType="job" ref="pickingListRef" @allSelection="allSelection"></pickingList>
+    <pickingList
+      isType="job"
+      ref="pickingListRef"
+      @allSelection="allSelection"
+    ></pickingList>
   </div>
 </template>
 
 <script>
-import { listByIdsReport } from '@/api/produce/job';
-import { getWarehouseList } from '@/api/produce/index';
-import {
-  jobSave,
-  saveCache,
-  getCache,
-  removeCache
-} from '@/api/produce/workOrder';
-import pickingList from '../picking/pickingList.vue';
-
-import workOrderBom from '../feeding/components/workOrderBom.vue';
-import paramBom from '../feeding/components/paramBom.vue';
-import jobBom from './components/jobBom.vue';
-import deviceBom from '../feeding/components/deviceBom.vue';
-import modelBom from '../feeding/components/modelBom.vue';
-import palletBom from './components/palletBom.vue';
-import revolvingDiskBom from '../feeding/components/revolvingDiskBom.vue';
-import oneJobQualityBom from './components/oneJobQualityBom.vue';
-import semiProductJobBom from './components/semiProductJobBom.vue';
-import semiProductJobBomPL from './components/semiProductJobBomPL.vue'
-
-import byProductBom from './components/byProductBom.vue';
-import turnoverBom from './components/turnoverBom.vue';
-import aridRegion from '../feeding/components/aridRegion.vue';
-import packingBom from './components/packingBom.vue';
-import packingTgBom from './components/packingTgBom';
-
-export default {
-  components: {
-    pickingList,
-
-    workOrderBom,
-    paramBom,
-    jobBom,
-    deviceBom,
-    modelBom,
-    palletBom,
-    revolvingDiskBom,
-    oneJobQualityBom,
-    semiProductJobBom,
-    semiProductJobBomPL,
-    byProductBom,
-    turnoverBom,
-    aridRegion,
-    packingBom,
-    packingTgBom
-  },
-  props: {
-    workListIds: {
-      type: Array,
-      default() {
-        return [];
+  import { listByIdsReport } from '@/api/produce/job';
+  import { getWarehouseList } from '@/api/produce/index';
+  import {
+    jobSave,
+    saveCache,
+    getCache,
+    removeCache
+  } from '@/api/produce/workOrder';
+  import pickingList from '../picking/pickingList.vue';
+
+  import workOrderBom from '../feeding/components/workOrderBom.vue';
+  import paramBom from '../feeding/components/paramBom.vue';
+  import jobBom from './components/jobBom.vue';
+  import deviceBom from '../feeding/components/deviceBom.vue';
+  import modelBom from '../feeding/components/modelBom.vue';
+  import palletBom from './components/palletBom.vue';
+  import revolvingDiskBom from '../feeding/components/revolvingDiskBom.vue';
+  import oneJobQualityBom from './components/oneJobQualityBom.vue';
+  import semiProductJobBom from './components/semiProductJobBom.vue';
+  import semiProductJobBomPL from './components/semiProductJobBomPL.vue';
+
+  import byProductBom from './components/byProductBom.vue';
+  import turnoverBom from './components/turnoverBom.vue';
+  import aridRegion from '../feeding/components/aridRegion.vue';
+  import packingBom from './components/packingBom.vue';
+  import packingTgBom from './components/packingTgBom';
+
+  export default {
+    components: {
+      pickingList,
+
+      workOrderBom,
+      paramBom,
+      jobBom,
+      deviceBom,
+      modelBom,
+      palletBom,
+      revolvingDiskBom,
+      oneJobQualityBom,
+      semiProductJobBom,
+      semiProductJobBomPL,
+      byProductBom,
+      turnoverBom,
+      aridRegion,
+      packingBom,
+      packingTgBom
+    },
+    props: {
+      workListIds: {
+        type: Array,
+        default() {
+          return [];
+        }
       }
-    }
-  },
-
-  computed: {
-    taskObj() {
-      return this.$store.state.user.taskObj;
-    }
-  },
+    },
 
-  data() {
-    return {
-      List: [],
-      idsList: [],
-      isLoad: false,
+    computed: {
+      taskObj() {
+        return this.$store.state.user.taskObj;
+      }
+    },
 
-      warehouseList: [],
+    data() {
+      return {
+        List: [],
+        idsList: [],
+        isLoad: false,
 
-      loading: null
-    };
-  },
+        warehouseList: [],
 
-  computed: {
-    taskObj() {
-      return this.$store.state.user.taskObj;
+        loading: null
+      };
     },
 
-    clientEnvironmentId() {
-      return this.$store.state.user.info.clientEnvironmentId;
-    }
-  },
-
-  watch: {
-    workListIds: {
-      handler(val) {
-        this.getList(val);
+    computed: {
+      taskObj() {
+        return this.$store.state.user.taskObj;
       },
-      deep: true,
-      immediate: true
-    }
-  },
-
-  created() {
-    this.getWarehouseListFn();
-  },
-
-  methods: {
-    getList(ids) {
-      this.idsList = ids || [];
-      let param = {
-        ids: ids,
-        taskId: this.taskObj.id,
-        type: 0
-      };
-      this.isLoad = false;
-      listByIdsReport(param)
-        .then((res) => {
-          this.List = res.map((obj) => {
-            if (!Object.prototype.hasOwnProperty.call(obj, 'turnover')) {
-              obj['turnover'] = [];
-            }
-            if (
-              !Object.prototype.hasOwnProperty.call(obj, 'aridRegionList')
-            ) {
-              obj['aridRegionList'] = [];
-            }
-
-            if (!Object.prototype.hasOwnProperty.call(obj, 'instanceList')) {
-              obj['instanceList'] = [];
-            }
 
-            if (!Object.prototype.hasOwnProperty.call(obj, 'palletList')) {
-              obj['palletList'] = [];
-            }
+      clientEnvironmentId() {
+        return this.$store.state.user.info.clientEnvironmentId;
+      }
+    },
 
-            if (
-              !Object.prototype.hasOwnProperty.call(obj, 'revolvingDiskList')
-            ) {
-              obj['revolvingDiskList'] = [];
-            }
+    watch: {
+      workListIds: {
+        handler(val) {
+          this.getList(val);
+        },
+        deep: true,
+        immediate: true
+      }
+    },
 
-            if (obj.palletList.length > 0) {
-              obj.palletList = obj.palletList.map((m) => {
-                return {
-                  hideKc: true, // 不显示库存
-                  quantity: m.feedQuantity,
-                  ...m
-                };
-              });
-            }
+    created() {
+      this.getWarehouseListFn();
+    },
 
-            if (this.taskObj.type == 6 && this.clientEnvironmentId == 3) {
-              obj.semiProductList = obj.pickOutInList;
-            }
+    methods: {
+      getList(ids) {
+        this.idsList = ids || [];
+        let param = {
+          ids: ids,
+          taskId: this.taskObj.id,
+          type: 0
+        };
+        this.isLoad = false;
+        listByIdsReport(param)
+          .then((res) => {
+            this.List = res.map((obj) => {
+              if (!Object.prototype.hasOwnProperty.call(obj, 'turnover')) {
+                obj['turnover'] = [];
+              }
+              if (
+                !Object.prototype.hasOwnProperty.call(obj, 'aridRegionList')
+              ) {
+                obj['aridRegionList'] = [];
+              }
 
+              if (!Object.prototype.hasOwnProperty.call(obj, 'instanceList')) {
+                obj['instanceList'] = [];
+              }
 
- 
+              if (!Object.prototype.hasOwnProperty.call(obj, 'palletList')) {
+                obj['palletList'] = [];
+              }
 
-            if (this.clientEnvironmentId == 3 && obj.singleReport == 0) {
-   
-        
-              obj.semiProductList.map(a => {
-                a.extInfo.batchReportInfo = [{ allFeedQuantity: '', allReportWeight: '', taskId: '', taskName: '' }]
-                return {
-                  a
-                }
-              })
-              obj.semiProductList = JSON.parse(JSON.stringify(obj.semiProductList)) 
+              if (
+                !Object.prototype.hasOwnProperty.call(obj, 'revolvingDiskList')
+              ) {
+                obj['revolvingDiskList'] = [];
+              }
 
-            }
+              if (obj.palletList.length > 0) {
+                obj.palletList = obj.palletList.map((m) => {
+                  return {
+                    hideKc: true, // 不显示库存
+                    quantity: m.feedQuantity,
+                    ...m
+                  };
+                });
+              }
 
-            obj.workReportInfo = {
-              formingNum: null,
-              formingWeight: null,
-              formedNum: null,
-              formedWeight: null,
-              taskId: this.taskObj.id
-            };
+              if (this.taskObj.type == 6 && this.clientEnvironmentId == 3) {
+                obj.semiProductList = obj.pickOutInList;
+              }
 
-            obj.notFormedList = [
-              {
-                notFormedNum: null,
-                notFormedWeight: null,
-                weightUnit: obj.weightUnit,
-                unit: obj.unit,
-                warehouseId: null // 处置 仓库id
+              if (this.clientEnvironmentId == 3 && obj.singleReport == 0) {
+                obj.semiProductList.map((a) => {
+                  a.extInfo.batchReportInfo = [
+                    {
+                      allFeedQuantity: '',
+                      allReportWeight: '',
+                      taskId: '',
+                      taskName: ''
+                    }
+                  ];
+                  return {
+                    a
+                  };
+                });
+                obj.semiProductList = JSON.parse(
+                  JSON.stringify(obj.semiProductList)
+                );
               }
-            ];
 
-            if (obj.semiProductList.length > 0) {
-              // 预制体报工
-              obj.workReportInfo.formedNum = obj.semiProductList.length;
-            }
+              obj.workReportInfo = {
+                formingNum: null,
+                formingWeight: null,
+                formedNum: null,
+                formedWeight: null,
+                taskId: this.taskObj.id
+              };
 
-            obj.workReportInfo.formingNum = obj.formingNum;
-            obj.workReportInfo.formingWeight = obj.formingWeight;
-            obj.workReportInfo.unit = obj.unit;
-            obj.workReportInfo.weightUnit = obj.weightUnit;
-            obj.workReportInfo.workOrderId = obj.workOrderId;
+              obj.notFormedList = [
+                {
+                  notFormedNum: null,
+                  notFormedWeight: null,
+                  weightUnit: obj.weightUnit,
+                  unit: obj.unit,
+                  warehouseId: null // 处置 仓库id
+                }
+              ];
 
-            obj.paramDetailList.map((m) => {
-              if (m.extInfo.textType == 5) {
-                m.remainingTime = m.extInfo.remainingTime;
+              if (obj.semiProductList.length > 0) {
+                // 预制体报工
+                obj.workReportInfo.formedNum = obj.semiProductList.length;
               }
+
+              obj.workReportInfo.formingNum = obj.formingNum;
+              obj.workReportInfo.formingWeight = obj.formingWeight;
+              obj.workReportInfo.unit = obj.unit;
+              obj.workReportInfo.weightUnit = obj.weightUnit;
+              obj.workReportInfo.workOrderId = obj.workOrderId;
+
+              obj.paramDetailList.map((m) => {
+                if (m.extInfo.textType == 5) {
+                  m.remainingTime = m.extInfo.remainingTime;
+                }
+                return {
+                  ...m.extInfo
+                };
+              });
+              console.log(obj, 444);
+
               return {
-                ...m.extInfo
+                ...obj
               };
             });
-            console.log(obj,444)
+          })
+          .finally(() => {
+            this.isLoad = true;
 
-            return {
-              ...obj
-            };
+            if (this.taskObj.type == 1) {
+              this.getCacheFn();
+            }
           });
-        })
-        .finally(() => {
-          this.isLoad = true;
+      },
 
-          if (this.taskObj.type == 1) {
-            this.getCacheFn();
-          }
-        });
-    },
+      openPicking(id, item) {
+        this.$refs.pickingListRef.open(id, item);
+      },
 
-    openPicking(id, item) {
-      this.$refs.pickingListRef.open(id, item);
-    },
+      allSelection(id, selectList) {
+        this.List.forEach((m) => {
+          if (m.workOrderId == id) {
+            let turnover = [];
+            let equipmentList = []; // 生产设备
 
-    allSelection(id, selectList) {
-      this.List.forEach((m) => {
-        if (m.workOrderId == id) {
-          let turnover = [];
-          let equipmentList = []; // 生产设备
+            selectList.forEach((f) => {
+              if (f.rootCategoryLevelId == 4) {
+                equipmentList = equipmentList.concat(f);
+              }
+              if (f.rootCategoryLevelId == 7) {
+                turnover = turnover.concat(f);
+              }
+            });
 
-          selectList.forEach((f) => {
-            if (f.rootCategoryLevelId == 4) {
-              equipmentList = equipmentList.concat(f);
-            }
-            if (f.rootCategoryLevelId == 7) {
-              turnover = turnover.concat(f);
-            }
-          });
+            this.$set(m, 'equipmentList', equipmentList);
+            this.$set(m, 'turnover', turnover);
 
-          this.$set(m, 'equipmentList', equipmentList);
-          this.$set(m, 'turnover', turnover);
+            this.$forceUpdate();
+          }
+        });
+      },
 
-          this.$forceUpdate();
-        }
-      });
-    },
+      async save(type) {
+        this.loading = this.$loading({
+          lock: true,
+          text: '加载中',
+          background: 'rgba(0, 0, 0, 0.7)'
+        });
 
-    async save(type) {
-      this.loading = this.$loading({
-        lock: true,
-        text: '加载中',
-        background: 'rgba(0, 0, 0, 0.7)'
-      });
-
-      let bol2;
-      bol2 = this.List.every((e) => {
-        return (
-          e.workReportInfo['formedNum'] && e.workReportInfo['formedNum'] != 0
-        );
-      });
-
-      if (!bol2) {
-        this.$message.warning('请输入合格品数量');
-        this.loading.close();
-        return false;
-      }
+        let bol2;
+        bol2 = this.List.every((e) => {
+          return (
+            e.workReportInfo['formedNum'] && e.workReportInfo['formedNum'] != 0
+          );
+        });
 
-      // 预制体
-
-      let wId;
-      let bol = true;
-      let _i;
-      this.List.forEach((L) => {
-        if (L.semiProductList.length > 0 && this.taskObj.type != 4 && L.singleReport == 1) {
-          bol = L.semiProductList.every((e, i) => {
-            _i = i + 1;
-            wId = L.code;
-
-            if (this.taskObj.type == 6) {
-              return (
-                Object.prototype.hasOwnProperty.call(e.extInfo, 'taskId') &&
-                e.extInfo.taskId
-              );
-            } else {
-              return (
-                Object.prototype.hasOwnProperty.call(e.extInfo, 'taskId') &&
-                e.extInfo.taskId &&
-                e.extInfo.reportWeight
-              );
-            }
-          });
+        if (!bol2) {
+          this.$message.warning('请输入合格品数量');
+          this.loading.close();
+          return false;
         }
-      });
 
-      if (!bol) {
-        this.$message.warning(`请完善工单${wId}第${_i}处置方式`);
-        this.loading.close();
+        // 预制体
+
+        let wId;
+        let bol = true;
+        let _i;
+        this.List.forEach((L) => {
+          if (
+            L.semiProductList.length > 0 &&
+            this.taskObj.type != 4 &&
+            L.singleReport == 1
+          ) {
+            bol = L.semiProductList.every((e, i) => {
+              _i = i + 1;
+              wId = L.code;
+
+              if (this.taskObj.type == 6) {
+                return (
+                  Object.prototype.hasOwnProperty.call(e.extInfo, 'taskId') &&
+                  e.extInfo.taskId
+                );
+              } else {
+                return (
+                  Object.prototype.hasOwnProperty.call(e.extInfo, 'taskId') &&
+                  e.extInfo.taskId &&
+                  e.extInfo.reportWeight
+                );
+              }
+            });
+          }
+        });
 
-        return false;
-      }
+        if (!bol) {
+          this.$message.warning(`请完善工单${wId}第${_i}处置方式`);
+          this.loading.close();
 
-      if (this.clientEnvironmentId != 2) {
-        let succ = this.List.some((L) => {
-          return L.productRecycleList.length > 0;
-        });
+          return false;
+        }
 
-        if (succ) {
-          const isRecycle = await this.checkRecycle();
-          if (!isRecycle) {
-            return false;
+        if (this.clientEnvironmentId != 2) {
+          let succ = this.List.some((L) => {
+            return L.productRecycleList.length > 0;
+          });
+
+          if (succ) {
+            const isRecycle = await this.checkRecycle();
+            if (!isRecycle) {
+              return false;
+            }
           }
         }
-      }
 
-      // if (this.taskObj.type == 4 && this.clientEnvironmentId != 3) {
-      // 	const isPack = await this.checkPack()
+        // if (this.taskObj.type == 4 && this.clientEnvironmentId != 3) {
+        // 	const isPack = await this.checkPack()
 
-      // 	if (!isPack) {
-      // 		return false
-      // 	}
-      // }
+        // 	if (!isPack) {
+        // 		return false
+        // 	}
+        // }
 
+        if (this.taskObj.type == 1) {
+          const isCache = await this.checkCache(type);
 
-      if (this.taskObj.type == 1) {
-        const isCache = await this.checkCache(type);
-
-        if (!isCache) {
-          return false;
+          if (!isCache) {
+            return false;
+          }
         }
-      }
 
-
-      jobSave(this.List)
-        .then((res) => {
-          this.loading.close();
-          this.$message.success('报工成功');
-          this.getList(this.idsList);
-        }).catch(() => {
-          this.loading.close();
-        })
-        .finally(() => {
-          setTimeout(function () {
+        jobSave(this.List)
+          .then((res) => {
             this.loading.close();
-          }, 3000);
-        });
-    },
-
-    checkRecycle() {
-      this.loading.close();
-      return new Promise((resolve) => {
-        this.$confirm('是否跳过副产品回收处置!', '提示', {
-          confirmButtonText: '确定',
-          cancelButtonText: '取消',
-          type: 'warning'
-        })
-          .then(() => {
-            resolve(true);
+            this.$message.success('报工成功');
+            this.getList(this.idsList);
           })
           .catch(() => {
-            resolve(false);
+            this.loading.close();
+          })
+          .finally(() => {
+            setTimeout(function () {
+              // this.loading.close();
+            }, 3000);
           });
-      });
-    },
+      },
 
-    checkCache(type) {
+      checkRecycle() {
+        this.loading.close();
+        return new Promise((resolve) => {
+          this.$confirm('是否跳过副产品回收处置!', '提示', {
+            confirmButtonText: '确定',
+            cancelButtonText: '取消',
+            type: 'warning'
+          })
+            .then(() => {
+              resolve(true);
+            })
+            .catch(() => {
+              resolve(false);
+            });
+        });
+      },
 
-      return new Promise((resolve) => {
-        if (type == 1) {
-          saveCache(this.List).then((rr) => {
-            this.$message.success('缓存成功');
-            this.loading.close();
-          });
-          resolve(false);
-        } else if (type == 2) {
-          resolve(true);
-        }
-      });
-    },
+      checkCache(type) {
+        return new Promise((resolve) => {
+          if (type == 1) {
+            saveCache(this.List).then((rr) => {
+              this.$message.success('缓存成功');
+              this.loading.close();
+            });
+            resolve(false);
+          } else if (type == 2) {
+            resolve(true);
+          }
+        });
+      },
 
-    getCacheFn() {
-      let parma = {
-        workOrderIds: this.idsList,
-        taskId: this.taskObj.id,
-        type: 1
-      };
+      getCacheFn() {
+        let parma = {
+          workOrderIds: this.idsList,
+          taskId: this.taskObj.id,
+          type: 1
+        };
 
-      getCache(parma).then((res) => {
-        console.log(res);
-      });
-    },
+        getCache(parma).then((res) => {
+          console.log(res);
+        });
+      },
 
-    removeCacheFn(type) {
-      this.$confirm('是否清空缓存', '缓存')
-        .then(() => {
-          let parma = {
-            workOrderIds: type == 'all' ? this.idsList : [type],
-            taskId: this.taskObj.id,
-            type: 1
-          };
-          removeCache(parma).then((res) => {
-            this.$message.success('已经清空缓存');
-            this.getList(this.idsList);
-          });
-        })
-        .catch(() => { });
-    },
+      removeCacheFn(type) {
+        this.$confirm('是否清空缓存', '缓存')
+          .then(() => {
+            let parma = {
+              workOrderIds: type == 'all' ? this.idsList : [type],
+              taskId: this.taskObj.id,
+              type: 1
+            };
+            removeCache(parma).then((res) => {
+              this.$message.success('已经清空缓存');
+              this.getList(this.idsList);
+            });
+          })
+          .catch(() => {});
+      },
 
-    getWarehouseListFn() {
-      getWarehouseList().then((res) => {
-        this.warehouseList = res.data;
-      });
+      getWarehouseListFn() {
+        getWarehouseList().then((res) => {
+          this.warehouseList = res.data;
+        });
+      }
     }
-  }
-};
+  };
 </script>
 
 <style scoped lang="scss">
-.top_fixed {
-  width: 100%;
-  height: 40px;
-  background: #fff;
-  display: flex;
-  align-items: center;
-  justify-content: flex-end;
-}
-
-.title_box {
-  .name {
-    font-size: 14px;
-    font-style: normal;
-    font-weight: 400;
-    color: #157a2c;
-    padding-left: 5px;
-    position: relative;
-
-    &:before {
-      position: absolute;
-      content: '';
-      left: 0px;
-      top: 0px;
-      bottom: 0px;
-      width: 2px;
-      height: 14px;
-      background: #157a2c;
-      margin: auto;
+  .top_fixed {
+    width: 100%;
+    height: 40px;
+    background: #fff;
+    display: flex;
+    align-items: center;
+    justify-content: flex-end;
+  }
+
+  .title_box {
+    .name {
+      font-size: 14px;
+      font-style: normal;
+      font-weight: 400;
+      color: #157a2c;
+      padding-left: 5px;
+      position: relative;
+
+      &:before {
+        position: absolute;
+        content: '';
+        left: 0px;
+        top: 0px;
+        bottom: 0px;
+        width: 2px;
+        height: 14px;
+        background: #157a2c;
+        margin: auto;
+      }
     }
   }
-}
-
-.job_box {
-  margin-top: 6px;
-  width: 100%;
-  height: calc(100vh - 70px - 50px - 80px - 60px);
-  overflow-y: scroll;
-  overflow-x: hidden;
-}
-
-.card_box {
-  background: #fff;
-  padding: 8px;
-  border-radius: 2px;
-}
+
+  .job_box {
+    margin-top: 6px;
+    width: 100%;
+    height: calc(100vh - 70px - 50px - 80px - 60px);
+    overflow-y: scroll;
+    overflow-x: hidden;
+  }
+
+  .card_box {
+    background: #fff;
+    padding: 8px;
+    border-radius: 2px;
+  }
 </style>

+ 1 - 0
src/views/produce/components/warehousing/index.vue

@@ -40,6 +40,7 @@
             <packingTgBom
               :list="it.extInfo.pickOutInList"
               :isWarehousing="true"
+              :item='it'
             ></packingTgBom>
           </div>
         </div>