From 025dafb9892a8ff8f8a855343660f837a0f231d3 Mon Sep 17 00:00:00 2001
From: haoyahui <2032914783@qq.com>
Date: 星期一, 20 十一月 2023 16:31:11 +0800
Subject: [PATCH] 库存管理前端

---
 admin-web/src/views/stock/ledger/inventoryQuery/index.vue |  128 +++++++++++++++++++++++++-----------------
 1 files changed, 77 insertions(+), 51 deletions(-)

diff --git a/admin-web/src/views/stock/ledger/inventoryQuery/index.vue b/admin-web/src/views/stock/ledger/inventoryQuery/index.vue
index 4f67bc0..617ee74 100644
--- a/admin-web/src/views/stock/ledger/inventoryQuery/index.vue
+++ b/admin-web/src/views/stock/ledger/inventoryQuery/index.vue
@@ -16,11 +16,7 @@
         </el-card>
       </el-container>
     </el-container>
-    <my-import
-      :import-setting="importSetting"
-      :dialog-show="importSetting.dialogShow"
-      :dialog-title="importSetting.dialogTitle"
-    />
+    
   </div>
 </template>
 
@@ -29,14 +25,14 @@
 import MyButton from '@/components/myButton/myButton';
 import SettingIplatform from '@/utils/settingIplatform';
 import * as finsystenant from '@/api/baseSetting/finsystenant';
-import myImport from '@/views/components/myImport';
 import { getBaseUrl } from '@/utils/base';
-import { selectTenantWarehouse, getCategorySelectTree } from '@/api/baseSetting/finsystenant';
+import { selectTenantWarehouse, getCategorySelectTree, treeList } from '@/api/baseSetting/finsystenant';
 import { getDicts } from '@/api/system/dict/data';
+import { doExport } from '@/api/stock/ledger';
 
 export default {
   name: 'index',
-  components: { MyButton, MyTableV2, myImport },
+  components: { MyButton, MyTableV2 },
   data() {
     return {
       // 鎼滅储妗�
@@ -60,15 +56,14 @@
         },
         {
           type: 'text',
-          dataIndex: 'name',
+          dataIndex: 'goodsTemplateName',
           label: '鐗╁搧鍚嶇О',
           placeholder: '璇疯緭鍏�',
           defaultValue: '',
         },
         {
           type: 'select',
-          dataIndex: 'modelsIds',
-          multiple: true,
+          dataIndex: 'categoryId',
           label: '鍒嗙被',
           placeholder: '璇烽�夋嫨',
           defaultValue: '',
@@ -76,7 +71,7 @@
         },
         {
           type: 'select',
-          dataIndex: 'warehouseId',
+          dataIndex: 'costType',
           label: '绫诲埆',
           placeholder: '璇烽�夋嫨',
           defaultValue: '',
@@ -92,35 +87,11 @@
         userPhone: null,
         status: 1,
       },
-      // 瀵煎叆
-      importSetting: {
-        dialogTitle: '瀵煎叆',
-        dialogShow: false,
-        fileSettings: {
-          data: {},
-          uploadUrl: getBaseUrl() + '/pc/fin/sys/tenant/import', // 涓婁紶鍦板潃
-          accept: '.xls', // 鏍煎紡
-          type: 'text', // 鍥炴樉褰㈠紡
-          loading: false, // 瀵煎叆鏁堟灉
-        },
-        /* 妯℃澘涓嬭浇 */
-        templateSettings: {
-          templateName: '瀵煎叆妯℃澘.xls', // 鍚嶇О
-          templateUrl: SettingIplatform.apiBaseURL + '/pc/fin/sys/tenant/getImportTemplate', // 涓嬭浇鍦板潃
-        },
-        onSuccess: null,
-      },
-      editSetting: {
-        title: '',
-        id: '',
-        orgId: '',
-        show: false,
-      },
       // 琛ㄦ牸鏁版嵁
       table: {
         showIndex: true, // 鏄惁鏄剧ず搴忓彿
         expand: false, // 鏄惁鏄剧ず璇︽儏鏁版嵁
-        url: SettingIplatform.apiBaseURL + '/pc/fin/sys/tenant/select/list', // 璇锋眰鍦板潃
+        url: SettingIplatform.apiBaseURL + '/pc/fin/warehouse/ledger/getList', // 璇锋眰鍦板潃
         // 宸ュ叿鏉�
         tools: {
           columnsCtrl: {
@@ -132,18 +103,26 @@
             show: false,
           },
           // 鑷畾涔夊伐鍏锋潯鎸夐挳
-          custom: [],
+          custom: [
+            {
+              name: '瀵煎嚭',
+              icon: 'el-icon-download',
+              click: () => {
+                this.handleExport();
+              },
+            },
+          ],
         },
         // 鍒椾俊鎭�
         columns: [
-          { title: '绫诲瀷', field: 'name', align: 'left' },
-          { title: '浠撳簱', field: 'code', align: 'center' },
-          { title: '鍒嗙被', field: 'lv', align: 'center' },
-          { title: '鎵�灞炵被鍒�', field: 'lv', align: 'center' },
-          { title: '鐗╁搧鍚嶇О', field: 'summary', align: 'left' },
-          { title: '瑙勬牸鍨嬪彿', field: 'summary', align: 'left' },
-          { title: '鍗曚綅', field: 'summary', align: 'left' },
-          { title: '褰撳墠搴撳瓨', field: 'summary', align: 'left' },
+          { title: '鏈烘瀯', field: 'agencyName', align: 'center' },
+          { title: '浠撳簱', field: 'warehouseName', align: 'center' },
+          { title: '鍒嗙被', field: 'categoryName', align: 'center' },
+          { title: '鎵�灞炵被鍒�', field: 'costType', align: 'center' },
+          { title: '鐗╁搧鍚嶇О', field: 'goodsTemplateName', align: 'left' },
+          { title: '瑙勬牸鍨嬪彿', field: 'baseGoodsModelsName', align: 'left' },
+          { title: '鍗曚綅', field: 'unit', align: 'left' },
+          { title: '褰撳墠搴撳瓨', field: 'kucun', align: 'left' },
         ],
         paging: {
           show: true, // 鏄剧ず鍒嗛〉
@@ -168,35 +147,79 @@
           if (v.label == '浠撳簱') {
             v.options = res.map((item) => {
               item.label = item.warehouseName;
-              item.vlaue = item.id;
+              item.value = item.id;
               return item;
             });
           }
         });
+        console.log('this.items', this.items);
       });
       getDicts('GOODS_PRICE').then((res) => {
+        // 浠峰�肩被鍨�1A 2B 3C
         this.items.forEach((v) => {
           if (v.label == '绫诲埆') {
             v.options = res.map((v) => {
               v.label = v.dict_label;
-              v.value = v.dict_value;
+              if (v.dict_value == 'A') {
+                v.value = 1;
+              } else if (v.dict_value == 'B') {
+                v.value = 2;
+              } else {
+                v.value = 3;
+              }
               return v;
             });
           }
         });
       });
-      getCategorySelectTree().then((res) => {
+      treeList().then((res) => {
         this.items.forEach((v) => {
           if (v.label == '鍒嗙被') {
             v.options = res.map((item) => {
-              item.label = item.label;
-              item.vlaue = item.id;
+              item.label = item.categoryName;
+              item.value = item.id;
               return item;
             });
           }
         });
       });
     },
+
+    // 瀵煎嚭
+    handleExport() {
+      let loading = this.$loading({
+        lock: true,
+        text: '瀵煎嚭涓紝璇风◢鍊�...',
+        spinner: 'el-icon-loading',
+        background: 'rgba(0, 0, 0, 0.7)',
+      });
+      // 鍒ゆ柇鎬绘潯鏁版槸鍚﹀ぇ浜庢渶澶ф敮鎸佹潯鏁�
+      doExport({ ...this.filterFrom })
+        .then((res) => {
+          const blob = new Blob([res], { type: 'application/vnd.ms-excel' });
+          const fileName = `搴撳瓨鏌ヨ.xls`;
+          if ('download' in document.createElement('a')) {
+            // 闈濱E涓嬭浇
+            const elink = document.createElement('a');
+            elink.download = fileName;
+            elink.style.display = 'none';
+            elink.href = URL.createObjectURL(blob);
+            document.body.appendChild(elink);
+            elink.click();
+            URL.revokeObjectURL(elink.href);
+            document.body.removeChild(elink);
+          } else {
+            // IE10+涓嬭浇
+            navigator.msSaveBlob(blob, fileName);
+          }
+          this.$message.success('瀵煎嚭鎴愬姛锛�');
+          loading.close();
+        })
+        .catch(() => {
+          loading.close();
+        });
+    },
+
     // 鏌ヨtable鍒楄〃
     search(pageNum) {
       if (pageNum != undefined) {
@@ -207,6 +230,9 @@
     },
     fifterForm(params) {
       this.filterFrom = Object.assign(this.filterFrom, params);
+      if (params.agencyId && params.agencyId.length) {
+        this.filterFrom.agencyId = params.agencyId[params.agencyId.length - 1];
+      }
       this.search(1);
     },
   },

--
Gitblit v1.9.1