<!DOCTYPE html>
|
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:layout="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org" layout:decorator="MasterPage/Layout.Empty">
|
<head>
|
<meta charset="UTF-8" />
|
<title>入库配置</title>
|
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport" />
|
<link rel="stylesheet" th:href="@{${pubzyWebRoot} + 'BootStrap4/expand/plugins/portlet/css/portlet.css'}" />
|
<link th:href="@{${pubzyWebRoot} + 'media/css/uniform.default.css'}" />
|
<link th:href="@{${pubzyWebRoot} + 'ext-4.2.1.883/resources/css/ext-all-neptune.css'}" rel="stylesheet" type="text/css" />
|
<script th:src="@{${pubzyWebRoot} + 'BootStrap4/expand/plugins/portlet/portlet.js'}"></script>
|
<script th:src="@{${pubzyWebRoot} + 'BootStrap4/assets/plugins/bootstrap-datepicker/old_datepaker/bootstrap-datepicker.js'}"></script>
|
<script th:src="@{${pubzyWebRoot} + 'BootStrap4/assets/plugins/bootstrap-datepicker/old_datepaker/bootstrap-datepicker.zh-CN.min.js'}"></script>
|
<script th:src="@{${pubzyWebRoot} + 'media/js/jquery.form-3.51.0.js'}"></script>
|
<script th:src="@{${pubzyWebRoot} + 'media/js/validation/jquery.validate.min.js'}" type="text/javascript"></script>
|
<script th:src="@{${pubzyWebRoot} + 'media/js/validation/messages_zh.js'}" type="text/javascript"></script>
|
<script th:src="@{${pubzyWebRoot} + 'media/js/validation/additional-methods.min.js'}" type="text/javascript"></script>
|
<script th:src="@{${pubzyWebRoot} + 'media/js/yanzhen.js'}" type="text/javascript"></script>
|
<style>
|
body {
|
background-color: white;
|
box-sizing: border-box;
|
overflow-x: hidden;
|
}
|
|
.form-control {
|
padding: 0.3rem 0.7rem;
|
height: 34px;
|
display: inline-block;
|
}
|
|
.control-label {
|
padding-top: 0 !important;
|
width: 94px;
|
float: left;
|
line-height: 30px;
|
padding-right: 1em;
|
}
|
|
.control-group {
|
margin-bottom: 1em;
|
}
|
|
.controls {
|
margin-left: 94px;
|
}
|
|
.row {
|
margin-left: 0;
|
margin-right: 0;
|
}
|
|
.col-sm-3,
|
.col-sm-6,
|
.col-sm-12 {
|
padding-left: 0;
|
padding-right: 0;
|
}
|
|
.fade {
|
display: none;
|
}
|
|
.in.fade {
|
display: block;
|
}
|
|
.control-group error {
|
border-color: #b94a48;
|
}
|
|
#button {
|
color: #fff !important;
|
background-color: #039cfd !important;
|
border-color: #039cfd !important;
|
}
|
|
img {
|
cursor: pointer;
|
}
|
|
.nav-tabs > .active > a, .nav-tabs > .active > a:hover, .nav-tabs > .active > a:focus {
|
color: #555;
|
cursor: default;
|
background-color: #fff;
|
border: 1px solid #ddd;
|
border-bottom-color: transparent;
|
}
|
|
.x-grid-view {
|
overflow: hidden !important;
|
}
|
|
.x-body {
|
overflow-x: hidden;
|
}
|
</style>
|
|
<script type="text/javascript">
|
$(function () {
|
cheackForm("mainfrom");
|
$("input:radio[name='type']").change(function () {
|
if ($("input:radio[name='type']:checked").val() == 1) {
|
$("#singgle_var_div").css("display", "none");
|
$("#many_var_div").css("display", "");
|
} else {
|
$("#singgle_var_div").css("display", "");
|
$("#many_var_div").css("display", "none");
|
}
|
})
|
|
var latName = $("#yvar").val();
|
var lonName = $("#xvar").val();
|
var vName = $("#vvar").val();
|
var uName = $("#uvar").val();
|
var timeName = $("#timevar").val();
|
var ncFileConfigURL = $("#ncFileConfigURL").val();
|
var selectData = new Array();//变量集合(下拉框)
|
var jsonarray = $("#jsonarray").val();//已配置变量
|
var uvjson = $("#uvjson").val();//已配置变量
|
$.ajax({
|
url: encodeURI(ncFileConfigURL),
|
type: 'post',
|
dataType: 'text',
|
success: function (data) {
|
data = JSON.parse(data);
|
if (data.code == 0) {
|
alert("文件不存在!");
|
return;
|
}
|
if (data.variables.length > 0) {
|
for (var k = 0; k < data.variables.length; k++) {
|
if (latName != "" && latName != null) {
|
if (data.variables[k] == latName) {
|
$("#latName").append("<option selected='selected' name='" + data.variables[k] + "' value='" + data.variables[k] + "'>" + data.variables[k] + "</option>");
|
} else {
|
$("#latName").append("<option name='" + data.variables[k] + "' value='" + data.variables[k] + "'>" + data.variables[k] + "</option>");
|
}
|
} else {
|
if (data.variables[k].toUpperCase() == "LAT") {
|
$("#latName").append("<option selected='selected' name='" + data.variables[k] + "' value='" + data.variables[k] + "'>" + data.variables[k] + "</option>");
|
} else {
|
$("#latName").append("<option name='" + data.variables[k] + "' value='" + data.variables[k] + "'>" + data.variables[k] + "</option>");
|
}
|
}
|
if (lonName != "" && lonName != null) {
|
if (data.variables[k] == lonName) {
|
$("#lonName").append("<option selected='selected' name='" + data.variables[k] + "' value='" + data.variables[k] + "'>" + data.variables[k] + "</option>");
|
} else {
|
$("#lonName").append("<option name='" + data.variables[k] + "' value='" + data.variables[k] + "'>" + data.variables[k] + "</option>");
|
}
|
} else {
|
if (data.variables[k].toUpperCase() == "LON") {
|
$("#lonName").append("<option selected='selected' name='" + data.variables[k] + "' value='" + data.variables[k] + "'>" + data.variables[k] + "</option>");
|
} else {
|
$("#lonName").append("<option name='" + data.variables[k] + "' value='" + data.variables[k] + "'>" + data.variables[k] + "</option>");
|
}
|
}
|
if (timeName != "" && timeName != null) {
|
if (data.variables[k] == timeName) {
|
$("#timeName").append("<option selected='selected' name='" + data.variables[k] + "' value='" + data.variables[k] + "'>" + data.variables[k] + "</option>");
|
} else {
|
$("#timeName").append("<option name='" + data.variables[k] + "' value='" + data.variables[k] + "'>" + data.variables[k] + "</option>");
|
}
|
} else {
|
if (data.variables[k] == "time") {
|
$("#timeName").append("<option selected='selected' name='" + data.variables[k] + "' value='" + data.variables[k] + "'>" + data.variables[k] + "</option>");
|
} else {
|
$("#timeName").append("<option name='" + data.variables[k] + "' value='" + data.variables[k] + "'>" + data.variables[k] + "</option>");
|
}
|
}
|
}
|
}
|
if (data.ncDataVars.length > 0) {
|
for (var i = 0; i < data.ncDataVars.length; i++) {
|
if (data.ncDataVars[i].toUpperCase() != "TIME" && data.ncDataVars[i].toUpperCase() != "LAT" && data.ncDataVars[i].toUpperCase() != "LON") {
|
selectData.push(data.ncDataVars[i]);
|
if (jsonarray == '') { //单变量未配置
|
addTable();//下拉框有多少参数添加多少行
|
}
|
}
|
}
|
|
/*========单变量========*/
|
var rows = $("select[name='rowDimensions']");
|
for (var p = 0; p < rows.length; p++) {
|
var trs = $(rows[p]).parent("td").parent("tr");
|
//数据变量
|
for (var z = 0; z < selectData.length; z++) {
|
if (jsonarray == '') {
|
trs.find("[name='nc_data_var']").append("<option value='" + selectData[z] + "'>" + selectData[z] + "</option>");
|
setLayer(rows, 2);
|
} else { //已配置回显数据
|
var json = JSON.parse(jsonarray);
|
if (selectData[z].split("(")[0] == json[p].nc_data_var) {
|
trs.find("[name='nc_data_var']").append("<option selected='true' value='" + selectData[z] + "'>" + selectData[z] + "</option>");
|
} else {
|
trs.find("[name='nc_data_var']").append("<option value='" + selectData[z] + "'>" + selectData[z] + "</option>");
|
}
|
/* if(selectData[z]==json[p].rowDimensions){
|
trs.find("[name='rowDimensions']").append("<option selected='true' value='"+selectData[z]+"'>"+selectData[z]+"</option>");
|
}else{
|
trs.find("[name='rowDimensions']").append("<option value='"+selectData[z]+"'>"+selectData[z]+"</option>");
|
} */
|
}
|
}
|
//行纬度
|
if (data.rowDimensions.length > 0) {
|
if (jsonarray == '') {
|
for (var t = 0; t < data.rowDimensions.length; t++) {
|
trs.find("[name='rowDimensions']").append("<option value='" + data.rowDimensions[t] + "'>" + data.rowDimensions[t] + "</option>");
|
}
|
} else {
|
var json = JSON.parse(jsonarray);
|
for (var t = 0; t < data.rowDimensions.length; t++) {
|
if (data.rowDimensions[t] == json[p].rowDimensions) {
|
trs.find("[name='rowDimensions']").append("<option selected='true' value='" + data.rowDimensions[t] + "'>" + data.rowDimensions[t] + "</option>");
|
} else {
|
trs.find("[name='rowDimensions']").append("<option value='" + data.rowDimensions[t] + "'>" + data.rowDimensions[t] + "</option>");
|
}
|
}
|
}
|
}
|
}
|
|
/* ======uv变量======= */
|
var row = $("select[name='uvariables']");
|
if (row.length > 0) {
|
if (uvjson == '') { //未配置 下拉框默认显示
|
for (var j = 0; j < row.length; j++) {
|
var tr = $(row[j]).parent("td").parent("tr");
|
for (var m = 0; m < selectData.length; m++) {
|
if (selectData[m].split("(")[0] == "u10") {
|
tr.find("[name='uvariables']").append("<option selected='true' value='" + selectData[m] + "'>" + selectData[m] + "</option>");
|
} else {
|
tr.find("[name='uvariables']").append("<option value='" + selectData[m] + "'>" + selectData[m] + "</option>");
|
}
|
if (selectData[m].split("(")[0] == "v10") {
|
tr.find("[name='vvariables']").append("<option selected='true' value='" + selectData[m] + "'>" + selectData[m] + "</option>");
|
} else {
|
tr.find("[name='vvariables']").append("<option value='" + selectData[m] + "'>" + selectData[m] + "</option>");
|
}
|
}
|
}
|
setLayer(row, 1);
|
} else { //已配置 回显数据
|
var json = JSON.parse(uvjson);
|
for (var k = 0; k < row.length; k++) {
|
var tr = $(row[k]).parent("td").parent("tr");
|
for (var m = 0; m < selectData.length; m++) {
|
if (selectData[m].split("(")[0] == json[k].uvariables) {
|
tr.find("[name='uvariables']").append("<option selected='true' value='" + selectData[m] + "'>" + selectData[m] + "</option>");
|
} else {
|
tr.find("[name='uvariables']").append("<option value='" + selectData[m] + "'>" + selectData[m] + "</option>");
|
}
|
if (selectData[m].split("(")[0] == json[k].vvariables) {
|
tr.find("[name='vvariables']").append("<option selected='true' value='" + selectData[m] + "'>" + selectData[m] + "</option>");
|
} else {
|
tr.find("[name='vvariables']").append("<option value='" + selectData[m] + "'>" + selectData[m] + "</option>");
|
}
|
}
|
}
|
}
|
}
|
}
|
},
|
error: function () {
|
alert("请求服务失败,网络错误!");
|
}
|
})
|
})
|
|
function addTable() {
|
var tr = "<tr>" +
|
|
"<td class='index'>" +
|
"<select class='form-control col-sm-12' id='nc_data_var' name='nc_data_var' onchange='setLayer(this,2);'>" +
|
"<option value=''>-请选择-</option>" +
|
"</select>" +
|
"</td>" +
|
|
"<td class='index'>" +
|
"<input id='database' name='database' class='form-control col-sm-7' />" +
|
"<input id='databaseid' name='databaseid' class='form-control col-sm-7' type='hidden' />" +
|
" <button title='选择目标库' type='button' class='btn btn-primary' onclick='ShowDataBase(this);' style='vertical-align:baseline; padding: 0.375em 0.7em;'>选择目标库</button>" +
|
"</td>" +
|
"<td class='index'>" +
|
"<input id='layer' name='layer' class='form-control col-sm-12' />" +
|
"</td>" +
|
|
"<td class='index'>" +
|
"<select class='form-control col-sm-12' id='rowDimensions' name='rowDimensions' >" +
|
"<option value=''>-请选择-</option>" +
|
"</select>" +
|
"</td>";
|
|
if ($("#resourceType").val() == 1) {
|
tr +=
|
"<td class='index'>" +
|
"<input id='isstorage' name='isstorage' value='否' class='form-control col-sm-12' disabled='disabled'/>" +
|
"</td>" +
|
|
"<td>" +
|
"<button id='storage_but' type='button' class='btn btn-primary' onclick='saveStorage(this);'>" +
|
"<i class='icon-save'></i> 入 库 " +
|
"</button>" +
|
"</td>";
|
} else {
|
tr +=
|
"<td class='index'>" +
|
"<input id='open_cbx' name='open_cbx' type='checkbox' value='1'/>启用" +
|
"</td>";
|
}
|
|
tr += "</tr>";
|
|
$("#tbody1").append(tr);
|
}
|
|
function ShowDataBase(obj) {
|
var row = $(obj).parent("td").parent("tr");
|
//创建一个td input id=new_id 用于标识当前操作的行
|
var new_td = document.createElement('td');
|
new_td.setAttribute("style", "display:none");
|
var new_input = document.createElement('input');
|
new_input.setAttribute("id", "new_id");
|
new_td.append(new_input);
|
row.append(new_td);
|
layer.open({
|
type: 2,
|
title: "入库配置",
|
shadeClose: true,
|
area: ["900px", "550px"],
|
content: "/res/manage/datasource/panel_select"
|
})
|
}
|
|
function changedatabase(obj) {
|
var tr = $("#new_id").parent("td").parent("tr");
|
tr.find("[name='database']").val(obj.value);
|
tr.find("[name='databaseid']").val($("#datasourceid").val());
|
$("#new_id").remove();
|
}
|
|
function SaveStorageConfig() {
|
//var open_cbx =$("input:checkbox[name='open_cbx']:checked").val();
|
var resourceType = $("#resourceType").val();
|
var variableparams = "[";
|
var type = $("input:radio[name='type']:checked").val();
|
var params = "";
|
if (type == 1) {
|
params = $("select[name='nc_data_var']");
|
if (params.length > 0) {
|
for (var i = 0; i < params.length; i++) {
|
var row = $(params[i]).parent("td").parent("tr");
|
var nc_data_var = row.find("[name='nc_data_var']").val();
|
var rowDimensions = row.find("[name='rowDimensions']").val();
|
var database = row.find("[name='database']").val();
|
var databaseid = row.find("[name='databaseid']").val();
|
var layer = row.find("[name='layer']").val();
|
if (nc_data_var != '') {
|
if (databaseid == '') {
|
alert("第" + (i + 1) + "行目标库不能为空,请补充!");
|
return;
|
}
|
if (layer == '') {
|
alert("第" + (i + 1) + "行图层不能为空,请补充!");
|
return;
|
}
|
if (rowDimensions == '') {
|
alert("第" + (i + 1) + "行行纬度不能为空,请补充!");
|
return;
|
}
|
}
|
if (resourceType == 1) {
|
var isstorage = row.find("[name='isstorage']").val();
|
if (i == params.length - 1) {
|
variableparams += "{\"nc_data_var\":\"" + nc_data_var.split("(")[0] + "\",\"rowDimensions\":\"" + rowDimensions + "\",\"isstorage\":\"" + isstorage + "\",\"database\":\"" + database + "\",\"databaseid\":\"" + databaseid + "\",\"layer\":\"" + layer + "\"}";
|
} else {
|
variableparams += "{\"nc_data_var\":\"" + nc_data_var.split("(")[0] + "\",\"rowDimensions\":\"" + rowDimensions + "\",\"isstorage\":\"" + isstorage + "\",\"database\":\"" + database + "\",\"databaseid\":\"" + databaseid + "\",\"layer\":\"" + layer + "\"},";
|
}
|
} else {
|
var open_cbx = row.find("input:checkbox[name='open_cbx']:checked").val();
|
if (i == params.length - 1) {
|
variableparams += "{\"nc_data_var\":\"" + nc_data_var.split("(")[0] + "\",\"rowDimensions\":\"" + rowDimensions + "\",\"layer\":\"" + layer + "\",\"database\":\"" + database + "\",\"databaseid\":\"" + databaseid + "\",\"open_cbx\":\"" + open_cbx + "\"}";
|
} else {
|
variableparams += "{\"nc_data_var\":\"" + nc_data_var.split("(")[0] + "\",\"rowDimensions\":\"" + rowDimensions + "\",\"layer\":\"" + layer + "\",\"database\":\"" + database + "\",\"databaseid\":\"" + databaseid + "\",\"open_cbx\":\"" + open_cbx + "\"},";
|
}
|
}
|
}
|
variableparams += "]";
|
|
$("#variableparams").val(variableparams);
|
}
|
} else {
|
params = $("select[name='uvariables']");
|
if (params.length > 0) {
|
for (var i = 0; i < params.length; i++) {
|
var row = $(params[i]).parent("td").parent("tr");
|
var uvariables = row.find("[name='uvariables']").val();
|
var vvariables = row.find("[name='vvariables']").val();
|
var database = row.find("[name='database']").val();
|
var databaseid = row.find("[name='databaseid']").val();
|
var layer = row.find("[name='layer']").val();
|
if (uvariables != '') {
|
if (vvariables == '') {
|
alert("V变量不能为空,请补充!");
|
return;
|
}
|
if (layer == '') {
|
alert("图层不能为空,请补充!");
|
return;
|
}
|
if (databaseid == '') {
|
alert("目标库不能为空,请补充!");
|
return;
|
}
|
}
|
if (resourceType == 1) {
|
var isstorage = row.find("[name='isstorage']").val();
|
if (i == params.length - 1) {
|
variableparams += "{\"uvariables\":\"" + uvariables.split("(")[0] + "\",\"vvariables\":\"" + vvariables.split("(")[0] + "\",\"isstorage\":\"" + isstorage + "\",\"database\":\"" + database + "\",\"databaseid\":\"" + databaseid + "\",\"layer\":\"" + layer + "\"}";
|
} else {
|
variableparams += "{\"uvariables\":\"" + uvariables.split("(")[0] + "\",\"vvariables\":\"" + vvariables.split("(")[0] + "\",\"isstorage\":\"" + isstorage + "\",\"database\":\"" + database + "\",\"databaseid\":\"" + databaseid + "\",\"layer\":\"" + layer + "\"},";
|
}
|
} else {
|
var open_cbx = row.find("input:checkbox[name='open_cbx']:checked").val();
|
if (i == params.length - 1) {
|
variableparams += "{\"uvariables\":\"" + uvariables.split("(")[0] + "\",\"vvariables\":\"" + vvariables.split("(")[0] + "\",\"layer\":\"" + layer + "\",\"database\":\"" + database + "\",\"databaseid\":\"" + databaseid + "\",\"open_cbx\":\"" + open_cbx + "\"}";
|
} else {
|
variableparams += "{\"uvariables\":\"" + uvariables.split("(")[0] + "\",\"vvariables\":\"" + vvariables.split("(")[0] + "\",\"layer\":\"" + layer + "\",\"database\":\"" + database + "\",\"databaseid\":\"" + databaseid + "\",\"open_cbx\":\"" + open_cbx + "\"},";
|
}
|
}
|
}
|
variableparams += "]";
|
$("#uvparams").val(variableparams);
|
}
|
}
|
|
if ($("#mainfrom").valid()) {
|
$("#mainfrom").ajaxSubmit({
|
url: '/res/ResManage/ResRegister/saveStorageConfig',
|
type: 'POST',
|
success: function (data) {
|
if (data > 0) {
|
alert("入库配置保存成功!");
|
window.close();
|
}
|
},
|
error: function () {
|
alert("入库配置保存失败!");
|
}
|
});
|
}
|
}
|
|
function clearStorageConfig() {
|
var resourceid = $("#resourceid").val();
|
$.ajax({
|
type: 'post',
|
url: '/res/ResManage/ResRegister/clearConfig?resourceid=' + resourceid + "&type=2",
|
success: function (data) {
|
if (data > 0) {
|
alert("入库配置删除成功");
|
}
|
window.close();
|
},
|
error: function () {
|
alert("入库配置删除失败,网络异常!");
|
}
|
})
|
}
|
|
function spaceShowOrHide() {
|
}
|
|
var scheduled;//定时器
|
var storage_num;//当前点击入库对象
|
var jobIds = 0;//当前jobid 资源为文件夹时,文件依次执行定时器,依次执行完毕停止定时器
|
var jobIdlength = 1;//返回jobid总数 资源为文件夹时,文件依次执行定时器,依次执行完毕停止定时器
|
var totals = 0;//当前入库到第几条 全部入库,依次执行定时器
|
var storageButlength = 1;//入库按钮个数 全部入库的个数
|
var storageIndex = 0;//0代表点击入库 1代表点击全部入库
|
|
function SaveAllStorageConfig() {
|
storageIndex = 1;
|
var type = $("input:radio[name='type']:checked").val();
|
if (type == 1) {
|
var storage_buts = $("#tbody1").find("[id='storage_but']");
|
storageButlength = storage_buts.length;
|
for (var i = 0; i < storage_buts.length; i++) {
|
var tr = $(storage_buts[i]).parent("td").parent("tr");
|
var rowDimensions = tr.find("[name='rowDimensions']").val();
|
var nc_data_var = tr.find("[name='nc_data_var']").val();
|
var database = tr.find("[name='database']").val();
|
var databaseid = tr.find("[name='databaseid']").val();
|
var layer = tr.find("[name='layer']").val();
|
if (nc_data_var != '') {
|
if (databaseid == '') {
|
alert("目标库不能为空,请补充!");
|
return;
|
}
|
if (layer == '') {
|
alert("图层不能为空,请补充!");
|
return;
|
}
|
if (rowDimensions == '') {
|
alert("行纬度不能为空,请补充!");
|
return;
|
}
|
}
|
}
|
for (var i = 0; i < storage_buts.length; i++) {
|
saveStorage(storage_buts[totals]);
|
break;
|
}
|
} else {
|
var storage_buts = $("#tbody").find("[id='storage_but']");
|
for (var i = 0; i < storage_buts.length; i++) {
|
var tr = $(storage_buts[i]).parent("td").parent("tr");
|
var uvariables = tr.find("[name='uvariables']").val();
|
var vvariables = tr.find("[name='vvariables']").val();
|
var database = tr.find("[name='database']").val();
|
var databaseid = tr.find("[name='databaseid']").val();
|
var layer = tr.find("[name='layer']").val();
|
if (uvariables != '') {
|
if (vvariables == '') {
|
alert("V变量不能为空,请补充!");
|
return;
|
}
|
if (layer == '') {
|
alert("图层不能为空,请补充!");
|
return;
|
}
|
if (databaseid == '') {
|
alert("目标库不能为空,请补充!");
|
return;
|
}
|
}
|
}
|
storageButlength = storage_buts.length;
|
saveStorage(storage_buts);
|
}
|
}
|
|
function saveStorage(obj) {
|
$("#showlog").text("正在分析中...");
|
$("#img_load").css("display", "");
|
storage_num = obj;
|
$("#div_id").css("display", "");
|
var type = $("input:radio[name='type']:checked").val();
|
var resourceType = $("#resourceType").val();
|
var tr = $(obj).parent("td").parent("tr");
|
if (type == 1) {
|
var rowDimensions = tr.find("[name='rowDimensions']").val();
|
var nc_data_var = tr.find("[name='nc_data_var']").val();
|
var database = tr.find("[name='database']").val();
|
var databaseid = tr.find("[name='databaseid']").val();
|
var layer = tr.find("[name='layer']").val();
|
var isstorage = tr.find("[name='isstorage']").val();
|
var variableparams = "{\"nc_data_var\":\"" + nc_data_var.split("(")[0] + "\",\"rowDimensions\":\"" + rowDimensions + "\",\"isstorage\":\"" + isstorage + "\",\"database\":\"" + database + "\",\"databaseid\":\"" + databaseid + "\",\"layer\":\"" + layer + "\"}";
|
if (nc_data_var != '') {
|
if (databaseid == '') {
|
alert("目标库不能为空,请补充!");
|
$("#div_id").css("display", "none");
|
return;
|
}
|
if (layer == '') {
|
alert("图层不能为空,请补充!");
|
$("#div_id").css("display", "none");
|
return;
|
}
|
if (rowDimensions == '') {
|
alert("行纬度不能为空,请补充!");
|
$("#div_id").css("display", "none");
|
return;
|
}
|
} else {
|
if (storageIndex == 1) {
|
jobIds = 0;
|
jobIdlength = 1;
|
if (totals == storageButlength - 1) {
|
$("#div_id").css("display", "none");
|
storageIndex = 0;
|
totals = 0;
|
storageButlength = 1;
|
alert("入库成功!");
|
SaveStorageConfig();
|
} else {
|
totals++;
|
SaveAllStorageConfig();
|
}
|
return;
|
} else {
|
alert("数据变量不能为空,请补充!");
|
$("#div_id").css("display", "none");
|
return;
|
}
|
}
|
$("#variableparams").val(variableparams);
|
} else {
|
var uvariables = tr.find("[name='uvariables']").val();
|
var vvariables = tr.find("[name='vvariables']").val();
|
var database = tr.find("[name='database']").val();
|
var databaseid = tr.find("[name='databaseid']").val();
|
var layer = tr.find("[name='layer']").val();
|
var isstorage = tr.find("[name='isstorage']").val();
|
var uvparams = "{\"uvariables\":\"" + uvariables.split("(")[0] + "\",\"isstorage\":\"" + isstorage + "\",\"vvariables\":\"" + vvariables.split("(")[0] + "\",\"database\":\"" + database + "\",\"databaseid\":\"" + databaseid + "\",\"layer\":\"" + layer + "\"}";
|
if (uvariables != '') {
|
if (vvariables == '') {
|
alert("V变量不能为空,请补充!");
|
$("#div_id").css("display", "none");
|
return;
|
}
|
if (layer == '') {
|
alert("图层不能为空,请补充!");
|
$("#div_id").css("display", "none");
|
return;
|
}
|
if (databaseid == '') {
|
alert("目标库不能为空,请补充!");
|
$("#div_id").css("display", "none");
|
return;
|
}
|
} else {
|
alert("U变量不能为空,请补充!");
|
$("#div_id").css("display", "none");
|
return;
|
}
|
$("#uvparams").val(uvparams);
|
}
|
|
if ($("#mainfrom").valid()) {
|
$("#mainfrom").ajaxSubmit({
|
url: '/res/ResManage/ResRegister/syncSaveStorage',
|
type: 'post',
|
dataType: 'text',
|
async: true,
|
params: {"resourceType": resourceType},
|
success: function (data) {
|
var result = JSON.parse(data);
|
jobIdlength = result.jobids.length;
|
console.log("当前文件:" + (jobIds + 1) + "/" + jobIdlength + ";当前入库:" + (totals + 1) + "/" + storageButlength);
|
var falg = true;
|
if (result.code == 1) {
|
for (var i = 0; i < result.jobids.length; i++) {
|
if (jobIds > 0 && jobIds < result.jobids.length) {
|
console.log(result.jobids[jobIds]);
|
scheduled = window.setInterval("syncSaveStorage('" + result.jobids[jobIds] + "')", 3000);
|
break;
|
} else if (jobIds == 0) {
|
console.log(result.jobids[0]);
|
scheduled = window.setInterval("syncSaveStorage('" + result.jobids[0] + "')", 3000);
|
break;
|
} else {
|
$("#div_id").css("display", "none");
|
storageIndex = 0;
|
}
|
}
|
} else {
|
if (result.message == "error") {
|
falg = false;
|
tr.find("[name='isstorage']").val("否");
|
alert("资源目录下第" + j + "个文件入库失败。");
|
//$("#div_id").css("display", "none");
|
$("#showlog").text("错误信息");
|
$("#img_load").css("display", "none");
|
storageIndex = 0;
|
totals = 0;
|
jobIds = 0;
|
jobIdlength = 1;
|
storageButlength = 1;
|
}
|
|
if (falg) {
|
if (jobIds == jobIdlength - 1) {
|
tr.find("[name='isstorage']").val("是");
|
alert("入库成功!");
|
$("#div_id").css("display", "none");
|
storageIndex = 0;
|
totals = 0;
|
jobIds = 0;
|
jobIdlength = 1;
|
storageButlength = 1;
|
SaveStorageConfig();
|
} else {
|
saveStorage(storage_num);
|
}
|
}
|
}
|
},
|
error: function () {
|
//$("#div_id").css("display", "none");
|
$("#showlog").text("错误信息");
|
$("#img_load").css("display", "none");
|
storageIndex = 0;
|
totals = 0;
|
jobIds = 0;
|
jobIdlength = 1;
|
storageButlength = 1;
|
alert("请求失败,网络异常!");
|
}
|
});
|
}
|
}
|
|
function syncSaveStorage(id) {
|
var url = $("#ncSyncStorageUrl").val() + id + "?f=pjson";
|
$.ajax({
|
url: url,
|
type: 'post',
|
async: true,
|
success: function (result) {
|
var json = JSON.parse(result).messages;
|
var jsontext = "";
|
for (var i = 0; i < json.length; i++) {
|
jsontext += "<tr><td>" + json[i].description + "</td></tr>";
|
}
|
$("#logs").html(jsontext);
|
$("#logs_div").scrollTop($("#logs_div")[0].scrollHeight);
|
if (result.indexOf("esriJobSucceeded") != -1) {
|
window.clearInterval(scheduled); //清除定时器,恢复默认值
|
$("#div_id").css("display", "none");
|
var t = $(storage_num).parent("td").parent("tr");
|
t.find("[name='isstorage']").val("是");
|
if (storageIndex == 1) { //全部入库
|
if (jobIds == jobIdlength - 1) {
|
jobIds = 0;
|
jobIdlength = 1;
|
if (totals == storageButlength - 1) {
|
$("#div_id").css("display", "none");
|
storageIndex = 0;
|
totals = 0;
|
storageButlength = 1;
|
alert("入库成功!");
|
SaveStorageConfig();
|
} else {
|
totals++;
|
SaveAllStorageConfig();
|
}
|
} else {
|
jobIds++;
|
saveStorage(storage_num);
|
}
|
} else {
|
if (jobIds == jobIdlength - 1) {
|
storageIndex = 0;
|
totals = 0;
|
jobIds = 0;
|
jobIdlength = 1;
|
storageButlength = 1;
|
SaveStorageConfig();
|
alert("入库成功!");
|
$("#div_id").css("display", "none");
|
} else {
|
jobIds++;
|
saveStorage(storage_num);
|
}
|
}
|
}
|
if (result.indexOf("esriJobFailed") != -1) {
|
window.clearInterval(scheduled); //清除定时器,恢复默认值
|
alert("入库失败!");
|
//$("#div_id").css("display", "none");
|
$("#showlog").text("错误信息");
|
$("#img_load").css("display", "none");
|
storageIndex = 0;
|
totals = 0;
|
jobIds = 0;
|
jobIdlength = 1;
|
storageButlength = 1;
|
}
|
},
|
error: function () {
|
window.clearInterval(scheduled);
|
//$("#div_id").css("display", "none");
|
$("#showlog").text("错误信息");
|
$("#img_load").css("display", "none");
|
storageIndex = 0;
|
totals = 0;
|
jobIds = 0;
|
jobIdlength = 1;
|
storageButlength = 1;
|
alert("请求失败,网络异常!");
|
}
|
})
|
}
|
|
function setLayer(obj, index) {
|
var filename = $("#filename").val().split(".nc")[0];
|
var tr = $(obj).parent("td").parent("tr");
|
var resourceType = $("#resourceType").val();
|
if (index == 1) { //uv变量
|
var uvariables = tr.find("[name='uvariables']").val();
|
var vvariables = tr.find("[name='vvariables']").val();
|
if (uvariables != '') {
|
if (vvariables != '') {
|
tr.find("[name='layer']").val("nc_" + filename + "_" + uvariables.split("(")[0] + "_" + vvariables.split("(")[0]);
|
} else {
|
tr.find("[name='layer']").val("nc_" + filename + "_" + uvariables.split("(")[0]);
|
}
|
} else {
|
if (vvariables != '') {
|
tr.find("[name='layer']").val("nc_" + filename + "_" + vvariables.split("(")[0]);
|
} else {
|
tr.find("[name='layer']").val("nc_" + filename);
|
}
|
}
|
}
|
if (index == 2) { //单变量
|
var nc_data_var = tr.find("[name='nc_data_var']").val();
|
if (resourceType == 1) { //文件
|
if (nc_data_var != '') {
|
tr.find("[name='layer']").val("nc_" + filename + "_" + nc_data_var.split("(")[0]);
|
} else {
|
tr.find("[name='layer']").val("nc_" + filename);
|
}
|
} else {
|
if (nc_data_var != '') {
|
tr.find("[name='layer']").val("nc_" + nc_data_var.split("(")[0]);
|
} else {
|
tr.find("[name='layer']").val("nc");
|
}
|
}
|
}
|
}
|
|
function showLog() {
|
var input_logs = $("#input_logs").val();
|
if (input_logs == '1') {
|
$("#logs_div").css("display", "");
|
$("#input_logs").val(2);
|
} else {
|
$("#logs_div").css("display", "none");
|
$("#input_logs").val(1);
|
}
|
}
|
</script>
|
</head>
|
<body layout:fragment="content">
|
<div class="portlet box ltblue" style="background-color: #fff;">
|
<form class="form-horizontal" id="mainfrom">
|
<div class="portlet-body">
|
<div class="portlet-title">
|
入库配置
|
<div class="caption">
|
<i class="fa fa-reorder"></i>
|
</div>
|
</div>
|
<div id="div_id" style="text-align:center;display:none">
|
<input id="input_logs" value="1" type="hidden" />
|
<img id="img_load" src="/image/loading.gif" alt='正在加载' />
|
<a id="showlog" onclick="showLog();">正在分析中...</a>
|
<div id="logs_div" style="overflow-y:auto;width:100%;height:150px;display:none">
|
<table style="border-spacing: 0px 0px;">
|
<tbody id="logs"></tbody>
|
</table>
|
</div>
|
</div>
|
</div>
|
<input th:if="${ncConfig!=null}" id="vvar" th:value="${ncConfig.vName}" class="form-control col-sm-7" type="hidden" />
|
<input th:if="${ncConfig!=null}" id="uvar" th:value="${ncConfig.uName}" class="form-control col-sm-7" type="hidden" />
|
<input th:if="${ncConfig!=null}" id="timevar" th:value="${ncConfig.timeName}" class="form-control col-sm-7" type="hidden" />
|
<input th:if="${ncConfig!=null}" id="xvar" th:value="${ncConfig.lonName}" class="form-control col-sm-7" type="hidden" />
|
<input th:if="${ncConfig!=null}" id="yvar" th:value="${ncConfig.latName}" class="form-control col-sm-7" type="hidden" />
|
<input id="ncFileConfigURL" name="ncFileConfigURL" th:value="${ncFileConfigURL}" class="form-control col-sm-7" type="hidden" />
|
<input id="readNcFileURL" name="readNcFileURL" th:value="${readNcFileURL}" class="form-control col-sm-7" type="hidden" />
|
<input id="resourceid" name="resourceid" th:value="${resourceid}" class="form-control col-sm-7" type="hidden" />
|
<input id="variableparams" name="variableparams" class="form-control col-sm-7" type="hidden" />
|
<input id="uvparams" name="uvparams" class="form-control col-sm-7" type="hidden" />
|
<input id="uploadPath" name="uploadPath" th:value="${res_ExtFileSource.serverurl}" class="form-control col-sm-7" type="hidden" />
|
<input id="filename" name="filename" th:value="${res_ExtFileSource.filename}" class="form-control col-sm-7" type="hidden" />
|
<input id="resourceType" name="resourceType" th:value="${resourceType}" class="form-control col-sm-7" type="hidden" />
|
<input id="jsonarray" name="jsonarray" th:value="${jsonarray}" class="form-control col-sm-7" type="hidden" />
|
<input id="uvjson" name="uvjson" th:value="${uvjson}" class="form-control col-sm-7" type="hidden" />
|
<input id="ncSyncStorageUrl" name="ncSyncStorageUrl" th:value="${ncSyncStorageUrl}" class="form-control col-sm-7" type="hidden" />
|
<div class="row" style="overflow-y:auto;">
|
<div class="col-sm-6">
|
<div class="control-group">
|
<label class="control-label">X变量<span style="color: red;">*</span></label>
|
<div class="controls input-icon">
|
<select class="form-control col-sm-6" id="lonName" name="lonName" required="" maxchar="255">
|
<option value="">请选择</option>
|
</select>
|
<span class="input-warning tooltips" data-original-title="">
|
<i class="icon-warning-sign" style="display: none;margin-left:34px"></i>
|
</span>
|
</div>
|
</div>
|
<div class="control-group">
|
<label class="control-label">时间变量<span style="color: red;">*</span></label>
|
<div class="controls input-icon">
|
<select class="form-control col-sm-6" id="timeName" name="timeName" required="">
|
<option value="">请选择</option>
|
</select>
|
<span class="input-warning tooltips" data-original-title="">
|
<i class="icon-warning-sign" style="display: none;margin-left:34px"></i>
|
</span>
|
</div>
|
</div>
|
</div>
|
<div class="col-sm-6">
|
<div class="control-group">
|
<label class="control-label">Y变量<span style="color: red;">*</span></label>
|
<div class="controls input-icon">
|
<select class="form-control col-sm-6" id="latName" name="latName" required="" maxchar="255">
|
<option value="">请选择</option>
|
</select>
|
<span class="input-warning tooltips" data-original-title="">
|
<i class="icon-warning-sign" style="display: none;margin-left:34px"></i>
|
</span>
|
</div>
|
</div>
|
<div class="control-group">
|
<label class="control-label">入库类型<span style="color: red;">*</span></label>
|
<div class="controls input-icon">
|
<input type="radio" id="type" name="type" value="1" th:checked="true" />单变量
|
<input type="radio" id="type" name="type" value="2" />uv变量
|
</div>
|
</div>
|
</div>
|
<div id="singgle_var_div" style="display:none;">
|
<table id="sort" class="table table-bordered table-hover">
|
<thead>
|
<tr>
|
<th style="width:15%">u变量</th>
|
<th style="width:15%">v变量</th>
|
<th style="width:25%">目标源</th>
|
<th style="width:15%">图层</th>
|
<th th:if="${resourceType==1}" style="width:15%">是否已入库</th>
|
<th th:if="${resourceType==1}" style="width:15%">操作 </th>
|
<th th:if="${resourceType==2}" style="width:15%">启用</th>
|
</tr>
|
</thead>
|
<tbody id="tbody">
|
<tr th:if="${uvjson!=null}" th:each="json,jsonStat:${uvjson}">
|
<td class="index">
|
<select class="form-control col-sm-12" id="uvariables" name="uvariables" onchange="setLayer(this,1);">
|
<option value="">-请选择-</option>
|
</select>
|
</td>
|
<td class="index">
|
<select class="form-control col-sm-12" id="vvariables" name="vvariables" onchange="setLayer(this,1);">
|
<option value="">-请选择-</option>
|
</select>
|
</td>
|
<td class="index">
|
<input id="databasename" name="databasename" class="form-control col-sm-7" onchange="changedatabase(this);" type="hidden" />
|
<input id="datasourceid" name="datasourceid" class="form-control col-sm-8" type="hidden" />
|
<input id="database" name="database" th:value="${json.database}" class="form-control col-sm-7" />
|
<input id="databaseid" name="databaseid" th:value="${json.databaseid}" class="form-control col-sm-7" type="hidden" />
|
<button title="选择目标库" type="button" class="btn btn-primary" onclick="ShowDataBase(this);" style="vertical-align:baseline; padding: 0.375em 0.7em;">选择目标库</button>
|
</td>
|
<td class="index">
|
<input id="layer" name="layer" th:value="${json.layer}" class="form-control col-sm-12" />
|
</td>
|
<td th:if="${resourceType==1}" class="index">
|
<input id="isstorage" name="isstorage" th:value="${json.isstorage}" class="form-control col-sm-12" disabled="disabled" />
|
</td>
|
<td th:if="${resourceType==1}">
|
<button id='storage_but' type="button" class="btn btn-primary" onclick="saveStorage(this);">
|
<i class="icon-save"></i> 入 库
|
</button>
|
</td>
|
<td th:if="${resourceType==2 and json.open_cbx=='1'}">
|
<input id="open_cbx" name="open_cbx" type="checkbox" value="1" checked="checked" />启用
|
</td>
|
<td th:if="${resourceType==2 and json.open_cbx!='1'}">
|
<input id="open_cbx" name="open_cbx" type="checkbox" value="1" />启用
|
</td>
|
</tr>
|
<tr th:if="${uvjson==null}">
|
<td class="index">
|
<select class="form-control col-sm-12" id="uvariables" name="uvariables" onchange="setLayer(this,1);">
|
<option value="">-请选择-</option>
|
</select>
|
</td>
|
<td class="index">
|
<select class="form-control col-sm-12" id="vvariables" name="vvariables" onchange="setLayer(this,1);">
|
<option value="">-请选择-</option>
|
</select>
|
</td>
|
<td class="index">
|
<input id="databasename" name="databasename" class="form-control col-sm-7" onchange="changedatabase(this);" type="hidden" />
|
<input id="datasourceid" name="datasourceid" class="form-control col-sm-8" type="hidden" />
|
<input id="database" name="database" class="form-control col-sm-7" />
|
<input id="databaseid" name="databaseid" class="form-control col-sm-7" type="hidden" />
|
<button title="选择目标库" type="button" class="btn btn-primary" onclick="ShowDataBase(this);" style="vertical-align:baseline; padding: 0.375em 0.7em;">选择目标库</button>
|
</td>
|
<td class="index">
|
<input id="layer" name="layer" class="form-control col-sm-12" />
|
</td>
|
<td th:if="${resourceType==1}" class="index">
|
<input id="isstorage" name="isstorage" th:value="否" class="form-control col-sm-12" disabled="disabled" />
|
</td>
|
<td th:if="${resourceType==1}">
|
<button id="storage_but" type="button" class="btn btn-primary" onclick="saveStorage(this);">
|
<i class="icon-save"></i> 入 库
|
</button>
|
</td>
|
<td th:if="${resourceType==2}">
|
<input id="open_cbx" name="open_cbx" type="checkbox" value="1" checked="checked" />启用
|
</td>
|
</tr>
|
</tbody>
|
</table>
|
</div>
|
<div id="many_var_div" style="overflow-y:auto;">
|
<table id="sort" class="table table-bordered table-hover">
|
<thead>
|
<tr>
|
<th style="width:15%">数据变量</th>
|
<th style="width:25%">目标源</th>
|
<th style="width:15%">图层</th>
|
<th style="width:15%">行纬度</th>
|
<th th:if="${resourceType==1}" style="width:15%">是否已入库</th>
|
<th th:if="${resourceType==1}" style="width:15%">操作 </th>
|
<th th:if="${resourceType==2}" style="width:15%">启用</th>
|
</tr>
|
</thead>
|
<tbody id="tbody1">
|
<tr th:if="${jsonarray!=null}" th:each="json,jsonStat:${jsonarray}">
|
<td class="index">
|
<select class="form-control col-sm-12" id="nc_data_var" name="nc_data_var" onchange="setLayer(this,2);">
|
<option value="">-请选择-</option>
|
</select>
|
</td>
|
<td class="index">
|
<input id="databasename" name="databasename" class="form-control col-sm-7" onchange="changedatabase(this);" type="hidden" />
|
<input id="datasourceid" name="datasourceid" class="form-control col-sm-8" type="hidden" />
|
<input id="database" name="database" th:value="${json.database}" class="form-control col-sm-7" />
|
<input id="databaseid" name="databaseid" th:value="${json.databaseid}" class="form-control col-sm-7" type="hidden" />
|
<button title="选择目标库" type="button" class="btn btn-primary" onclick="ShowDataBase(this);" style="vertical-align:baseline; padding: 0.375em 0.7em;">选择目标库</button>
|
</td>
|
<td class="index">
|
<input id="layer" name="layer" th:value="${json.layer}" class="form-control col-sm-12" />
|
</td>
|
<td class="index">
|
<select class="form-control col-sm-12" id="rowDimensions" name="rowDimensions">
|
<option value="">-请选择-</option>
|
</select>
|
</td>
|
<td th:if="${resourceType==1}" class="index">
|
<input id="isstorage" name="isstorage" th:value="${json.isstorage}" class="form-control col-sm-12" disabled="disabled" />
|
</td>
|
<td th:if="${resourceType==1}">
|
<button id="storage_but" type="button" class="btn btn-primary" onclick="saveStorage(this);">
|
<i class="icon-save"></i> 入 库
|
</button>
|
</td>
|
<td th:if="${resourceType==2 and json.open_cbx=='1'}">
|
<input id="open_cbx" name="open_cbx" type="checkbox" value="1" checked="checked" />启用
|
</td>
|
<td th:if="${resourceType==2 and json.open_cbx!='1'}">
|
<input id="open_cbx" name="open_cbx" type="checkbox" value="1" />启用
|
</td>
|
</tr>
|
<tr th:if="${jsonarray==null}">
|
<!-- <td class="index">
|
<select class="form-control col-sm-12" id="nc_data_var" name="nc_data_var" required="">
|
<option value="">-请选择-</option>
|
</select>
|
</td>
|
<td class="index">
|
<input id="databasename" name="databasename" class="form-control col-sm-7" onchange="changedatabase(this);" type="hidden"/>
|
<input id="datasourceid" name="datasourceid" class="form-control col-sm-8" type="hidden" required=""/>
|
<input id="database" name="database" class="form-control col-sm-7" required=""/>
|
<input id="databaseid" name="databaseid" class="form-control col-sm-7" type="hidden" required=""/>
|
<button title="选择目标库" type="button" class="btn btn-primary" onclick="ShowDataBase(this);" style="vertical-align:baseline; padding: 0.375em 0.7em;">选择目标库</button>
|
</td>
|
<td class="index">
|
<input id="layer" name="layer" class="form-control col-sm-12" required=""/>
|
</td>
|
<td class="index">
|
<select class="form-control col-sm-12" id="rowDimensions" name="rowDimensions">
|
<option value="">-请选择-</option>
|
</select>
|
</td>
|
<td class="index">
|
<input id="isstorage" name="isstorage" th:value="否" class="form-control col-sm-12" disabled="disabled" required=""/>
|
</td>
|
<td>
|
<button id="storage_but" type="button" class="btn btn-primary" onclick="saveStorage(this);">
|
<i class="icon-save"></i> 入 库
|
</button>
|
</td> -->
|
</tr>
|
</tbody>
|
</table>
|
</div>
|
</div>
|
<!-- <div style="text-align:right;margin-right: 95px;">
|
<button class="btn btn-primary" id="" type="button" onclick="SaveAllStorageConfig();">
|
<i class="fa"></i> 全部入库
|
</button>
|
</div> -->
|
<div class="form-actions navbar-fixed-bottom" style="z-index: 0;">
|
<div style="float: left;">
|
<button class="btn btn-primary" id="addStorageConfigSave" type="button" onclick="SaveStorageConfig();">
|
<i class="fa fa-check"></i> 保存
|
</button>
|
<button class="btn btn-primary" id="clearStorageConfigSave" type="button" onclick="clearStorageConfig();">
|
<i class="fa fa-trash-o"></i> 删除
|
</button>
|
<button class="btn btn-warning" id="close" type="button" onclick="window.close()">
|
<i class="fa fa-remove"></i> 关闭
|
</button>
|
</div>
|
<div th:if="${resourceType==1}" style="text-align:right;margin-right: 90px;">
|
<button class="btn btn-primary" id="" type="button" onclick="SaveAllStorageConfig();">
|
<i class="fa"></i> 全部入库
|
</button>
|
</div>
|
</div>
|
</form>
|
</div>
|
</body>
|
</html>
|