From 2825b82e8a4eca618ab3c2306de2db74a2ecbd1d Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期一, 06 四月 2026 15:54:58 +0800
Subject: [PATCH] #任务取消优化
---
src/main/webapp/static/js/wrkMastLog/wrkMastLog.js | 330 ++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 314 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..34d2335 100644
--- a/src/main/webapp/static/js/wrkMastLog/wrkMastLog.js
+++ b/src/main/webapp/static/js/wrkMastLog/wrkMastLog.js
@@ -1302,6 +1302,219 @@
]);
+ 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: 'enum',
+ tableProp: 'wrkSts$',
+ exportField: 'wrkSts$',
+ enumOptions: [],
+ searchable: true,
+ quickSearch: true,
+ minWidth: 160
+ },
+ ioType: {
+ label: '浠诲姟绫诲瀷',
+ kind: 'enum',
+ tableProp: 'ioType$',
+ exportField: 'ioType$',
+ enumOptions: [],
+ searchable: true,
+ quickSearch: true,
+ minWidth: 160
+ },
+ ioTime: {
+ label: '宸ヤ綔鏃堕棿',
+ tableProp: 'ioTime$',
+ exportField: 'ioTime$',
+ kind: 'date',
+ searchable: false,
+ quickSearch: false,
+ defaultVisible: false,
+ minWidth: 300
+ },
+ appeTime: {
+ label: '宸ヤ綔鏃堕棿',
+ tableProp: 'appeTime$',
+ exportField: 'appeTime$',
+ sortable: true,
+ minWidth: 168
+ },
+ ioPri: {
+ label: '浼樺厛绾�',
+ minWidth: 90
+ },
+ sourceStaNo: {
+ label: '婧愮珯',
+ kind: 'enum',
+ enumOptions: [],
+ searchable: false,
+ minWidth: 120
+ },
+ staNo: {
+ label: '鐩爣绔�',
+ kind: 'enum',
+ enumOptions: [],
+ searchable: false,
+ minWidth: 120
+ },
+ sourceLocNo: {
+ label: '婧愬簱浣�',
+ searchable: true,
+ minWidth: 120
+ },
+ locNo: {
+ label: '鐩爣搴撲綅',
+ searchable: true,
+ quickSearch: true,
+ minWidth: 120
+ },
+ crnNo: {
+ label: '鍫嗗灈鏈�',
+ searchable: true,
+ minWidth: 100
+ },
+ dualCrnNo: {
+ label: '鍙屽伐浣嶅爢鍨涙満',
+ searchable: true,
+ minWidth: 140
+ },
+ batch: {
+ label: '鎵规',
+ minWidth: 100
+ },
+ batchSeq: {
+ label: '鎵规搴忓垪',
+ minWidth: 110
+ },
+ barcode: {
+ label: '鎵樼洏鐮�',
+ searchable: true,
+ quickSearch: true,
+ 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 +1576,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 +1633,9 @@
}
function createDefaultVisibleColumnKeys() {
- return fieldMeta.map(function (field) {
+ return fieldMeta.filter(function (field) {
+ return field.defaultVisible !== false;
+ }).map(function (field) {
return field.field;
});
}
@@ -1604,6 +1819,39 @@
};
}
+ function getFieldByName(fieldName) {
+ for (var i = 0; i < fieldMeta.length; i += 1) {
+ if (fieldMeta[i] && fieldMeta[i].field === fieldName) {
+ return fieldMeta[i];
+ }
+ }
+ return null;
+ }
+
+ function buildEnumOptions(records, valueField, labelField) {
+ var options = [];
+ var seen = {};
+ (records || []).forEach(function (item) {
+ if (!item) {
+ return;
+ }
+ var rawValue = item[valueField];
+ if (isEmptyValue(rawValue)) {
+ return;
+ }
+ var key = String(rawValue);
+ if (seen[key]) {
+ return;
+ }
+ seen[key] = true;
+ options.push({
+ rawValue: key,
+ label: isEmptyValue(item[labelField]) ? key : String(item[labelField])
+ });
+ });
+ return options;
+ }
+
function handleForbidden(res) {
if (res && res.code === 403) {
top.location.href = baseUrl + '/';
@@ -1717,21 +1965,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 +1985,7 @@
},
editableFields: function () {
return this.fieldMeta.filter(function (field) {
- return !field.primaryKey;
+ return !field.primaryKey && field.editable === true;
});
},
exportColumns: function () {
@@ -1769,6 +2009,7 @@
}
},
created: function () {
+ this.loadSearchEnumOptions();
this.loadTable();
},
mounted: function () {
@@ -1846,6 +2087,63 @@
}
this.$set(this.searchForm, field.field, '');
},
+ loadSearchEnumOptions: function () {
+ var self = this;
+ [
+ {
+ field: 'wrkSts',
+ url: baseUrl + '/basWrkStatus/list/auth',
+ valueField: 'wrkSts',
+ labelField: 'wrkDesc',
+ limit: 200
+ },
+ {
+ field: 'ioType',
+ url: baseUrl + '/basWrkIotype/list/auth',
+ valueField: 'ioType',
+ labelField: 'ioDesc',
+ limit: 200
+ },
+ {
+ field: 'staNo',
+ url: baseUrl + '/basStation/list/auth',
+ valueField: 'stationId',
+ labelField: 'stationId',
+ limit: 500
+ },
+ {
+ field: 'sourceStaNo',
+ url: baseUrl + '/basStation/list/auth',
+ valueField: 'stationId',
+ labelField: 'stationId',
+ limit: 500
+ }
+ ].forEach(function (config) {
+ $.ajax({
+ url: config.url,
+ method: 'GET',
+ headers: self.authHeaders(),
+ data: {
+ curr: 1,
+ limit: config.limit
+ },
+ success: function (res) {
+ if (self.handleForbidden(res)) {
+ return;
+ }
+ if (!res || res.code !== 200) {
+ return;
+ }
+ var payload = res.data || {};
+ var field = getFieldByName(config.field);
+ if (!field) {
+ return;
+ }
+ self.$set(field, 'enumOptions', buildEnumOptions(payload.records, config.valueField, config.labelField));
+ }
+ });
+ });
+ },
buildQueryParams: function () {
var self = this;
var params = {
--
Gitblit v1.9.1