From 5ecb7958c96d3f0b6d47b79aff7eb306c2cf690f Mon Sep 17 00:00:00 2001
From: charles <981744753@qq.com>
Date: 星期二, 06 八月 2024 11:16:58 +0800
Subject: [PATCH] gitlab上面的wms转移到公司git

---
 src/views/reportForm/inboundOutboundDetail/index.vue |  305 +++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 236 insertions(+), 69 deletions(-)

diff --git a/src/views/reportForm/inboundOutboundDetail/index.vue b/src/views/reportForm/inboundOutboundDetail/index.vue
index 8ac2cc1..059c3cf 100644
--- a/src/views/reportForm/inboundOutboundDetail/index.vue
+++ b/src/views/reportForm/inboundOutboundDetail/index.vue
@@ -4,39 +4,87 @@
       <SearchCommonView
         :add-title="'鏂板缓'"
         :showAdd="false"
-        :placeholder="'璇疯緭鍏ュ弬鑰�'"
+        :placeholder="'璇锋牴鎹崟鍙枫�佷骇鍝併�佷笟鍔$被鍨嬭繘琛屾悳绱�'"
         :amount-view="false"
+        :inputName="params.keyWord"
+        :showDownload="true"
+        @downloadClick="downHttpClick"
         @addCommonClick="addBtnClick"
         @searchClick="getList"
       />
     </div>
     <div class="list-view">
-      <TableCommonView
-        ref="tableListRef"
-        :table-list="tableList"
-        @selTableCol="selTableCol"
-        @tableRowClick="tableRowClick"
-      ></TableCommonView>
+      <div class="table">
+        <TableCommonView
+          ref="tableListRef"
+          :table-list="tableList"
+          @selTableCol="selTableCol"
+          @tableRowClick="tableRowClick"
+        >
+          <template slot="tableButton">
+            <el-table-column label="鏁伴噺" prop='amount'>
+              <el-table-column v-for="unit in unitList" :label="unit.name" prop='amount' min="90">
+                <template slot-scope="scope">
+                  {{getUnitValue(scope.row.amountMoreUnits,unit.name,scope.row.amount,scope.row.unit)}}
+                </template>
+              </el-table-column>
+              <!--<el-table-column label="浠�" prop='amount' min="90">
+                <template slot-scope="scope">
+                  {{getUnitValue(scope.row.amountMoreUnits,'浠�',scope.row.amount,scope.row.unit)}}
+                </template>
+              </el-table-column>
+              <el-table-column label="鍖�" prop='amount' min="90">
+                <template slot-scope="scope">
+                  {{getUnitValue(scope.row.amountMoreUnits,'鍖�',scope.row.amount,scope.row.unit)}}
+                </template>
+              </el-table-column>
+              <el-table-column label="绫虫暟" prop='amount' min="90">
+                <template slot-scope="scope">
+                  {{getUnitValue(scope.row.amountMoreUnits,'绫虫暟',scope.row.amount,scope.row.unit)}}
+                </template>
+              </el-table-column>
+              <el-table-column label="閲嶉噺" prop='amount' min="90">
+                <template slot-scope="scope">
+                  {{getUnitValue(scope.row.beginMoreUnitsArr,'閲嶉噺',scope.row.beginAmount,scope.row.unit)}}
+                </template>
+              </el-table-column>-->
+          </el-table-column>
+          </template>
+        </TableCommonView>
+      </div>
       <div class="btn-pager">
         <PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" />
       </div>
     </div>
+    <!-- 鏌ョ湅/缂栬緫 -->
+    <AddOverviewDialog 
+      v-if="editConfig.visible" 
+      :edit-common-config="editConfig" 
+      :add-name="this.$route.params.name"
+    />
   </div>
 </template>
 
 <script>
 import pageMixin from "@/components/makepager/pager/mixin/pageMixin"
-import { getProductList } from "@/api/product/product"
-// import DetailProduct from "@/views/productManage/product/DetailProduct"
+import { getHistory,getOperationInfo } from "@/api/reportForm/inventoryRwport"
+// import { getProductOperatonList } from "@/api/product/product"
 
+import AddOverviewDialog from "@/views/overview/AddOverviewDialog"
+import { getDataByType } from "@/api/data"
+import { downloadHistory } from "@/api/downFile"
+import FileSaver from 'file-saver'
+import _ from 'lodash'
+import { getUnitInfo } from "@/api/basic/standard";
 export default {
   name: "InboundOutboundDetail",
   props: {},
-  components: {},
+  components: { AddOverviewDialog },
   mixins: [pageMixin],
   computed: {},
   data() {
     return {
+        unitList:[],
       tableList: {},
       showcol: ["鐘舵��"],
       searchOptions: [],
@@ -49,14 +97,69 @@
         visible: false,
         title: "鏂板缓",
         infomation: {}
-      }
+      },
+      params: {},
+      baseOperationTypeList:getDataByType("baseOperationTypeTwo"),
     }
   },
   created() {
     this.setTable()
-    this.getData()
+    console.log(this.$route.params)
+    var paramsList = sessionStorage.getItem("paramsList")
+    let params = {}
+    if (paramsList) {
+      params = JSON.parse(sessionStorage.getItem("paramsList"))
+    } else {
+      params = this.$route.params
+      sessionStorage.setItem("paramsList", JSON.stringify(params))
+    }
+    this.params = params
+    console.log(this.params,'====111')
+    this.getData();
+      this.getUnitInfo();
+  },
+  // 椤甸潰閿�姣佷箣鍓�
+  beforeDestroy() {
+    sessionStorage.removeItem("paramsList")
   },
   methods: {
+      async getUnitInfo(){
+          const { code,data }=await getUnitInfo();
+          if(code===200){
+              this.unitList=data;
+          }
+      },
+      getUnitValue(list,val,num,unit){
+          let  string='--'
+          if(list){
+              if(list.length>0){
+                  for(let i in list){
+                      if(list[i].unit==val){
+                          string=list[i].amount
+                          break;
+                      }
+                  }
+              }
+          }
+          if(unit==val){
+              string=num
+          }
+          return string
+      },
+     // 涓嬭浇
+     downHttpClick: _.debounce(function(){
+      downloadHistory({
+        keyWord:this.params.keyWord,
+        page: this.pagerOptions.currPage,
+        pageSize: this.pagerOptions.pageSize,
+          baseOperationType:1
+      }).then(res => {
+        if (res) {
+          FileSaver.saveAs(res, '鍏ュ簱鏄庣粏鎶ヨ〃.xlsx');
+          this.$message.success("涓嬭浇鎴愬姛锛�");
+        }
+      })
+    }, 1000),
     setTable() {
       this.tableList = {
         tableInfomation: [],
@@ -78,43 +181,64 @@
       let tableColumn = [
         {
           label: "鏃ユ湡",
-          prop: "id",
+          prop: "date",
           isShowColumn: true,
-          default: true
+          default: true,
+          // date: true
         },
         {
-          label: "鍙傝��",
-          prop: "id",
+          label: "鍗曞彿",
+          prop: "number",
           isShowColumn: true,
           default: true
         },
         {
           label: "浜у搧",
-          prop: "id",
+          prop: "productName",
           isShowColumn: true,
           default: true
         },
         {
+          label: "浜у搧缂栫爜",
+          prop: "productId",
+          isShowColumn: true,
+          default: true
+        },
+        {
+          label: "涓氬姟绫诲瀷",
+          prop: "operationTypeName",
+          isShowColumn: true,
+          default: true,
+          // conversion: true,
+          // getStatus: this.getBaseOperationTypeList
+        },
+        {
           label: "浠�",
-          prop: "deviceName",
+          prop: "fromLocation",
           isShowColumn: true,
           default: true
         },
         {
           label: "鑷�",
-          prop: "id",
+          prop: "toLocation",
+          isShowColumn: true,
+          default: true
+        },
+        /*{
+          label: "鏁伴噺",
+          prop: "amount",
           isShowColumn: true,
           default: true
         },
         {
-          label: "鍏徃",
-          prop: "shopName",
-          isShowColumn: showcol.includes("鍏徃"),
-          default: false
-        },
+          label: "鍗曚綅",
+          prop: "unit",
+          isShowColumn: true,
+          default: true
+        },*/
         {
-          label: "鏁伴噺",
-          prop: "deviceId",
+          label: "閲嶉噺",
+          prop: "weight",
           isShowColumn: true,
           default: true
         },
@@ -124,11 +248,13 @@
           width: 120,
           isShowColumn: showcol.includes("鐘舵��"),
           default: false,
-          status: true
+          status: true,
+          isCallMethod: true,
+          getCallMethod: this.getStatus
         },
         {
           label: "瀹屾垚鑰�",
-          prop: "preTime",
+          prop: "contactedName",
           isShowColumn: showcol.includes("瀹屾垚鑰�"),
           default: false
         }
@@ -139,61 +265,102 @@
       this.showcol = val
       this.tableList.tableColumn = this.setTableColumn(val)
     },
-    // 璇锋眰鏁版嵁
-    async getData(val, content) {
-      await getProductList({
-        [val]: content,
-        page: this.pagerOptions.currPage,
-        pageSize: this.pagerOptions.pageSize
-      }).then((res) => {
-        if (res.data.code === 200) {
-          const list = res.data.data.list.map((item) => {
-            return {
-              ...item,
-              supplierNumber: item.supplier.number,
-              status: "灏辩华",
-              preTime: "2023-09-04 11:20:00"
-            }
-          })
-          this.tableList.tableInfomation = list || []
-          this.pagerOptions.totalCount = res.data.data.total
+    getBaseOperationTypeList(val){
+      let string = "--"
+      if (val) {
+        for (let i in this.baseOperationTypeList) {
+          if (this.baseOperationTypeList[i].id == val) {
+            return this.baseOperationTypeList[i].name
+          }
         }
-      })
+      }
+      return string
+    },
+    // 搴撳瓨鎶ヨ〃璺宠浆璇锋眰鏁版嵁
+    async getData() {
+      if (this.params.name === "鎶ヨ〃") {
+        await getHistory({
+          keyWord:this.params.keyWord,
+          produceId:this.params.produceId,
+          unit:this.params.unit,
+          productName:this.params.productName,
+          page: this.pagerOptions.currPage,
+          pageSize: this.pagerOptions.pageSize
+        }).then((res) => {
+          if (res.code === 200&&res.data) {
+            res.data.map((item)=>{
+                let dateObject = new Date(item.date);  
+                let formattedDateString = dateObject.toISOString().split('T')[0];  
+                item.date=formattedDateString
+            })
+            this.tableList.tableInfomation = res.data||[]
+          }else{
+            this.tableList.tableInfomation = res.data||[]
+          }
+          this.pagerOptions.totalCount = res.total
+        })
+      } else {
+        await getHistory({
+          baseOperationType:1,
+          keyWord:this.params.keyWord,
+          page: this.pagerOptions.currPage,
+          pageSize: this.pagerOptions.pageSize
+        }).then((res) => {
+          if (res.code === 200&&res.data) {
+            res.data.map((item)=>{
+                if(item.status===""){
+                  item.status=4
+                }
+                let dateObject = new Date(item.date);  
+                let formattedDateString = dateObject.toISOString().split('T')[0];  
+                item.date=formattedDateString
+            })
+            this.tableList.tableInfomation = res.data||[]
+          }else{
+            this.tableList.tableInfomation = res.data||[]
+          }
+          this.pagerOptions.totalCount = res.total
+        })
+      }
     },
     // 鎼滅储
     getList(val) {
-      console.log(val)
+      this.params.keyWord=val;
+      this.getData()
     },
     // 琛岀偣鍑�
-    tableRowClick(row) {
-      console.log(row)
+    async tableRowClick(row) {
+      console.log(row,"鐪嬬湅row")
+      // window.sessionStorage.sessionStorage.setItem('paramsData', {
+      //   // name: "鎷煎澶曚粨搴�-鍑哄簱",
+      //   workType: row.baseOperationType,
+      //   id: row.operationId,
+      //   // code: "PX"
+      // });  
+
+      await getOperationInfo(row.operationId).then((res)=>{
+          res.data.location=res.data.toLocation.id;
+          res.data.toLocation=res.data.toLocation.id;
+        res.data.details.forEach(item=>{
+            item.toLocationId=item.toLocation.name;
+        })
+        this.editConfig.infomation = { ...res.data,workType:res.baseOperationType }
+      })
       this.editConfig.visible = true
-      this.editConfig.title = "缂栬緫"
-      this.editConfig.infomation = { ...row }
+      this.editConfig.title = "鏌ョ湅"
     },
     // 鏂板缓
     addBtnClick() {
-      this.editConfig.visible = true
+      // this.editConfig.visible = true
       this.editConfig.title = "鏂板缓"
+    },
+    // 鐘舵��
+    getStatus(val) {
+      return val === 1 ? "鑽夌" : val === 3 ? "灏辩华" : val===4?"瀹屾垚":val===5?"宸插彇娑�":" "
     }
   }
 }
 </script>
 
 <!-- Add "scoped" attribute to limit CSS to this component only -->
-<style lang="scss" scoped>
-// .rightContent {
-//   height: 100%;
-//   background: #e6ecf2;
-//   padding: 10px;
-//   .top {
-//     margin-bottom: 20px;
-//     height: 60px;
-//     background: #fff;
-//     border-radius: 8px;
-//   }
-//   .list-view {
-//     height: calc(100% - 120px);
-//   }
-// }
-</style>
+<style lang="scss" scoped></style>

--
Gitblit v1.8.0