pan
2025-11-15 f0d85fcacc87937db731327cabd7d41d77eddcda
Merge branch 'master' of http://115.159.85.185:8098/r/ZhongRui/ALDbanyunxiangmu
已修改6个文件
130 ■■■■ 文件已修改
项目代码/WIDESEA_WMSClient/src/extension/inbound/extend/Pallet.vue 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEA_WMSClient/src/extension/outbound/outboundOrder.js 43 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEA_WMSClient/src/extension/taskinfo/task.js 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEA_WMSClient/src/views/inbound/inboundOrder.vue 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEA_WMSClient/src/views/outbound/outboundOrder.vue 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEA_WMSClient/src/views/stock/stockInfo.vue 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ÏîÄ¿´úÂë/WIDESEA_WMSClient/src/extension/inbound/extend/Pallet.vue
@@ -148,8 +148,8 @@
            <span><i class="el-icon-tickets"></i> ç»„盘数据</span>
            <span class="list-actions">
              <el-tag type="primary" size="small">共 {{ materials.length }} æ¡</el-tag>
              <el-tag type="primary" size="small">已组盘 {{ totalStockCount }}</el-tag>
              <el-tag type="primary" size="small">库存 {{ totalStockSum }}{{ uniqueUnit }}</el-tag>
              <el-tag type="primary" size="small">未组盘 {{ totalStockCount }}</el-tag>
              <el-tag type="primary" size="small">未入库数量 {{ totalStockSum }}{{ uniqueUnit }}</el-tag>
              <el-tag v-if="trayBarcode" type="success" size="small">托盘: {{ trayBarcode }}</el-tag>
              <el-tag v-if="form.locationType" type="info" size="small">区域: {{ currentLocationDesc }}</el-tag>
            </span>
@@ -198,6 +198,7 @@
import { ElLoading, ElMessage,ElMessageBox  } from 'element-plus';
import { ref, onMounted, onUnmounted } from 'vue'
import InboundOrder from '../../../views/inbound/inboundOrder.vue';
import { th } from 'element-plus/es/locales.mjs';
export default {
  name: 'BarcodeScanner',
@@ -436,7 +437,7 @@
        // æ‰‹åŠ¨æ£€æŸ¥locationType,正确处理值为0的情况
        if (this.form.locationType === null || this.form.locationType === undefined || this.form.locationType === '') {
          this.error = '请先选择仓库区域';
          this.$message.warning('请先选择仓库区域');
          //this.$message.warning('请先选择仓库区域');
        } else {
          // å¦‚果值存在(包括0),但验证不通过,可能是其他验证错误
          this.error = '请检查表单填写是否正确';
@@ -616,7 +617,7 @@
  // å…ˆç›´æŽ¥æ£€æŸ¥locationType,避免表单验证的异步问题
  if (!this.form.locationType) {
    this.error = '请先选择仓库区域';
    this.$message.warning('请先选择仓库区域');
    //this.$message.warning('请先选择仓库区域');
    return;
  }
  
@@ -728,7 +729,7 @@
                duration: 2000
              });
         
            this.fetchStockStatistics();
            // æ¸…空物料输入框并保持聚焦
            this.barcode = '';
            this.scanCode = ''; // æ¸…空扫码缓存
@@ -775,7 +776,7 @@
 if(!response.status){
   this.error = response.message || '查询条码信息失败,请重试';
 }
        // ç¡®ä¿è¿”回的数据包含所有必需的字段
        return  materialData;
        
      } catch (error) {
@@ -850,6 +851,8 @@
              type: 'success',
              message: '删除成功!'
            });
            this.fetchStockStatistics();
          }).catch(() => {
            // å–消删除
          });
ÏîÄ¿´úÂë/WIDESEA_WMSClient/src/extension/outbound/outboundOrder.js
@@ -49,7 +49,7 @@
  value: '空托盘出库',
  onClick: function () {
    
    // 2. ç”Ÿæˆ3-12站台选项(默认第一个为站台3)
    const platformOptions = Array.from({ length: 1 }, (_, i) => {
      const num = 1;
      return { label: `站台${num}`, value: `1-2` };
@@ -58,15 +58,15 @@
    const mountNode = document.createElement('div');
    document.body.appendChild(mountNode);
    // 3. è¡¨å•数据(默认选中站台3)
    const formData = reactive({
      palletCode: '',
      selectedPlatform: platformOptions[0].value // é»˜è®¤ç»‘定站台3的value
      selectedPlatform: platformOptions[0].value
    });
    const vnode = createVNode(ElDialog, {
      title: '空托盘出库',
      width: '500px', // å¾®è°ƒå®½åº¦æ›´åè°ƒ
      width: '500px',
      modelValue: true,
      appendToBody: true,
      'onUpdate:modelValue': (isVisible) => {
@@ -76,8 +76,8 @@
        }
      },
      style: {
        padding: '20px 0', // å¼¹çª—内上下留白,避免内容紧贴边框
        borderRadius: '8px' // è½»å¾®åœ†è§’,提升质感
        padding: '20px 0',
        borderRadius: '8px'
      }
    }, {
      default: () => h(ElForm, {
@@ -91,28 +91,28 @@
          ]
        },
        ref: 'batchOutForm',
        labelWidth: '100px', // å›ºå®šæ ‡ç­¾å®½åº¦ï¼Œç¡®ä¿å¯¹é½
        labelWidth: '100px',
        style: {
          padding: '0 30px', // è¡¨å•左右留白,增加呼吸感
          padding: '0 30px',
        }
      }, [
        // å‡ºåº“站台(上,优化样式)
        h(ElFormItem, {
          label: '出库站台',
          prop: 'selectedPlatform',
          style: {
            marginBottom: '24px' // è¡¨å•项间距优化
            marginBottom: '24px'
          }
        }, [
          h(ElSelect, {
            placeholder: '请选择出库站台(3-12)',
            placeholder: '请选择出库站台',
            modelValue: formData.selectedPlatform,
            'onUpdate:modelValue': (val) => {
              formData.selectedPlatform = val;
            },
            style: {
              width: '100%',
              height: '40px', // ç»Ÿä¸€ç»„件高度
              height: '40px',
              borderRadius: '4px',
              borderColor: '#dcdfe6'
            }
@@ -120,12 +120,12 @@
            h(ElOption, { label: platform.label, value: platform.value })
          ))
        ]),
        // æ‰˜ç›˜ç¼–号(下,优化样式)
        h(ElFormItem, {
          label: '料箱号',
          prop: 'palletCode',
          style: {
            marginBottom: '16px' // ä¸ŽæŒ‰é’®åŒºæ‹‰å¼€åˆç†é—´è·
            marginBottom: '16px'
          }
        }, [
          h(ElInput, {
@@ -137,21 +137,21 @@
            },
            style: {
              width: '100%',
              height: '40px', // ä¸Žé€‰æ‹©å™¨é«˜åº¦ç»Ÿä¸€
              height: '40px',
              borderRadius: '4px',
              borderColor: '#dcdfe6'
            },
            attrs: {
              placeholderStyle: 'color: #909399;' // å ä½æ–‡å­—颜色优化,更柔和
              placeholderStyle: 'color: #909399;'
            }
          })
        ]),
        // åº•部按钮区(样式优化)
        h('div', {
          style: {
            textAlign: 'right',
            marginTop: '8px',
            paddingRight: '4px' // æŒ‰é’®ä¸Žå³ä¾§å¯¹é½å¾®è°ƒ
            paddingRight: '4px'
          }
        }, [
          h(ElButton, {
@@ -163,7 +163,7 @@
            },
            style: {
              marginRight: '8px',
              color: '#606266' // å–消按钮颜色优化
              color: '#606266'
            }
          }, '取消'),
          h(ElButton, {
@@ -180,7 +180,8 @@
                
              }).then(({ data, status, message }) => {
                if (status) {
                  ElMessage.success(`出库成功,分配的托盘编号:${data.palletCode || formData.palletCode}`);
                  ElMessage.success(`出库成功`);
                  this.refresh();
                  render(null, mountNode);
                  document.body.removeChild(mountNode);
@@ -193,7 +194,7 @@
            },
            style: {
              borderRadius: '4px',
              padding: '8px 20px' // æŒ‰é’®å†…边距优化,点击区域更舒适
              padding: '8px 20px'
            }
          }, '确定')
        ])
ÏîÄ¿´úÂë/WIDESEA_WMSClient/src/extension/taskinfo/task.js
@@ -1,6 +1,8 @@
//此js文件是用来自定义扩展业务代码,可以扩展一些自定义页面或者重新配置生成的代码
import {  ElMessage } from 'element-plus';
let extension = {
    components: {
      //查询界面扩展组件
@@ -13,7 +15,31 @@
      modelFooter: ''
    },
    tableAction: '', //指定某张表的权限(这里填写表名,默认不用填写)
    buttons: { view: [], box: [], detail: [] }, //扩展的按钮
    buttons: { view: [
      {
        name: '重下任务',
        type: 'primary',
        value: '重下任务',
        onClick: async function () {
          const selectRows = this.$refs.table.getSelected();
          if (selectRows.length == 0) return ElMessage.warning('请选择一条任务');
          if (selectRows.length > 1) return ElMessage.warning('只能选择一条任务');
          const taskNum = selectRows[0].taskId;
          try{
            const response = await http.post('api/Task/RecreateTasks?taskNums='+taskNum, '任务重下中...');
            const { status, message ,data} = response;
            if (status) {
              ElMessage.success(`重下任务成功`);
              this.refresh();
            }else{
              ElMessage.error(`重下任务失败:${message}`);
            }
          }catch(err){
            ElMessage.error(`重下任务异常:${err.message}`);
          }
        }
      }
    ], box: [], detail: [] }, //扩展的按钮
    methods: {
       //下面这些方法可以保留也可以删除
      onInit() {  
ÏîÄ¿´úÂë/WIDESEA_WMSClient/src/views/inbound/inboundOrder.vue
@@ -158,6 +158,14 @@
        bind: { key: "inOrderType", data: [] },
      },
      {
        field: "businessType",
        title: "业务类型",
        type: "string",
        width: 150,
        align: "left",
        bind: { key: "businessType", data: [] },
      },
      {
        field: "orderStatus",
        title: "单据状态",
        type: "decimal",
@@ -267,6 +275,14 @@
          required: true,
        },
        {
          field: "warehouseCode",
          title: "仓库号",
          type: "decimal",
          width: 90,
          align: "left",
          required: true
        },
        {
          field: "barcode",
          title: "条码",
          type: "decimal",
ÏîÄ¿´úÂë/WIDESEA_WMSClient/src/views/outbound/outboundOrder.vue
@@ -178,6 +178,14 @@
        bind: { key: "outOrderType", data: [] },
      },
      {
        field: "businessType",
        title: "业务类型",
        type: "string",
        width: 150,
        align: "left",
        bind: { key: "businessType", data: [] },
      },
      {
        field: "orderStatus",
        title: "单据状态",
        type: "decimal",
ÏîÄ¿´úÂë/WIDESEA_WMSClient/src/views/stock/stockInfo.vue
@@ -71,20 +71,20 @@
          align: "left",
        },
        {
          field: "locationCode",
          title: "货位编号",
          field: "palletType",
          title: "托盘类型",
          type: "string",
          width: 150,
          align: "left",
          bind: { key: "palletType", data: [] },
        },
        // {
        //   field: "isFull",
        //   title: "是否满盘",
        //   type: "string",
        //   width: 150,
        //   align: "left",
        //   bind: { key: "yesno", data: [] },
        // },
        {
          field: "locationCode",
          title: "货位编号",
          type: "string",
          width: 150,
          align: "left",
        },
         {
          field: "warehouseId",
          title: "仓库",