177 lines
6.7 KiB
JavaScript
177 lines
6.7 KiB
JavaScript
|
|
(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;
|
|||
|
|
});
|