(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 = '
' + '
' + self.messageObj.display.escapeHTML() + '
' + '
'; 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 = '
***
'; } } }; 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; });