liulijun
2026-03-20 1c631b345aae30bb6aa7e9dc8d856a0f40d5f1e3
ÏîÄ¿´úÂë/WMS/WMSClient/src/extension/outbound/extend/outSGOrderDetail.vue
@@ -86,9 +86,22 @@
              </div>
              <div v-else-if="item.type == 'tag'">
                <el-tag size="small">
                <el-tag
                  size="small"
                  :type="getTagType(scoped.row, item)">
                  {{ getDictionary(scoped.row, item) }}
                </el-tag>
              </div>
              <div v-else>
                <!-- ç‰©æ–™ç¼–号列特殊处理,缺料时显示红色 -->
                <span v-if="item.prop == 'materialNo'" :style="{color: isMaterialShortage(scoped.row) ? 'red' : ''}">
                  {{ scoped.row[item.prop] }}
                </span>
                <!-- å…¶ä»–普通列 -->
                <span v-else>
                  {{ scoped.row[item.prop] }}
                </span>
              </div>
            </template>
          </el-table-column>
@@ -325,7 +338,7 @@
        this.$refs.child.open(row);
      } else {
        //点击打开出库详情
        this.$refs.selectedStock.open(row,this.row.outSGOrderNo);
        this.$refs.selectedStock.open(row,this.row.orderId);
      }
    },
    outbound() {
@@ -412,6 +425,24 @@
        }
      }
    },
    getTagType(row, column) {
      // æ ¹æ®è®¢å•状态返回对应的标签类型
      const status = row[column.prop];
      if (status === 3) { // ç¼ºæ–™
        return 'danger'; // çº¢è‰²
      } else if (status === 0) { // æœªå¼€å§‹
        return 'success'; // ç»¿è‰²
      } else if (status === 1) { // å‡ºåº“中
        return 'primary'; // è“è‰²
      }
      return ''; // é»˜è®¤æ— é¢œè‰²
    },
    isMaterialShortage(row) {
      // åˆ¤æ–­å½“前行物料是否缺料,只根据当前行的明细状态判断
      // æ˜Žç»†çŠ¶æ€ä¸º3表示缺料,支持数字和字符串类型
      const status = parseInt(row.outSGOrderDetailStatus);
      return status === 3;
    },
  },
};
</script>