From 0b83887ab167c420499a01738ba9795bb79952c4 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期二, 01 七月 2025 09:44:07 +0800
Subject: [PATCH] no message

---
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/LocServiceImpl.java |    2 
 zy-asrs-admin/src/views/base/loc/index.vue                                      |   29 ++++++++-
 zy-asrs-admin/src/components/print/locsPrint/index.vue                          |   56 ++++++++++++++++++
 zy-asrs-admin/src/views/log/viewWorkIn/index.vue                                |    7 ++
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/mapper/LocMapper.java            |    2 
 zy-asrs-wms/src/main/resources/mapper/asrs/LocMapper.xml                        |    5 -
 zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/MobileController.java |    2 
 zy-asrs-admin/src/components/print/locsPrint/locTemplate.vue                    |   61 ++++++++++++++++++++
 8 files changed, 153 insertions(+), 11 deletions(-)

diff --git a/zy-asrs-admin/src/components/print/locsPrint/index.vue b/zy-asrs-admin/src/components/print/locsPrint/index.vue
new file mode 100644
index 0000000..35c5363
--- /dev/null
+++ b/zy-asrs-admin/src/components/print/locsPrint/index.vue
@@ -0,0 +1,56 @@
+<script setup>
+import {ref, toRaw} from 'vue';
+import { formatMessage } from '@/utils/localeUtils';
+import locTemplate from './locTemplate.vue';
+
+const template = {
+    locTemplate
+}
+
+const printChild = ref(null);
+const selectTemplate = ref('locTemplate');
+let open = ref(false);
+let printData = ref([]);
+let repeatNum = ref(1);
+let orderNo = ref('');
+const handleOk = () => {
+
+}
+
+const printObj = ref({
+    id: "printOrder",
+    beforeOpenCallback(vue) {
+        // console.log(toRaw(printData.value))
+    },
+    openCallback(vue) {
+        console.log('鎵ц浜嗘墦鍗�')
+    },
+    closeCallback(vue) {
+        console.log('鍏抽棴浜嗘墦鍗板伐鍏�')
+    },
+
+});
+
+defineExpose({
+    open,
+    orderNo,
+    printData
+})
+</script>
+
+<template>
+    <a-modal v-model:open="open" :title="formatMessage('', '搴撲綅鎵撳嵃')" @ok="handleOk" :width="'60%'" v-if="open">
+        <div style="height: 500px;overflow-x: hidden;overflow-y: scroll;">
+            <div style="margin-top: 20px;">
+                <Component :is="template[selectTemplate]" ref="printChild" :list="printData" :repeatNum="repeatNum"  />
+            </div>
+        </div>
+        <template #footer>
+            <a-button key="submit" type="primary" v-print="printObj" @click="handleOk">
+                {{ formatMessage('common.print', '鎵撳嵃') }}
+            </a-button>
+        </template>
+    </a-modal>
+</template>
+
+<style></style>
\ No newline at end of file
diff --git a/zy-asrs-admin/src/components/print/locsPrint/locTemplate.vue b/zy-asrs-admin/src/components/print/locsPrint/locTemplate.vue
new file mode 100644
index 0000000..d61f2b0
--- /dev/null
+++ b/zy-asrs-admin/src/components/print/locsPrint/locTemplate.vue
@@ -0,0 +1,61 @@
+<script setup>
+import { toRefs, ref, defineProps, watch } from 'vue';
+import { globalState } from '@/config.js'
+import { formatMessage } from '@/utils/localeUtils';
+
+const props = defineProps({
+    locNo: {
+        type: String,
+        default: ''
+    },
+    list: {
+        type: Array,
+        default: []
+    },
+    repeatNum: {
+        type: Number,
+        default: 1
+    }
+});
+const { locNo, list, repeatNum } = toRefs(props)
+
+</script>
+
+<template>
+    <div id="printOrder">
+        <div v-for="(item, index) in list">
+            <table class="contain" width="600" style="overflow: hidden;font-size: xx-small;table-layout: fixed;  margin-top: 10px;">
+                <tr style="height: 300px;">
+                    <td class="barcode" colspan="9" align="center" scope="col">
+                        <img :src="globalState.url + '/api/code/auth?type=1&param=' + item.locNo" width="90%;" height="180px"/>
+                        <div style="letter-spacing: 2px;margin-top: 10px; text-align: center;">
+                            <span>{{ item.locNo }} </span>
+                        </div>
+                    </td>
+                </tr>
+            </table>
+        </div>
+    </div>
+</template>
+
+<style>
+@media print {
+    body {
+        margin: 0;
+        padding: 0;
+    }
+
+    .print-area {
+        margin: 0;
+        padding: 0;
+        height: auto;
+    }
+
+
+}
+
+.contain td {
+    border: 1px solid #000;
+    padding: 5px;
+}
+</style>
\ No newline at end of file
diff --git a/zy-asrs-admin/src/views/base/loc/index.vue b/zy-asrs-admin/src/views/base/loc/index.vue
index eab5f2b..2a8e6c7 100644
--- a/zy-asrs-admin/src/views/base/loc/index.vue
+++ b/zy-asrs-admin/src/views/base/loc/index.vue
@@ -6,6 +6,7 @@
 import { logout } from '@/config.js';
 import EditView from './edit.vue'
 import { formatMessage } from '@/utils/localeUtils.js';
+import LocsPrint from '@/components/print/locsPrint/index.vue';
 import useTableSearch from '@/utils/tableUtils.jsx';
 const context = getCurrentInstance()?.appContext.config.globalProperties;
 
@@ -14,6 +15,8 @@
 const TABLE_KEY = 'table-loc';
 let currentPage = 1;
 let pageSize = 10;
+let printDisable = true
+const printChild = ref("")
 const searchInput = ref("")
 const searchParam = ref({
   locNo: null,
@@ -27,6 +30,7 @@
 const state = reactive({
   selectedRowKeys: [],
   loading: false,
+  selectRecords: []
 });
 
 let tableData = ref([]);
@@ -157,9 +161,24 @@
   }, 1000);
 };
 const onSelectChange = selectedRowKeys => {
-  // console.log('selectedRowKeys changed: ', selectedRowKeys);
+  let printData = [];
+  console.log('selectedRowKeys changed: ', selectedRowKeys);
   state.selectedRowKeys = selectedRowKeys;
+  state.selectRecords = tableData.value.records.filter(item => {
+    return selectedRowKeys.includes(item.id)
+  })
+
+  if (state.selectRecords.length > 0) {
+    printDisable = false
+  } else {
+    printDisable = true
+  }
 };
+
+const handlePrint = (item) => {
+  printChild.value.printData = state.selectRecords;
+  printChild.value.open = true;
+}
 
 function getPage() {
   state.loading = true;
@@ -173,7 +192,6 @@
     if (result.code == 200) {
       let data = result.data;
       tableData.value = data;
-
       state.loading = false;
     } else if (result.code === 401) {
       message.error(result.msg);
@@ -269,6 +287,8 @@
           style="width: 200px;" @search="onSearch" />
       </div>
       <div class="table-header-right">
+        <a-button @click="handlePrint(null)" type="primary" :disabled="printDisable">{{ formatMessage('page.add', '鎵撳嵃')
+        }}</a-button>
         <a-button @click="handleEdit(null)" type="primary">{{ formatMessage('page.add', '娣诲姞') }}</a-button>
         <a-button @click="handleExport">{{ formatMessage('page.export', '瀵煎嚭') }}</a-button>
       </div>
@@ -283,12 +303,11 @@
           <div style="display: flex;justify-content: space-evenly;">
             <a-button type="link" primary @click="handleEdit(record)">{{ formatMessage('page.edit', '缂栬緫') }}</a-button>
             <a-button type="link" danger @click="handleDel([record])">{{ formatMessage('page.delete', '鍒犻櫎')
-              }}</a-button>
+            }}</a-button>
           </div>
         </template>
       </template>
     </a-table>
+    <LocsPrint ref="printChild" />
   </div>
 </template>
-
-<style></style>
diff --git a/zy-asrs-admin/src/views/log/viewWorkIn/index.vue b/zy-asrs-admin/src/views/log/viewWorkIn/index.vue
index 72cbfd8..948b846 100644
--- a/zy-asrs-admin/src/views/log/viewWorkIn/index.vue
+++ b/zy-asrs-admin/src/views/log/viewWorkIn/index.vue
@@ -40,6 +40,13 @@
 
 state.columns = [
     {
+        title: formatMessage('db.view_work_in.matnr', '鍏ュ簱鍗曞彿'),
+        dataIndex: 'orderNo',
+        width: 140,
+        ellipsis: true,
+        ...getColumnSearchProps('orderNo'),
+    },
+    {
         title: formatMessage('db.view_work_in.create_time', '鍏ュ簱鏃ユ湡'),
         dataIndex: 'createTime$',
         width: 140,
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/MobileController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/MobileController.java
index 6a0bc81..e0a90c8 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/MobileController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/controller/MobileController.java
@@ -302,7 +302,7 @@
      * @description: 鑾峰彇鎺ㄨ崘搴撲綅
      * @version 1.0
      */
-    @PostMapping("/recommend/locs")
+    @GetMapping("/recommend/locs")
     public R getRecommend() {
         return  mobileService.getRecommendLocs();
     }
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/mapper/LocMapper.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/mapper/LocMapper.java
index 2758c03..368b683 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/mapper/LocMapper.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/mapper/LocMapper.java
@@ -14,5 +14,5 @@
 
     List<Long> listBySts(Long sts);
 
-    R getRecommendLocs();
+    Loc getRecommendLocs();
 }
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/LocServiceImpl.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/LocServiceImpl.java
index 55d2d34..ffcb28d 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/LocServiceImpl.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/service/impl/LocServiceImpl.java
@@ -28,6 +28,6 @@
      */
     @Override
     public R getRecommengLocs() {
-        return this.baseMapper.getRecommendLocs();
+        return R.ok().add(this.baseMapper.getRecommendLocs());
     }
 }
diff --git a/zy-asrs-wms/src/main/resources/mapper/asrs/LocMapper.xml b/zy-asrs-wms/src/main/resources/mapper/asrs/LocMapper.xml
index 5608c14..d9da9fe 100644
--- a/zy-asrs-wms/src/main/resources/mapper/asrs/LocMapper.xml
+++ b/zy-asrs-wms/src/main/resources/mapper/asrs/LocMapper.xml
@@ -6,8 +6,7 @@
         select * from man_loc
         where loc_sts_id = #{sts}
     </select>
-    <select id="getRecommendLocs" resultType="com.zy.asrs.framework.common.R">
-        SELECT id, loc_no, loc_sts_id, row1, bay1, lev1, barcode, `status`, flag FROM man_loc WHERE loc_no LIKE '%B%' OR loc_no LIKE '%C%'
+    <select id="getRecommendLocs" resultType="com.zy.asrs.wms.asrs.entity.Loc">
+        SELECT id, loc_no, loc_sts_id, row1, bay1, lev1, barcode, `status`, flag FROM man_loc WHERE (loc_no LIKE '%B%' OR loc_no LIKE '%C%') AND loc_sts_id = 2 ORDER BY lev1 ASC LIMIT 1
     </select>
-
 </mapper>

--
Gitblit v1.9.1