From 8a50a90c91918b7a97ae778c0fc63480279598db Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期五, 13 三月 2026 13:35:12 +0800
Subject: [PATCH] #

---
 src/main/webapp/static/js/wrkMastLog/wrkMastLog.js |  224 ++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 208 insertions(+), 16 deletions(-)

diff --git a/src/main/webapp/static/js/wrkMastLog/wrkMastLog.js b/src/main/webapp/static/js/wrkMastLog/wrkMastLog.js
index b6acfcf..1dd1f6c 100644
--- a/src/main/webapp/static/js/wrkMastLog/wrkMastLog.js
+++ b/src/main/webapp/static/js/wrkMastLog/wrkMastLog.js
@@ -1302,6 +1302,204 @@
 
     ]);
 
+    var wrkMastLogFieldOrder = [
+        'wrkNo',
+        'wmsWrkNo',
+        'wrkSts',
+        'ioType',
+        'ioTime',
+        'appeTime',
+        'ioPri',
+        'sourceStaNo',
+        'staNo',
+        'sourceLocNo',
+        'locNo',
+        'crnNo',
+        'dualCrnNo',
+        'batch',
+        'batchSeq',
+        'barcode',
+        'modiUser',
+        'modiTime',
+        'appeUser',
+        'systemMsg',
+        'errorTime',
+        'errorMemo',
+        'memo',
+        'id'
+    ];
+
+    var wrkMastLogFieldSettings = {
+        wrkNo: {
+            label: '宸ヤ綔鍙�',
+            searchable: true,
+            quickSearch: true,
+            sortable: true,
+            minWidth: 110
+        },
+        wmsWrkNo: {
+            label: 'WMS宸ヤ綔鍙�',
+            searchable: true,
+            quickSearch: true,
+            minWidth: 140
+        },
+        wrkSts: {
+            label: '宸ヤ綔鐘舵��',
+            kind: 'foreign',
+            tableProp: 'wrkSts$',
+            exportField: 'wrkSts$',
+            foreignQuery: 'basWrkStatus',
+            searchable: true,
+            quickSearch: true,
+            minWidth: 160
+        },
+        ioType: {
+            label: '鍏ュ嚭搴撶被鍨�',
+            kind: 'foreign',
+            tableProp: 'ioType$',
+            exportField: 'ioType$',
+            foreignQuery: 'basWrkIotype',
+            searchable: true,
+            quickSearch: true,
+            minWidth: 160
+        },
+        ioTime: {
+            label: '宸ヤ綔鏃堕棿',
+            tableProp: 'ioTime$',
+            exportField: 'ioTime$',
+            kind: 'date',
+            searchable: true,
+            quickSearch: true,
+            defaultVisible: false,
+            minWidth: 300
+        },
+        appeTime: {
+            label: '宸ヤ綔鏃堕棿',
+            tableProp: 'appeTime$',
+            exportField: 'appeTime$',
+            sortable: true,
+            minWidth: 168
+        },
+        ioPri: {
+            label: '浼樺厛绾�',
+            minWidth: 90
+        },
+        sourceStaNo: {
+            label: '婧愮珯'
+        },
+        staNo: {
+            label: '鐩爣绔�'
+        },
+        sourceLocNo: {
+            label: '婧愬簱浣�',
+            minWidth: 120
+        },
+        locNo: {
+            label: '鐩爣搴撲綅',
+            minWidth: 120
+        },
+        crnNo: {
+            label: '鍫嗗灈鏈�',
+            minWidth: 100
+        },
+        dualCrnNo: {
+            label: '鍙屽伐浣嶅爢鍨涙満',
+            minWidth: 140
+        },
+        batch: {
+            label: '鎵规',
+            minWidth: 100
+        },
+        batchSeq: {
+            label: '鎵规搴忓垪',
+            minWidth: 110
+        },
+        barcode: {
+            label: '鏉$爜',
+            minWidth: 140
+        },
+        modiUser: {
+            label: '淇敼浜哄憳',
+            tableProp: 'modiUser$',
+            exportField: 'modiUser$',
+            defaultVisible: false
+        },
+        modiTime: {
+            label: '淇敼鏃堕棿',
+            tableProp: 'modiTime$',
+            exportField: 'modiTime$',
+            defaultVisible: false,
+            minWidth: 168
+        },
+        appeUser: {
+            label: '鍒涘缓鑰�',
+            tableProp: 'appeUser$',
+            exportField: 'appeUser$',
+            defaultVisible: false
+        },
+        systemMsg: {
+            label: '绯荤粺娑堟伅',
+            textarea: true,
+            defaultVisible: false,
+            minWidth: 220
+        },
+        errorTime: {
+            label: '寮傚父鏃堕棿',
+            tableProp: 'errorTime$',
+            exportField: 'errorTime$',
+            defaultVisible: false,
+            minWidth: 168
+        },
+        errorMemo: {
+            label: '寮傚父璇存槑',
+            textarea: true,
+            defaultVisible: false,
+            minWidth: 220
+        },
+        memo: {
+            label: '澶囨敞',
+            textarea: true,
+            defaultVisible: false,
+            minWidth: 220
+        },
+        id: {
+            label: '缂栧彿',
+            defaultVisible: false,
+            minWidth: 90
+        }
+    };
+
+    fieldMeta = filterFieldMetaByOrder(fieldMeta, wrkMastLogFieldOrder, wrkMastLogFieldSettings);
+
+    function filterFieldMetaByOrder(list, order, settings) {
+        var metaMap = {};
+        (list || []).forEach(function (field) {
+            if (!field || !field.field) {
+                return;
+            }
+            metaMap[field.field] = Object.assign({}, field);
+        });
+        return (order || []).map(function (fieldName) {
+            if (!metaMap[fieldName]) {
+                return null;
+            }
+            var merged = Object.assign({}, metaMap[fieldName], settings && settings[fieldName] ? settings[fieldName] : {});
+            if (merged.searchable === undefined) {
+                merged.searchable = false;
+            }
+            if (merged.quickSearch === undefined) {
+                merged.quickSearch = false;
+            }
+            if (merged.editable === undefined) {
+                merged.editable = false;
+            }
+            if (merged.defaultVisible === undefined) {
+                merged.defaultVisible = true;
+            }
+            return merged;
+        }).filter(Boolean);
+    }
+
     function formatFieldLabel(field) {
         var raw = field && field.label ? String(field.label).trim() : '';
         if (raw) {
@@ -1363,15 +1561,15 @@
     }
 
     function isSearchableField(field) {
-        return !!field && field.kind !== 'image' && !field.textarea;
+        return !!field && field.searchable === true && field.kind !== 'image' && !field.textarea;
     }
 
     function isSortableField(field) {
         if (!field) {
             return false;
         }
-        if (field.primaryKey) {
-            return true;
+        if (typeof field.sortable === 'boolean') {
+            return field.sortable;
         }
         return field.kind !== 'image' && !field.textarea && field.kind !== 'foreign';
     }
@@ -1420,7 +1618,9 @@
     }
 
     function createDefaultVisibleColumnKeys() {
-        return fieldMeta.map(function (field) {
+        return fieldMeta.filter(function (field) {
+            return field.defaultVisible !== false;
+        }).map(function (field) {
             return field.field;
         });
     }
@@ -1717,21 +1917,13 @@
                     });
                 },
                 quickSearchableFields: function () {
-                    var result = [];
-                    this.searchableFields.forEach(function (field) {
-                        if (result.length >= 3 || field.kind === 'date') {
-                            return;
-                        }
-                        result.push(field);
+                    return this.searchableFields.filter(function (field) {
+                        return field.quickSearch === true;
                     });
-                    return result;
                 },
                 advancedSearchableFields: function () {
-                    var quickKeys = this.quickSearchableFields.map(function (field) {
-                        return field.field;
-                    });
                     return this.searchableFields.filter(function (field) {
-                        return quickKeys.indexOf(field.field) === -1;
+                        return field.quickSearch !== true;
                     });
                 },
                 hasAdvancedFilters: function () {
@@ -1745,7 +1937,7 @@
                 },
                 editableFields: function () {
                     return this.fieldMeta.filter(function (field) {
-                        return !field.primaryKey;
+                        return !field.primaryKey && field.editable === true;
                     });
                 },
                 exportColumns: function () {

--
Gitblit v1.9.1