From 1c631b345aae30bb6aa7e9dc8d856a0f40d5f1e3 Mon Sep 17 00:00:00 2001
From: liulijun <liulijun@hnkhzn.com>
Date: 星期五, 20 三月 2026 10:49:08 +0800
Subject: [PATCH] 修复货位平面图锁定状态的显示
---
项目代码/WMS/WMSClient/src/views/outbound/outSGOrder.vue | 595 ++++++++++++++++++++++++++++++++++------------------------
1 files changed, 347 insertions(+), 248 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSClient/src/views/outbound/outSGOrder.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSClient/src/views/outbound/outSGOrder.vue"
index 0e7cd71..b43a08a 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSClient/src/views/outbound/outSGOrder.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSClient/src/views/outbound/outSGOrder.vue"
@@ -1,71 +1,227 @@
-
<template>
- <view-grid
- ref="grid"
- :columns="columns"
- :detail="detail"
- :editFormFields="editFormFields"
- :editFormOptions="editFormOptions"
- :searchFormFields="searchFormFields"
- :searchFormOptions="searchFormOptions"
- :table="table"
- :extend="extend"
- >
- </view-grid>
- </template>
- <script>
- import extend from "@/extension/outbound/outSGOrder.js";
- import { ref, defineComponent } from "vue";
- export default defineComponent({
- setup() {
- const table = ref({
- key: "id",
- footer: "Foots",
- cnName: "鐢熺鎺掔▼鍗�",
- name: "outSGOrder",
- url: "/OutSGOrder/",
- sortName: "id",
- });
- const editFormFields = ref({
- boardMpsNo:""
- });
- const editFormOptions = ref([
- [
- {
- field: "boardMpsNo",
- title: "鍗曟嵁缂栧彿",
- type: "string",
- readonly:true
+ <view-grid ref="grid" :columns="columns" :detail="detail" :editFormFields="editFormFields"
+ :editFormOptions="editFormOptions" :searchFormFields="searchFormFields" :searchFormOptions="searchFormOptions"
+ :table="table" :extend="extend">
+ </view-grid>
+</template>
+<script>
+import extend from "@/extension/outbound/outSGOrder.js";
+import { ref, defineComponent } from "vue";
+export default defineComponent({
+ setup() {
+ const table = ref({
+ key: "id",
+ footer: "Foots",
+ cnName: "鐢熺鎺掔▼鍗�",
+ name: "outSGOrder",
+ url: "/OutSGOrder/",
+ sortName: "id",
+ });
+ const editFormFields = ref({
+ boardMpsNo: ""
+ });
+ const editFormOptions = ref([
+ [
+ {
+ field: "boardMpsNo",
+ title: "鍗曟嵁缂栧彿",
+ type: "string",
+ readonly: true
+ }
+ ],
+ ]);
+ const searchFormFields = ref({
+ outSGOrderNo: "",
+ boardMpsId: "",
+ orderId: "",
+ outSGOrderStatus: "",
+ warehouseId: "",
+ shortName: "",
+ });
+ const searchFormOptions = ref([
+ [
+ { title: "WMS鍗曞彿", field: "outSGOrderNo", type: "like" },
+ { title: "鍑哄簱涓婃父ID", field: "boardMpsId", type: "like" },
+ { title: "涓婃父鐢熶骇鍗曞彿", field: "orderId", type: "like" },
+ {
+ title: "鍗曟嵁鐘舵��",
+ field: "outSGOrderStatus",
+ type: "select",
+ dataKey: "outboundStatusEnum",
+ data: [],
+ },
+ ],
+ [
+ { title: "浠撳簱", field: "warehouseId", type: "selectList", dataKey: "warehouses", data: [], },
+ { title: "瀹㈡埛绠�绉�", field: "shortName", type: "like" },
+ ],
+ ]);
+ const columns = ref([
+ {
+ field: "id",
+ title: "Id",
+ type: "int",
+ width: 90,
+ hidden: true,
+ readonly: true,
+ require: true,
+ align: "left",
+ },
+ {
+ field: "warehouseId",
+ title: "浠撳簱",
+ type: "string",
+ width: 90,
+ align: "left",
+ bind: { key: "warehouses", data: [] }
+ },
+ {
+ field: "outSGOrderNo",
+ title: "WMS鍗曞彿",
+ type: "string",
+ width: 160,
+ align: "left",
+ // link: true,
+ },
+ {
+ field: "boardMpsId",
+ title: "涓婃父鍗曟嵁ID",
+ type: "int",
+ width: 160,
+ align: "left",
+ // link: true,
+ },
+ {
+ field: "orderId",
+ title: "鎺掔▼鍙�",
+ type: "string",
+ width: 160,
+ align: "left",
+ },
+ {
+ field: "number",
+ title: "鐢ㄧ焊搴忓彿",
+ type: "string",
+ width: 90,
+ align: "left",
+ },
+ {
+ field: "shortName",
+ title: "瀹㈡埛绠�绉�",
+ type: "string",
+ width: 90,
+ align: "left",
+ },
+ {
+ field: "outSGOrderStatus",
+ title: "鍑哄簱鍗曠姸鎬�",
+ type: "tag",
+ width: 110,
+ align: "left",
+ bind: { key: "outboundStatusEnum", data: [] },
+ getColor: (row) => {
+ const status = row.outSGOrderStatus;
+ if (status === 3) { // 缂烘枡
+ return 'danger'; // 绾㈣壊
+ } else if (status === 0) { // 鏈紑濮�
+ return 'success'; // 缁胯壊
+ } else if (status === 1) { // 鍑哄簱涓�
+ return 'primary'; // 钃濊壊
}
- ],
- ]);
- const searchFormFields = ref({
- outSGOrderNo: "",
- boardMpsId: "",
- orderId: "",
- outSGOrderStatus: "",
- warehouseId: "",
- shortName: "",
- });
- const searchFormOptions = ref([
- [
- { title: "WMS鍗曞彿", field: "outSGOrderNo", type: "like" },
- { title: "鍑哄簱涓婃父ID", field: "boardMpsId", type: "like" },
- { title: "涓婃父鐢熶骇鍗曞彿", field: "orderId", type: "like" },
- {
- title: "鍗曟嵁鐘舵��",
- field: "outSGOrderStatus",
- type: "select",
- dataKey: "outboundStatusEnum",
- data: [],
- },
- ],
- [
- { title: "浠撳簱", field: "warehouseId",type: "selectList",dataKey: "warehouses",data: [],},
- { title: "瀹㈡埛绠�绉�", field: "shortName", type: "like" },
- ],
- ]);
- const columns = ref([
+ return ''; // 榛樿鏃犻鑹�
+ }
+ },
+ {
+ field: "createDate",
+ title: "鍒涘缓鏃堕棿",
+ type: "datetime",
+ width: 160,
+ align: "left",
+ },
+ {
+ field: "materialNos",
+ title: "鐗╂枡缂栧彿",
+ type: "string",
+ width: 160,
+ align: "left",
+ formatter: (row) => {
+ const materialNos = row.materialNos;
+ if (!materialNos) return materialNos;
+
+ // 澶勭悊鐗╂枡缂栧彿锛屾牴鎹瘡涓墿鏂欑殑瀹為檯鐘舵�佹樉绀洪鑹�
+ const materialList = materialNos.split('/');
+ let formattedMaterials = [];
+
+ // 濡傛灉鏈夌墿鏂欑己鏂欑姸鎬佸瓧绗︿覆锛屾牴鎹瘡涓墿鏂欑殑鐘舵�佹樉绀洪鑹�
+ if (row.materialLackStatus) {
+ // 瑙f瀽鐗╂枡缂烘枡鐘舵�佸瓧绗︿覆锛氱墿鏂欑紪鍙�:鐘舵��,鐗╂枡缂栧彿:鐘舵��
+ const statusPairs = row.materialLackStatus.split(',');
+ // 鑾峰彇鎵�鏈夌墿鏂欑殑缂烘枡鐘舵�佸垪琛紝淇濇寔鍘熷椤哄簭
+ const lackStatusList = statusPairs.map(pair => {
+ const [, isLack] = pair.split(':');
+ return isLack.trim() === 'true';
+ });
+
+ // 涓烘瘡涓墿鏂欑紪鍙疯缃鑹诧紝淇濇寔鍘熷椤哄簭
+ formattedMaterials = materialList.map((materialNo, index) => {
+ const trimmedMaterialNo = materialNo.trim();
+ const isLack = lackStatusList[index] || false;
+ if (isLack) {
+ return `<span style="color: red;">${trimmedMaterialNo}</span>`;
+ }
+ return trimmedMaterialNo;
+ });
+ } else {
+ // 濡傛灉娌℃湁鐗╂枡缂烘枡鐘舵�佷俊鎭紝浣跨敤璁㈠崟绾у埆鐨勭己鏂欑姸鎬�
+ const isLack = Boolean(row.isLackMaterial);
+ if (isLack) {
+ return `<span style="color: red;">${materialNos}</span>`;
+ }
+ formattedMaterials = materialList;
+ }
+
+ return formattedMaterials.join('/');
+ }
+ },
+ {
+ field: "materialWides",
+ title: "骞呭",
+ type: "string",
+ width: 100,
+ align: "left",
+ formatter: (row) => {
+ const value = row.materialWides;
+ if (value && typeof value === 'string') {
+ return value.replace(/\.\d+$/, '');
+ }
+ return value;
+ }
+ },
+ {
+ field: "boardFluteNos",
+ title: "妤炲埆",
+ type: "string",
+ width: 100,
+ align: "left"
+ },
+ {
+ field: "isLackMaterial",
+ title: "鏄惁缂烘枡",
+ type: "string",
+ width: 100,
+ align: "center",
+ formatter: (row) => {
+ const isLack = Boolean(row.isLackMaterial);
+ const text = isLack ? "鏄�" : "鍚�";
+ const bgColor = isLack ? '#ff4d4f' : '#52c41a';
+ return `<div style="background-color: ${bgColor}; color: #ffffff; text-align: center; font-weight: bold; width: 100%; height: 100%; padding: 10px 0; display: flex; justify-content: center; align-items: center;">${text}</div>`;
+ }
+ },
+ ]);
+ const detail = ref({
+ cnName: "鍑哄簱鏄庣粏鍗�",
+ table: "OutSGOrderDetail",
+ columns: [
{
field: "id",
title: "Id",
@@ -77,50 +233,128 @@
align: "left",
},
{
- field: "warehouseId",
- title: "浠撳簱",
+ field: "outSGOrderId",
+ title: "鍑哄簱鍗曚富閿�",
type: "string",
width: 90,
align: "left",
- bind:{key: "warehouses", data: []}
- },
- {
- field: "outSGOrderNo",
- title: "WMS鍗曞彿",
- type: "string",
- width: 160,
- align: "left",
- // link: true,
+ hidden: true,
},
{
field: "boardMpsId",
- title: "涓婃父鍗曟嵁ID",
- type: "int",
- width: 160,
- align: "left",
- // link: true,
- },
- {
- field: "orderId",
- title: "涓婃父鐢熶骇鍗曞彿",
- type: "string",
- width: 160,
- align: "left",
- },
- {
- field: "shortName",
- title: "瀹㈡埛绠�绉�",
+ title: "鍏宠仈鐨勪富琛↖D(涓婃父)",
type: "string",
width: 90,
align: "left",
},
{
- field: "outSGOrderStatus",
- title: "鍑哄簱鍗曠姸鎬�",
+ field: "boardMpsDetailId",
+ title: "鍏宠仈鏄庣粏ID(涓婃父)",
+ type: "string",
+ width: 90,
+ align: "left",
+ },
+ {
+ field: "materialNo",
+ title: "鐗╂枡缂栧彿",
+ type: "string",
+ width: 150,
+ align: "left",
+ edit: { type: "string" },
+ required: true,
+ },
+ {
+ field: "materielName",
+ title: "鐗╂枡鍚嶇О",
+ type: "string",
+ width: 150,
+ align: "left",
+ edit: { type: "string" },
+ },
+ {
+ field: "boardFluteNo",
+ title: "妤炲埆",
type: "string",
width: 110,
align: "left",
+ edit: { type: "string" },
+ },
+ {
+ field: "machineName",
+ title: "鏈哄彴浣�",
+ type: "string",
+ width: 110,
+ align: "left",
+ edit: { type: "string" },
+ required: true,
+ },
+ {
+ field: "width",
+ title: "骞呭",
+ type: "string",
+ width: 110,
+ align: "left",
+ edit: { type: "string" },
+ required: true,
+
+ },
+ {
+ field: "xqLen",
+ title: "闇�姹傞暱搴�",
+ type: "string",
+ width: 110,
+ align: "left",
+ edit: { type: "number" },
+ required: true,
+ },
+ {
+ field: "totalUsage",
+ title: "鎬荤敤閲�",
+ type: "string",
+ width: 90,
+ align: "left",
+ edit: { type: "number" },
+ required: true,
+ },
+ {
+ field: "procurementLength",
+ title: "閲囪喘闀垮害",
+ type: "string",
+ width: 110,
+ align: "left",
+ },
+ {
+ field: "assignTotalUsage",
+ title: "宸插垎閰嶇敤閲�",
+ type: "string",
+ width: 110,
+ align: "left",
+ },
+ {
+ field: "outTotalUsage",
+ title: "宸插嚭鐢ㄩ噺",
+ type: "string",
+ width: 110,
+ align: "left",
+ },
+ {
+ field: "outSGOrderDetailStatus",
+ title: "璁㈠崟鏄庣粏鐘舵��",
+ type: "tag",
+ width: 180,
+ align: "left",
bind: { key: "outboundStatusEnum", data: [] },
+ getColor: (row) => {
+ const status = row.outSGOrderDetailStatus;
+ if (status === 3) { // 缂烘枡
+ return 'danger'; // 绾㈣壊
+ } else if (status === 0) { // 鏈紑濮�
+ return 'success'; // 缁胯壊
+ } else if (status === 1) { // 鍑哄簱涓�
+ return 'primary'; // 钃濊壊
+ }
+ return ''; // 榛樿鏃犻鑹�
+ }
},
{
field: "createDate",
@@ -128,156 +362,21 @@
type: "datetime",
width: 160,
align: "left",
- },
- ]);
- const detail = ref({
- cnName: "鍑哄簱鏄庣粏鍗�",
- table: "OutSGOrderDetail",
- columns: [
- {
- field: "id",
- title: "Id",
- type: "int",
- width: 90,
- hidden: true,
- readonly: true,
- require: true,
- align: "left",
- },
- {
- field: "outSGOrderId",
- title: "鍑哄簱鍗曚富閿�",
- type: "string",
- width: 90,
- align: "left",
- hidden: true,
- },
- {
- field: "boardMpsId",
- title: "鍏宠仈鐨勪富琛↖D(涓婃父)",
- type: "string",
- width: 90,
- align: "left",
- },
- {
- field: "boardMpsDetailId",
- title: "鍏宠仈鏄庣粏ID(涓婃父)",
- type: "string",
- width: 90,
- align: "left",
- },
- {
- field: "materialNo",
- title: "鐗╂枡缂栧彿",
- type: "string",
- width: 150,
- align: "left",
- edit: { type: "string" },
- required: true,
- },
- {
- field: "materielName",
- title: "鐗╂枡鍚嶇О",
- type: "string",
- width: 150,
- align: "left",
- edit: { type: "string" },
- },
- {
- field: "boardFluteNo",
- title: "妤炲埆",
- type: "string",
- width: 110,
- align: "left",
- edit: { type: "string" },
- },
- {
- field: "machineName",
- title: "鏈哄彴浣�",
- type: "string",
- width: 110,
- align: "left",
- edit: { type: "string" },
- required: true,
- },
- {
- field: "width",
- title: "骞呭",
- type: "string",
- width: 110,
- align: "left",
- edit: { type: "string" },
- required: true,
- },
- {
- field: "xqLen",
- title: "闇�姹傞暱搴�",
- type: "string",
- width: 110,
- align: "left",
- edit: { type: "number" },
- required: true,
- },
- {
- field: "totalUsage",
- title: "鎬荤敤閲�",
- type: "string",
- width: 90,
- align: "left",
- edit: { type: "number" },
- required: true,
- },
- {
- field: "procurementLength",
- title: "閲囪喘闀垮害",
- type: "string",
- width: 110,
- align: "left",
- },
- {
- field: "assignTotalUsage",
- title: "宸插垎閰嶇敤閲�",
- type: "string",
- width: 110,
- align: "left",
- },
- {
- field: "outTotalUsage",
- title: "宸插嚭鐢ㄩ噺",
- type: "string",
- width: 110,
- align: "left",
- },
- {
- field: "outBSTOrderDetailStatus",
- title: "璁㈠崟鏄庣粏鐘舵��",
- type: "string",
- width: 180,
- align: "left",
- bind: { key: "outboundStatusEnum", data: [] },
- },
- {
- field: "createDate",
- title: "鍒涘缓鏃堕棿",
- type: "datetime",
- width: 160,
- align: "left",
- }
- ],
- sortName: "id",
- key: "id",
- });
- return {
- table,
- extend,
- editFormFields,
- editFormOptions,
- searchFormFields,
- searchFormOptions,
- columns,
- detail,
- };
- },
- });
- </script>
-
\ No newline at end of file
+ }
+ ],
+ sortName: "id",
+ key: "id",
+ });
+ return {
+ table,
+ extend,
+ editFormFields,
+ editFormOptions,
+ searchFormFields,
+ searchFormOptions,
+ columns,
+ detail,
+ };
+ },
+});
+</script>
\ No newline at end of file
--
Gitblit v1.9.3