瀏覽代碼

采购订单加委外发货单

yusheng 11 月之前
父節點
當前提交
7342ccf7e2

+ 7 - 2
src/views/purchasingManage/purchaseOrder/components/detailDialog.vue

@@ -375,6 +375,9 @@
     <div v-if="activeComp == 'invoice'">
       <invoiceList :orderId="detailId"></invoiceList>
     </div>
+    <div v-if="activeComp == 'outSourceSend'">
+      <outSourceSendList :orderId="detailId"></outSourceSendList>
+    </div>
     <div v-if="activeComp == 'returnorder'">
       <returnGoodsList :orderId="detailId"></returnGoodsList>
     </div>
@@ -400,6 +403,7 @@
   import invoiceList from '@/views/purchasingManage/purchaseOrder/orderAssociation/invoiceList.vue';
   import returnGoodsList from '@/views/purchasingManage/purchaseOrder/orderAssociation/returnGoodsList.vue';
   import accountstatementList from '@/views/purchasingManage/purchaseOrder/orderAssociation/accountstatementList.vue';
+  import outSourceSendList from '@/views/purchasingManage/purchaseOrder/orderAssociation/outSourceSendList.vue';
   import { getFile } from '@/api/system/file';
   import dictMixins from '@/mixins/dictMixins';
   import { copyObj } from '@/utils/util';
@@ -414,7 +418,7 @@
     mixins: [dictMixins, tabMixins],
     components: {
       billDetailDialog,
-      // fileMain,
+      outSourceSendList,
       invoiceList,
       returnGoodsList,
       accountstatementList,
@@ -447,6 +451,7 @@
         tabOptions: [
           { key: 'order', name: '订单详情' },
           { key: 'bpm', name: '流程详情' },
+          { key: 'outSourceSend', name: '发货列表' },
           { key: 'invoice', name: '收货列表' },
           { key: 'returnorder', name: '退货列表' },
           { key: 'accountstatement', name: '对账列表' }
@@ -462,7 +467,7 @@
         rules: {},
         detailData: {},
 
-       columns: [
+        columns: [
           {
             width: 45,
             type: 'index',

+ 200 - 0
src/views/purchasingManage/purchaseOrder/orderAssociation/outSourceSendList.vue

@@ -0,0 +1,200 @@
+<template>
+  <div class="ele-body">
+    <el-card shadow="never" v-loading="loading">
+      <div class="ele-border-lighter form-content" v-loading="loading">
+        <!-- 数据表格 -->
+        <ele-pro-table
+          ref="table"
+          :columns="columns"
+          :datasource="datasource"
+          height="calc(100vh - 385px)"
+          full-height="calc(100vh - 116px)"
+          tool-class="ele-toolbar-form"
+        >
+          <!-- 查看详情列 -->
+
+          <template v-slot:code="{ row }">
+            <el-link
+              type="primary"
+              :underline="false"
+              @click="openorderDetail(row)"
+            >
+              {{ row.code }}</el-link
+            >
+          </template>
+        </ele-pro-table>
+      </div>
+    </el-card>
+
+    <detail-dialog
+      ref="detailDialogRef"
+      :detailDialogFlag.sync="detailDialogFlag"
+      v-if="detailDialogFlag"
+    ></detail-dialog>
+  </div>
+</template>
+
+<script>
+  import detailDialog from '@/views/purchasingManage/purchaseOrder/outSourceSend/components/detailDialog.vue';
+  import { reviewStatus } from '@/enum/dict';
+  import { getPurchaseOutSourceSendPageAPI } from '@/api/purchasingManage/outSourceSend';
+  import dictMixins from '@/mixins/dictMixins';
+
+  export default {
+    mixins: [dictMixins],
+    props: {
+      orderId: String
+    },
+    components: {
+      detailDialog
+    },
+    data() {
+      return {
+        detailDialogFlag: false,
+        loading: false, // 加载状态
+        columns: [
+          {
+            columnKey: 'index',
+            label: '序号',
+            type: 'index',
+            width: 55,
+            align: 'center',
+            showOverflowTooltip: true,
+            fixed: 'left'
+          },
+          {
+            prop: 'code',
+            label: '发货单编码',
+            align: 'center',
+            slot: 'code',
+            sortable: true,
+            showOverflowTooltip: true,
+            minWidth: 200
+          },
+          {
+            prop: 'productNames',
+            label: '产品名称',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 140
+          },
+          {
+            prop: 'productCodes',
+            label: '产品编码',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 160
+          },
+          {
+            prop: 'batchNos',
+            label: '批次号',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 140
+          },
+          {
+            prop: 'productCount',
+            label: '数量',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 140
+          },
+
+          {
+            prop: 'supplierName',
+            label: '外协单位',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 180
+          },
+          {
+            prop: 'reviewStatus',
+            label: '状态',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 120,
+            formatter: (_row, _column, cellValue) => {
+              return reviewStatus[_row.reviewStatus];
+            }
+          },
+          {
+            prop: 'createTime',
+            label: '创建时间',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 170
+          }
+        ]
+      };
+    },
+    computed: {},
+
+    methods: {
+      /* 表格数据源 */
+      datasource({ page, limit, where, order }) {
+        return getPurchaseOutSourceSendPageAPI({
+          pageNum: page,
+          size: limit,
+          orderId: this.orderId,
+          ...where
+        });
+      },
+
+      /* 刷新表格 */
+      reload(where) {
+        this.$refs.table.reload({ page: 1, where });
+      },
+
+      //查看详情
+      openorderDetail(row, type) {
+        this.detailDialogFlag = true;
+        this.$nextTick(() => {
+          this.$refs.detailDialogRef.open(row);
+        });
+      }
+    }
+  };
+</script>
+
+<style lang="scss" scoped>
+  .ele-body {
+    padding-top: 0;
+    padding-bottom: 0;
+  }
+  :deep .el-card__body {
+    padding: 0;
+  }
+  :deep(.el-link--inner) {
+    margin-left: 0px !important;
+  }
+
+  .sys-organization-list {
+    height: calc(100vh - 264px);
+    box-sizing: border-box;
+    border-width: 1px;
+    border-style: solid;
+    overflow: auto;
+  }
+  .sys-organization-list :deep(.el-tree-node__content) {
+    height: 40px;
+    & > .el-tree-node__expand-icon {
+      margin-left: 10px;
+    }
+  }
+
+  .switch_left ul .active {
+    border-top: 4px solid var(--color-primary);
+    color: var(--color-primary-5);
+  }
+  .switch {
+    padding-bottom: 20px;
+  }
+
+  .el-dropdown-link {
+    cursor: pointer;
+    color: var(--color-primary-5);
+  }
+  .el-icon-arrow-down {
+    font-size: 12px;
+  }
+</style>