完成初版

This commit is contained in:
2026-06-18 16:26:31 +08:00
parent 6ca67ec941
commit 8e3dd5e1cd
27 changed files with 5024 additions and 678 deletions

View File

@@ -0,0 +1,177 @@
(function (factory) {
var nameSpace = 'field_17179214358792461983';
if (!window[nameSpace]) {
console.log("开始实例化边界区域配置按钮")
var Builder = factory();
window[nameSpace] = { instance: {} };
window[nameSpace].init = function (options) {
window[nameSpace].instance[options.privateId] = new Builder(options);
};
}
})(function () {
function App(options) {
var self = this;
self.initParams(options);
self.initDom();
self.events();
}
App.prototype = {
initParams: function (options) {
var self = this;
self.adaptation = options.adaptation;
self.privateId = options.privateId;
self.preUrl = options.url_prefix;
self.adaptation.formMessage = options.formMessage;
self.messageObj = options.getData;
},
initDom: function () {
var self = this;
// 修复避免重复加载CSS
if (!document.querySelector('link[href="' + self.preUrl + '/css/goMapBtn.css' + '"]')) {
dynamicLoading.css(self.preUrl + '/css/goMapBtn.css');
}
self.appendChildDom();
},
events: function () {
var self = this;
self.adaptation.ObserverEvent.listen('Event' + self.privateId, function () {
self.messageObj = self.adaptation.childrenGetData(self.privateId);
self.appendChildDom();
});
},
openBoundConfig: function (privateId,messageObj,adaptation) {
var self = this;
messageObj = adaptation.childrenGetData(privateId);
var targetObj = messageObj.formdata.formmains[messageObj.formdata.alldata.tableInfo.formmain.tableName];
var boundData = '';
var assetsId = '';
if (targetObj) {
for (var key in targetObj) {
if (targetObj.hasOwnProperty(key) && !/^auxiliary/.test(key)) {
var display = targetObj[key].display;
// 修复:去掉未定义的 fieldMap
if (display === "资产边界数据") {
boundData = targetObj[key].showValue;
}
if (display === "资产编号") {
assetsId = targetObj[key].showValue;
}
}
}
}
var dialog = $.dialog({
id: 'boundConfigDialog',
url: self.preUrl + '/html/boundConfig.html',
width: 1100,
height: 750,
title: '配置资产区域边界',
transParams: { oldBoundConfig: boundData, assetsId: assetsId },
type: 'panel',
checkMax: true,
closeParam: {
'show': false,
autoClose: false,
handler: function () { }
},
buttons: [{
text: "确认保存",
handler: function () {
var result = dialog.getReturnValue();
console.log("资产边界数据: " + result)
// 修复:参数顺序与回填对应
backFill(result, messageObj.id, "资产边界数据", privateId, messageObj, adaptation);
dialog.close()
}
}, {
text: "取消",
handler: function () {
dialog.close();
}
}]
});
},
appendChildDom: function () {
var self = this;
var doJump = function () {
self.openBoundConfig(self.privateId, self.messageObj, self.adaptation);
};
var domStructure = '<section class="customButton_box_content">' +
'<div class="customButton_class_box ' + self.privateId + '" title="' + self.messageObj.display.escapeHTML() + '">' + self.messageObj.display.escapeHTML() + '</div>' +
'</section>';
var $container = document.querySelector('#' + self.privateId);
if (!$container) return;
$container.innerHTML = domStructure;
var $btn = document.querySelector('.' + self.privateId);
if ($btn) {
$btn.removeEventListener('click', doJump);
$btn.addEventListener('click', doJump);
}
if (self.messageObj.auth === 'hide') {
$container.innerHTML = '<div class="cap4-text__browse" style="line-height: 1.8; color: rgb(0, 0, 0) !important;">***</div>';
}
}
};
function backFill(boundConfig, fieldName, fieldDisplay, privateId, messageObj, adaptation) {
var param = {};
param.masterId = messageObj.formdata.content.contentDataId;
param.value = boundConfig;
param.formId = messageObj.formdata.content.contentTemplateId;
param.fieldName = fieldName;
param.fieldDisplay = fieldDisplay;
$.ajax({
type: "POST",
url: '/seeyon/rest/assetsRegion/formBackFill',
data: JSON.stringify(param),
dataType: "json",
contentType: 'application/json;charset=UTF-8',
success: function (res) {
if (res.code == 0) {
var backfillData = {};
backfillData.tableName = adaptation.formMessage.tableName;
backfillData.tableCategory = 'formmain';
backfillData.updateData = res.data;
adaptation.backfillFormControlData(backfillData, privateId);
} else {
$.alert(res.message);
}
},
error: function (e) {
top.$.error(e.responseText || '保存失败');
}
});
}
var dynamicLoading = {
css: function (path) {
if (!path) return;
var head = document.getElementsByTagName('head')[0];
var link = document.createElement('link');
link.href = path;
link.rel = 'stylesheet';
link.type = 'text/css';
head.appendChild(link);
},
js: function (path) {
if (!path) return;
var head = document.getElementsByTagName('head')[0];
var script = document.createElement('script');
script.src = path;
script.type = 'text/javascript';
head.appendChild(script);
}
}
return App;
});

View File

@@ -0,0 +1,114 @@
(function (factory) {
var nameSpace = 'field_17179215134928371056';
if (!window[nameSpace]) {
console.log("开始实例化跳转地图按钮")
var Builder = factory();
window[nameSpace] = {
instance: {}
};
window[nameSpace].init = function (options) {
window[nameSpace].instance[options.privateId] = new Builder(options);
};
}
})(function () {
function App(options) {
var self = this;
self.initParams(options);
//初始化dom
self.initDom();
//事件
self.events();
}
App.prototype = {
initParams: function (options) {
console.log("开始初始化参数")
var self = this;
self.adaptation = options.adaptation;
self.privateId = options.privateId;
self.preUrl = options.url_prefix;
self.adaptation.formMessage = options.formMessage;
self.messageObj = options.getData;
console.log(self.messageObj)
},
initDom: function () {
var self = this;
console.log("开始渲染dom")
dynamicLoading.css(self.preUrl + '/css/goMapBtn.css');
self.appendChildDom();
},
events: function () {
var self = this;
// 监听是否数据刷新
console.log("设置事件监听")
self.adaptation.ObserverEvent.listen('Event' + self.privateId, function () {
self.messageObj = self.adaptation.childrenGetData(self.privateId);
self.appendChildDom();
});
},
goMap: function (privateId, messageObj, adaptation) {
// 获取表单中的资产编号,跳转到资产地图
console.log("privateId:" + privateId)
console.log("messageObj:" + messageObj)
console.log(adaptation)
messageObj = adaptation.childrenGetData(privateId);
var targetObj = messageObj.formdata.formmains[adaptation.formMessage.tableName];
if (!targetObj) return;
var assetNo;
for (var key in targetObj) {
if (targetObj.hasOwnProperty(key) && !/^auxiliary/.test(key)) {
if (targetObj[key].display === "资产编号") {
assetNo = targetObj[key].showValue;
break;
}
}
}
if (assetNo) {
var baseUrl = window.location.origin + '/seeyon/seeyonExtend/assetsMap/map.html';
window.open(baseUrl + '?assetId=' + encodeURIComponent(assetNo), '_blank');
} else {
$.alert('未找到资产编号字段');
}
},
appendChildDom: function () {
var self = this;
var doJump = function () {
self.goMap(self.privateId, self.messageObj, self.adaptation)
}
var domStructure = '<section class="customButton_box_content">' +
'<div class="customButton_class_box ' + self.privateId + '" title="' + self.messageObj.display.escapeHTML() + '">' + self.messageObj.display.escapeHTML() + '</div>' +
'</section>';
document.querySelector('#' + self.privateId).innerHTML = domStructure;
var content = self.messageObj.formdata.content
document.querySelector('.' + self.privateId).removeEventListener('click', doJump);
document.querySelector('.' + self.privateId).addEventListener('click', doJump);
}
};
var dynamicLoading = {
css: function (path) {
if (!path || path.length === 0) {
throw new Error('argument "path" is required !');
}
var head = document.getElementsByTagName('head')[0];
var link = document.createElement('link');
link.href = path;
link.rel = 'stylesheet';
link.type = 'text/css';
head.appendChild(link);
},
js: function (path) {
if (!path || path.length === 0) {
throw new Error('argument "path" is required !');
}
var head = document.getElementsByTagName('head')[0];
var script = document.createElement('script');
script.src = path;
script.type = 'text/javascript';
head.appendChild(script);
}
}
return App;
});

View File

@@ -0,0 +1,166 @@
(function(factory) {
var nameSpace = 'field_17179214358792461984';
if (!window[nameSpace]) {
console.log("开始实例化资产定位按钮")
var Builder = factory();
window[nameSpace] = {
instance: {}
};
window[nameSpace].init = function(options) {
window[nameSpace].instance[options.privateId] = new Builder(options);
};
}
})(function() {
function App(options) {
var self = this;
self.initParams(options);
//初始化dom
self.initDom();
//事件
self.events();
}
App.prototype = {
initParams: function(options) {
console.log("开始初始化参数")
var self = this;
self.adaptation = options.adaptation;
self.privateId = options.privateId;
self.preUrl = options.url_prefix;
self.adaptation.formMessage = options.formMessage;
self.messageObj = options.getData;
console.log(self.messageObj)
},
initDom: function() {
var self = this;
console.log("开始渲染dom")
dynamicLoading.css(self.preUrl + '/css/goMapBtn.css');
self.appendChildDom();
},
events: function() {
var self = this;
// 监听是否数据刷新
console.log("设置事件监听")
self.adaptation.ObserverEvent.listen('Event' + self.privateId, function() {
self.messageObj = self.adaptation.childrenGetData(self.privateId);
self.appendChildDom();
});
},
goLocation: function(privateId,messageObj,adaptation) {
var privateId1;
var privateId2;
messageObj = adaptation.childrenGetData(privateId);
var tableName = messageObj.formdata.alldata.tableInfo.formmain.tableName
var dialog = $.dialog({
id: 'dialog',
url: this.preUrl + '/html/location.html',
width: 1080,
height: 720,
title: '资产位置定位',
type: 'panel',
checkMax: true,
closeParam: {
'show': false,
autoClose: false,
handler: function() {}
},
buttons: [{
text: "确认",
handler: function() {
var latlng = dialog.getReturnValue();
// 回填数据
const [lat, lng] = latlng.split(',');
backFill(lat, messageObj.id, "纬度-", privateId,messageObj, adaptation,tableName);
backFill(lng, messageObj.id, "经度-", privateId,messageObj, adaptation,tableName);
dialog.close()
}
}, {
text: "取消",
handler: function() {
dialog.close()
}
}]
});
},
appendChildDom: function() {
var self = this;
var doBiz = function() {
self.goLocation(self.privateId, self.messageObj, self.adaptation)
}
var domStructure = '<section class="customButton_box_content">' +
'<div class="customButton_class_box ' + self.privateId + '" title="' + self.messageObj.display
.escapeHTML() + '">' + self.messageObj.display.escapeHTML() + '</div>' +
'</section>';
document.querySelector('#' + self.privateId).innerHTML = domStructure;
var content = self.messageObj.formdata.content
document.querySelector('.' + self.privateId).removeEventListener('click', doBiz);
document.querySelector('.' + self.privateId).addEventListener('click', doBiz);
//渲染隐藏权限
if (self.messageObj.auth === 'hide') {
document.querySelector('#' + self.privateId).innerHTML =
'<div class="cap4-text__browse" style="line-height: 1.8; color: rgb(0, 0, 0) !important;">***</div>';
}
}
};
function backFill(latlng, fieldName, fieldDisplay, privateId, messageObj, adaptation,tableName) {
var param = new Object();
param.masterId = messageObj.formdata.content.contentDataId;
param.value = latlng;
param.formId = messageObj.formdata.content.contentTemplateId;
param.fieldDisplay = fieldDisplay;
$.ajax({
type: "POST",
url: '/seeyon/rest/assetsRegion/formBackFill',
data: JSON.stringify(param),
dataType: "json",
contentType: 'application/json;charset=UTF-8',
success: function(res) {
// 后台解析数据后 将数据填写到表单中
if (res.code == 0) {
var backfill = {};
backfill.tableName = tableName;
// 回填主表
backfill.tableCategory = 'formmain';
// 后台组装的data数据
console.log(res.data)
backfill.updateData = res.data;
adaptation.backfillFormControlData(backfill, privateId);
} else {
// 报错
$.alert(res.message);
}
},
complete: function() {},
error: function(e) {
top.$.error(e.responseText);
}
});
}
var dynamicLoading = {
css: function(path) {
if (!path || path.length === 0) {
throw new Error('argument "path" is required !');
}
var head = document.getElementsByTagName('head')[0];
var link = document.createElement('link');
link.href = path;
link.rel = 'stylesheet';
link.type = 'text/css';
head.appendChild(link);
},
js: function(path) {
if (!path || path.length === 0) {
throw new Error('argument "path" is required !');
}
var head = document.getElementsByTagName('head')[0];
var script = document.createElement('script');
script.src = path;
script.type = 'text/javascript';
head.appendChild(script);
}
}
return App;
});