From 9b6bd0c014b73456edb095ee53b22324437ae646 Mon Sep 17 00:00:00 2001
From: cuijian <cuijian@xalxzn.com>
Date: 星期三, 09 七月 2025 10:59:45 +0800
Subject: [PATCH] 现场问题修改

---
 src/views/tms/modules/inbound/InboundModel.vue |   83 +++++++++++++++++++++++++++++++++++++----
 1 files changed, 74 insertions(+), 9 deletions(-)

diff --git a/src/views/tms/modules/inbound/InboundModel.vue b/src/views/tms/modules/inbound/InboundModel.vue
index 7548919..d4d8ad2 100644
--- a/src/views/tms/modules/inbound/InboundModel.vue
+++ b/src/views/tms/modules/inbound/InboundModel.vue
@@ -46,6 +46,18 @@
             </a-form-model-item>
           </a-col>
         </a-row>
+
+        <a-row style="width: 100%">
+          <a-col :span="24 / 2">
+            <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="搴撲綅鍙�" prop="locationCodeId">
+              <a-select
+                :triggerChange="true"
+                :options="locationCodeOptions"
+                v-model="model.locationCodeId"
+              />
+            </a-form-model-item>
+          </a-col>
+        </a-row>
       </a-form-model>
     </a-spin>
     <a-button type="primary" :style="{ marginBottom: '8px' }" @click="selectReturnList()" v-show="returnShow && !disableSubmit">閫夋嫨鍊熷嚭宸ュ叿</a-button>
@@ -90,7 +102,15 @@
     <j-select-tooling-modal ref="toolingModalForm" @ok="modalFormOk" :classifyId="classifyId"></j-select-tooling-modal>
     <j-select-return-list-modal ref="returnModalForm" @ok="modalFormOk" :classifyId="classifyId"></j-select-return-list-modal>
     <j-select-sharpen-list-modal ref="sharpenModalForm" @ok="modalFormOk" :classifyId="classifyId"></j-select-sharpen-list-modal>
+  
+    <div id="printArea" style="display: block;">
+      <div v-for="(item, index) in qrList" :key="index" class="qrcode-item">
+        <img :src="item.base64" alt="QR Code">
+        <p>{{ item.content }}</p>
+      </div>
+    </div>
   </a-modal>
+  
 </template>
 
 <script>
@@ -105,6 +125,7 @@
 import { filterObj } from '@/utils/util'
 import JSelectReturnListModal from '.././inboundOrder/JSelectReturnListModal'
 import JSelectSharpenListModal from '.././inboundOrder/JSelectSharpenListModal'
+import printJS from 'print-js';
 
 export default {
   name: 'InboundModel',
@@ -174,6 +195,12 @@
               message: '璇烽�夋嫨鐢宠鍏ュ簱鏃ユ湡!',
             },
           ],
+          locationCodeId:[
+            {
+              required: true,
+              message: '璇烽�夋嫨搴撲綅鍙�!',
+            },
+          ]
       },
       url: {
         addInStorage: '/tms/inboundOrder/addInStorage',
@@ -233,12 +260,19 @@
           scopedSlots: { customRender: 'action' },
         },
       ],
-      classifyId:''
+      classifyId:'',
+      locationCodeOptions:[],
+      qrList: []
     }
   },
   created() {
     //澶囦唤model鍘熷鍊�
     this.modelDefault = JSON.parse(JSON.stringify(this.model));
+    ajaxGetDictItems("tms_goods_shelves,location_code,id", null).then((res) => {
+        if (res.success) {
+          this.locationCodeOptions = res.result
+        }
+      })
   },
   methods: {
     modalFormOk() {
@@ -249,6 +283,7 @@
       return filterObj(this.param)
     },
     add (nodeSelected) {
+      this.qrList = []
       this.classifyId = nodeSelected.key
       this.model.classifyNum =  nodeSelected.entity.classifyId
       this.model.typeName =  nodeSelected.entity.typeName
@@ -291,17 +326,28 @@
     },
     handleOk() {
       const that = this
+      if(this.dataSource.length == 0){
+        that.$message.error("璇峰厛閫夋嫨闇�瑕佸叆搴撶殑宸ュ叿!")
+        return
+      }
       // 瑙﹀彂琛ㄥ崟楠岃瘉
-      this.form.validateFields((err, values) => {
-        if (!err) {
+      this.$refs.form.validate(valid => {
+        if (valid) {
           that.confirmLoading = true
-          let formData = Object.assign(this.model, values)
-          formData.detailData = this.dataSource
-          formData.classifyId = this.classifyId
-          postAction(this.url.addInStorage, formData)
+          this.model.detailData = this.dataSource
+          this.model.classifyId = this.classifyId
+          postAction(this.url.addInStorage, this.model)
             .then((res) => {
               if (res.success) {
-                that.$message.success(res.message)
+                if(this.model.inStorehouseType === '1'){
+                  this.qrList = res.result.map((content, i) => ({
+                  content:res.result[i].content,
+                  base64: res.result[i].image
+                  }));
+                  this.handleBacthPrint();
+                }else{
+                   that.$message.success("淇濆瓨鎴愬姛")
+                }
                 that.$emit('ok', new Date())
               } else {
                 that.$message.warning(res.message)
@@ -388,6 +434,25 @@
         option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
       );
     },
+    
+    // 鎵ц鎵撳嵃
+    handleBacthPrint() {
+      this.$nextTick(() => {
+        printJS({
+          printable: 'printArea',
+          type: 'html',
+          style: `
+            .qrcode-item { 
+              page-break-inside: avoid;
+              margin: 10px; 
+              text-align: center;
+            }
+            img { width: 100px; height: 100px; }
+          `,
+          scanStyles: false
+        });
+      });
+    }
   },
   watch: {},
   mounted() {
@@ -402,7 +467,7 @@
           toolModel: data[i].toolModel,
           applicationType: data[i].applicationTypeName,
           onlyCode:data[i].onlyCode,
-          inStorageQuantity:data[i].storageQuantity || data[i].quantity,
+          inStorageQuantity:data[i].storageQuantity || data[i].quantity || 1,
           quantity:data[i].quantity,
           accuracyClass:data[i].accuracyClass
         })

--
Gitblit v1.9.3