Parcourir la source

修改合并盘点单,改为三个步骤、第一选择合并盘点单、第二选择被合并盘点单、第三确认合并盘点

yanwentao il y a 1 an
Parent
commit
399ae4fd6a

+ 9 - 3
src/components/customer/InventoryDataProcessing.vue

@@ -1,11 +1,11 @@
 <template>
   <div class="grid-container">
     <div class="grid-item-1">
-      <div v-if="pageInformation.showPage != 1">
+      <div v-if="pageInformation.showPage != 1 && pageInformation.showPage != 7 ">
         <Navbar :title="$t('lang.AssetInventory.inventoryDataProcessing')" :is-go-back="false" />
       </div>
       <div id="step-container" style="margin-top: 20px;">
-        <section v-if="pageInformation.showPage != 1">
+        <section v-if="pageInformation.showPage != 1 && pageInformation.showPage != 7 ">
           <a-steps :current="pageInformation.currentStep">
             <a-step title="选择处理盘点数据类型" />
             <a-step title="处理盘点数据" />
@@ -15,9 +15,11 @@
       <a-divider v-if="pageInformation.showPage != 1" />
       <section>
         <inventory-data-processing-step1 v-if="pageInformation.showPage == 0" :current-step="pageInformation" @next="nextStep" />
-        <inventory-data-processing-step2 v-if="pageInformation.showPage == 1" :current-step="pageInformation" @previous="previousStep" />
+        <inventory-data-processing-step2 v-if="pageInformation.showPage == 1" :current-step="pageInformation" @next="nextStep" @previous="previousStep" />
         <inventory-data-processing-step3 v-if="pageInformation.showPage == 2" :current-step="pageInformation" @next="nextStep" @previous="previousStep" />
         <inventory-data-processing-step4 v-if="pageInformation.showPage == 3" :current-step="pageInformation" @next="nextStep" @previous="previousStep" />
+        <inventory-data-processing-step7 v-if="pageInformation.showPage == 7" :current-step="pageInformation" @next="nextStep" @previous="previousStep" />
+        <inventory-data-processing-step8 v-if="pageInformation.showPage == 8" :current-step="pageInformation" @previous="previousStep" />
       </section>
     </div>
   </div>
@@ -29,6 +31,8 @@ import InventoryDataProcessingStep1 from './InventoryDataProcessingStep1.vue';
 import InventoryDataProcessingStep2 from './InventoryDataProcessingStep2.vue';
 import InventoryDataProcessingStep3 from './InventoryDataProcessingStep3.vue';
 import InventoryDataProcessingStep4 from './InventoryDataProcessingStep4.vue';
+import InventoryDataProcessingStep7 from './InventoryDataProcessingStep7.vue';
+import InventoryDataProcessingStep8 from './InventoryDataProcessingStep8.vue';
 
 export default {
 
@@ -38,6 +42,8 @@ export default {
     'inventory-data-processing-step2': InventoryDataProcessingStep2,
     'inventory-data-processing-step3': InventoryDataProcessingStep3,
     'inventory-data-processing-step4': InventoryDataProcessingStep4,
+    'inventory-data-processing-step7': InventoryDataProcessingStep7,
+    'inventory-data-processing-step8': InventoryDataProcessingStep8,
 
   },
   data: function() {

+ 119 - 396
src/components/customer/InventoryDataProcessingStep2.vue

@@ -1,9 +1,6 @@
 <template>
   <div>
-    <Navbar
-      :title="$t('lang.ConsolidatedAssetInventory.consolidatedAssetInventory')"
-      :is-go-back="false"
-    />
+    <Navbar :title="$t('lang.ConsolidatedAssetInventory.consolidatedAssetInventory')" :is-go-back="false" />
     <div class="grid-container">
       <div class="grid-item-1">
         <div style="margin-top: 10px">
@@ -11,14 +8,10 @@
             <div class="form-inline">
               <div class="form-group">
                 <label for="name">{{
-                  $t("lang.ConsolidatedAssetInventory.inventoryName")
+                  $t("lang.ConsolidatedAssetInventory.inventoryName") 
                 }}</label>
                 <input
-                  id="name"
-                  v-model="name"
-                  autocomplete="off"
-                  type="text"
-                  class="form-control"
+                  id="name" v-model="name" autocomplete="off" type="text" class="form-control"
                   @keydown.enter="resetQuery"
                 />
               </div>
@@ -27,40 +20,21 @@
                   $t("lang.ConsolidatedAssetInventory.inventoryNo")
                 }}</label>
                 <input
-                  id="documentNo"
-                  v-model="documentNo"
-                  autocomplete="off"
-                  type="text"
-                  class="form-control"
-                  @keydown.enter="resetQuery"
+                  id="documentNo" v-model="documentNo" autocomplete="off" type="text"
+                  class="form-control" @keydown.enter="resetQuery"
                 />
               </div>
               <div class="form-group">
                 <button class="btn btn-primary" @click="resetQuery">
                   {{ $t("lang.ConsolidatedAssetInventory.query") }}
                 </button>
-                <button
-                  class="btn btn-success"
-                >
+                <button class="btn btn-success">
                   {{
                     $t(
-                      "lang.ConsolidatedAssetInventory.combinedInventory"
-                    )
-                  }}
-                  <span class="badge">{{ combinedInventoryIds.length }}</span>
-                </button>
-                <button class="btn btn-success" @click="openModel">
-                  {{
-                    $t("lang.ConsolidatedAssetInventory.selectMergeInventory")
-                  }}
-                  <span class="badge">{{ mergeIntoInventoryIds.length }}</span>
-                </button>
-                <button class="btn btn-info" @click="confirmCombinedInventory">
-                  {{
-                    $t(
-                      "lang.ConsolidatedAssetInventory.confirmCombinedInventory"
+                      "lang.ConsolidatedAssetInventory.mergeInventorySheet"
                     )
                   }}
+                  <span class="badge">{{ mergeInventorySheetId == null?0:1 }}</span>
                 </button>
               </div>
             </div>
@@ -69,20 +43,10 @@
       </div>
 
       <div class="grid-item-2">
-        <table
-          class="fixed-table table-striped table-bordered"
-          style="margin-top: 10px"
-        >
+        <table class="fixed-table table-striped table-bordered" style="margin-top: 10px">
           <thead>
             <tr>
-              <th class="col-md-1">
-                <input
-                  autocomplete="off"
-                  type="checkbox"
-                  :checked="allChecked"
-                  @change="selectAll()"
-                />
-              </th>
+              <th class="col-md-1" />
               <th class="col-md-2">
                 {{ $t("lang.ConsolidatedAssetInventory.departmentName") }}
               </th>
@@ -107,16 +71,10 @@
             </tr>
           </thead>
           <tbody v-if="inventoryDtos.length > 0">
-            <tr
-              v-for="item in inventoryDtos"
-              :key="item.id"
-            >
+            <tr v-for="item in inventoryDtos" :key="item.id">
               <td class="col-md-1">
                 <input
-                  id="item.id"
-                  v-model="combinedInventoryIds"
-                  autocomplete="off"
-                  type="checkbox"
+                  id="item.id" v-model="mergeInventorySheetId" autocomplete="off" type="radio"
                   :value="item.id"
                 />
               </td>
@@ -148,99 +106,16 @@
           </div>
           <div class="pull-right">
             <VueBootstrapPagination
-              v-if="pagination.last_page > 0"
-              :pagination="pagination"
-              :callback="getDatas"
-              :show-head-and-tail="true"
+              v-if="pagination.last_page > 0" :pagination="pagination"
+              :callback="getDatas" :show-head-and-tail="true"
             />
           </div>
         </div>
       </div>
-      <a-button type="primary" @click="previous">上一步</a-button>
-      <Modal
-        v-model:show="modal"
-        title="选择加入至合并盘点单"
-        large="true"
-        @ok="selectMergeIntoInventory"
-      >
-        <div class="form-inline">
-          <div class="form-group">
-            <label for="name">{{
-              $t("lang.ConsolidatedAssetInventory.inventoryName")
-            }}</label>
-            <input
-              id="name1"
-              v-model="name1"
-              autocomplete="off"
-              type="text"
-              class="form-control"
-              @keydown.enter="resetQuery1"
-            />
-          </div>
-          <div class="form-group">
-            <label for="documentNo">{{
-              $t("lang.ConsolidatedAssetInventory.inventoryNo")
-            }}</label>
-            <input
-              id="documentNo1"
-              v-model="documentNo1"
-              autocomplete="off"
-              type="text"
-              class="form-control"
-              @keydown.enter="resetQuery1"
-            />
-          </div>
-          <div class="form-group">
-            <button class="btn btn-primary" @click="resetQuery1">
-              {{ $t("lang.ConsolidatedAssetInventory.query") }}
-            </button>
-          </div>
-        </div>
-        <div style="overflow:auto; height: calc(100vh - 280px); margin-top: 10px">
-          <table
-            class="fixed-table table-striped table-bordered"
-            style="margin-top: 10px"
-          >
-            <thead>
-              <tr>
-                <th class="col-md-1">选择</th>
-                <th class="col-md-2">
-                  {{ $t("lang.ConsolidatedAssetInventory.inventoryName") }}
-                </th>
-                <th class="col-md-3">
-                  {{ $t("lang.ConsolidatedAssetInventory.inventoryNo") }}
-                </th>
-              </tr>
-            </thead>
-            <tbody v-if="inventoryDtos1.length > 0">
-              <tr
-                v-for="item in inventoryDtos1"
-                :key="item.id"
-              >
-                <td>
-                  <input
-                    id="item.id"
-                    v-model="mergeIntoInventoryIds"
-                    autocomplete="off"
-                    type="checkbox"
-                    :value="item.id"
-                  />
-                </td>
-                <td>{{ item.name }}</td>
-                <td>{{ item.documentNo }}</td>
-              </tr>
-            </tbody>
-          </table>
-        </div>
-        <div class="grid-item-3">
-          <VueBootstrapPagination
-            v-if="pagination1.last_page > 0"
-            :pagination="pagination1"
-            :callback="getDatas1"
-            :show-head-and-tail="true"
-          />
-        </div>
-      </Modal>
+      <div class="grid-item-4">
+        <a-button type="primary" @click="previous">上一步</a-button>
+        <a-button style="float: right;" type="primary" @click="next">下一步</a-button>
+      </div>
     </div>
     <Loading v-if="loading" />
   </div>
@@ -249,31 +124,24 @@
 <script>
 import AssetInventoryResource from '../../api/asset/AssetInventoryResource.js';
 import Common from '../../common/Common.js';
-
-
-
-
-
-
-
-
+import { Notify} from 'pc-component-v3';
 export default {
   components: {
-    
-    
-    
-    
-    
-    
-    
+
   },
-  emits: ['previous'],
-  data: function () {
+  props: {
+    currentStep: {
+      type: Object,
+      default () {
+        return {};
+      },
+    },
+  },
+  emits: ['next', 'previous'],
+  data: function() {
     return {
       inventoryDtos: [],
-      inventoryDtos1: [],
-      combinedInventoryIds: [], //被合并的盘点单
-      mergeIntoInventoryIds: [], //合并至的盘点单
+      mergeInventorySheetId: null, //合并盘点单
       pagination: {
         total: 0,
         per_page: Common.pageSize, // required
@@ -288,34 +156,19 @@ export default {
       },
       name: null,
       documentNo: null,
-      name1: null,
-      documentNo1: null,
       checked: false,
       loading: false,
       modal: false,
     };
   },
-  computed: {
-    allChecked: function () {
-      for (
-        let index = 0, size = this.inventoryDtos.length;
-        index < size;
-        index++
-      ) {
-        if (this.combinedInventoryIds.indexOf(this.inventoryDtos[index].id) < 0) {
-          return false;
-        }
-      }
-      return true;
-    },
-  },
+  computed: {},
 
   watch: {
     // 如果路由有变化,会再次执行该方法
     $route: 'init',
   },
 
-  mounted: function () {
+  mounted: function() {
     this.init();
   },
 
@@ -327,62 +180,46 @@ export default {
       };
       this.$emit('previous', data);
     },
-    /**
-     * 全选和反选
-     */
-    selectAll: function () {
-      let _self = this;
-      if (_self.checked == false) {
-        _self.checked = true;
-        _self.inventoryDtos.forEach(function (item) {
-          _self.combinedInventoryIds.push(item.id);
-        });
-      } else {
-        _self.inventoryDtos.forEach(function (item) {
-          _self.checked = false;
-          let index = _self.combinedInventoryIds.indexOf(item.id);
-          _self.combinedInventoryIds.splice(index, 1);
-        });
+    next: function() {
+      var _self = this;
+      if (_self.mergeInventorySheetId == undefined || _self.mergeInventorySheetId == null) {
+        Notify.error('错误', '未选择合并盘点单', 1000);
+        return;
       }
+      var data = {
+        currentStep: 1,
+        showPage: 7,
+        mergeInventorySheetId: _self.mergeInventorySheetId,
+      };
+      _self.$emit('next', data);
     },
-
     /**
-     * 重置分页,然后查询
-     */
-    resetQuery: function () {
+			 * 重置分页,然后查询
+			 */
+    resetQuery: function() {
       var _self = this;
       _self.pagination.current_page = 1;
       _self.getDatas();
     },
 
     /**
-     * 重置分页,然后查询
-     */
-    resetQuery1: function () {
-      var _self = this;
-      _self.pagination1.current_page = 1;
-      _self.getDatas1();
-    },
-
-    /**
-     * 表格显示行数发生改变
-     */
-    pageSizeChanged: function (newPageSize) {
+			 * 表格显示行数发生改变
+			 */
+    pageSizeChanged: function(newPageSize) {
       this.pagination.per_page = newPageSize;
       this.pagination.current_page = 1;
       this.getDatas();
     },
 
     /**
-     * 查询数据
-     */
-    getDatas: function () {
+			 * 查询数据
+			 */
+    getDatas: function() {
       var _self = this;
-      _self.loading=true;
+      _self.loading = true;
       var param = {
         range: {
-          start:
-            (_self.pagination.current_page - 1) * _self.pagination.per_page,
+          start: (_self.pagination.current_page - 1) * _self.pagination.per_page,
           length: _self.pagination.per_page,
         },
         name: _self.name,
@@ -397,10 +234,10 @@ export default {
             });
           }
           _self.inventoryDtos = successData.dataList;
-          _self.loading=false;
+          _self.loading = false;
           if (
             successData.dataList == undefined ||
-            successData.dataList.length == 0
+							successData.dataList.length == 0
           ) {
             return;
           }
@@ -413,151 +250,30 @@ export default {
           _self.fixedTableHeader();
         },
         errorData => {
-          _self.loading=false;
-          Common.processException(errorData);
-        },
-      );
-    },
-
-    /**
-     * 查询数据
-     */
-    getDatas1: function () {
-      var _self = this;
-      _self.loading=true;
-      var param = {
-        range: {
-          start:
-            (_self.pagination1.current_page - 1) * _self.pagination1.per_page,
-          length: _self.pagination1.per_page,
-        },
-        name: _self.name1,
-        documentNo: _self.documentNo1,
-      };
-      AssetInventoryResource.findByAssetInventoryRequest(param).then(
-        successData => {
-          _self.pagination.total = successData.totalSize;
-          if (successData.dataList) {
-            successData.dataList.forEach(item => {
-              item.checked = false;
-            });
-          }
-          _self.inventoryDtos1 = successData.dataList;
-          _self.loading=false;
-          if (
-            successData.dataList == undefined ||
-            successData.dataList.length == 0
-          ) {
-            return;
-          }
-          _self.pagination1.last_page = Math.ceil(
-            successData.totalSize / successData.range.length,
-          );
-          _self.fixedTableHeader();
-        },
-        errorData => {
-          _self.loading=false;
+          _self.loading = false;
           Common.processException(errorData);
         },
       );
     },
 
-
-    /**
-     * 打开合并至的盘点单模态框
-     * @author XiongLiuJie 20210929
-     */
-    openModel: function () {
-      var _self = this;
-      _self.modal = true;
-    },
-
-    /**
-     * 加入至生成盘点单中
-     */
-    selectMergeIntoInventory: function () {
-      var _self = this;
-      _self.loading = true;
-
-      if (_self.mergeIntoInventoryIds.length > 1) {
-        _self.loading = false;
-        _self.modal = true;
-        _self.mergeIntoInventoryIds.splice(0,_self.mergeIntoInventoryIds.length);
-        Common.showDialog('提示', '只能选择一条盘点单', 'error');
-        return;
-      }
-
-      if (_self.mergeIntoInventoryIds.length == 1) {
-        _self.modal = false;
-        Common.showDialog('提示', '加入成功', 'success');
-        _self.loading = false;
-      } else {
-        _self.modal = true;
-        Common.showDialog('提示', '请选择要提交的内容', 'error');
-        _self.loading=false;
-      }
-    },
-
-    /**
-     * 确定合并盘点
-     *
-     */
-    confirmCombinedInventory: function () {
-      const _self = this;
-      if (_self.mergeIntoInventoryIds.length == 0) {
-        Common.showDialog('提示', '请先选择加入到至合并盘点单', 'error');
-        return;
-      }
-      if (_self.combinedInventoryIds.length == 0) {
-        Common.showDialog('提示', '请先选择加入到被合并盘点单', 'error');
-        return;
-      }
-      _self.loading=true;
-      var param = {
-        combinedInventoryIds: _self.combinedInventoryIds,
-        mergeIntoInventoryIds: _self.mergeIntoInventoryIds,
-      };
-      AssetInventoryResource.consolidatedAssetInventory(param).then(
-        successData => {
-          if (successData.errorCode == 0) {
-            Common.showDialog('提示', successData.errorMessage, 'success');
-            _self.selectCombinedInventoryCount = 0;
-            _self.selectMergeIntoInventoryCount = 0;
-          } else {
-            Common.showDialog('提示', successData.errorMessage, 'error');
-          }
-          console.log(successData);
-          _self.loading=false;
-        },
-        errorData => {
-          _self.loading=false;
-        },
-      );
-    },
-
     /**
-     * 冻结表头
-     */
-    fixedTableHeader: function () {
+			 * 冻结表头
+			 */
+    fixedTableHeader: function() {
       let _self = this;
-      _self.$nextTick(function () {
+      _self.$nextTick(function() {
         $('.fixed-table').tableFixer({
           head: true,
         });
       });
     },
 
-    init: function () {
+    init: function() {
       var _self = this;
-
       _self.getDatas();
-
-      _self.getDatas1();
-
       this.fixedTableHeader();
-
       // 可调整表格列宽
-      _self.$nextTick(function () {
+      _self.$nextTick(function() {
         $('.fixed-table').resizableColumns();
       });
     },
@@ -567,52 +283,59 @@ export default {
 
 
 <style scoped>
-.grid-container {
-  margin-top: 10px;
-  display: grid;
-  grid-template-columns: 300px auto;
-  grid-template-rows: 35px 1fr 40px 40px;
-  gap: 10px;
-  justify-items: stretch;
-  align-items: stretch;
-  height: calc(100vh - 170px);
-  overflow: auto;
-}
-
-.grid-item-1 {
-  grid-row-start: 1;
-  grid-row-end: 3;
-  grid-column-start: 1;
-  grid-column-end: 3;
-}
-
-.grid-item-2 {
-  grid-row-start: 2;
-  grid-row-end: 3;
-  grid-column-start: 1;
-  grid-column-end: 3;
-  overflow: auto;
-}
-
-.grid-item-3 {
-  grid-row-start: 3;
-  grid-row-end: 4;
-  grid-column-start: 1;
-  grid-column-end: 3;
-}
-
-.fixed-table {
-  table-layout: fixed;
-}
-
-table.fixed-table tr {
-  height: 40px;
-}
-
-table.fixed-table th,
-table.fixed-table td {
-  overflow: hidden;
-  white-space: nowrap;
-  text-overflow: ellipsis;
-}
+	.grid-container {
+		margin-top: 10px;
+		display: grid;
+		grid-template-columns: 300px auto;
+		grid-template-rows: 35px 1fr 40px 40px;
+		gap: 10px;
+		justify-items: stretch;
+		align-items: stretch;
+		height: calc(100vh - 170px);
+		overflow: auto;
+	}
+
+	.grid-item-1 {
+		grid-row-start: 1;
+		grid-row-end: 3;
+		grid-column-start: 1;
+		grid-column-end: 3;
+	}
+
+	.grid-item-2 {
+		grid-row-start: 2;
+		grid-row-end: 3;
+		grid-column-start: 1;
+		grid-column-end: 3;
+		overflow: auto;
+	}
+
+	.grid-item-3 {
+		grid-row-start: 3;
+		grid-row-end: 4;
+		grid-column-start: 1;
+		grid-column-end: 3;
+	}
+
+	.grid-item-4 {
+		grid-row-start: 4;
+		grid-row-end: 5;
+		grid-column-start: 1;
+		grid-column-end: 3;
+	}
+
+	.fixed-table {
+		table-layout: fixed;
+	}
+
+	table.fixed-table tr {
+		height: 40px;
+	}
+
+	table.fixed-table th,
+	table.fixed-table td {
+		overflow: hidden;
+		white-space: nowrap;
+		text-overflow: ellipsis;
+	}
 </style>

+ 375 - 0
src/components/customer/InventoryDataProcessingStep7.vue

@@ -0,0 +1,375 @@
+<template>
+  <div>
+    <Navbar :title="$t('lang.ConsolidatedAssetInventory.consolidatedAssetInventory')" :is-go-back="false" />
+    <div class="grid-container">
+      <div class="grid-item-1">
+        <div style="margin-top: 10px">
+          <div class="col-md-12">
+            <div class="form-inline">
+              <div class="form-group">
+                <label for="name">{{
+                  $t("lang.ConsolidatedAssetInventory.inventoryName") 
+                }}</label>
+                <input
+                  id="name" v-model="name" autocomplete="off" type="text" class="form-control"
+                  @keydown.enter="resetQuery"
+                />
+              </div>
+              <div class="form-group">
+                <label for="documentNo">{{
+                  $t("lang.ConsolidatedAssetInventory.inventoryNo")
+                }}</label>
+                <input
+                  id="documentNo" v-model="documentNo" autocomplete="off" type="text"
+                  class="form-control" @keydown.enter="resetQuery"
+                />
+              </div>
+              <div class="form-group">
+                <button class="btn btn-primary" @click="resetQuery">
+                  {{ $t("lang.ConsolidatedAssetInventory.query") }}
+                </button>
+                <button class="btn btn-success">
+                  {{
+                    $t(
+                      "lang.ConsolidatedAssetInventory.combinedInventory"
+                    )
+                  }}
+                  <span class="badge">{{ consolidatedInventorySheetIds.length }}</span>
+                </button>
+              </div>
+            </div>
+          </div>
+        </div>
+      </div>
+
+      <div class="grid-item-2">
+        <table class="fixed-table table-striped table-bordered" style="margin-top: 10px">
+          <thead>
+            <tr>
+              <th class="col-md-1">
+                <input autocomplete="off" type="checkbox" :checked="allChecked" @change="selectAll()" />
+              </th>
+              <th class="col-md-2">
+                {{ $t("lang.ConsolidatedAssetInventory.departmentName") }}
+              </th>
+              <th class="col-md-3">
+                {{ $t("lang.ConsolidatedAssetInventory.organizationName") }}
+              </th>
+              <th class="col-md-4">
+                {{ $t("lang.ConsolidatedAssetInventory.inventoryName") }}
+              </th>
+              <th class="col-md-5">
+                {{ $t("lang.ConsolidatedAssetInventory.inventoryNo") }}
+              </th>
+              <th class="col-md-6">
+                {{ $t("lang.ConsolidatedAssetInventory.startDate") }}
+              </th>
+              <th class="col-md-7">
+                {{ $t("lang.ConsolidatedAssetInventory.expirationDate") }}
+              </th>
+              <th class="col-md-8">
+                {{ $t("lang.ConsolidatedAssetInventory.accountDate") }}
+              </th>
+            </tr>
+          </thead>
+          <tbody v-if="inventoryDtos.length > 0">
+            <tr v-for="item in inventoryDtos" :key="item.id">
+              <td class="col-md-1">
+                <input
+                  id="item.id" v-model="consolidatedInventorySheetIds" autocomplete="off" type="checkbox"
+                  :value="item.id"
+                />
+              </td>
+              <td class="col-md-2">{{ item.organizationName }}</td>
+              <td class="col-md-3">{{ item.clientName }}</td>
+              <td class="col-md-4">{{ item.name }}</td>
+              <td class="col-md-5">{{ item.documentNo }}</td>
+              <td class="col-md-6">{{ item.inventoryStartDate }}</td>
+              <td class="col-md-7">{{ item.inventoryEndDate }}</td>
+              <td class="col-md-8">{{ item.accountDate }}</td>
+            </tr>
+          </tbody>
+        </table>
+      </div>
+      <div class="grid-item-3">
+        <div>
+          <div class="pull-left">
+            <span>{{ $t("lang.ConsolidatedAssetInventory.the")
+            }}{{ (pagination.current_page - 1) * pagination.per_page + 1 }}-{{
+              pagination.current_page * pagination.per_page
+            }}{{ $t("lang.ConsolidatedAssetInventory.strip") }},{{
+              $t("lang.ConsolidatedAssetInventory.inTotal")
+            }}{{ pagination.total
+            }}{{ $t("lang.ConsolidatedAssetInventory.strip") }},{{
+              $t("lang.ConsolidatedAssetInventory.eachPage")
+            }}</span>
+            <PageSizeSelect @page-size-changed="pageSizeChanged" />
+            <span>{{ $t("lang.ConsolidatedAssetInventory.strip") }}</span>
+          </div>
+          <div class="pull-right">
+            <VueBootstrapPagination
+              v-if="pagination.last_page > 0" :pagination="pagination"
+              :callback="getDatas" :show-head-and-tail="true"
+            />
+          </div>
+        </div>
+      </div>
+      <div class="grid-item-4">
+        <a-button type="primary" @click="previous">上一步</a-button>
+        <a-button style="float: right;" type="primary" @click="next">下一步</a-button>
+      </div>
+    </div>
+    <Loading v-if="loading" />
+  </div>
+</template>
+
+<script>
+import AssetInventoryResource from '../../api/asset/AssetInventoryResource.js';
+import Common from '../../common/Common.js';
+import { Notify} from 'pc-component-v3';
+export default {
+  components: {
+
+  },
+  props: {
+    currentStep: {
+      type: Object,
+      default () {
+        return {};
+      },
+    },
+  },
+  emits: ['previous','next'],
+  data: function() {
+    return {
+      inventoryDtos: [],
+      consolidatedInventorySheetIds: [], //被合并的盘点单
+      pagination: {
+        total: 0,
+        per_page: Common.pageSize, // required
+        current_page: 1, // required
+        last_page: 0, // required
+      },
+      pagination1: {
+        total: 0,
+        per_page: Common.pageSize, // required
+        current_page: 1, // required
+        last_page: 0, // required
+      },
+      name: null,
+      documentNo: null,
+      checked: false,
+      loading: false,
+    };
+  },
+  computed: {
+    allChecked: function() {
+      for (
+        let index = 0, size = this.inventoryDtos.length; index < size; index++
+      ) {
+        if (this.consolidatedInventorySheetIds.indexOf(this.inventoryDtos[index].id) < 0) {
+          return false;
+        }
+      }
+      return true;
+    },
+  },
+
+  watch: {
+    // 如果路由有变化,会再次执行该方法
+    $route: 'init',
+  },
+
+  mounted: function() {
+    this.init();
+    console.log('11111');
+    console.log(this.currentStep);
+  },
+
+  methods: {
+    previous: function() {
+      var data = {
+        currentStep: 1,
+        showPage: 1,
+      };
+      this.$emit('previous', data);
+    },
+    next: function() {
+      var _self = this;
+      if (_self.consolidatedInventorySheetIds == undefined || _self.consolidatedInventorySheetIds == null || _self.consolidatedInventorySheetIds.length < 1) {
+        Notify.error('错误', '未选择被合并盘点单', 1000);
+        return;
+      }
+      var data = {
+        currentStep: 1,
+        showPage: 8,
+        mergeInventorySheetId: _self.currentStep.mergeInventorySheetId,
+        consolidatedInventorySheetIds: _self.consolidatedInventorySheetIds,
+      };
+      _self.$emit('next', data);
+    },
+    /**
+			 * 全选和反选
+			 */
+    selectAll: function() {
+      let _self = this;
+      if (_self.checked == false) {
+        _self.checked = true;
+        _self.inventoryDtos.forEach(function(item) {
+          _self.consolidatedInventorySheetIds.push(item.id);
+        });
+      } else {
+        _self.inventoryDtos.forEach(function(item) {
+          _self.checked = false;
+          let index = _self.consolidatedInventorySheetIds.indexOf(item.id);
+          _self.consolidatedInventorySheetIds.splice(index, 1);
+        });
+      }
+    },
+
+    /**
+			 * 重置分页,然后查询
+			 */
+    resetQuery: function() {
+      var _self = this;
+      _self.pagination.current_page = 1;
+      _self.getDatas();
+    },
+
+    /**
+			 * 表格显示行数发生改变
+			 */
+    pageSizeChanged: function(newPageSize) {
+      this.pagination.per_page = newPageSize;
+      this.pagination.current_page = 1;
+      this.getDatas();
+    },
+
+    /**
+			 * 查询数据
+			 */
+    getDatas: function() {
+      var _self = this;
+      _self.loading = true;
+      var param = {
+        range: {
+          start: (_self.pagination.current_page - 1) * _self.pagination.per_page,
+          length: _self.pagination.per_page,
+        },
+        name: _self.name,
+        documentNo: _self.documentNo,
+      };
+      AssetInventoryResource.findByAssetInventoryRequest(param).then(
+        successData => {
+          _self.pagination.total = successData.totalSize;
+          if (successData.dataList) {
+            successData.dataList.forEach(item => {
+              item.checked = false;
+            });
+          }
+          _self.inventoryDtos = successData.dataList;
+          _self.loading = false;
+          if (
+            successData.dataList == undefined ||
+							successData.dataList.length == 0
+          ) {
+            return;
+          }
+          _self.pagination.last_page = Math.ceil(
+            successData.totalSize / successData.range.length,
+          );
+          _self.pagination1.last_page = Math.ceil(
+            successData.totalSize / successData.range.length,
+          );
+          _self.fixedTableHeader();
+        },
+        errorData => {
+          _self.loading = false;
+          Common.processException(errorData);
+        },
+      );
+    },
+
+    /**
+	  * 冻结表头
+	  */
+    fixedTableHeader: function() {
+      let _self = this;
+      _self.$nextTick(function() {
+        $('.fixed-table').tableFixer({
+          head: true,
+        });
+      });
+    },
+
+    init: function() {
+      var _self = this;
+      _self.getDatas();
+      this.fixedTableHeader();
+      // 可调整表格列宽
+      _self.$nextTick(function() {
+        $('.fixed-table').resizableColumns();
+      });
+    },
+  },
+};
+</script>
+
+
+<style scoped>
+	.grid-container {
+		margin-top: 10px;
+		display: grid;
+		grid-template-columns: 300px auto;
+		grid-template-rows: 35px 1fr 40px 40px;
+		gap: 10px;
+		justify-items: stretch;
+		align-items: stretch;
+		height: calc(100vh - 170px);
+		overflow: auto;
+	}
+
+	.grid-item-1 {
+		grid-row-start: 1;
+		grid-row-end: 3;
+		grid-column-start: 1;
+		grid-column-end: 3;
+	}
+
+	.grid-item-2 {
+		grid-row-start: 2;
+		grid-row-end: 3;
+		grid-column-start: 1;
+		grid-column-end: 3;
+		overflow: auto;
+	}
+
+	.grid-item-3 {
+		grid-row-start: 3;
+		grid-row-end: 4;
+		grid-column-start: 1;
+		grid-column-end: 3;
+	}
+
+	.grid-item-4 {
+		grid-row-start: 4;
+		grid-row-end: 5;
+		grid-column-start: 1;
+		grid-column-end: 3;
+	}
+
+	.fixed-table {
+		table-layout: fixed;
+	}
+
+	table.fixed-table tr {
+		height: 40px;
+	}
+
+	table.fixed-table th,
+	table.fixed-table td {
+		overflow: hidden;
+		white-space: nowrap;
+		text-overflow: ellipsis;
+	}
+</style>

+ 157 - 0
src/components/customer/InventoryDataProcessingStep8.vue

@@ -0,0 +1,157 @@
+<template>
+  <div>
+    <a-result v-if="isShow" status="success" title="操作成功!" sub-title="恭喜您,合并盘点单成功.">
+      <template #extra>
+        <div style="text-align: left; margin-bottom: 20px;">
+          <a-table :columns="columns" :data-source="organizationNames">
+            <template #bodyCell="{ column,record }">
+              <template v-if="column.key === 'name'" />
+              <template v-else-if="column.key === 'documentName'">
+                <span>
+                  {{ record.documentName }}
+                </span>
+              </template>
+              <template v-else-if="column.key === 'documentNo'">
+                <span>
+                  {{ record.documentNo }}
+                </span>
+              </template>
+              <template v-else-if="column.key === 'operation'">
+                <a-button type="primary" @click="openCurdWindow(record.id)">查看盘点单</a-button>
+              </template>
+            </template>
+          </a-table>
+        </div>
+      </template>
+    </a-result>
+    <a-result v-else title="合并盘点单">
+      <template #extra>
+        <a-button key="console" type="primary" @click="end">确定合并盘点</a-button>
+      </template>
+    </a-result>
+    <a-divider />
+    <Loading v-if="loading" />
+    <a-button key="console" type="primary" @click="previous">上一步</a-button>
+    <a-button key="console" style="float: right;" type="primary" @click="next">下一步</a-button>
+  </div>
+</template>
+
+<script>
+import {
+  Notify,
+  Uuid,
+} from 'pc-component-v3';
+import Common from '../../common/Common.js';
+import AssetInventoryResource from '../../api/asset/AssetInventoryResource.js';
+
+export default {
+  components: {},
+
+  props: {
+    currentStep: {
+      type: Object,
+      default () {
+        return {};
+      },
+    },
+  },
+
+  // 定义抛出的事件名称
+  emits: ['previous'],
+  data: function() {
+    this.treeList = [];
+    return {
+      treeData: [],
+      expandedKeys: [],
+      checkedKeys: [],
+      autoExpandParent: true,
+      inventorySheetName: null,
+      currentStepTempory: {},
+      isShow: false,
+      loading: false,
+      organizationNames: [],
+      columns: [{
+        title: '部门',
+        dataIndex: 'name',
+        key: 'name',
+      }, {
+        title: '盘点单名称',
+        dataIndex: 'documentName',
+        key: 'documentName',
+      }, {
+        title: '盘点单编号',
+        dataIndex: 'documentNo',
+        key: 'documentNo',
+      },
+      {
+        title: '操作',
+        dataIndex: 'operation',
+        key: 'operation',
+      },
+      ],
+    };
+  },
+  mounted: function() {
+    console.log('333333');
+    console.log(this.currentStep);
+  },
+  methods: {
+    /**
+			 * 打开资产盘点单的CURD窗口
+			 */
+    openCurdWindow: function(data) {
+      let url = Common.getRedirectUrl('#/desktop/window/window-read/view/041101/0/' + data +
+					'?currPage=1&currIndex=1&totalCount=1&uuid=' + Uuid.createUUID());
+      window.open(url);
+    },
+    end: function() {
+      var _self = this;
+      _self.loading = true;
+      var mergeIntoInventoryIds = [];
+      mergeIntoInventoryIds.push(_self.currentStep.mergeInventorySheetId);
+      var param = {
+        combinedInventoryIds: _self.currentStep.consolidatedInventorySheetIds,
+        mergeIntoInventoryIds: mergeIntoInventoryIds,
+      };
+      AssetInventoryResource.consolidatedAssetInventory(param).then(
+        successData => {
+          if (successData.errorCode == 0) {
+            _self.isShow = true;
+            var organizationName = {
+              name: successData.organizationName,
+              documentNo: successData.documentNo,
+              documentName: successData.name,
+              id: successData.id,
+            };
+            _self.organizationNames.push(organizationName);
+            Common.showDialog('提示', successData.errorMessage, 'success');
+          } else {
+            Common.showDialog('提示', successData.errorMessage, 'error');
+          }
+          console.log(successData);
+          _self.loading = false;
+        },
+        errorData => {
+          _self.loading = false;
+        },
+      );
+    },
+
+    previous: function() {
+      var _self = this;
+      var data = {
+        currentStep: 1,
+        showPage: 7,
+        mergeInventorySheetId: _self.currentStep.mergeInventorySheetId,
+      };
+      this.$emit('previous', data);
+    },
+    next: function() {
+      var _self = this;
+      _self.$router.push('/eam/assetInventory');
+    },
+  },
+};
+</script>
+<style>
+</style>

+ 2 - 1
src/locales/zh-CN.json

@@ -1162,7 +1162,8 @@
       "clearMergeInventory": "清空合并盘点单",
       "viewConsolidatedCountSheet": "查看被合并盘点单",
       "delete": "删除",
-      "isNew": "是否新建合并盘点单"
+      "isNew": "是否新建合并盘点单",
+	  "mergeInventorySheet": "合并盘点单",
     },
     "AssetInventory": {
       "assetInventory": "资产盘点",