From 32dce44249f1b3fb8487a154517c381d55123fbc Mon Sep 17 00:00:00 2001
From: 石广澎 <shiguangpeng@163.com>
Date: 星期三, 29 十一月 2023 19:31:49 +0800
Subject: [PATCH] feat: 1、库存管理各种单据导出对接

---
 admin-web/src/api/exportExcel.js                                   |   49 ++++
 admin-web/src/api/stock/transfer.js                                |    9 
 admin-web/src/views/stock/inventorycount/inventorytask/index.vue   |   71 ++---
 admin-web/src/views/stock/procure/purchaseOrder/index.vue          |   18 -
 admin-web/src/views/departmentitem/itemret/returnNote/index.vue    |    2 
 admin-web/src/views/mixins/listPage.js                             |  120 ++++++----
 admin-web/src/views/stock/transfer/transferissue/index.vue         |   99 +++-----
 admin-web/src/views/stock/transfer/transferApplication/index.vue   |   31 --
 admin-web/src/views/departmentitem/itemdis/distribution/detail.vue |    6 
 admin-web/src/views/departmentitem/itemdis/disDetails/edit.vue     |    8 
 admin-web/src/views/departmentitem/itemscr/scrapping/index.vue     |    2 
 admin-web/src/views/stock/accessStock/outbound/index.vue           |   17 -
 admin-web/src/views/stock/scrap/itemScrapping/index.vue            |  182 ++++++----------
 admin-web/src/views/departmentitem/itemdis/distribution/edit.vue   |    1 
 admin-web/src/views/departmentitem/itemdis/distribution/index.vue  |    2 
 admin-web/public/static/config.js                                  |    4 
 16 files changed, 289 insertions(+), 332 deletions(-)

diff --git a/admin-web/public/static/config.js b/admin-web/public/static/config.js
index b7e2788..2c5f21a 100644
--- a/admin-web/public/static/config.js
+++ b/admin-web/public/static/config.js
@@ -4,8 +4,8 @@
   // 涓婁紶璺緞
   ftpUrl: 'https://yqzx.jinmingyuan.com/lowConsum',//寮�鍙�
   // 鎺ュ彛璇锋眰鍦板潃
-  // apiBaseURL: 'http://172.16.20.2:8083/lowConsum',//寮�鍙�
-  apiBaseURL: 'http://172.16.60.155:8083/lowConsum',//寮�鍙�
+  apiBaseURL: 'http://172.16.20.2:8083/lowConsum',//寮�鍙�
+  // apiBaseURL: 'http://172.16.60.155:8083/lowConsum',//寮�鍙�
   // apiBaseURL: 'https://yqzx.jinmingyuan.com/lowConsum',//寮�鍙�
   debug: false //璋冭瘯寮�鍏�  true鏃朵細杈撳嚭璇锋眰鏃ュ織
 };
diff --git a/admin-web/src/api/exportExcel.js b/admin-web/src/api/exportExcel.js
new file mode 100644
index 0000000..28ae9c2
--- /dev/null
+++ b/admin-web/src/api/exportExcel.js
@@ -0,0 +1,49 @@
+import request from '@/utils/request';
+
+// 鍑哄簱鍗曞鍑�
+export function outputExport(params) {
+    return request({
+        url: '/pc/l/wh/form/output/list/export',
+        responseType: 'blob', // 鎸囧畾鍝嶅簲鏁版嵁绫诲瀷涓築lob
+        method: 'get',
+        params,
+    });
+}
+// 閲囪喘鍗曞鍑�
+export function procureExport(params) {
+    return request({
+        url: '/pc/l/wh/form/procure/list/export',
+        responseType: 'blob', // 鎸囧畾鍝嶅簲鏁版嵁绫诲瀷涓築lob
+        method: 'get',
+        params,
+    });
+}
+// 璋冩嫧鍗曞鍑�
+export function transferExport(params) {
+    return request({
+        url: '/pc/l/wh/form/transfer/list/export',
+        responseType: 'blob', // 鎸囧畾鍝嶅簲鏁版嵁绫诲瀷涓築lob
+        method: 'get',
+        params,
+    });
+}
+
+// 搴撳瓨鐩樼偣鍗曞鍑�
+export function inventoryExport(params) {
+    return request({
+        url: '/pc/l/wh/form/inventory/list/export',
+        responseType: 'blob', // 鎸囧畾鍝嶅簲鏁版嵁绫诲瀷涓築lob
+        method: 'get',
+        params,
+    });
+}
+
+// 搴撳瓨鎶ュ簾鍗曞鍑�
+export function scrappedExport(params) {
+    return request({
+        url: '/pc/l/wh/form/scrapped/list/export',
+        responseType: 'blob', // 鎸囧畾鍝嶅簲鏁版嵁绫诲瀷涓築lob
+        method: 'get',
+        params,
+    });
+}
diff --git a/admin-web/src/api/stock/transfer.js b/admin-web/src/api/stock/transfer.js
index fa88b6a..405b2dc 100644
--- a/admin-web/src/api/stock/transfer.js
+++ b/admin-web/src/api/stock/transfer.js
@@ -72,15 +72,6 @@
 }
 
 // 瀵煎嚭
-export function transferExport(params) {
-  return request({
-    url: '/pc/l/wh/form/transfer/export',
-    method: 'get',
-    params,
-  });
-}
-
-// 瀵煎嚭
 export function transferDetailListApi(params) {
   return '/pc/l/wh/form/transfer/detail/list'
 }
diff --git a/admin-web/src/views/departmentitem/itemdis/disDetails/edit.vue b/admin-web/src/views/departmentitem/itemdis/disDetails/edit.vue
index 3bddc58..61b3170 100644
--- a/admin-web/src/views/departmentitem/itemdis/disDetails/edit.vue
+++ b/admin-web/src/views/departmentitem/itemdis/disDetails/edit.vue
@@ -19,7 +19,7 @@
         {{ item }}
       </div>
     </div>
-    <el-form v-show="tabIndex == 0" ref="ruleForm" :model="formData" :rules="rules" class="demo-ruleForm">
+    <el-form v-loading="loading" v-show="tabIndex == 0" ref="ruleForm" :model="formData" :rules="rules" class="demo-ruleForm">
       <div v-for="(item, index) in formData.list" :key="index">
         <el-row :gutter="20">
           <el-col :span="6">
@@ -61,7 +61,6 @@
         <el-divider v-if="index+1<formData.list.length"></el-divider>
       </div>
     </el-form>
-
     <el-form
         v-show="tabIndex == 1"
         ref="ruleForm"
@@ -74,7 +73,7 @@
         <el-row :gutter="20" class="item-header">
           <el-col :span="6">
             <el-form-item label="淇敼鏃堕棿:">
-              {{ item.updateTime }}
+              {{ item.updateTime | formatTime }}
             </el-form-item>
           </el-col>
           <el-col :span="6">
@@ -129,9 +128,11 @@
 <script>
 import myButton from '@/components/myButton/myButton';
 import {useInfoUpdate, useRecord} from "@/api/stock/transfer";
+import listPage from '@/views/mixins/listPage';
 
 export default {
   components: {myButton},
+  mixins: [listPage],
   props: {
     setting: {
       type: Object,
@@ -141,6 +142,7 @@
   },
   data() {
     return {
+      loading: true,
       tabs: ['淇敼浣跨敤浜�', '浣跨敤璁板綍'],
       tabIndex: 0,
       list: [],
diff --git a/admin-web/src/views/departmentitem/itemdis/distribution/detail.vue b/admin-web/src/views/departmentitem/itemdis/distribution/detail.vue
index 8b45618..81209db 100644
--- a/admin-web/src/views/departmentitem/itemdis/distribution/detail.vue
+++ b/admin-web/src/views/departmentitem/itemdis/distribution/detail.vue
@@ -59,12 +59,12 @@
       </el-row>
       <el-form>
         <el-row class="card3" v-for="(mItem, mIndex) in goodsItem.models" :key="mIndex">
-          <el-col :span="10">
-            <el-form-item label="瑙勬牸鍨嬪彿:"  style="margin-bottom: 0">
+          <el-col style="padding: 10px 0" :span="10">
+            <el-form-item label="瑙勬牸鍨嬪彿1:"  style="margin-bottom: 0">
               {{ mItem.baseGoodsModelsName }}
             </el-form-item>
           </el-col>
-          <el-col :span="4">
+          <el-col style="padding: 10px 0" :span="4">
             <el-form-item label="鍗曚綅:" style="margin-bottom: 0" label-width="80">
               {{mItem.unit}}
             </el-form-item>
diff --git a/admin-web/src/views/departmentitem/itemdis/distribution/edit.vue b/admin-web/src/views/departmentitem/itemdis/distribution/edit.vue
index cee9fc9..f84c322 100644
--- a/admin-web/src/views/departmentitem/itemdis/distribution/edit.vue
+++ b/admin-web/src/views/departmentitem/itemdis/distribution/edit.vue
@@ -568,6 +568,7 @@
     // 鎻愪氦
     handleSubmit() {
       console.log('formData', this.formData);
+      if(this.loading) return
       this.$refs['ruleForm'].validate((valid) => {
         if (valid) {
           this.formData.transferGoods.map(goods => {
diff --git a/admin-web/src/views/departmentitem/itemdis/distribution/index.vue b/admin-web/src/views/departmentitem/itemdis/distribution/index.vue
index 384d525..8be3bbe 100644
--- a/admin-web/src/views/departmentitem/itemdis/distribution/index.vue
+++ b/admin-web/src/views/departmentitem/itemdis/distribution/index.vue
@@ -91,7 +91,7 @@
 import myImport from '@/views/components/myImport';
 import edit from './edit';
 import detail from './detail';
-import listPage from '../../../mixins/listPage';
+import listPage from '@/views/mixins/listPage';
 import {getUserDetail} from "@/utils/auth";
 
 export default {
diff --git a/admin-web/src/views/departmentitem/itemret/returnNote/index.vue b/admin-web/src/views/departmentitem/itemret/returnNote/index.vue
index 150e3e6..c97d378 100644
--- a/admin-web/src/views/departmentitem/itemret/returnNote/index.vue
+++ b/admin-web/src/views/departmentitem/itemret/returnNote/index.vue
@@ -77,7 +77,7 @@
 import myImport from '@/views/components/myImport';
 import edit from './edit';
 import detail from './detail';
-import listPage from '../../../mixins/listPage'
+import listPage from '@/views/mixins/listPage'
 
 export default {
   name: 'index',
diff --git a/admin-web/src/views/departmentitem/itemscr/scrapping/index.vue b/admin-web/src/views/departmentitem/itemscr/scrapping/index.vue
index 9decc9f..e4864c7 100644
--- a/admin-web/src/views/departmentitem/itemscr/scrapping/index.vue
+++ b/admin-web/src/views/departmentitem/itemscr/scrapping/index.vue
@@ -82,7 +82,7 @@
 import myImport from '@/views/components/myImport';
 import edit from './edit';
 import detail from './detail';
-import listPage from '../../../mixins/listPage'
+import listPage from '@/views/mixins/listPage'
 
 export default {
   name: 'index',
diff --git a/admin-web/src/views/mixins/listPage.js b/admin-web/src/views/mixins/listPage.js
index be556bc..5aba8aa 100644
--- a/admin-web/src/views/mixins/listPage.js
+++ b/admin-web/src/views/mixins/listPage.js
@@ -1,23 +1,24 @@
 import * as DateFormatter from '@/utils/DateFormatter';
 import {mapGetters} from 'vuex';
+import * as dataExport from "@/api/exportExcel"
 
 export default {
     data() {
         return {
             loading: false,
             list: [],
-            items:[],
-            filterFrom:{},
+            items: [],
+            filterFrom: {},
             editSetting: {
-              title: '',
-              id: '',
-              orgId: '',
-              show: false,
+                title: '',
+                id: '',
+                orgId: '',
+                show: false,
             },
             detailSetting: {
-              title: '璇︽儏',
-              id: '',
-              show: false,
+                title: '璇︽儏',
+                id: '',
+                show: false,
             },
             pageNum: 1,
             pageSize: 10,
@@ -25,67 +26,98 @@
         }
     },
     computed: {
-      ...mapGetters(['userInfo']),
-      clientHeight() {
-        return document.documentElement.clientHeight;
-      },
+        ...mapGetters(['userInfo']),
+        clientHeight() {
+            return document.documentElement.clientHeight;
+        },
     },
     created() {
     },
     filters: {
-      formatTime(time) {
-        if (!time) return '-';
-        return DateFormatter.LongToDateTime(time);
-      },
+        formatTime(time) {
+            if (!time) return '-';
+            return DateFormatter.LongToDateTime(time);
+        },
     },
-    methods:{
-        fetchData() {},
+    methods: {
         // 瀵煎嚭
-        handleExport() {},
+        handleExport(api, fileName, params) {
+            console.log(fileName)
+            let loading = this.$loading({
+                lock: true,
+                text: '瀵煎嚭涓紝璇风◢鍊�...',
+                spinner: 'el-icon-loading',
+                background: 'rgba(0, 0, 0, 0.7)',
+            });
+            // 鍒ゆ柇鎬绘潯鏁版槸鍚﹀ぇ浜庢渶澶ф敮鎸佹潯鏁�
+            dataExport[api](params)
+                .then((res) => {
+                    const blob = new Blob([res], {type: 'application/vnd.ms-excel'});
+                    if ('download' in document.createElement('a')) {
+                        // 闈濱E涓嬭浇
+                        const elink = document.createElement('a');
+                        elink.download = `${fileName}.xls`;
+                        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}.xls`);
+                    }
+                    this.$message.success('瀵煎嚭鎴愬姛锛�');
+                    loading.close();
+                })
+                .catch(() => {
+                    loading.close();
+                });
+        },
         // 鏂板
         handleAdd() {
-          this.editSetting.id = null;
-          this.editSetting.info = null;
-          this.editSetting.title = '鏂板';
-          this.editSetting.show = true;
+            this.editSetting.id = null;
+            this.editSetting.info = null;
+            this.editSetting.title = '鏂板';
+            this.editSetting.show = true;
         },
         // 缂栬緫
         handleEdit(row) {
-          this.editSetting.id = row.id;
-          this.editSetting.info = null;
-          this.editSetting.title = '缂栬緫';
-          this.editSetting.show = true;
+            this.editSetting.id = row.id;
+            this.editSetting.info = null;
+            this.editSetting.title = '缂栬緫';
+            this.editSetting.show = true;
         },
         // 璇︽儏
         handleDetail(row) {
-          this.detailSetting.id = row.id;
-          this.detailSetting.title = '璇︽儏';
-          this.detailSetting.show = true;
+            this.detailSetting.id = row.id;
+            this.detailSetting.title = '璇︽儏';
+            this.detailSetting.show = true;
         },
         // 鍒嗛〉
         handleSizeChange(pageSize) {
-          this.pageSize = pageSize;
-          this.search({ pageNum: 1 });
+            this.pageSize = pageSize;
+            this.search({pageNum: 1});
         },
         handleCurrentChange(pageNum) {
-          this.pageNum = pageNum;
-          this.search();
+            this.pageNum = pageNum;
+            this.search();
         },
         // 鏌ヨtable鍒楄〃
         search(pageNum) {
-          if(pageNum){
-            this.pageNum = pageNum
-          }
-          this.fetchData();
+            if (pageNum) {
+                this.pageNum = pageNum
+            }
+            this.fetchData();
         },
         refreshData() {
-          this.pageNum = 1;
-          this.pageSize = 10;
-          this.search();
+            this.pageNum = 1;
+            this.pageSize = 10;
+            this.search();
         },
         fifterForm(params) {
-          this.filterFrom = Object.assign(this.filterFrom, params);
-          this.search(1);
+            this.filterFrom = Object.assign(this.filterFrom, params);
+            this.search(1);
         },
     }
 }
diff --git a/admin-web/src/views/stock/accessStock/outbound/index.vue b/admin-web/src/views/stock/accessStock/outbound/index.vue
index b7202d7..8af4e09 100644
--- a/admin-web/src/views/stock/accessStock/outbound/index.vue
+++ b/admin-web/src/views/stock/accessStock/outbound/index.vue
@@ -24,7 +24,7 @@
                             <span class="value">{{ item.businessFormCode }}</span>
                           </div>
                           <div class="card-header-right">
-                            <el-button site="form" type="success" size="mini" @click="handleExport(item)"
+                            <el-button site="form" type="success" size="mini" @click="handleExport('outputExport',`鍑哄簱鍗�-${item.businessFormCode}`,{id:item.id})"
                             >瀵煎嚭鍑哄簱鍗�</el-button
                             >
                             <el-button name="鏌ョ湅璇︽儏" site="form" type="info" size="mini" @click="handleDetail(item)"
@@ -85,7 +85,7 @@
 import myImport from '@/views/components/myImport';
 import edit from './edit';
 import detail from './detail';
-import listPage from '../../../mixins/listPage'
+import listPage from '@/views/mixins/listPage'
 import SettingIplatform from '@/utils/settingIplatform';
 
 export default {
@@ -163,19 +163,6 @@
         this.total = res.totalRows;
         this.loading = false;
       });
-    },
-    fifterForm(params) {
-      this.filterFrom = Object.assign(this.filterFrom, params);
-      if (this.filterFrom.startTime) {
-        this.filterFrom.startTime = this.filterFrom.startTime.replace(/\-/g, '');
-      }
-      if (this.filterFrom.endTime) {
-        this.filterFrom.endTime = this.filterFrom.endTime.replace(/\-/g, '');
-      }
-      if (this.filterFrom.agencyId&&this.filterFrom.agencyId.length) {
-        this.filterFrom.agencyId = this.filterFrom.agencyId[this.filterFrom.agencyId.length - 1];
-      }
-      this.search(1);
     },
   },
 };
diff --git a/admin-web/src/views/stock/inventorycount/inventorytask/index.vue b/admin-web/src/views/stock/inventorycount/inventorytask/index.vue
index 59eb80b..b315b68 100644
--- a/admin-web/src/views/stock/inventorycount/inventorytask/index.vue
+++ b/admin-web/src/views/stock/inventorycount/inventorytask/index.vue
@@ -10,25 +10,26 @@
           <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>
           <!--娣诲姞/缂栬緫寮圭獥-->
-          <edit v-if="editSetting.show" :setting="editSetting" @close="editSetting.show = false" @search="search" />
+          <edit v-if="editSetting.show" :setting="editSetting" @close="editSetting.show = false" @search="search"/>
           <inventory
-            v-if="inventorySetting.show"
-            :setting="inventorySetting"
-            @close="inventorySetting.show = false"
-            @search="search"
+              v-if="inventorySetting.show"
+              :setting="inventorySetting"
+              @close="inventorySetting.show = false"
+              @search="search"
           />
-          <detail v-if="inventoryDetail.show" :setting="inventoryDetail" @close="inventoryDetail.show = false" @search="search" />
+          <detail v-if="inventoryDetail.show" :setting="inventoryDetail" @close="inventoryDetail.show = false"
+                  @search="search"/>
         </el-card>
       </el-container>
     </el-container>
     <my-import
-      :import-setting="importSetting"
-      :dialog-show="importSetting.dialogShow"
-      :dialog-title="importSetting.dialogTitle"
+        :import-setting="importSetting"
+        :dialog-show="importSetting.dialogShow"
+        :dialog-title="importSetting.dialogTitle"
     />
   </div>
 </template>
@@ -46,10 +47,12 @@
 import {inventoryDel, inventoryListApi} from '@/api/stock/inventory';
 import * as DateFormatter from '@/utils/DateFormatter';
 import {mapGetters} from 'vuex';
+import listPage from '@/views/mixins/listPage';
 
 export default {
   name: 'index',
-  components: { MyButton, MyTableV2, edit, myImport, inventory,detail },
+  mixins: [listPage],
+  components: {MyButton, MyTableV2, edit, myImport, inventory, detail},
   data() {
     return {
       // 鎼滅储妗�
@@ -128,7 +131,7 @@
         orgId: '',
         show: false,
       },
-      inventoryDetail:{
+      inventoryDetail: {
         title: '',
         id: '',
         orgId: '',
@@ -161,18 +164,18 @@
         },
         // 鍒椾俊鎭�
         columns: [
-          { title: '鐩樼偣鍗曞彿', field: 'businessFormCode', align: 'center', width: 130 },
-          { title: '浠诲姟鍚嶇О', field: 'businessFormName', align: 'left', minWidth: 140 },
-          { title: '鐩樼偣浠撳簱', field: 'warehouseName', align: 'left', minWidth: 130  },
-          { title: '鐩樼偣浜�', field: 'operatorName', align: 'center', width: 120  },
-          { title: '鐩戠洏浜�', field: 'operatorName2', align: 'center', width: 120  },
+          {title: '鐩樼偣鍗曞彿', field: 'businessFormCode', align: 'center', width: 130},
+          {title: '浠诲姟鍚嶇О', field: 'businessFormName', align: 'left', minWidth: 140},
+          {title: '鐩樼偣浠撳簱', field: 'warehouseName', align: 'left', minWidth: 130},
+          {title: '鐩樼偣浜�', field: 'operatorName', align: 'center', width: 120},
+          {title: '鐩戠洏浜�', field: 'operatorName2', align: 'center', width: 120},
           {
             title: '鐩樼偣鏃堕棿',
             field: 'inventoryDate',
             align: 'center',
             width: 160,
             formatter: (row) => {
-              return { value: row.inventoryDate ? DateFormatter.LongToDateTime(row.inventoryDate) : '-' };
+              return {value: row.inventoryDate ? DateFormatter.LongToDateTime(row.inventoryDate) : '-'};
             },
           },
           {
@@ -181,7 +184,7 @@
             align: 'center',
             width: 160,
             formatter: (row) => {
-              return { value: DateFormatter.LongToDateTime(row.createTime) };
+              return {value: DateFormatter.LongToDateTime(row.createTime)};
             },
           },
           {
@@ -271,7 +274,7 @@
                 }
               },
               events: (row) => {
-                this.showInventoryDetail(row);
+                this.handleExport('inventoryExport', `鐩樼偣琛�-${row.businessFormCode}`, {id: row.id});
               },
             },
           ],
@@ -293,7 +296,7 @@
     ...mapGetters(['userInfo']),
   },
   created() {
-    selectTenantWarehouse({ agencyId: this.userInfo.tenantId }).then((res) => {
+    selectTenantWarehouse({agencyId: this.userInfo.tenantId}).then((res) => {
       this.items.forEach((v) => {
         if (v.label == '鐩樼偣浠撳簱') {
           v.options = res.map((item) => {
@@ -321,14 +324,15 @@
     },
     del(row) {
       this.$modal
-        .confirm('鏄惁纭鍒犻櫎鍗曞彿涓猴細' + row.businessFormCode + ' 鐨勬暟鎹悧锛�')
-        .then(() => {
-          inventoryDel({ id: row.id }).then((res) => {
-            this.$message.success('鍒犻櫎鎴愬姛锛�');
-            this.search();
+          .confirm('鏄惁纭鍒犻櫎鍗曞彿涓猴細' + row.businessFormCode + ' 鐨勬暟鎹悧锛�')
+          .then(() => {
+            inventoryDel({id: row.id}).then((res) => {
+              this.$message.success('鍒犻櫎鎴愬姛锛�');
+              this.search();
+            });
+          })
+          .catch(() => {
           });
-        })
-        .catch(() => {});
     },
     showAdd() {
       this.editSetting.id = null;
@@ -362,17 +366,6 @@
       } else {
         this.$refs.myTable.search();
       }
-    },
-    fifterForm(params) {
-      this.filterFrom = Object.assign(this.filterFrom, params);
-
-      if (this.filterFrom.startTime) {
-        this.filterFrom.startTime = this.filterFrom.startTime.replace(/\-/g, '');
-      }
-      if (this.filterFrom.endTime) {
-        this.filterFrom.endTime = this.filterFrom.endTime.replace(/\-/g, '');
-      }
-      this.search(1);
     },
   },
 };
diff --git a/admin-web/src/views/stock/procure/purchaseOrder/index.vue b/admin-web/src/views/stock/procure/purchaseOrder/index.vue
index 814d1d5..9cfba3c 100644
--- a/admin-web/src/views/stock/procure/purchaseOrder/index.vue
+++ b/admin-web/src/views/stock/procure/purchaseOrder/index.vue
@@ -40,7 +40,7 @@
                               >
                             </template>
                             <template v-if="item.states != 1">
-                              <el-button site="form" type="success" size="mini" @click="handleExport(item)"
+                              <el-button site="form" type="success" size="mini" @click="handleExport('procureExport',`閲囪喘鍏ュ簱鍗�-${item.businessFormCode}`,{id:item.id})"
                               >瀵煎嚭鍏ュ簱鍗�</el-button
                               >
                             </template>
@@ -123,7 +123,7 @@
 import edit from './edit';
 import detail from './detail';
 import {getBaseUrl} from '@/utils/base';
-import listPage from '../../../mixins/listPage';
+import listPage from '@/views/mixins/listPage';
 
 export default {
   name: 'index',
@@ -202,13 +202,13 @@
         },
         {
           type: 'date-picker',
-          dataIndex: 'incomeTimeStart',
+          dataIndex: 'startTime',
           label: '鍏ュ簱鏃堕棿',
           defaultValue: '',
         },
         {
           type: 'date-picker',
-          dataIndex: 'incomeTimeEnd',
+          dataIndex: 'endTime',
           label: '鑷�',
           defaultValue: '',
         },
@@ -297,16 +297,6 @@
           })
           .catch(() => {});
       });
-    },
-    fifterForm(params) {
-      this.filterFrom = Object.assign(this.filterFrom, params);
-      if (this.filterFrom.incomeTimeStart) {
-        this.filterFrom.incomeTimeStart = this.filterFrom.incomeTimeStart.replace(/\-/g, '');
-      }
-      if (this.filterFrom.incomeTimeEnd) {
-        this.filterFrom.incomeTimeEnd = this.filterFrom.incomeTimeEnd.replace(/\-/g, '');
-      }
-      this.search(1);
     },
   },
 };
diff --git a/admin-web/src/views/stock/scrap/itemScrapping/index.vue b/admin-web/src/views/stock/scrap/itemScrapping/index.vue
index c710ae4..7af5ed1 100644
--- a/admin-web/src/views/stock/scrap/itemScrapping/index.vue
+++ b/admin-web/src/views/stock/scrap/itemScrapping/index.vue
@@ -10,61 +10,69 @@
           <el-col>
             <!--鍒楄〃-->
             <div class="table-tool-bar" style="margin-bottom: 15px">
-              <my-button name="鏂板" @click="handleAdd" site="tools" size="medium" />
+              <my-button name="鏂板" @click="handleAdd" site="tools" size="medium"/>
             </div>
-            <div :style="{ 'overflow-y': 'auto', height: 'calc(100vh - 352px)' }">
-              <el-row class="card" :gutter="5" v-loading="loading">
-                <el-col v-for="(item, index) in list" :key="index" class="cm-item">
-                  <el-card class="card-data">
-                    <div class="card-container">
-                      <div class="card-header">
-                        <div class="card-header-left">
-                          <span>鎶ュ簾鍗曞彿锛�</span>
-                          <span class="value">{{ item.businessFormCode }}</span>
+            <div v-loading="loading">
+              <div :style="{ 'overflow-y': 'auto', height: 'calc(100vh - 352px)' }">
+                <el-row v-if="list.length" class="card" :gutter="5">
+                  <el-col v-for="(item, index) in list" :key="index" class="cm-item">
+                    <el-card class="card-data">
+                      <div class="card-container">
+                        <div class="card-header">
+                          <div class="card-header-left">
+                            <span>鎶ュ簾鍗曞彿锛�</span>
+                            <span class="value">{{ item.businessFormCode }}</span>
 
+                          </div>
+                          <div class="card-header-right">
+                            <el-button site="form" type="success" size="mini"
+                                       @click="handleExport('scrappedExport',`鎶ュ簾鍗�-${item.businessFormCode}`, {id:item.id})"
+                            >瀵煎嚭鎶ュ簾鍗�
+                            </el-button
+                            >
+                            <el-button name="鏌ョ湅璇︽儏" site="form" type="info" size="mini" @click="handleDetail(item)"
+                            >鏌ョ湅璇︽儏
+                            </el-button
+                            >
+                          </div>
                         </div>
-                        <div class="card-header-right">
-                          <el-button site="form" type="success" size="mini" @click="handleExport(item)"
-                            >瀵煎嚭鎶ュ簾鍗�</el-button
-                          >
-                          <el-button name="鏌ョ湅璇︽儏" site="form" type="info" size="mini" @click="handleDetail(item)"
-                            >鏌ョ湅璇︽儏</el-button
-                          >
+                        <div class="one-hed">
+                          <div class="box"><span class="span-two">鏈烘瀯锛�</span>{{ item.agencyName }}</div>
+                          <div class="box"><span class="span-two">鎿嶄綔浜猴細</span>{{ item.operatorName }}</div>
+                          <div class="box">
+                            <span class="span-two">鎶ュ簾鏃堕棿锛�</span>{{ item.dealTime | formatTime }}
+                          </div>
                         </div>
-                      </div>
-                      <div class="one-hed">
-                        <div class="box"><span class="span-two">鏈烘瀯锛�</span>{{ item.agencyName }}</div>
-                        <div class="box"><span class="span-two">鎿嶄綔浜猴細</span>{{ item.operatorName }}</div>
-                        <div class="box">
-                          <span class="span-two">鎶ュ簾鏃堕棿锛�</span>{{ item.dealTime | formatTime }}
-                        </div>
-                      </div>
-                      <div class="card-end">
-                        <div v-for="(just, index) in item.goodTemplateInfo" :key="index" class="item">
-                          <div class="name">{{ just.goodsName }}</div>
-                          <div class="value-box">
-                            <div class="value-box-item">
-                              <span class="label">鏁伴噺锛�</span>
-                              <span class="value">{{ just.count }}</span>
-                              <span class="unit">{{ just.unit }}</span>
+                        <div class="card-end">
+                          <div v-for="(just, index) in item.goodTemplateInfo" :key="index" class="item">
+                            <div class="name">{{ just.goodsName }}</div>
+                            <div class="value-box">
+                              <div class="value-box-item">
+                                <span class="label">鏁伴噺锛�</span>
+                                <span class="value">{{ just.count }}</span>
+                                <span class="unit">{{ just.unit }}</span>
+                              </div>
                             </div>
                           </div>
                         </div>
                       </div>
-                    </div>
-                  </el-card>
-                </el-col>
-              </el-row>
+                    </el-card>
+                  </el-col>
+                </el-row>
+
+                <el-empty v-else description="鏆傛棤鏁版嵁"></el-empty>
+              </div>
             </div>
+
             <el-pagination
-              :small="false"
-              :current-page="pageNum"
-              :page-sizes="[5, 10, 20, 50, 100, 200, 300, 400, 500]"
-              :page-size="pageSize"
-              layout="total, sizes, prev, pager, next, jumper"
-              :total="total"
-              @size-change="handleSizeChange"
-              @current-change="handleCurrentChange"
+                :small="false"
+                :current-page="pageNum"
+                :page-sizes="[5, 10, 20, 50, 100, 200, 300, 400, 500]"
+                :page-size="pageSize"
+                layout="total, sizes, prev, pager, next, jumper"
+                :total="total"
+                @size-change="handleSizeChange"
+                @current-change="handleCurrentChange"
             />
           </el-col>
         </el-row>
@@ -72,17 +80,17 @@
     </el-container>
     <!--娣诲姞/缂栬緫寮圭獥-->
     <edit
-      v-if="editSetting.show"
-      :setting="editSetting"
-      ref="editRef"
-      @close="editSetting.show = false"
-      @search="refreshData"
+        v-if="editSetting.show"
+        :setting="editSetting"
+        ref="editRef"
+        @close="editSetting.show = false"
+        @search="refreshData"
     ></edit>
     <detail
-      v-if="detailSetting.show"
-      :setting="detailSetting"
-      @close="detailSetting.show = false"
-      ref="detailRef"
+        v-if="detailSetting.show"
+        :setting="detailSetting"
+        @close="detailSetting.show = false"
+        ref="detailRef"
     ></detail>
   </div>
 </template>
@@ -94,14 +102,15 @@
 import edit from './edit';
 import detail from './detail';
 import * as DateFormatter from '@/utils/DateFormatter';
+import listPage from '@/views/mixins/listPage';
 
 export default {
   name: 'index',
-  components: { MyButton, edit, detail },
+  mixins: [listPage],
+  components: {MyButton, edit, detail},
   data() {
     return {
       loading: false,
-      adddialog: false,
       list: [],
       // 鎼滅储妗�
       items: [
@@ -130,7 +139,7 @@
           dataIndex: 'agencyId',
           label: '鏈烘瀯',
           placeholder: '璇烽�夋嫨',
-          optionsConfig: { url: '/pc/fin/sys/tenant/select/tree_fin_tenant', props: null },
+          optionsConfig: {url: '/pc/fin/sys/tenant/select/tree_fin_tenant', props: null},
           defaultValue: '',
           options: [],
         },
@@ -198,65 +207,6 @@
         this.total = res.totalRows;
         this.loading = false;
       });
-    },
-
-    //瀵煎叆
-    importOrg() {
-      this.importSetting.dialogShow = true;
-      this.importSetting.onSuccess = (response, callBack) => {
-        if (response.code === 1) {
-          this.$message.success(response.msg);
-          this.search(1);
-        } else {
-          this.$message.warning(response.msg);
-        }
-        callBack();
-      };
-    },
-    // 瀵煎嚭
-    handleExport() {},
-    // 鏂板
-    handleAdd() {
-      this.editSetting.id = null;
-      this.editSetting.info = null;
-      this.editSetting.title = '鏂板';
-      this.editSetting.show = true;
-    },
-    // 璇︽儏
-    handleDetail(row) {
-      this.detailSetting.id = row.id;
-      this.detailSetting.show = true;
-    },
-    // 鍒嗛〉
-    handleSizeChange(pageSize) {
-      this.pageSize = pageSize;
-      this.search(1);
-    },
-    handleCurrentChange(pageNum) {
-      this.pageNum = pageNum;
-      this.search(pageNum);
-    },
-    // 鏌ヨtable鍒楄〃
-    search(pageNum) {
-      if (pageNum) {
-        this.pageNum = pageNum;
-      }
-      this.fetchData();
-    },
-    refreshData() {
-      this.pageNum = 1;
-      this.pageSize = 10;
-      this.search();
-    },
-    fifterForm(params) {
-      this.filterFrom = Object.assign(this.filterFrom, params);
-      if (this.filterFrom.incomeTimeStart) {
-        this.filterFrom.incomeTimeStart = this.filterFrom.incomeTimeStart.replace(/\-/g, '');
-      }
-      if (this.filterFrom.incomeTimeEnd) {
-        this.filterFrom.incomeTimeEnd = this.filterFrom.incomeTimeEnd.replace(/\-/g, '');
-      }
-      this.search(1);
     },
   },
 };
diff --git a/admin-web/src/views/stock/transfer/transferApplication/index.vue b/admin-web/src/views/stock/transfer/transferApplication/index.vue
index 3b02061..af1e2c1 100644
--- a/admin-web/src/views/stock/transfer/transferApplication/index.vue
+++ b/admin-web/src/views/stock/transfer/transferApplication/index.vue
@@ -48,7 +48,7 @@
                             site="form"
                             type="primary"
                             size="mini"
-                            @click="handleExport(item)"
+                            @click="handleExport('transferExport',`璋冩嫧鍏ュ簱鍗�-${item.businessFormCode}`,{id:item.id,type: 1})"
                             >瀵煎嚭璋冩嫧鍏ュ簱鍗�</el-button
                           >
                           <el-button name="鏌ョ湅璇︽儏" site="form" type="info" size="mini" @click="handleDetail(item)"
@@ -121,13 +121,13 @@
 </template>
 
 <script>
-import {transfeIncome, transferExport, transferList, transferUpdStatus} from '@/api/stock/transfer';
+import {transfeIncome, transferList, transferUpdStatus} from '@/api/stock/transfer';
 import MyButton from '@/components/myButton/myButton';
 import myImport from '@/views/components/myImport';
 import edit from './edit';
 import detail from './detail';
-import listPage from '../../../mixins/listPage';
-import transfer from '../../../mixins/transfer';
+import listPage from '@/views/mixins/listPage';
+import transfer from '@/views/mixins/transfer';
 import SettingIplatform from '@/utils/settingIplatform';
 
 export default {
@@ -137,7 +137,6 @@
   data() {
     return {
       loading: false,
-      adddialog: false,
       list: [],
       // 鎼滅储妗�
       items: [
@@ -220,7 +219,6 @@
         this.list = res.datas;
         this.total = res.totalRows;
         this.loading = false;
-        console.log(this.list);
       });
     },
 
@@ -248,11 +246,6 @@
       });
     },
 
-    // 瀵煎嚭
-    handleExport(row) {
-      transferExport({ id: row.id }).then((res) => {});
-    },
-
     // 鎾ら攢
     handleRevoke(row) {
       this.$confirm(`鎮ㄧ‘瀹氭挙閿�鍗曞彿涓�"${row.businessFormCode}"  鐨勬暟鎹悧?`, '鎾ら攢').then(() => {
@@ -261,22 +254,6 @@
           this.search(1);
         });
       });
-    },
-    fifterForm(params) {
-      this.filterFrom = Object.assign(this.filterFrom, params);
-      if (this.filterFrom.createTimeStart) {
-        this.filterFrom.createTimeStart = this.filterFrom.createTimeStart.replace(/\-/g, '');
-      }
-      if (this.filterFrom.createTimeEnd) {
-        this.filterFrom.createTimeEnd = this.filterFrom.createTimeEnd.replace(/\-/g, '');
-      }
-      if (this.filterFrom.startTime) {
-        this.filterFrom.startTime = this.filterFrom.startTime.replace(/\-/g, '');
-      }
-      if (this.filterFrom.endTime) {
-        this.filterFrom.endTime = this.filterFrom.endTime.replace(/\-/g, '');
-      }
-      this.search(1);
     },
   },
 };
diff --git a/admin-web/src/views/stock/transfer/transferissue/index.vue b/admin-web/src/views/stock/transfer/transferissue/index.vue
index 264ae5a..6e2224e 100644
--- a/admin-web/src/views/stock/transfer/transferissue/index.vue
+++ b/admin-web/src/views/stock/transfer/transferissue/index.vue
@@ -24,22 +24,25 @@
                           <div v-if="item.states == 4" class="states states-info">宸叉挙閿�</div>
                         </div>
                         <div class="card-header-right">
-                          <el-button v-if="item.states == 1" site="form" type="success" size="mini"
-                            >瀵煎嚭璋冩嫧鍑哄簱鍗�</el-button
-                          >
+                          <!--  <el-button v-if="item.states == 1" site="form" type="success" size="mini"
+                                >瀵煎嚭璋冩嫧鍑哄簱鍗�</el-button
+                              >-->
                           <el-button
-                            v-if="item.states == 0"
-                            site="form"
-                            type="success"
-                            size="mini"
-                            @click="handleOutput(item)"
-                            >鍑哄簱</el-button
+                              v-if="item.states == 0"
+                              site="form"
+                              type="success"
+                              size="mini"
+                              @click="handleOutput(item)"
+                          >鍑哄簱
+                          </el-button
                           >
                           <el-button v-if="item.states == 2" site="form" type="primary" size="mini"
-                            >瀵煎嚭璋冩嫧鍏ュ簱鍗�</el-button
-                          >
+                                     @click="handleExport('transferExport',`璋冩嫧鍑哄簱鍗�-${item.businessFormCode}`,{id:item.id,type: 2})">
+                            瀵煎嚭璋冩嫧鍑哄簱鍗�
+                          </el-button>
                           <el-button name="鏌ョ湅璇︽儏" site="form" type="info" size="mini" @click="handleDetail(item)"
-                            >鏌ョ湅璇︽儏</el-button
+                          >鏌ョ湅璇︽儏
+                          </el-button
                           >
                         </div>
                       </div>
@@ -79,24 +82,24 @@
               <el-empty v-else description="鏆傛棤鏁版嵁"></el-empty>
             </div>
             <el-pagination
-              :small="false"
-              :current-page="pageNum"
-              :page-sizes="[5, 10, 20, 50, 100, 200, 300, 400, 500]"
-              :page-size="pageSize"
-              layout="total, sizes, prev, pager, next, jumper"
-              :total="total"
-              @size-change="handleSizeChange"
-              @current-change="handleCurrentChange"
+                :small="false"
+                :current-page="pageNum"
+                :page-sizes="[5, 10, 20, 50, 100, 200, 300, 400, 500]"
+                :page-size="pageSize"
+                layout="total, sizes, prev, pager, next, jumper"
+                :total="total"
+                @size-change="handleSizeChange"
+                @current-change="handleCurrentChange"
             />
           </el-col>
         </el-row>
       </el-card>
     </el-container>
     <detail
-      v-if="detailSetting.show"
-      :setting="detailSetting"
-      @close="detailSetting.show = false"
-      ref="detailRef"
+        v-if="detailSetting.show"
+        :setting="detailSetting"
+        @close="detailSetting.show = false"
+        ref="detailRef"
     ></detail>
   </div>
 </template>
@@ -106,19 +109,18 @@
 import MyButton from '@/components/myButton/myButton';
 import myImport from '@/views/components/myImport';
 import detail from './detail';
-import listPage from '../../../mixins/listPage';
-import transfer from '../../../mixins/transfer';
+import listPage from '@/views/mixins/listPage';
+import transfer from '@/views/mixins/transfer';
 import {commonsApi} from '@/api/commonsApi';
 import SettingIplatform from '@/utils/settingIplatform';
 
 export default {
   name: 'index',
   mixins: [listPage, transfer],
-  components: { MyButton, myImport, detail },
+  components: {MyButton, myImport, detail},
   data() {
     return {
       loading: false,
-      adddialog: false,
       list: [],
       // 鎼滅储妗�
       items: [
@@ -136,7 +138,7 @@
           placeholder: '璇疯緭鍏�',
           defaultValue: '',
           options: [],
-          cascader: [{ key: 'baseGoodsModelsId', queryKey: 'goodsTemplatesId' }],
+          cascader: [{key: 'baseGoodsModelsId', queryKey: 'goodsTemplatesId'}],
           optionsConfig: {
             label: 'goodsName',
             value: 'id',
@@ -148,7 +150,7 @@
           dataIndex: 'inAgencyId',
           label: '鎺ユ敹鏈烘瀯',
           placeholder: '璇烽�夋嫨',
-          optionsConfig: { url: commonsApi.cascader_tree_fin_tenant, props: null },
+          optionsConfig: {url: commonsApi.cascader_tree_fin_tenant, props: null},
           defaultValue: '',
           options: [],
         },
@@ -211,7 +213,6 @@
         this.list = res.datas;
         this.total = res.totalRows;
         this.loading = false;
-        console.log(this.list);
       });
     },
     handleOutput(row) {
@@ -220,37 +221,21 @@
           if (action == 'confirm') {
             instance.confirmButtonLoading = true;
             instance.confirmButtonText = '鎵ц涓�...';
-            transferOutput({ id: row.id })
-              .then((res) => {
-                this.$message.success('璋冩嫧鍑哄簱鎴愬姛锛�');
-                done();
-                instance.confirmButtonLoading = false;
-                this.search(1);
-              })
-              .catch(() => {
-                done();
-              });
+            transferOutput({id: row.id})
+                .then((res) => {
+                  this.$message.success('璋冩嫧鍑哄簱鎴愬姛锛�');
+                  done();
+                  instance.confirmButtonLoading = false;
+                  this.search(1);
+                })
+                .catch(() => {
+                  done();
+                });
           } else {
             done();
           }
         },
       });
-    },
-    fifterForm(params) {
-      this.filterFrom = Object.assign(this.filterFrom, params);
-      if (this.filterFrom.createTimeStart) {
-        this.filterFrom.createTimeStart = this.filterFrom.createTimeStart.replace(/\-/g, '');
-      }
-      if (this.filterFrom.createTimeEnd) {
-        this.filterFrom.createTimeEnd = this.filterFrom.createTimeEnd.replace(/\-/g, '');
-      }
-      if (this.filterFrom.startTime) {
-        this.filterFrom.startTime = this.filterFrom.startTime.replace(/\-/g, '');
-      }
-      if (this.filterFrom.endTime) {
-        this.filterFrom.endTime = this.filterFrom.endTime.replace(/\-/g, '');
-      }
-      this.search(1);
     },
   },
 };

--
Gitblit v1.9.1