From 13b0bad30ef1df53492cbab1c1b99dfc02dee63f Mon Sep 17 00:00:00 2001
From: haoyahui <2032914783@qq.com>
Date: 星期二, 21 十一月 2023 17:51:16 +0800
Subject: [PATCH] 台账管理,盘点任务开发

---
 admin-web/src/views/stock/ledger/inventoryQuery/index.vue |  177 +++++++++++++++++++++++++++++-----------------------------
 1 files changed, 88 insertions(+), 89 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..178681a 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 {
       // 鎼滅储妗�
@@ -46,9 +42,10 @@
           dataIndex: 'agencyId',
           label: '鏈烘瀯',
           placeholder: '璇烽�夋嫨',
-          optionsConfig: { url: '/pc/fin/sys/tenant/select/tree_fin_tenant', props: null },
           defaultValue: '',
           options: [],
+          cascader: [{key:'warehouseId',queryKey: 'agencyId'},{key:'goodsTemplateId',queryKey: 'agencyId'}],
+          optionsConfig: { url: '/pc/fin/sys/tenant/select/tree_fin_tenant', props: null },
         },
         {
           type: 'select',
@@ -57,70 +54,64 @@
           placeholder: '璇烽�夋嫨',
           defaultValue: '',
           options: [],
-        },
-        {
-          type: 'text',
-          dataIndex: 'name',
-          label: '鐗╁搧鍚嶇О',
-          placeholder: '璇疯緭鍏�',
-          defaultValue: '',
+          optionsConfig: {
+            label: 'warehouseName',
+            value: 'id',
+            url: SettingIplatform.apiBaseURL + '/pc/base/warehouse/select/tenant_warehouse'
+          },
         },
         {
           type: 'select',
-          dataIndex: 'modelsIds',
-          multiple: true,
+          dataIndex: 'goodsTemplateId',
+          label: '鐗╁搧鍚嶇О',
+          placeholder: '璇疯緭鍏�',
+          defaultValue: '',
+          options: [],
+          cascader: [{key:'categoryId',queryKey: 'goodsTemplatesId'}],
+          optionsConfig: {
+            label: 'goodsName',
+            value: 'id',
+            url: SettingIplatform.apiBaseURL + '/pc/base/goods/template/query/goodsTemplate',
+          },
+        },
+        {
+          type: 'select',
+          dataIndex: 'categoryId',
           label: '鍒嗙被',
           placeholder: '璇烽�夋嫨',
           defaultValue: '',
           options: [],
+          optionsConfig: {
+            label: 'modelName',
+            value: 'id',
+            url: SettingIplatform.apiBaseURL + '/pc/base/goods/models/query/goodsModel'
+          },
         },
         {
           type: 'select',
-          dataIndex: 'warehouseId',
+          dataIndex: 'costType',
           label: '绫诲埆',
           placeholder: '璇烽�夋嫨',
           defaultValue: '',
           options: [],
+          optionsConfig: {
+            label: 'dict_label',
+            value: 'dict_value',
+            url: SettingIplatform.apiBaseURL + '/permit/dict/data/type/GOODS_PRICE',
+          },
         },
       ],
       // 鏍戞暟鎹�
       treeDataList: [],
       // 鎼滅储鏉′欢
       filterFrom: {
-        tenantId: null,
-        userName: null,
-        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,
+        warehouseType:0
       },
       // 琛ㄦ牸鏁版嵁
       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 +123,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, // 鏄剧ず鍒嗛〉
@@ -159,44 +158,44 @@
     };
   },
   created() {
-    this.initQuery();
+    // this.initQuery();
   },
   methods: {
-    initQuery() {
-      selectTenantWarehouse().then((res) => {
-        this.items.forEach((v) => {
-          if (v.label == '浠撳簱') {
-            v.options = res.map((item) => {
-              item.label = item.warehouseName;
-              item.vlaue = item.id;
-              return item;
-            });
-          }
-        });
+    // 瀵煎嚭
+    handleExport() {
+      let loading = this.$loading({
+        lock: true,
+        text: '瀵煎嚭涓紝璇风◢鍊�...',
+        spinner: 'el-icon-loading',
+        background: 'rgba(0, 0, 0, 0.7)',
       });
-      getDicts('GOODS_PRICE').then((res) => {
-        this.items.forEach((v) => {
-          if (v.label == '绫诲埆') {
-            v.options = res.map((v) => {
-              v.label = v.dict_label;
-              v.value = v.dict_value;
-              return v;
-            });
+      // 鍒ゆ柇鎬绘潯鏁版槸鍚﹀ぇ浜庢渶澶ф敮鎸佹潯鏁�
+      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();
         });
-      });
-      getCategorySelectTree().then((res) => {
-        this.items.forEach((v) => {
-          if (v.label == '鍒嗙被') {
-            v.options = res.map((item) => {
-              item.label = item.label;
-              item.vlaue = item.id;
-              return item;
-            });
-          }
-        });
-      });
     },
+
     // 鏌ヨtable鍒楄〃
     search(pageNum) {
       if (pageNum != undefined) {

--
Gitblit v1.9.1