huang_an 2 лет назад
Родитель
Сommit
12b8f745f2

+ 7 - 0
src/api/mes/index.js

@@ -23,3 +23,10 @@ export async function getCaptcha() {
   }
   return Promise.reject(new Error(res.data.message));
 }
+export async function pickOrderPage(params) {
+  const res = await request.get(`/mes/pickorder/page`, { params });
+  if (res.data.code == 0) {
+    return res.data;
+  }
+  return Promise.reject(new Error(res.data.message));
+}

+ 25 - 0
src/views/warehouseManagement/outgoingManagement/add.vue

@@ -127,6 +127,9 @@
                 clearable
                 @change="handleDocumentSourceChange"
                 v-model="formData.documentSource"
+                @click.native="
+                  formData.bizType == 4 ? handlePickorder() : null
+                "
             /></el-form-item>
           </el-col>
           <el-col :span="8">
@@ -475,6 +478,9 @@
     <!-- <TurnToAsset ref="turnToAssetRef" /> -->
     <!-- 选择仓库 -->
     <WareHouseDailog ref="wareHouseDailogRef"></WareHouseDailog>
+
+    <!-- 选领料单 -->
+    <pickOrder ref="pickOrderRef" @success="pickOrderRow" />
   </div>
 </template>
 
@@ -484,6 +490,7 @@
   import { getTreeByPid, getTreeByGroup } from '@/api/classifyManage';
   import selectUpload from '@/components/selectUpload';
   import upload from '@/components/uploadImg';
+  import pickOrder from './components/pickOrder.vue';
   import {
     warehousingType,
     outputSceneState,
@@ -503,6 +510,7 @@
   import detailSelect from './components/detailSelect';
   export default {
     components: {
+      pickOrder,
       selectUpload,
       selectTree,
       AssetsDialog,
@@ -596,6 +604,23 @@
       this.initData();
     },
     methods: {
+      pickOrderRow(row) {
+        row.tableData = [];
+        this.formData.documentSource = row.code;
+        for (const key in row.orderInfoList) {
+          for (const i in row.orderInfoList[key].bomDetailDTOS) {
+            row.tableData.push({ ...row.orderInfoList[key].bomDetailDTOS[i] });
+          }
+          for (const j in row.orderInfoList[key].instanceList) {
+            row.tableData.push({ ...row.orderInfoList[key].instanceList[j] });
+          }
+        }
+        console.log(row);
+        this.$forceUpdate();
+      },
+      handlePickorder() {
+        this.$refs.pickOrderRef.open();
+      },
       async handleDocumentSourceChange() {
         if (!this.formData.documentSource) {
           if (this.formData.bizType == 4) {

+ 111 - 0
src/views/warehouseManagement/outgoingManagement/components/pickOrder.vue

@@ -0,0 +1,111 @@
+<template>
+  <div>
+    <el-dialog
+      title="选择领料单"
+      :visible.sync="dialogVisible"
+      width="40%"
+      :before-close="handleClose"
+    >
+      <div class="main">
+        <ele-pro-table
+          ref="table"
+          :initLoad="false"
+          :columns="columns"
+          :current.sync="current"
+          highlight-current-row
+          :datasource="tableData"
+          tool-class="ele-toolbar-form"
+          cache-key="systemOrgUserTable"
+          @row-click="chooseRow"
+        >
+          <!-- 表头工具栏 -->
+
+          <template v-slot:action="{ row }">
+            <el-radio class="radio" v-model="radio" :label="row.id"
+              ><i></i
+            ></el-radio>
+          </template>
+        </ele-pro-table>
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="dialogVisible = false">取 消</el-button>
+        <el-button type="primary" @click="handleMine">确 定</el-button>
+      </span>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+  import { pickOrderPage } from '@/api/mes';
+  export default {
+    data() {
+      return {
+        dialogVisible: false,
+        pages: {
+          pageNum: 1,
+          size: 10
+        },
+        total: 0,
+        tableData: [],
+        current: {},
+        radio: null,
+        columns: [
+          {
+            columnKey: 'index',
+            type: 'index',
+            width: 80,
+            label: '序号',
+            align: 'center',
+            showOverflowTooltip: true,
+            fixed: 'left'
+          },
+          {
+            prop: 'code',
+            label: '领料单号',
+            showOverflowTooltip: true
+          },
+          {
+            prop: 'executorName',
+            label: '执行人名称',
+            showOverflowTooltip: true
+          },
+          {
+            prop: 'executorTime',
+            label: '执行日期',
+            showOverflowTooltip: true
+          },
+          {
+            prop: 'status',
+            label: '领料状态',
+            showOverflowTooltip: true
+          },
+          {
+            columnKey: 'action',
+            slot: 'action',
+            align: 'center',
+            fixed: 'right',
+            width: 50
+          }
+        ]
+      };
+    },
+    methods: {
+      handleMine() {
+        this.$emit('success', this.current);
+        this.dialogVisible = false;
+      },
+      async open() {
+        this.dialogVisible = true;
+        const res = await pickOrderPage(this.pages);
+        console.log(res);
+        this.tableData = res.data.list;
+        this.total = res.data.count;
+      },
+      chooseRow(row) {
+        this.current = row;
+        this.radio = row.id;
+      },
+      handleClose(done) {}
+    }
+  };
+</script>

+ 0 - 1
src/views/warehouseManagement/warehouseDefinition/add.vue

@@ -1252,7 +1252,6 @@
           ];
 
         for (var i = 0; i < num; i++) {
-          console.log('wqwqw===》', obj);
           this.areaForm.allocationReqList.push({
             // allocationBarcode: '',
             code: obj.code + '-' + (i + 1),