From 20913c80c3f5fc8e533cb92b90e6f20bcd68e032 Mon Sep 17 00:00:00 2001
From: 石广澎 <shiguangpeng@163.com>
Date: 星期三, 29 十一月 2023 17:49:32 +0800
Subject: [PATCH] feat: 1、优化导入 2、部门物品台账查询对接

---
 admin-web/src/views/stock/accessStock/outboundDetails/index.vue |  135 ++++++++++++++++++++++++++------------------
 1 files changed, 79 insertions(+), 56 deletions(-)

diff --git a/admin-web/src/views/stock/accessStock/outboundDetails/index.vue b/admin-web/src/views/stock/accessStock/outboundDetails/index.vue
index 2c0cf43..85757c2 100644
--- a/admin-web/src/views/stock/accessStock/outboundDetails/index.vue
+++ b/admin-web/src/views/stock/accessStock/outboundDetails/index.vue
@@ -10,11 +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>
           <!--娣诲姞/缂栬緫寮圭獥-->
-          <detail v-if="detailSetting.show" :setting="detailSetting" @close="detailSetting.show = false" />
+          <!--          <detail/>-->
+          <component v-if="detailSetting.show" :setting="detailSetting" @close="detailSetting.show = false"
+                     :is="activeDetail"></component>
         </el-card>
       </el-container>
     </el-container>
@@ -25,43 +27,57 @@
 import MyTableV2 from '@/components/myTable/myTableV2';
 import MyButton from '@/components/myButton/myButton';
 import SettingIplatform from '@/utils/settingIplatform';
-import detail from '../outbound/detail';
-import * as finsystenant from '@/api/baseSetting/finsystenant';
 import myImport from '@/views/components/myImport';
-import { goodsTemplate, goodsModel } from '@/api/baseSetting/finsystenant';
-import { outputDtailList } from '@/api/stock/accessStock';
 import * as DateFormatter from '@/utils/DateFormatter';
+import stockType from '@/utils/stockType';
+import detail from '../outbound/detail';
+import purchaseDetail from '@/views/stock/procure/purchaseOrder/detail.vue'; // 閲囪喘鍗曡鎯�
+import transferDetail from '@/views/stock/transfer/transferissue/detail.vue'; // 璋冩嫧鍗曡鎯�
+import inventoryDetail from '@/views/stock/inventorycount/inventorytask/detail.vue'; // 鐩樼偣鍗曡鎯�
+import scrapDetail from '@/views/stock/scrap/itemScrapping/detail.vue'; // 鎶ュ簾鍗曡鎯�
+import distributionDetail from '@/views/departmentitem/itemdis/distribution/detail.vue'; // 鍒嗗彂鍗曡鎯�
+import itemscrDetail from '@/views/departmentitem/itemscr/scrapping/detail.vue'; // 閮ㄩ棬鎶ュ簾鍗曡鎯�
+import returnNoteDetail from '@/views/departmentitem/itemret/returnNote/detail.vue'; // 閮ㄩ棬閫�杩樺崟璇︽儏
 
 export default {
   name: 'index',
-  components: { MyButton, MyTableV2, detail, myImport },
+  components: {
+    MyButton,
+    MyTableV2,
+    detail,
+    myImport,
+    purchaseDetail,
+    transferDetail,
+    inventoryDetail,
+    scrapDetail,
+    distributionDetail,
+    itemscrDetail,
+    returnNoteDetail
+  },
   data() {
     return {
+      activeDetail: '',
       // 鎼滅储妗�
       items: [
         {
           type: 'text',
-          dataIndex: 'businessFormId',
+          dataIndex: 'businessFormCode',
           label: '鍗曞彿',
           placeholder: '璇疯緭鍏�',
           defaultValue: '',
         },
         {
           type: 'select',
-          dataIndex: 'thisType',
+          dataIndex: 'flowType',
           label: '绫诲瀷',
           placeholder: '璇烽�夋嫨',
           defaultValue: '',
-          options: [
-            {
-              label: '閲囪喘鍏ュ簱',
-              value: 1,
-            },
-            {
-              label: '閫�杩樺叆搴�',
-              value: 2,
-            },
-          ],
+          options: [],
+          optionsConfig: {
+            label: 'dict_label',
+            value: 'dict_value',
+            url: SettingIplatform.apiBaseURL + '/permit/dict/data/type/FLOW_TYPE',
+          },
         },
         {
           type: 'select',
@@ -70,6 +86,12 @@
           placeholder: '璇烽�夋嫨',
           defaultValue: '',
           options: [],
+          cascader: [{key: 'baseGoodsModelsId', queryKey: 'goodsTemplatesId'}],
+          optionsConfig: {
+            label: 'goodsName',
+            value: 'id',
+            url: SettingIplatform.apiBaseURL + '/pc/base/goods/template/query/goodsTemplate',
+          },
         },
         {
           type: 'select',
@@ -78,32 +100,37 @@
           placeholder: '璇烽�夋嫨',
           defaultValue: '',
           options: [],
+          optionsConfig: {
+            label: 'modelName',
+            value: 'id',
+            url: SettingIplatform.apiBaseURL + '/pc/base/goods/models/query/goodsModel',
+          },
         },
         {
           type: 'cascader',
           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: [],
         },
         {
           type: 'text',
-          dataIndex: 'createdName',
+          dataIndex: 'createName',
           label: '鍒涘缓浜�',
           placeholder: '璇疯緭鍏�',
           defaultValue: '',
         },
         {
           type: 'date-picker',
-          dataIndex: 'dealTimeStart',
+          dataIndex: 'startTime',
           label: '鏃堕棿',
           defaultValue: '',
         },
         {
           type: 'date-picker',
-          dataIndex: 'dealTimeEnd',
+          dataIndex: 'endTime',
           label: '鑷�',
           defaultValue: '',
         },
@@ -148,28 +175,34 @@
         },
         // 鍒椾俊鎭�
         columns: [
-          { title: '绫诲瀷', field: 'thisType', align: 'left' },
-          { title: '鍗曞彿', field: 'businessFormId', align: 'center' },
-          { title: '鐗╁搧鍚嶇О', field: 'goodsTemplateName', align: 'center' },
-          { title: '瑙勬牸鍨嬪彿', field: 'baseGoodsModelsName', align: 'center' },
-          { title: '鍑哄叆搴撴暟閲�', field: 'thisCount', align: 'left' },
-          { title: '閲戦', field: 'totalPrice', align: 'left' },
-          { title: '鎵�灞炴満鏋�', field: 'agencyName', align: 'left' },
-          { title: '鍒涘缓浜�', field: 'createdName', align: 'left' },
+          {
+            title: '绫诲瀷', field: 'thisType', align: 'left',
+            formatter: (row) => {
+              let result = stockType(row)
+              return {value: result};
+            },
+          },
+          {title: '鍗曞彿', field: 'businessFormCode', align: 'center', width: 130},
+          {title: '鐗╁搧鍚嶇О', field: 'goodsTemplateName', align: 'left', minWidth: 130},
+          {title: '瑙勬牸鍨嬪彿', field: 'baseGoodsModelsName', align: 'left', minWidth: 130},
+          {title: '鍑哄叆搴撴暟閲�', field: 'thisCount', align: 'center', width: 100},
+          {title: '閲戦', field: 'totalPrice', align: 'center', width: 100},
+          {title: '鎵�灞炴満鏋�', field: 'agencyName', align: 'left', minWidth: 130},
+          {title: '鍒涘缓浜�', field: 'operatorName', align: 'left', width: 100},
           {
             title: '鎿嶄綔鏃堕棿',
             field: 'dealTime',
             align: 'center',
             width: 160,
             formatter: (row) => {
-              return { value: DateFormatter.LongToDateTime(row.createTime) };
+              return {value: DateFormatter.LongToDateTime(row.dealTime)};
             },
           },
         ],
         // 鎿嶄綔淇℃伅
         operation: {
           show: true, // 鏄剧ず鎿嶄綔鍒�
-          width: '150', // 鍒楀
+          width: 100, // 鍒楀
           attr: [
             {
               title: '璇︽儏',
@@ -190,34 +223,24 @@
           },
         },
       },
+      components: {
+        '1': 'purchaseDetail',
+        '2': 'returnNoteDetail',
+        '3': 'transferDetail',
+        '4': 'inventoryDetail',
+        '5': 'itemscrDetail',
+        '6': 'transferDetail',
+        '7': 'inventoryDetail',
+        '8': 'scrapDetail',
+        '9': 'detail',
+      }
     };
   },
   created() {
-    this.initSearch();
   },
   methods: {
-    initSearch() {
-      this.items.map(async (item) => {
-        if (item.label == '鐗╁搧鍚嶇О') {
-          let res = await goodsTemplate();
-          item.options = res.map((v) => {
-            v.label = v.goodsName;
-            v.value = v.id;
-            return v;
-          });
-        }
-        if (item.label == '瑙勬牸鍨嬪彿') {
-          let res = await goodsModel();
-          item.options = res.map((v) => {
-            v.label = v.modelName;
-            v.value = v.id;
-            return v;
-          });
-        }
-        return item;
-      });
-    },
     showDetail(row) {
+      this.activeDetail = this.components[row.mixType]
       this.detailSetting.id = row.id;
       this.detailSetting.info = JSON.stringify(row);
       this.detailSetting.title = '璇︽儏';
@@ -226,7 +249,7 @@
     // 鏌ヨtable鍒楄〃
     search(pageNum) {
       if (pageNum != undefined) {
-        this.$refs.myTable.search(pageNum);
+        this.$refs.myTable.search({pageNum});
       } else {
         this.$refs.myTable.search();
       }

--
Gitblit v1.9.1