Просмотр исходного кода

feat: 发货单列表增加合计

liujt 1 месяц назад
Родитель
Сommit
cf3f7a3768
1 измененных файлов с 200 добавлено и 188 удалено
  1. 200 188
      src/views/saleManage/saleOrder/invoice/index.vue

+ 200 - 188
src/views/saleManage/saleOrder/invoice/index.vue

@@ -4,211 +4,215 @@
       <div class="ele-border-lighter form-content" v-loading="loading">
         <search-table @search="reload"></search-table>
 
-        <!-- 数据表格 -->
-        <ele-pro-table
-          ref="table"
-          :columns="columns"
-          :datasource="datasource"
-          height="calc(100vh - 410px)"
-          style="margin-bottom: 10px"
-          full-height="calc(100vh - 116px)"
-          tool-class="ele-toolbar-form"
-          :selection.sync="selection"
-          :page-size="20"
-          @columns-change="handleColumnChange"
-          :cache-key="cacheKeyUrl"
-        >
-          <!-- 表头工具栏 -->
-          <template v-slot:toolbar>
-            <el-button
-              size="small"
-              type="primary"
-              icon="el-icon-plus"
-              class="ele-btn-icon"
-              @click="openEdit('add', {})"
-              v-if="
-                !saleOrderData.id ||
-                (saleOrderData.id && saleOrderData.orderStatus == 2)
-              "
-            >
-              新建
-            </el-button>
-
-            <el-button
-              size="small"
-              type="danger"
-              class="el-icon-delete"
-              @click="allDelBtn"
-              :disabled="selection?.length === 0"
-            >
-              批量删除
-            </el-button>
-            <el-dropdown trigger="click" :disabled="selection?.length === 0">
-              <el-button type="primary" class="el-icon-printer" size="small">
-                打印<i class="el-icon-arrow-down el-icon--right"></i>
+        <div v-table-scroll-sync>
+          <!-- 数据表格 -->
+          <ele-pro-table
+            ref="table"
+            :columns="columns"
+            :datasource="datasource"
+            height="calc(100vh - 410px)"
+            style="margin-bottom: 10px"
+            full-height="calc(100vh - 116px)"
+            tool-class="ele-toolbar-form"
+            :selection.sync="selection"
+            :page-size="20"
+            @columns-change="handleColumnChange"
+            :cache-key="cacheKeyUrl"
+            show-summary
+            :summary-method="getSummaries"
+          >
+            <!-- 表头工具栏 -->
+            <template v-slot:toolbar>
+              <el-button
+                size="small"
+                type="primary"
+                icon="el-icon-plus"
+                class="ele-btn-icon"
+                @click="openEdit('add', {})"
+                v-if="
+                  !saleOrderData.id ||
+                  (saleOrderData.id && saleOrderData.orderStatus == 2)
+                "
+              >
+                新建
               </el-button>
-              <el-dropdown-menu slot="dropdown">
-                <el-dropdown-item
-                  @click.native="handlePrint('printTemplateByRef')"
-                  v-if="$hasPermission('eom:print-invoice1')"
-                  >发货单</el-dropdown-item
-                >
-                <el-dropdown-item
-                  v-if="$hasPermission('eom:print-invoice2')"
-                  @click.native="handlePrint('printTemplateJsRef')"
-                  >器械出库单</el-dropdown-item
-                >
-                <el-dropdown-item
-                  v-if="$hasPermission('eom:print-invoice3')"
-                  @click.native="handlePrint('printTemplateJsYpRef')"
-                  >药品出库单</el-dropdown-item
-                >
-                <el-dropdown-item
-                  v-if="$hasPermission('eom:print-invoice4')"
-                  @click.native="handlePrint('printTemplateWlRef')"
-                  >送货单模板</el-dropdown-item
-                >
-                <el-dropdown-item
-                  v-if="$hasPermission('eom:print-invoice5')"
-                  @click.native="handlePrint('printTemplateBSRef')"
-                  >送货单模板</el-dropdown-item
-                >
-                <el-dropdown-item
-                  v-if="$hasPermission('eom:print-invoice6')"
-                  @click.native="handlePrint('printTemplateHtRef')"
-                  >货物签收单</el-dropdown-item
-                >
 
-                <el-dropdown-item
-                  v-if="$hasPermission('eom:print-invoice7')"
-                  @click.native="handlePrint('printTemplateJrRef')"
-                  >发货单</el-dropdown-item
-                >
+              <el-button
+                size="small"
+                type="danger"
+                class="el-icon-delete"
+                @click="allDelBtn"
+                :disabled="selection?.length === 0"
+              >
+                批量删除
+              </el-button>
+              <el-dropdown trigger="click" :disabled="selection?.length === 0">
+                <el-button type="primary" class="el-icon-printer" size="small">
+                  打印<i class="el-icon-arrow-down el-icon--right"></i>
+                </el-button>
+                <el-dropdown-menu slot="dropdown">
+                  <el-dropdown-item
+                    @click.native="handlePrint('printTemplateByRef')"
+                    v-if="$hasPermission('eom:print-invoice1')"
+                    >发货单</el-dropdown-item
+                  >
+                  <el-dropdown-item
+                    v-if="$hasPermission('eom:print-invoice2')"
+                    @click.native="handlePrint('printTemplateJsRef')"
+                    >器械出库单</el-dropdown-item
+                  >
+                  <el-dropdown-item
+                    v-if="$hasPermission('eom:print-invoice3')"
+                    @click.native="handlePrint('printTemplateJsYpRef')"
+                    >药品出库单</el-dropdown-item
+                  >
+                  <el-dropdown-item
+                    v-if="$hasPermission('eom:print-invoice4')"
+                    @click.native="handlePrint('printTemplateWlRef')"
+                    >送货单模板</el-dropdown-item
+                  >
+                  <el-dropdown-item
+                    v-if="$hasPermission('eom:print-invoice5')"
+                    @click.native="handlePrint('printTemplateBSRef')"
+                    >送货单模板</el-dropdown-item
+                  >
+                  <el-dropdown-item
+                    v-if="$hasPermission('eom:print-invoice6')"
+                    @click.native="handlePrint('printTemplateHtRef')"
+                    >货物签收单</el-dropdown-item
+                  >
+
+                  <el-dropdown-item
+                    v-if="$hasPermission('eom:print-invoice7')"
+                    @click.native="handlePrint('printTemplateJrRef')"
+                    >发货单</el-dropdown-item
+                  >
+
+                  <el-dropdown-item
+                    v-if="$hasPermission('eom:print-invoice8')"
+                    @click.native="handlePrint('printTemplateTrRef')"
+                    >送货单打印</el-dropdown-item
+                  >
+
+                  <el-dropdown-item
+                    v-if="$hasPermission('eom:print-invoice9')"
+                    @click.native="handlePrint('printTemplateHt1Ref')"
+                    >出库单</el-dropdown-item
+                  >
+                </el-dropdown-menu>
+              </el-dropdown>
+              <exportButton
+                btnName="列表导出"
+                fileName="销售发货单"
+                apiUrl="/eom/saleordersendrecord/export"
+                :params="params"
+              ></exportButton>
+              <exportButton
+                btnName="明细导出"
+                fileName="明细导出"
+                apiUrl="/eom/saleordersendrecord/exportDetail"
+                :params="exportParams"
+              ></exportButton>
+            </template>
 
-                <el-dropdown-item
-                  v-if="$hasPermission('eom:print-invoice8')"
-                  @click.native="handlePrint('printTemplateTrRef')"
-                  >送货单打印</el-dropdown-item
-                >
+            <!-- 查看详情列 -->
 
-                <el-dropdown-item
-                  v-if="$hasPermission('eom:print-invoice9')"
-                  @click.native="handlePrint('printTemplateHt1Ref')"
-                  >出库单</el-dropdown-item
-                >
-              </el-dropdown-menu>
-            </el-dropdown>
-            <exportButton
-              btnName="列表导出"
-              fileName="销售发货单"
-              apiUrl="/eom/saleordersendrecord/export"
-              :params="params"
-            ></exportButton>
-            <exportButton
-              btnName="明细导出"
-              fileName="明细导出"
-              apiUrl="/eom/saleordersendrecord/exportDetail"
-              :params="exportParams"
-            ></exportButton>
-          </template>
-
-          <!-- 查看详情列 -->
-
-          <template v-slot:docNo="{ row }">
-            <el-link
-              type="primary"
-              :underline="false"
-              @click="openorderDetail(row, 'docNo')"
-            >
-              {{ row.docNo }}
-            </el-link>
-          </template>
-          <template v-slot:orderNo="{ row }">
-            <el-link
-              type="primary"
-              :underline="false"
-              v-for="(v, j) in row.orderNo.split(',')"
-              :key="v"
-              @click="openorderDetail(row, 'orderNo', j)"
-            >
-              {{ v }}
-
-              <span v-if="j != row.orderNo.split(',').length - 1">,</span>
-            </el-link>
-          </template>
-          <!-- 操作列 -->
-          <template v-slot:action="{ row }">
-            <template v-if="row.suspendReviewStatus == 0 || row.suspendReviewStatus == 3 || row.isSuspend != 1">
+            <template v-slot:docNo="{ row }">
               <el-link
                 type="primary"
                 :underline="false"
-                icon="el-icon-edit"
-                @click="openEdit('edit', row)"
-                v-if="
-                  ([0, 3].includes(row.reviewStatus) &&
-                    isNeed_process_is_close) ||
-                  !isNeed_process_is_close
-                "
+                @click="openorderDetail(row, 'docNo')"
+              >
+                {{ row.docNo }}
+              </el-link>
+            </template>
+            <template v-slot:orderNo="{ row }">
+              <el-link
+                type="primary"
+                :underline="false"
+                v-for="(v, j) in row.orderNo.split(',')"
+                :key="v"
+                @click="openorderDetail(row, 'orderNo', j)"
               >
-                修改
+                {{ v }}
+
+                <span v-if="j != row.orderNo.split(',').length - 1">,</span>
               </el-link>
+            </template>
+            <!-- 操作列 -->
+            <template v-slot:action="{ row }">
+              <template v-if="row.suspendReviewStatus == 0 || row.suspendReviewStatus == 3 || row.isSuspend != 1">
+                <el-link
+                  type="primary"
+                  :underline="false"
+                  icon="el-icon-edit"
+                  @click="openEdit('edit', row)"
+                  v-if="
+                    ([0, 3].includes(row.reviewStatus) &&
+                      isNeed_process_is_close) ||
+                    !isNeed_process_is_close
+                  "
+                >
+                  修改
+                </el-link>
+                <el-link
+                  type="primary"
+                  :underline="false"
+                  icon="el-icon-plus"
+                  @click="sendSubmit(row)"
+                  v-if="
+                    isNeed_process_is_close && [0, 3].includes(row.reviewStatus)
+                  "
+                >
+                  提交
+                </el-link>
+                <el-popconfirm
+                  class="ele-action"
+                  title="确定要删除此信息吗?"
+                  @confirm="remove([row.id])"
+                  v-if="
+                    (isNeed_process_is_close &&
+                      [0, 3].includes(row.reviewStatus)) ||
+                    !isNeed_process_is_close
+                  "
+                >
+                  <template v-slot:reference>
+                    <el-link type="danger" :underline="false" icon="el-icon-delete">
+                      删除
+                    </el-link>
+                  </template>
+                </el-popconfirm>
+              </template>
               <el-link
                 type="primary"
                 :underline="false"
                 icon="el-icon-plus"
-                @click="sendSubmit(row)"
-                v-if="
-                  isNeed_process_is_close && [0, 3].includes(row.reviewStatus)
-                "
+                @click="exportFile(row)"
+                v-if="[2].includes(row.reviewStatus)"
               >
-                提交
+                导出
               </el-link>
-              <el-popconfirm
-                class="ele-action"
-                title="确定要删除此信息吗?"
-                @confirm="remove([row.id])"
-                v-if="
-                  (isNeed_process_is_close &&
-                    [0, 3].includes(row.reviewStatus)) ||
-                  !isNeed_process_is_close
-                "
+              <el-link
+                type="primary"
+                :underline="false"
+                icon="el-icon-edit"
+                @click="creatInvoiceConfirm(row)"
+                v-if="row.isSplitFlag == 0 && ([2].includes(row.reviewStatus) && row.isSuspend != 1)"
+              >
+                创建发货确认单
+              </el-link>
+              <el-link
+                type="primary"
+                :underline="false"
+                icon="el-icon-edit"
+                @click="creatReturnGoods('add', row)"
+                v-if="row.isSplitFlag == 0 && ([2].includes(row.reviewStatus) && row.isSuspend != 1)"
               >
-                <template v-slot:reference>
-                  <el-link type="danger" :underline="false" icon="el-icon-delete">
-                    删除
-                  </el-link>
-                </template>
-              </el-popconfirm>
+                创建退货单
+              </el-link>
             </template>
-            <el-link
-              type="primary"
-              :underline="false"
-              icon="el-icon-plus"
-              @click="exportFile(row)"
-              v-if="[2].includes(row.reviewStatus)"
-            >
-              导出
-            </el-link>
-            <el-link
-              type="primary"
-              :underline="false"
-              icon="el-icon-edit"
-              @click="creatInvoiceConfirm(row)"
-              v-if="row.isSplitFlag == 0 && ([2].includes(row.reviewStatus) && row.isSuspend != 1)"
-            >
-              创建发货确认单
-            </el-link>
-            <el-link
-              type="primary"
-              :underline="false"
-              icon="el-icon-edit"
-              @click="creatReturnGoods('add', row)"
-              v-if="row.isSplitFlag == 0 && ([2].includes(row.reviewStatus) && row.isSuspend != 1)"
-            >
-              创建退货单
-            </el-link>
-          </template>
-        </ele-pro-table>
+          </ele-pro-table>
+        </div>
       </div>
     </el-card>
 
@@ -289,6 +293,7 @@
 </template>
 
 <script>
+  import { getSummaries } from '@/utils/util.js';
   import searchTable from './components/searchTable.vue';
   import addInvoiceDialog from './components/addInvoiceDialog.vue';
   import addInvoiceConfirm from '@/views/saleManage/saleOrder/invoiceConfirm/components/addInvoiceDialog.vue';
@@ -589,6 +594,13 @@
       }
     },
     methods: {
+      getSummaries(param) {
+        return getSummaries(
+          param,
+          ['orderTotalCount', 'sendTotalCount', 'sendTotalAmount', 'outboundTotalCount', 'outboundTotalAmount'],
+          ' '
+        );
+      },
       /* 表格数据源 */
       datasource({ page, limit, where, order }) {
         if (this.saleOrderData.id) {