Files
2026-06-18 16:26:31 +08:00

177 lines
6.7 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
(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;
});