huang_an 2 years ago
parent
commit
8c82fc0f5b

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

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

+ 14 - 2
src/views/warehouseManagement/outgoingManagement/add.vue

@@ -128,7 +128,11 @@
                 @change="handleDocumentSourceChange"
                 v-model="formData.documentSource"
                 @click.native="
-                  formData.bizType == 4 ? handlePickorder() : null
+                  formData.bizType == 4
+                    ? handlePickorder()
+                    : formData.bizType == 3
+                    ? handleEom()
+                    : null
                 "
             /></el-form-item>
           </el-col>
@@ -481,6 +485,8 @@
 
     <!-- 选领料单 -->
     <pickOrder ref="pickOrderRef" @success="pickOrderRow" />
+    <!-- 销售订单 -->
+    <eom ref="eomRef" @success="eomSuccess" />
   </div>
 </template>
 
@@ -508,6 +514,7 @@
   // import user from '@/api/main/user';
   import { tableHeader } from '../common';
   import detailSelect from './components/detailSelect';
+  import eom from './components/eom.vue';
   export default {
     components: {
       pickOrder,
@@ -518,7 +525,8 @@
       upload,
       detailSelect,
       // TurnToAsset,
-      outputType
+      outputType,
+      eom
     },
     data() {
       return {
@@ -605,6 +613,7 @@
       this.initData();
     },
     methods: {
+      eomSuccess(row) {},
       pickOrderRow(row) {
         row.tableData = [];
         this.formData.documentSource = row.code;
@@ -641,6 +650,9 @@
         this.onSelectTableData(row.tableData, 1);
         this.$forceUpdate();
       },
+      handleEom() {
+        this.$refs.eomRef.open();
+      },
       handlePickorder() {
         this.$refs.pickOrderRef.open();
       },

+ 161 - 0
src/views/warehouseManagement/outgoingManagement/components/eom.vue

@@ -0,0 +1,161 @@
+<template>
+  <div>
+    <el-dialog
+      title="选择领料单"
+      :visible.sync="dialogVisible"
+      width="60%"
+      :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:docNo="{ row }">
+            <!-- @click="details(row)" -->
+            <el-link
+              type="primary"
+              @click="pickOrderEdit(row)"
+              :underline="false"
+            >
+              {{ row.docNo }}
+            </el-link>
+          </template>
+          <template v-slot:replied="{ row }">
+            {{ row.replied == 1 ? '是' : '否' }}
+          </template>
+          <template v-slot:reviewStatus="{ row }">
+            <span v-if="row.reviewStatus == 0">未提交</span>
+            <span v-if="row.reviewStatus == 1">审核中</span>
+            <span v-if="row.reviewStatus == 2">审核通过</span>
+            <span v-if="row.reviewStatus == 3">审核未通过</span>
+          </template>
+          <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>
+
+    <!-- <pickOrderEdit ref="pickOrderEditRef" /> -->
+  </div>
+</template>
+
+<script>
+  import { saleordersendrecordPage } from '@/api/mes';
+  // import pickOrderEdit from './pickOrderEdit.vue';
+  export default {
+    // components: { pickOrderEdit },
+    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: 'docNo',
+            label: '发货编码',
+            showOverflowTooltip: true,
+            slot: 'docNo'
+          },
+          {
+            prop: 'orderNo',
+            label: '销售订单编号',
+            showOverflowTooltip: true
+          },
+          {
+            prop: 'contactName',
+            label: '客户名称',
+            showOverflowTooltip: true
+          },
+          {
+            prop: 'replied',
+            label: '是否回执',
+            showOverflowTooltip: true,
+            slot: 'replied'
+          },
+          {
+            prop: 'reviewStatus',
+            label: '状态',
+            showOverflowTooltip: true,
+            slot: 'reviewStatus'
+          },
+          {
+            prop: 'createTime',
+            label: '创建时间',
+            showOverflowTooltip: true
+          },
+          {
+            columnKey: 'action',
+            slot: 'action',
+            align: 'center',
+            fixed: 'right',
+            width: 50
+          }
+        ]
+      };
+    },
+    methods: {
+      pickOrderEdit(row) {
+        this.$refs.pickOrderEditRef.open(row);
+      },
+      handleMine() {
+        const current = this.current.orderInfoList;
+        for (const key in current) {
+          if (
+            current[key].bomDetailDTOS.length == 0 &&
+            current[key].instanceList.length == 0
+          ) {
+            this.$message.warning('当前领料单数据为空');
+            return;
+          }
+        }
+        this.$emit('success', this.current);
+        this.dialogVisible = false;
+      },
+      async open() {
+        this.dialogVisible = true;
+        const res = await saleordersendrecordPage(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) {
+        this.dialogVisible = false;
+      }
+    }
+  };
+</script>

+ 3 - 1
src/views/warehouseManagement/outgoingManagement/components/pickOrder.vue

@@ -137,7 +137,9 @@
         this.current = row;
         this.radio = row.id;
       },
-      handleClose(done) {}
+      handleClose(done) {
+        this.dialogVisible = false;
+      }
     }
   };
 </script>

+ 2 - 2
src/views/warehouseManagement/stockLedger/batchDetails.vue

@@ -9,7 +9,7 @@
           <BaseInfo :baseInfo="baseInfo" ref="baseInfoRef"></BaseInfo>
           <warehouseConfigVue ref="warehouseConfigRef"></warehouseConfigVue>
         </el-tab-pane>
-        <el-tab-pane label="库存明细" name="first">
+        <!-- <el-tab-pane label="库存明细" name="first">
           <WarehouseDetail
             :baseInfo="baseInfo"
             :baseParams="baseParams"
@@ -19,7 +19,7 @@
         </el-tab-pane>
         <el-tab-pane label="批次明细" name="pcmx">
           <BatchDetail></BatchDetail>
-        </el-tab-pane>
+        </el-tab-pane> -->
         <el-tab-pane label="入库单" name="second" lazy>
           <InWarehouse :baseInfo="baseInfo" :baseParams="baseParams"
         /></el-tab-pane>

+ 7 - 2
src/views/warehouseManagement/stockLedger/components/details/InWarehouse.vue

@@ -121,7 +121,10 @@
           getSceneState(+row.bizType)
         }}</template>
       </el-table-column>
-      <el-table-column label="入库数量" prop="countNo"></el-table-column>
+      <el-table-column
+        label="入库数量"
+        prop="availableCountBase"
+      ></el-table-column>
       <el-table-column label="计量单位" prop="measuringUnit"></el-table-column>
       <el-table-column label="包装数量" prop="packageNo"></el-table-column>
       <el-table-column label="包装单位" prop="packingUnit"></el-table-column>
@@ -202,7 +205,9 @@
       handleCellClick(row) {
         this.$refs.detailRef.open(row);
       },
-      handlePageChange() {
+      handlePageChange(v) {
+        this.page = v.current;
+        this.size = v.size;
         this.getList();
       },
       handleDeta(row) {

+ 12 - 12
src/views/warehouseManagement/stockLedger/components/details/OutWarehouse.vue

@@ -113,20 +113,17 @@
       :data="tableData"
       @cell-click="handleCellClick"
       :header-cell-style="{ background: '#EEEEEE', border: 'none' }"
-      ><el-table-column width="80px" label="序号">
-        <template slot-scope="{ $index }">
-          {{ $tableIndex($index, page, size) }}
-        </template>
-      </el-table-column>
+    >
+      <el-table-column width="80px" label="序号" type="index" />
       <el-table-column label="出库单号" prop="bizNo"></el-table-column>
       <el-table-column label="出库场景" prop="bizType">
-        <!-- <template slot-scope="{ row }">{{
-          getSceneState(+row.bizScene)
-        }}</template> -->
+        <template slot-scope="{ row }">{{
+          getSceneState(+row.bizType)
+        }}</template>
       </el-table-column>
       <el-table-column
         label="出库数量"
-        prop="measurementUnit"
+        prop="availableCountBase"
       ></el-table-column>
       <el-table-column label="计量单位" prop="measuringUnit"></el-table-column>
       <template v-if="!baseInfo.isUnpack">
@@ -197,7 +194,7 @@
           packetStart: ''
         },
         tableData: [],
-        size: 15,
+        size: 10,
         page: 1,
         total: 0,
         vuexUser: []
@@ -211,7 +208,7 @@
       getSceneState: useDictLabel(outputSceneState),
       handleDeta(row) {
         for (const key in this.vuexUser) {
-          if (this.vuexUser[key].id == row) {
+          if (this.vuexUser[key].id == row.createUserId) {
             return this.vuexUser[key].name;
           }
         }
@@ -227,7 +224,9 @@
         this.searchForm = {};
         this.search();
       },
-      handlePageChange() {
+      handlePageChange(v) {
+        this.page = v.current;
+        this.size = v.size;
         this.getList();
       },
       async getList() {
@@ -239,6 +238,7 @@
           // ...this.searchForm,
           // batchNum: this.baseParams.batchNum || this.searchForm.batchNum
         });
+        console.log('wqwqwqres====', res);
         if (res) {
           const list = this.$store.state.userPage.userList;
           this.vuexUser = list;

+ 9 - 9
src/views/warehouseManagement/stockManagement/add.vue

@@ -1479,15 +1479,15 @@
 
             console.log('====>>', obj);
 
-            // this.saveLoading = true;
-            // try {
-            //   const res = await outin.save(obj);
-            //   if (res.code == 0) {
-            //     this.$message.success('保存成功!');
-            //   }
-            // } catch (error) {}
-            // this.saveLoading = false;
-            // this.$router.push('/warehouseManagement/stockManagement');
+            this.saveLoading = true;
+            try {
+              const res = await outin.save(obj);
+              if (res.code == 0) {
+                this.$message.success('保存成功!');
+              }
+            } catch (error) {}
+            this.saveLoading = false;
+            this.$router.push('/warehouseManagement/stockManagement');
           }
         });
       },