|
|
@@ -1,589 +1,541 @@
|
|
|
<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="item"
|
|
|
- :list="item.semiProductList"
|
|
|
- :equipmentList="item.equipmentList"
|
|
|
- ></semiProductJobBom>
|
|
|
-
|
|
|
- <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 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,
|
|
|
- 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;
|
|
|
- }
|
|
|
+ computed: {
|
|
|
+ taskObj() {
|
|
|
+ return this.$store.state.user.taskObj;
|
|
|
},
|
|
|
|
|
|
- watch: {
|
|
|
- workListIds: {
|
|
|
- handler(val) {
|
|
|
- this.getList(val);
|
|
|
- },
|
|
|
- deep: true,
|
|
|
- immediate: true
|
|
|
- }
|
|
|
- },
|
|
|
+ clientEnvironmentId() {
|
|
|
+ return this.$store.state.user.info.clientEnvironmentId;
|
|
|
+ }
|
|
|
+ },
|
|
|
|
|
|
- created() {
|
|
|
- this.getWarehouseListFn();
|
|
|
- },
|
|
|
+ watch: {
|
|
|
+ workListIds: {
|
|
|
+ handler(val) {
|
|
|
+ this.getList(val);
|
|
|
+ },
|
|
|
+ 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'] = [];
|
|
|
+ }
|
|
|
|
|
|
- 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, 'instanceList')) {
|
|
|
- obj['instanceList'] = [];
|
|
|
- }
|
|
|
+ if (!Object.prototype.hasOwnProperty.call(obj, 'palletList')) {
|
|
|
+ obj['palletList'] = [];
|
|
|
+ }
|
|
|
|
|
|
- if (!Object.prototype.hasOwnProperty.call(obj, 'palletList')) {
|
|
|
- obj['palletList'] = [];
|
|
|
- }
|
|
|
+ if (
|
|
|
+ !Object.prototype.hasOwnProperty.call(obj, 'revolvingDiskList')
|
|
|
+ ) {
|
|
|
+ obj['revolvingDiskList'] = [];
|
|
|
+ }
|
|
|
|
|
|
- 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
|
|
|
+ };
|
|
|
+ });
|
|
|
+ }
|
|
|
|
|
|
- if (obj.palletList.length > 0) {
|
|
|
- obj.palletList = obj.palletList.map((m) => {
|
|
|
- return {
|
|
|
- hideKc: true, // 不显示库存
|
|
|
- quantity: m.feedQuantity,
|
|
|
- ...m
|
|
|
- };
|
|
|
- });
|
|
|
- }
|
|
|
+ if (this.taskObj.type == 6 && this.clientEnvironmentId == 3) {
|
|
|
+ obj.semiProductList = obj.pickOutInList;
|
|
|
+ }
|
|
|
|
|
|
- if (this.taskObj.type == 6 && this.clientEnvironmentId == 3) {
|
|
|
- obj.semiProductList = obj.pickOutInList;
|
|
|
- }
|
|
|
|
|
|
- obj.workReportInfo = {
|
|
|
- formingNum: null,
|
|
|
- formingWeight: null,
|
|
|
- formedNum: null,
|
|
|
- formedWeight: null,
|
|
|
- taskId: this.taskObj.id
|
|
|
- };
|
|
|
+
|
|
|
|
|
|
- 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.notFormedList = [
|
|
|
+ {
|
|
|
+ notFormedNum: null,
|
|
|
+ notFormedWeight: null,
|
|
|
+ weightUnit: obj.weightUnit,
|
|
|
+ unit: obj.unit,
|
|
|
+ warehouseId: null // 处置 仓库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;
|
|
|
+ if (obj.semiProductList.length > 0) {
|
|
|
+ // 预制体报工
|
|
|
+ obj.workReportInfo.formedNum = obj.semiProductList.length;
|
|
|
+ }
|
|
|
|
|
|
- obj.paramDetailList.map((m) => {
|
|
|
- if (m.extInfo.textType == 5) {
|
|
|
- m.remainingTime = m.extInfo.remainingTime;
|
|
|
- }
|
|
|
- return {
|
|
|
- ...m.extInfo
|
|
|
- };
|
|
|
- });
|
|
|
+ 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 {
|
|
|
- ...obj
|
|
|
+ ...m.extInfo
|
|
|
};
|
|
|
});
|
|
|
- })
|
|
|
- .finally(() => {
|
|
|
- this.isLoad = true;
|
|
|
+ console.log(obj,444)
|
|
|
|
|
|
- if (this.taskObj.type == 1) {
|
|
|
- this.getCacheFn();
|
|
|
- }
|
|
|
+ return {
|
|
|
+ ...obj
|
|
|
+ };
|
|
|
});
|
|
|
- },
|
|
|
+ })
|
|
|
+ .finally(() => {
|
|
|
+ this.isLoad = true;
|
|
|
|
|
|
- openPicking(id, item) {
|
|
|
- this.$refs.pickingListRef.open(id, item);
|
|
|
- },
|
|
|
+ if (this.taskObj.type == 1) {
|
|
|
+ this.getCacheFn();
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
|
|
|
- allSelection(id, selectList) {
|
|
|
- this.List.forEach((m) => {
|
|
|
- if (m.workOrderId == id) {
|
|
|
- let turnover = [];
|
|
|
- let equipmentList = []; // 生产设备
|
|
|
+ openPicking(id, item) {
|
|
|
+ this.$refs.pickingListRef.open(id, item);
|
|
|
+ },
|
|
|
|
|
|
- selectList.forEach((f) => {
|
|
|
- if (f.rootCategoryLevelId == 4) {
|
|
|
- equipmentList = equipmentList.concat(f);
|
|
|
- }
|
|
|
- if (f.rootCategoryLevelId == 7) {
|
|
|
- turnover = turnover.concat(f);
|
|
|
- }
|
|
|
- });
|
|
|
+ allSelection(id, selectList) {
|
|
|
+ this.List.forEach((m) => {
|
|
|
+ if (m.workOrderId == id) {
|
|
|
+ let turnover = [];
|
|
|
+ let equipmentList = []; // 生产设备
|
|
|
|
|
|
- this.$set(m, 'equipmentList', equipmentList);
|
|
|
- this.$set(m, 'turnover', turnover);
|
|
|
+ selectList.forEach((f) => {
|
|
|
+ if (f.rootCategoryLevelId == 4) {
|
|
|
+ equipmentList = equipmentList.concat(f);
|
|
|
+ }
|
|
|
+ if (f.rootCategoryLevelId == 7) {
|
|
|
+ turnover = turnover.concat(f);
|
|
|
+ }
|
|
|
+ });
|
|
|
|
|
|
- this.$forceUpdate();
|
|
|
- }
|
|
|
- });
|
|
|
- },
|
|
|
+ this.$set(m, 'equipmentList', equipmentList);
|
|
|
+ this.$set(m, 'turnover', turnover);
|
|
|
|
|
|
- async save(type) {
|
|
|
- this.loading = this.$loading({
|
|
|
- lock: true,
|
|
|
- text: '加载中',
|
|
|
- background: 'rgba(0, 0, 0, 0.7)'
|
|
|
- });
|
|
|
+ this.$forceUpdate();
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
|
|
|
- let bol2;
|
|
|
- bol2 = this.List.every((e) => {
|
|
|
- return (
|
|
|
- e.workReportInfo['formedNum'] && e.workReportInfo['formedNum'] != 0
|
|
|
- );
|
|
|
- });
|
|
|
+ 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;
|
|
|
+ }
|
|
|
|
|
|
- if (!bol2) {
|
|
|
- this.$message.warning('请输入合格品数量');
|
|
|
- this.loading.close();
|
|
|
- return false;
|
|
|
+ // 预制体
|
|
|
+
|
|
|
+ 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
|
|
|
+ );
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
+ });
|
|
|
|
|
|
- // 预制体
|
|
|
-
|
|
|
- let wId;
|
|
|
- let bol = true;
|
|
|
- let _i;
|
|
|
- this.List.forEach((L) => {
|
|
|
- if (L.semiProductList.length > 0 && this.taskObj.type != 4) {
|
|
|
- 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 (!bol) {
|
|
|
- this.$message.warning(`请完善工单${wId}第${_i}处置方式`);
|
|
|
- this.loading.close();
|
|
|
+ if (!bol) {
|
|
|
+ this.$message.warning(`请完善工单${wId}第${_i}处置方式`);
|
|
|
+ this.loading.close();
|
|
|
|
|
|
- return false;
|
|
|
- }
|
|
|
+ return false;
|
|
|
+ }
|
|
|
|
|
|
- if (this.clientEnvironmentId != 2) {
|
|
|
- let succ = this.List.some((L) => {
|
|
|
- return L.productRecycleList.length > 0;
|
|
|
- });
|
|
|
+ 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 (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(() => {
|
|
|
+
|
|
|
+ jobSave(this.List)
|
|
|
+ .then((res) => {
|
|
|
+ this.loading.close();
|
|
|
+ this.$message.success('报工成功');
|
|
|
+ this.getList(this.idsList);
|
|
|
+ }).catch(() => {
|
|
|
+ this.loading.close();
|
|
|
+ })
|
|
|
+ .finally(() => {
|
|
|
+ setTimeout(function () {
|
|
|
this.loading.close();
|
|
|
+ }, 3000);
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ checkRecycle() {
|
|
|
+ this.loading.close();
|
|
|
+ return new Promise((resolve) => {
|
|
|
+ this.$confirm('是否跳过副产品回收处置!', '提示', {
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ type: 'warning'
|
|
|
+ })
|
|
|
+ .then(() => {
|
|
|
+ resolve(true);
|
|
|
})
|
|
|
- .finally(() => {
|
|
|
- setTimeout(function () {
|
|
|
- this.loading.close();
|
|
|
- }, 3000);
|
|
|
+ .catch(() => {
|
|
|
+ resolve(false);
|
|
|
});
|
|
|
- },
|
|
|
+ });
|
|
|
+ },
|
|
|
|
|
|
- checkRecycle() {
|
|
|
- this.loading.close();
|
|
|
- return new Promise((resolve) => {
|
|
|
- this.$confirm('是否跳过副产品回收处置!', '提示', {
|
|
|
- confirmButtonText: '确定',
|
|
|
- cancelButtonText: '取消',
|
|
|
- type: 'warning'
|
|
|
- })
|
|
|
- .then(() => {
|
|
|
- resolve(true);
|
|
|
- })
|
|
|
- .catch(() => {
|
|
|
- resolve(false);
|
|
|
- });
|
|
|
- });
|
|
|
- },
|
|
|
+ checkCache(type) {
|
|
|
|
|
|
- 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);
|
|
|
- }
|
|
|
- });
|
|
|
- },
|
|
|
+ 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>
|