完成初版
This commit is contained in:
@@ -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;
|
||||
});
|
||||
Reference in New Issue
Block a user