From d492850f1cc64ddcfaf43798af9c76c2505414fd Mon Sep 17 00:00:00 2001
From: renkang <8417338+k94314517@user.noreply.gitee.com>
Date: 星期五, 24 一月 2025 18:24:31 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/2.0.1' into 2.0.1

---
 admin/src/views/stock/out.vue |  112 ++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 69 insertions(+), 43 deletions(-)

diff --git a/admin/src/views/stock/out.vue b/admin/src/views/stock/out.vue
index 07aca66..c94aedf 100644
--- a/admin/src/views/stock/out.vue
+++ b/admin/src/views/stock/out.vue
@@ -2,20 +2,24 @@
   <div class="main_app">
     <QueryForm v-model="filters" :query-form-config="queryFormConfig" @handleQuery="getList(1)" @clear="clear" />
     <div class="mt20">
-      <el-button type="primary" @click="handleEdit()" v-permissions="['business:ywpatrolline:create']">鏂板缓鍑哄簱鍗�</el-button>
-      <el-button @click="handleEx()" v-permissions="['business:ywpatrolline:create']">瀵煎嚭</el-button>
+      <el-button type="primary" @click="handleEdit()" v-permissions="['business:ywoutinboundrecord:create']">鏂板缓鍑哄簱鍗�</el-button>
+      <el-button @click="handleEx()" v-permissions="['business:ywoutinboundrecord:exportExcel']">瀵煎嚭</el-button>
     </div>
     <el-table v-loading="loading" :data="list" stripe>
-      <el-table-column prop="platformName" label="鍑哄簱鍗曞彿" min-width="120" show-overflow-tooltip />
-      <el-table-column prop="platformGroupName" label="鍑哄簱浠撳簱" min-width="100" show-overflow-tooltip />
-      <el-table-column prop="carCodeFront" label="鍑哄簱绫诲瀷" min-width="100" show-overflow-tooltip />
-      <el-table-column prop="carCodeBack" label="鍑哄簱鏃ユ湡" min-width="110" show-overflow-tooltip />
-      <el-table-column prop="param1" label="鍑哄簱鏁伴噺" min-width="120" show-overflow-tooltip />
-      <el-table-column prop="param2" label="鎿嶄綔浜�" min-width="90" show-overflow-tooltip />
-      <el-table-column prop="workTime" label="鎿嶄綔鏃堕棿" min-width="140" show-overflow-tooltip />
+      <el-table-column prop="code" label="鍑哄簱鍗曞彿" min-width="120" show-overflow-tooltip />
+      <el-table-column prop="warehouseName" label="鍑哄簱浠撳簱" min-width="100" show-overflow-tooltip />
+      <el-table-column prop="typeName" label="鍑哄簱绫诲瀷" min-width="100" show-overflow-tooltip />
+      <el-table-column prop="doneDate" label="鍑哄簱鏃ユ湡" min-width="110" show-overflow-tooltip />
+      <el-table-column label="鍑哄簱鏁伴噺" min-width="140">
+        <template v-slot="{ row }">
+          <div v-for="item in row.recordList">{{ item.materialName }}[{{ item.materialCode }}]*{{ item.stock }}{{ item.materialUnitName }}</div>
+        </template>
+      </el-table-column>
+      <el-table-column prop="createUserName" label="棰嗙敤浜�" min-width="90" show-overflow-tooltip />
+      <el-table-column prop="createDate" label="鎿嶄綔鏃堕棿" min-width="140" show-overflow-tooltip />
       <el-table-column prop="workTime" label="鎿嶄綔" min-width="80" show-overflow-tooltip>
         <template v-slot="{ row }">
-          <span @click="handleDetail(row)" class="primaryColor pointer">鏌ョ湅璇︽儏</span>
+          <span @click="handleDetail(row)" v-permissions="['business:ywoutinboundrecord:query']" class="primaryColor pointer">鏌ョ湅璇︽儏</span>
         </template>
       </el-table-column>
     </el-table>
@@ -24,19 +28,21 @@
     </div>
     <!--  -->
     <OutEdit v-if="isShowEdit" @close="isShowEdit = false" @success="getList" ref="OutEditRef" />
-    <OutDetail v-if="isShowDetail" ref="OutDetailRef" />
+    <OutDetail v-if="isShowDetail" ref="InDetailRef" />
   </div>
 </template>
 
 <script>
 import Pagination from '@/components/common/Pagination'
 import QueryForm from '@/components/common/QueryForm'
-import OutEdit from './components/OutEdit'
-import OutDetail from './components/OutDetail'
+import OutEdit from './components/OutEdit.vue'
+import OutDetail from './components/OutDetail.vue'
 import dayjs from 'dayjs'
 import duration from 'dayjs/plugin/duration'
 dayjs.extend(duration)
-import { platformLogPage, getPlatformGroupList } from '@/api'
+import { ywOutinboundPage } from '@/api'
+import { fetchList as getStoreList } from '@/api/ywWarehouse'
+import { StoreTypeOps, rules } from './components/config'
 export default {
   components: {
     Pagination,
@@ -54,26 +60,34 @@
         page: 1,
         total: 0
       },
-      filters: {},
-      list: [{}],
+      filters: {
+        inOut: 1
+      },
+      StoreTypeOps,
+      list: [],
       total: 0,
       queryFormConfig: {
         formItems: [
           {
-            filed: 'carCodeFront',
+            filed: 'code',
             type: 'input',
             label: '鍑哄簱鍗曞彿',
           },
           {
-            filed: 'platformGroupId',
+            filed: 'warehouseId',
             type: 'select',
             label: '鎵�鍦ㄤ粨搴�',
+            labelCode: 'name',
+            valueCode: 'id',
             options: []
           },
           {
-            filed: 'carCodeFront',
-            type: 'input',
+            filed: 'type',
+            type: 'select',
             label: '鍑哄簱绫诲瀷',
+            labelCode: 'name',
+            valueCode: 'id',
+            options: StoreTypeOps.filter(i => i.type == 0)
           },
         ],
         online: true
@@ -81,8 +95,8 @@
     }
   },
   created() {
-    // this.getList()
-    // this.getGroupList()
+    this.getList()
+    this.initData()
   },
   methods: {
     handleSub() {
@@ -98,45 +112,55 @@
         this.$refs.OutEditRef.isShowModal = true
       })
     },
-    handleDetail() {
+    handleDetail(row) {
       this.isShowDetail = true
       this.$nextTick(() => {
-        this.$refs.OutDetailRef.visible = true
+        this.$refs.InDetailRef.visible = true
+        this.$refs.InDetailRef.getDetail(row.id)
       })
     },
-    handleEx() { },
-    getGroupList() {
-      getPlatformGroupList({ queryData: 0, queryType: 0 }).then(res => {
-        this.queryFormConfig.formItems[1].options = res.map(i => {
-          return {
-            value: i.id,
-            label: i.name
-          }
+    handleEx() {
+      this.$dialog.exportConfirm('纭瀵煎嚭鍚楋紵')
+        .then(() => {
+          this.loading = true
+          ywOutinboundEx({
+            page: this.pagination.page,
+            capacity: 1000000,
+            model: this.filters
+          })
+            .then(response => {
+              this.download(response)
+            })
+            .catch(e => {
+              this.$tip.apiFailed(e)
+            })
+            .finally(() => {
+              this.loading = false
+            })
         })
-        // this.queryFormConfig.formItems[1].options.unshift({ value: '', label: '鍏ㄩ儴鏈堝彴缁�' })
+        .catch(() => { })
+    },
+    initData() {
+      getStoreList({ capacity: 9999, page: 1, model: {} }).then(res => {
+        this.queryFormConfig.formItems[1].options = res.records || []
       })
     },
     getList(page) {
       const { pagination, filters } = this
       this.loading = true
       if(page){pagination.page = page}
-      platformLogPage({
+      ywOutinboundPage({
         model: {
-          ...filters,
-          queryStatus: '6,7,8',
-          beginWorkDateStart: filters.selDate && filters.selDate.length > 0 ? filters.selDate[0] : null,
-          beginWorkDateEnd: filters.selDate && filters.selDate.length > 0 ? filters.selDate[1] : null,
+          ...filters
         },
-        sorts: [{ direction: 'DESC', property: 'param1' }],
+        // sorts: [{ direction: 'DESC', property: 'param1' }],
         capacity: pagination.pageSize,
         page: page,
       }).then(res => {
         this.loading = false
         this.list = res.records || []
         this.list.forEach(item => {
-          item.inTypeTemp = item.inType == 0 ? '鏁存墭鐩�' : '浠剁儫'
-          item.taskOrigin = 'WMS鑾峰彇'
-          item.workTime = dayjs.duration(item.param3, 'seconds').format('H鏃秏鍒唖绉�')
+          item.typeName = this.StoreTypeOps[item.type].name
         })
         this.pagination.total = res.total || 0
       }, () => {
@@ -144,7 +168,9 @@
       })
     },
     clear() {
-      this.filters = {}
+      this.filters = {
+        inOut: 1
+      }
       this.pagination.pageSize = 10
       this.pagination.page = 1
       this.getList()

--
Gitblit v1.9.3