From 936bad992ac40c6f676fbbefefeea609dfdbff55 Mon Sep 17 00:00:00 2001
From: 石广澎 <shiguangpeng@163.com>
Date: 星期六, 02 十二月 2023 18:41:59 +0800
Subject: [PATCH] feat: 库存盘点详情状态

---
 admin-web/src/views/stock/ledger/inventoryQuery/index.vue |  194 ++++++++++++++++++++++++------------------------
 1 files changed, 97 insertions(+), 97 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..fd575fa 100644
--- a/admin-web/src/views/stock/ledger/inventoryQuery/index.vue
+++ b/admin-web/src/views/stock/ledger/inventoryQuery/index.vue
@@ -10,17 +10,13 @@
           <el-row style="margin-top: 15px">
             <el-col>
               <!--鍒楄〃-->
-              <my-table-v2 ref="myTable" :filter="filterFrom" :table="table" />
+              <my-table-v2 ref="myTable" :filter="filterFrom" :table="table"/>
             </el-col>
           </el-row>
         </el-card>
       </el-container>
     </el-container>
-    <my-import
-      :import-setting="importSetting"
-      :dialog-show="importSetting.dialogShow"
-      :dialog-title="importSetting.dialogTitle"
-    />
+
   </div>
 </template>
 
@@ -28,15 +24,11 @@
 import MyTableV2 from '@/components/myTable/myTableV2';
 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 { 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 +38,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 +50,70 @@
           placeholder: '璇烽�夋嫨',
           defaultValue: '',
           options: [],
+          optionsConfig: {
+            label: 'warehouseName',
+            value: 'id',
+            url: SettingIplatform.apiBaseURL + '/pc/base/warehouse/select/tenant_warehouse'
+          },
         },
         {
-          type: 'text',
-          dataIndex: 'name',
-          label: '鐗╁搧鍚嶇О',
-          placeholder: '璇疯緭鍏�',
-          defaultValue: '',
-        },
-        {
-          type: 'select',
-          dataIndex: 'modelsIds',
-          multiple: true,
+          type: 'cascader',
+          dataIndex: 'categoryId',
           label: '鍒嗙被',
           placeholder: '璇烽�夋嫨',
           defaultValue: '',
           options: [],
+          optionsConfig: {
+            label: 'label',
+            value: 'id',
+            url: SettingIplatform.apiBaseURL + '/pc/base/category/select/tree',
+            props: {checkStrictly: false, emitPath: false, value: 'id'}
+          },
+          cascader: [{key:'goodsTemplateId',queryKey: 'categoryId'}],
         },
         {
           type: 'select',
-          dataIndex: 'warehouseId',
+          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: 'costType',
           label: '绫诲埆',
           placeholder: '璇烽�夋嫨',
           defaultValue: '',
-          options: [],
+          options: [{
+            label: 'A',
+            value: '1'
+          }, {
+            label: 'B',
+            value: '2'
+          }, {
+            label: 'C',
+            value: '3'
+          }],
         },
       ],
       // 鏍戞暟鎹�
       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 +125,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: 'left', minWidth: 130},
+          {title: '浠撳簱', field: 'warehouseName', align: 'left', minWidth: 130},
+          {title: '鍒嗙被', field: 'categoryName', align: 'left', minWidth: 130},
+          {title: '鎵�灞炵被鍒�', field: 'costType', align: 'center', width: 80},
+          {title: '鐗╁搧鍚嶇О', field: 'goodsTemplateName', align: 'left', minWidth: 140},
+          {title: '瑙勬牸鍨嬪彿', field: 'baseGoodsModelsName', align: 'left', minWidth: 130},
+          {title: '鍗曚綅', field: 'unit', align: 'center', width: 80},
+          {title: '褰撳墠搴撳瓨', field: 'kucun', align: 'center'},
         ],
         paging: {
           show: true, // 鏄剧ず鍒嗛〉
@@ -159,44 +160,43 @@
     };
   },
   created() {
-    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;
-            });
-          }
-        });
-      });
-      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;
-            });
-          }
-        });
-      });
+      // 鍒ゆ柇鎬绘潯鏁版槸鍚﹀ぇ浜庢渶澶ф敮鎸佹潯鏁�
+      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) {

--
Gitblit v1.9.1