Files
SIPAIIS_WMS_JSSW/WebRoot/jsp/efficiency/efficiencyOverviewConfigureEdit.jsp

354 lines
15 KiB
Plaintext
Raw Normal View History

2026-01-16 14:13:44 +08:00
<%@page import="com.sipai.tools.CommString"%>
<%@ page language="java" pageEncoding="UTF-8"%>
<style type="text/css">
.select2-container .select2-selection--single{
height:34px;
line-height: 34px;
}
.select2-selection__arrow{
margin-top:3px;
}
</style>
<script type="text/javascript">
var masterId='${efficiencyOverviewConfigure.id}';
var tbName='tb_efficiency_overviewConfigure_file'; //数据表
var nameSpace='efficiencyOverviewConfigure';//保存文件夹
var previews = new Array();
var previewConfigs = new Array();
var canvas;
var context;
var height;
var width;
var beauty;
var dataAll;
function showFileInput(ctrlName) {
var control = $('#' + ctrlName);
control.fileinput('destroy');
control.fileinput({
language: 'zh', //设置语言
showUpload: false, //是否显示上传按钮
showRemove:false,
showCaption: false,//是否显示标题
showBrowse:false,//选择按钮
showClose:false,//右上角关闭按钮
dropZoneEnabled: false,//是否显示拖拽区域
fileActionSettings:{
showDrag:false
},
browseClass: "btn btn-primary", //按钮样式
maxFileCount: 10, //表示允许同时上传的最大文件个数
enctype: 'multipart/form-data',
validateInitialCount:true,
previewFileIcon: "<i class='glyphicon glyphicon-king'></i>",
initialPreviewAsData: true,
initialPreview: previews,
initialPreviewConfig:previewConfigs,
layoutTemplates:{
actionUpload:''
},
deleteUrl:ext.contextPath+"/base/deleteInputFile.do",
deleteExtraData:function () { //传参
var data = {
"tbName": tbName
};
return data;
}
});
$('#kvFileinputModal').on("hidden.bs.modal", function() {
$(this).removeData("bs.modal");
//modal重复打开会导致前面的滚动条失去作用
$('.modal').css("overflow","auto");
});
}
//名称定义不可修改
var getFileList = function() {
$.post(ext.contextPath + '/base/getInputFileList.do', {masterId:masterId,tbName:tbName} , function(data) {
//console.info(data)
if(data.length>0){
previews=new Array();
// $('#maintenancefile').show();
for(var i=0;i<data.length;i++){
var previewConfig = new Object();
var path = data[i].abspath;
path=path.substring(path.indexOf('webapps')+7,path.length);
path =ext.basePath.replace(ext.contextPath,'')+ path.replace(/\\/g,"\/");;
previews.push(path);
previewConfig['width']= '50px';
previewConfig['caption']= data[i].filename;
previewConfig['key']= data[i].id;
previewConfigs.push(previewConfig);
}
showFileInput("efficiencyOverviewConfigureModelFile");
}else{
$('#efficiencyOverviewConfigureModelFile').hide();
}
},'json');
};
var fileinput = function() {
//var url='/maintenance/updateProblemFile.do';//保存数据表方法
$.post(ext.contextPath + '/base/fileinput.do', {masterId:masterId,tbName:tbName,nameSpace:nameSpace} , function(data) {
$("#fileInputDiv").html(data);
openModal('fileInputModal');
});
};
function doupdate() {
$("#subForm").bootstrapValidator('validate');//提交验证
if ($("#subForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
$.post(ext.contextPath + "/efficiency/efficiencyOverviewConfigure/doupdate.do", $("#subForm").serialize(), function(data) {
if (data.code == 1){
closeModal('subModal');
$("#table").bootstrapTable('refresh');
}else if(data.code == 0){
showAlert('d','保存失败');
}else{
showAlert('d',data.res);
}
},'json');
}
}
//输入框验证
$("#subForm").bootstrapValidator({
live: 'disabled',//验证时机enabled是内容有变化就验证默认disabled和submitted是提交再验证
fields: {
name: {
validators: {
notEmpty: {
message: '名称不能为空'
}
}
},
}
});
//获取url地址根目录 当前taomcat下路径
function getRootPath(){
var pathName = window.location.pathname.substring(1);
// var webName = pathName == '' ? '' : pathName.substring(0, pathName.indexOf('/'));
return window.location.protocol + '//' + window.location.host;
}
var picId="";
function showImg(){
$('#mpConfigure').html("");
$.post(ext.contextPath + '/base/getInputFileList.do', {masterId:masterId,tbName:tbName} , function(data) {
if(data!=''){
var abspath=data[0].abspath.split('webapps');
picId=data[0].id;
//document.getElementById("imgShow").src = ""+getRootPath()+""+abspath[1]+"";
canvas = document.getElementById("canvas");
context = canvas.getContext('2d');
beauty = new Image();
beauty.src = ""+getRootPath()+""+abspath[1]+"";
// width = $(window).width();
// height = $(window).height();
width = beauty.width;
height = beauty.height;
if(beauty.complete){
document.getElementById('canvas').width=beauty.width;
document.getElementById('canvas').height=beauty.height;
drawBeauty();
mPointData(masterId);
}else{
beauty.onload = function(){
drawBeauty();
mPointData(masterId);
};
beauty.onerror = function(){
alert('加载失败,请重试');
};
};
}
},'json');
}
function mPointData(picId){
$.post(ext.contextPath + '/efficiency/efficiencyOverviewMpConfigure/getJson.do', {picId:picId,unitId:'${efficiencyOverviewConfigure.unitid}'} , function(mpdata) {
dataAll =mpdata;
if(mpdata.length>0){
context.clearRect(0, 0, context.canvas.width, context.canvas.height);
context.drawImage(beauty, 0, 0, width, height);
context.save();
for(var m=0;m<mpdata.length;m++){
var divHtml = "";
if(mpdata[m].efficiencyOverviewConfigureAssembly!=null){
var assembly =mpdata[m].efficiencyOverviewConfigureAssembly;
if(assembly.type!=null && assembly.type!=''){
if(assembly.type=='heat'){
//热力组件
selectAssembly_Heat(mpdata[m]);
}else if(assembly.type=='mpoint'){
//测量点组件
divHtml = selectAssembly_mpdata(mpdata[m]);
}else if(assembly.type=='meter'){
//电力表组件
divHtml = selectAssembly_meter(mpdata[m]);
}else if(assembly.type=='dataFrame'){
//数据框组件
divHtml = selectAssembly_dataFrame(mpdata[m]);
}
}
}else{
if(mpdata[m].mPoint != ''){
//测量点组件
divHtml = selectAssembly_mpdata(mpdata[m]);
}
}
$('#mpConfigure').append(divHtml);
$('#'+mpdata[m].id).draggable();
}
context.save();
}
},'json');
}
function editps(id){
stopBubbleDefaultEvent();
$.post(ext.contextPath + '/efficiency/efficiencyOverviewMpConfigure/doedit.do', {id:id} , function(data) {
$("#mpDiv").html(data);
openModal('subMpModal');
});
}
function setdata() {
// var contentdiv=$("#mpConfigure");
var obj = document.getElementsByTagName("DIV");
for(var i=0;i<obj.length;i++){
if(obj[i].className.indexOf("moveDiv")>=0){
// console.log("id" , obj[i].id);
// console.log("x", obj[i].style.left);
// console.log("y" , obj[i].style.top);
$.post(ext.contextPath + '/efficiency/efficiencyOverviewMpConfigure/updateLayout.do', {id:obj[i].id , posx:obj[i].style.left , posy:obj[i].style.top,}, function(data) {
},'json');
}
}
}
$(function () {
$("#type").select2({ minimumResultsForSearch: 10 }).val("${efficiencyOverviewConfigure.type}").trigger("change");
showImg();
showAssembly();
});
function showAssembly(){
$.post(ext.contextPath + '/efficiency/efficiencyOverviewConfigureAssembly/getTreeJson.do', {unitId:'${efficiencyOverviewConfigure.unitid}'}, function (data){
var htmlStr = "";
if(data!=null && data!=undefined && data!=''){
for(var i=0;i<data.length;i++){
htmlStr += '<button type="button" class="btn btn-default btn-sm" onclick="addAssemblyFun(\''+data[i].id+'\');" ><i class="fa fa-plus"></i>'+data[i].text+'</button>';
}
}
$("#assembly").html(htmlStr);
},'json');
};
var addMPFun = function () {
if(picId==''){
showAlert('d','请先上传图片!');
}else{
$.post(ext.contextPath + '/efficiency/efficiencyOverviewMpConfigure/mpConfigure.do', {unitId:'${efficiencyOverviewConfigure.unitid}',picId:picId}, function (data){
$("#mp4SelectDiv").html(data);
openModal('MPointModel');
});
}
};
var addAssemblyFun = function (id) {
if(picId==''){
showAlert('d','请先上传图片!');
}else{
$.post(ext.contextPath + "/efficiency/efficiencyOverviewMpConfigure/doAssemblySave.do",{assembly:id, picId:masterId,unitId:'${efficiencyOverviewConfigure.unitid}'}, function(data) {
showImg();
},'json');
}
};
window.onload=function(){
var canvas=document.getElementById("canvas");
// canvas.width=1024;
// canvas.height=768;//通过这两种方式也可以设置canvas的大小
var context=canvas.getContext("2d");
}
</script>
<div class="modal fade" id="subModal">
<div style="padding: 5px;">
<div class="modal-content" >
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">编辑</h4>
</div>
<div class="modal-body">
<!-- 新增界面formid强制为subForm -->
<form class="form-horizontal" id="subForm">
<!-- 界面提醒div强制id为alertDiv -->
<div id="alertDiv"></div>
<div id="mp4SelectDiv"></div>
<div id="mpDiv"></div>
<input type="hidden" name="id" value= "${efficiencyOverviewConfigure.id}">
<%-- <div class="form-group">
<label class="col-sm-2 control-label">*类型</label>
<div class="col-sm-6">
<select class="form-control select2" id="type" name="type" style="width:200px">
<option value="0">总览</option>
<option value="1">热力图</option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">图例最大值</label>
<div class="col-sm-6">
<input type="text" class="form-control" id="upperlimit" name ="upperlimit" placeholder="最大值" value="${efficiencyOverviewConfigure.upperlimit}" >
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">图例最小值</label>
<div class="col-sm-6">
<input type="text" class="form-control" id="lowerlimit" name ="lowerlimit" placeholder="最小值" value="${efficiencyOverviewConfigure.lowerlimit}" >
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">图例层级</label>
<div class="col-sm-6">
<input type="text" class="form-control" id="grade" name ="grade" placeholder="层级" value="${efficiencyOverviewConfigure.grade}" >
</div>
</div> --%>
<div class="form-group">
<label class="col-sm-2 control-label">*名称</label>
<div class="col-sm-3">
<input type="text" class="form-control" id="name" name ="name" placeholder="名称" value="${efficiencyOverviewConfigure.name}" >
</div>
<label class="col-sm-2 control-label">排序</label>
<div class="col-sm-3">
<input type="text" class="form-control" id="morder" name ="morder" placeholder="排序" value="${efficiencyOverviewConfigure.morder}" >
</div>
<div class="col-sm-2">
<button type="button" class="btn btn-default btn-file" onclick="fileinput()" id="btn_save"><i class="fa fa-paperclip"></i>上传图片</button>
</div>
</div>
<div class="form-group sidebar-nav">
<div class="col-sm-1">
<button type="button" class="btn btn-primary btn-sm" onclick="setdata();" ><i class="fa fa-save"></i> 保存布局</button>
</div>
<label class="col-sm-1 control-label">组件:</label>
<div class="col-sm-10" id="assembly">
</div>
</div>
<!-- <div style="height: 40px;">
<button type="button" class="btn btn-default btn-sm" onclick="addMPFun();"><i class="fa fa-plus"></i>添加测量点</button>
<button type="button" class="btn btn-default btn-sm" onclick="setdata();"><i class="fa fa-save"></i> 保存布局</button>
</div> -->
<div class="demo" style="width: 100%;height:100%;overflow: auto;" >
<div id="mpConfigure" style="position:relative;"></div>
<canvas id="canvas"></canvas>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default pull-left" data-dismiss="modal">关闭</button>
<button type="button" class="btn btn-primary" onclick="doupdate()" id="btn_update">保存</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>