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