From ce958810cabd72b5ee6bc4b9433633b0230bcfdd Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期一, 04 五月 2026 22:51:57 +0800
Subject: [PATCH] # WCS输送站点、堆垛机配置页面参数增加可视化配置V3.0.1.5
---
src/main/webapp/static/js/basDevp/basDevp.js | 66 +++++++++++++++++++++++++++++++++
1 files changed, 66 insertions(+), 0 deletions(-)
diff --git a/src/main/webapp/static/js/basDevp/basDevp.js b/src/main/webapp/static/js/basDevp/basDevp.js
index 3d337a5..29a7355 100644
--- a/src/main/webapp/static/js/basDevp/basDevp.js
+++ b/src/main/webapp/static/js/basDevp/basDevp.js
@@ -2268,6 +2268,8 @@
tableResizeHandler: null,
dialogForm: createFormDefaults(),
dialogDisplay: createDisplayDefaults(),
+ stationEditorFields: ['stationList', 'barcodeStationList', 'inStationList', 'outStationList', 'runBlockReassignLocStationList', 'isOutOrderList', 'isLiftTransferList'],
+ jsonEditorRows: {},
dialogRules: createFormRules()
};
},
@@ -2501,6 +2503,7 @@
resetDialogState: function () {
this.dialogForm = createFormDefaults();
this.dialogDisplay = createDisplayDefaults();
+ this.jsonEditorRows = {};
if (this.$refs.dialogForm) {
this.$refs.dialogForm.clearValidate();
}
@@ -2517,6 +2520,7 @@
self.$nextTick(function () {
self.resetDialogState();
fillFormFromRow(row, self.dialogForm, self.dialogDisplay);
+ self.initJsonEditorRows();
if (self.$refs.dialogForm) {
self.$refs.dialogForm.clearValidate();
}
@@ -2525,6 +2529,12 @@
submitDialog: function () {
var self = this;
if (!self.$refs.dialogForm) {
+ return;
+ }
+ self.syncAllJsonEditors();
+ var jsonError = self.validateAllJsonEditors();
+ if (jsonError) {
+ self.$message.warning(jsonError);
return;
}
self.$refs.dialogForm.validate(function (valid) {
@@ -2558,6 +2568,62 @@
return true;
});
},
+ initJsonEditorRows: function () {
+ var self = this;
+ var editors = window.WcsJsonEditors;
+ self.stationEditorFields.forEach(function (field) {
+ self.$set(self.jsonEditorRows, field, editors.parseStationList(self.dialogForm[field]));
+ });
+ },
+ syncAllJsonEditors: function () {
+ var self = this;
+ var editors = window.WcsJsonEditors;
+ self.stationEditorFields.forEach(function (field) {
+ self.$set(self.dialogForm, field, editors.buildStationListJson(self.jsonEditorRows[field]));
+ });
+ },
+ validateAllJsonEditors: function () {
+ var self = this;
+ var editors = window.WcsJsonEditors;
+ var error = '';
+ self.stationEditorFields.forEach(function (field) {
+ if (error) return;
+ error = editors.validateStationList(self.jsonEditorRows[field]);
+ });
+ return error;
+ },
+ addStationRow: function (field) {
+ if (!this.jsonEditorRows[field]) {
+ this.$set(this.jsonEditorRows, field, []);
+ }
+ this.jsonEditorRows[field].push(window.WcsJsonEditors.createEmptyStation());
+ this.syncAllJsonEditors();
+ },
+ removeStationRow: function (field, index) {
+ this.jsonEditorRows[field].splice(index, 1);
+ this.syncAllJsonEditors();
+ },
+ toggleNested: function (field, rowIndex, nestedKey) {
+ var row = this.jsonEditorRows[field][rowIndex];
+ var showKey = '_show' + nestedKey.charAt(0).toUpperCase() + nestedKey.slice(1);
+ this.$set(row, showKey, !row[showKey]);
+ },
+ addNestedStation: function (field, rowIndex, nestedKey) {
+ var row = this.jsonEditorRows[field][rowIndex];
+ var nested = {};
+ window.WcsJsonEditors.STATION_OBJ_FIELDS.forEach(function (k) { nested[k] = ''; });
+ this.$set(row, nestedKey, nested);
+ var showKey = '_show' + nestedKey.charAt(0).toUpperCase() + nestedKey.slice(1);
+ this.$set(row, showKey, true);
+ this.syncAllJsonEditors();
+ },
+ removeNestedStation: function (field, rowIndex, nestedKey) {
+ this.$set(this.jsonEditorRows[field][rowIndex], nestedKey, null);
+ this.syncAllJsonEditors();
+ },
+ syncStationField: function (field) {
+ this.$set(this.dialogForm, field, window.WcsJsonEditors.buildStationListJson(this.jsonEditorRows[field]));
+ },
removeSelection: function () {
var self = this;
var ids = self.selection.map(function (row) {
--
Gitblit v1.9.1