db16d23f69dae8acd0cae47ae0bfe8e0290781f9.svn-base 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475
  1. function getUrlParam(){
  2. var encondeCondition=window.location.search;
  3. var condition= decodeURI(decodeURI(encondeCondition.substring(1,encondeCondition.length)));
  4. var conditionArr=condition.split("&");
  5. var condJson={};
  6. for(var item in conditionArr){
  7. var temArr=conditionArr[item].split("=");
  8. condJson[temArr[0]]=temArr[1];
  9. }
  10. return condJson;
  11. };
  12. $(function(){
  13. $("input").each(function(i){
  14. if($(this).attr("value")){
  15. $(this).focus();
  16. $(this).blur();
  17. };
  18. });
  19. });
  20. $(function(){
  21. var point = getUrlParam();
  22. $("#posX").text(point.x);
  23. $("#posY").text(point.y);
  24. $("#LONGITUDE").attr("value",point.x);
  25. $("#LATITUDE").attr("value",point.y);
  26. $("#ORDER_NUM").attr("value",point.pi);
  27. var $no = "<img src='/nwyj/images/cockpit/btn/no.png'>" ;
  28. var $ok = "<img src='/nwyj/images/cockpit/btn/ok.png'>" ;
  29. var reg = new RegExp("^([0-9]+(.[0-9]{1,5})?)?$");
  30. //七级风圈离开焦点校验
  31. $("#SEVEN_RADIUS").on("blur",function(){
  32. var data = $("#SEVEN_RADIUS").val() ;
  33. var flg = valIsNull(data);
  34. //校验七级风圈是否为正实数
  35. var obj = $("#SEVEN_RADIUS").val();
  36. if(!reg.test(obj)){
  37. appendValid("SEVEN_RADIUS", $no, "<span class=''>请输入数字!</span>", false);
  38. clearValid() ;
  39. return false ;
  40. }
  41. //校验是否输入数据
  42. if(flg){//空
  43. appendValid("SEVEN_RADIUS", $no, "<span class=''>请输入风圈半径!</span>", false);
  44. clearValid() ;
  45. return false;
  46. }else{//有数据
  47. //校验数据是否为可用范围
  48. flg = valIsValid(data);
  49. if(flg){//可用
  50. $("._typhoon_disa").removeClass("_no_drop");
  51. $("._typhoon_disa").removeAttr("disabled");
  52. appendValid("SEVEN_RADIUS", $ok, "", true);
  53. //校验十级与十二级是否为可用
  54. if($("._typhoon_disa").hasClass("_no_drop")){//不可用
  55. appendValid("SEVEN_RADIUS", $ok, "", true);
  56. }else{//可用
  57. var ten = $("#TEN_RADIUS").val() ;
  58. //判断十级是否为空
  59. if(!valIsNull(ten)){//不为空
  60. //校验十级风圈是否为正实数
  61. obj = $("#TEN_RADIUS").val();
  62. if(!reg.test(obj)){
  63. appendValid("TEN_RADIUS", $no, "<span class=''>请输入数字!</span>", false);
  64. valTewnt();
  65. return false ;
  66. }
  67. if(valIsValid(ten)){//十级为可用范围
  68. if(Number(ten) >= Number(data)){//十级大于等于七级
  69. appendValid("TEN_RADIUS", $no, "<span class=''>范围要小于七级风圈半径!</span>", false);
  70. }else{
  71. appendValid("TEN_RADIUS", $ok, "", true);
  72. }
  73. }else{//不可用范围
  74. appendValid("TEN_RADIUS", $no, "<span class=''>请输入合理的风圈半径!</span>", false);
  75. }
  76. }else{//十级为空
  77. appendValid("TEN_RADIUS", "", "", true);
  78. };
  79. valTewnt();
  80. }
  81. }else{//不可用
  82. appendValid("SEVEN_RADIUS", $no, "<span class=''>请输入合理的风圈半径!</span>", false);
  83. clearValid() ;
  84. return false ;
  85. }
  86. }
  87. });
  88. //十级风圈离开焦点校验
  89. $("#TEN_RADIUS").on("blur",function(){
  90. var sev = $("#SEVEN_RADIUS").val() ; //七级风圈(一定是正确数据)
  91. var ten = $("#TEN_RADIUS").val() ; //十级风圈
  92. var twev = $("#TWELVE_RADIUS").val() ;//十二级风圈
  93. //判断十级风圈是否输入数据
  94. if(valIsNull(ten)){//十级为空
  95. appendValid("TEN_RADIUS", "", "", true);
  96. //判断十二级风圈是否为空
  97. if(valIsNull(twev)){//十二级为空
  98. appendValid("TWELVE_RADIUS", "", "", true);
  99. }else{//十二级不为空
  100. if(Number(twev) >= Number(sev)){//十二级大于等于七级
  101. appendValid("TWELVE_RADIUS", $no, "<span class=''>范围要小于七级风圈半径!</span>", false);
  102. }else{
  103. appendValid("TWELVE_RADIUS", $ok, "", true);
  104. };
  105. //校验是否为正实数
  106. var obj = $("#TWELVE_RADIUS").val();
  107. if(!reg.test(obj)){
  108. appendValid("TWELVE_RADIUS", $no, "<span class=''>请输入数字!</span>", false);
  109. return false ;
  110. } else {
  111. appendValid("TWELVE_RADIUS", $ok, "", true);
  112. };
  113. }
  114. }else{//十级不为空
  115. //校验是否为正实数
  116. var obj = $("#TEN_RADIUS").val();
  117. if(!reg.test(obj)){
  118. appendValid("TEN_RADIUS", $no, "<span class=''>请输入数字!</span>", false);
  119. return false ;
  120. } else {
  121. appendValid("TEN_RADIUS", $ok, "", true);
  122. };
  123. if(valIsValid(ten)){//十级为可用范围
  124. if(Number(ten) >= Number(sev)){//十级大于等于七级
  125. appendValid("TEN_RADIUS", $no, "<span class=''>范围要小于七级风圈半径!</span>", false);
  126. }else{
  127. appendValid("TEN_RADIUS", $ok, "", true);
  128. }
  129. //判断十二级是否为空
  130. if(valIsNull(twev)){//十二级为空
  131. appendValid("TWELVE_RADIUS", "", "", true);
  132. }else{//十二级不为空
  133. if(Number(twev) >= Number(ten)){//十二级大于等于十级
  134. appendValid("TWELVE_RADIUS", $no, "<span class=''>范围要小于十级风圈半径!</span>", false);
  135. }else{
  136. //校验是否为正实数
  137. var obj = $("#TWELVE_RADIUS").val();
  138. if(!reg.test(obj)){
  139. appendValid("TWELVE_RADIUS", $no, "<span class=''>请输入数字!</span>", false);
  140. return false ;
  141. } else {
  142. appendValid("TWELVE_RADIUS", $ok, "", true);
  143. };
  144. };
  145. }
  146. }else{//十级为不可用范围
  147. appendValid("TEN_RADIUS", $no, "<span class=''>请输入合理的风圈半径!</span>", false);
  148. }
  149. }
  150. });
  151. //十二级风圈离开焦点校验
  152. $("#TWELVE_RADIUS").on("blur",function(){
  153. var ten = $("#TEN_RADIUS").val() ; //十级风圈
  154. var twev = $("#TWELVE_RADIUS").val() ;//十二级风圈
  155. //判断十二级风圈是否输入数据
  156. if(valIsNull(twev)){//十二级为空
  157. appendValid("TWELVE_RADIUS", "", "", true);
  158. }else{//十二级不为空
  159. //校验是否为正实数
  160. var obj = $("#TWELVE_RADIUS").val();
  161. if(!reg.test(obj)){
  162. appendValid("TWELVE_RADIUS", $no, "<span class=''>请输入数字!</span>", false);
  163. return false ;
  164. } else {
  165. //判断十二级是否可用
  166. if(valIsValid(twev)){//可用范围
  167. if(Number(twev) >= Number(ten)){//十二级大于等于十级
  168. appendValid("TWELVE_RADIUS", $no, "<span class=''>范围要小于十级风圈半径!</span>", false);
  169. return false ;
  170. }else{
  171. appendValid("TWELVE_RADIUS", $ok, "", true);
  172. };
  173. }else{//不可用
  174. appendValid("TWELVE_RADIUS", $no, "<span class=''>请输入合理的风圈半径!</span>", false);
  175. return false ;
  176. };
  177. };
  178. };
  179. });
  180. //最大风力离开焦点校验
  181. $("#MAX_STRENGTH").on("blur",function(){
  182. var obj = $("#MAX_STRENGTH").val();
  183. if(valIsNull(obj)){//为空
  184. appendValid("MAX_STRENGTH", "", "", true);
  185. }else{//不为空
  186. //校验是否为正实数
  187. if(!reg.test(obj)){
  188. appendValid("MAX_STRENGTH", $no, "<span class=''>请输入数字!</span>", false);
  189. return false ;
  190. } else {
  191. appendValid("MAX_STRENGTH", $ok, "", true);
  192. };
  193. }
  194. });
  195. //最大风速离开焦点校验
  196. $("#MAX_SPEED").on("blur",function(){
  197. var obj = $("#MAX_SPEED").val();
  198. if(valIsNull(obj)){//为空
  199. appendValid("MAX_SPEED", "", "", true);
  200. }else{//不为空
  201. //校验是否为正实数
  202. if(!reg.test(obj)){
  203. appendValid("MAX_SPEED", $no, "<span class=''>请输入数字!</span>", false);
  204. return false ;
  205. } else {
  206. appendValid("MAX_SPEED", $ok, "", true);
  207. };
  208. }
  209. });
  210. //移动速度离开焦点校验
  211. $("#MOVEMENT_SPEED").on("blur",function(){
  212. var obj = $("#MOVEMENT_SPEED").val();
  213. if(valIsNull(obj)){//为空
  214. appendValid("MOVEMENT_SPEED", "", "", true);
  215. }else{//不为空
  216. if(!reg.test(obj)){
  217. appendValid("MOVEMENT_SPEED", $no, "<span class=''>请输入数字!</span>", false);
  218. return false ;
  219. } else {
  220. appendValid("MOVEMENT_SPEED", $ok, "", true);
  221. };
  222. }
  223. });
  224. //中心气压离开焦点校验
  225. $("#CENTRAL_PRESSURE").on("blur",function(){
  226. var obj = $("#CENTRAL_PRESSURE").val();
  227. if(valIsNull(obj)){//为空
  228. appendValid("CENTRAL_PRESSURE", "", "", true);
  229. }else{//不为空
  230. if(!reg.test(obj)){
  231. appendValid("CENTRAL_PRESSURE", $no, "<span class=''>请输入数字!</span>", false);
  232. return false ;
  233. } else {
  234. appendValid("CENTRAL_PRESSURE", $ok, "", true);
  235. };
  236. }
  237. });
  238. });
  239. /**
  240. * 按钮初始化
  241. */
  242. $(function(){
  243. //重取位置
  244. $("#reset_draw").click(function(){
  245. window.parent.window.resample();
  246. });
  247. //放弃绘制
  248. $("#giveup_draw").click(function(){
  249. if(window.confirm('你确定要放弃绘制吗?\n点击确定将会放弃\"' + parent.document.getElementById("TYPHOON_NAME_CH").value + '\"模拟台风添加的所有模拟点。')){
  250. window.parent.window.giveUpCurrent();
  251. return true;
  252. }else{
  253. return false;
  254. }
  255. });
  256. //继续绘制按钮
  257. $("#go_draw").click(function(){
  258. if(validation()){
  259. var param = $("form").serializeArray();
  260. param = serializeArrayToJson(param);
  261. window.parent.window.iframeGetPoint(param);
  262. window.parent.window.removeDrawWin();
  263. } else {
  264. alert("页面填写有误!");
  265. };
  266. });
  267. //结束绘制按钮
  268. $("#over_draw").click(function(){
  269. if(validation()){
  270. var param = $("form").serializeArray();
  271. param = serializeArrayToJson(param);
  272. window.parent.window.overDraw(param);
  273. window.parent.window.removeDrawWin();
  274. }else{
  275. alert("页面填写有误!");
  276. }
  277. });
  278. });
  279. /**
  280. * 将表单序列化的数组JSON变成JSON格式
  281. * @param seriArr
  282. * @returns {___anonymous8892_8893}
  283. */
  284. function serializeArrayToJson(seriArr){
  285. var res = {};
  286. var temp = {};
  287. var name = "" ;
  288. for(var key in seriArr){
  289. temp = seriArr[key];
  290. name = temp["name"];
  291. res[name] = temp["value"];
  292. };
  293. return res;
  294. };
  295. /**
  296. * 校验页面是否有不可法参数
  297. * @returns {Boolean}
  298. */
  299. function validation(){
  300. var flg = true ;
  301. $("input[valida='false']").each(function(i){
  302. flg = false ;
  303. });
  304. return flg ;
  305. };
  306. /**
  307. * 判断数据是否为空
  308. * @param data
  309. * @returns {Boolean} true:空 false:非空
  310. */
  311. function valIsNull(data){
  312. if(data == "" || data == undefined || data == null){
  313. return true;
  314. }
  315. return false;
  316. };
  317. /**
  318. * 判断数据是否为有效的,0-10000之间
  319. * @param data
  320. * @returns {Boolean}
  321. */
  322. function valIsValid(data){
  323. if(valIsNull(data)){
  324. return true;
  325. }else if(Number(data)<=0 || Number(data)>10000){
  326. return false ;
  327. };
  328. return true ;
  329. };
  330. /**
  331. * 清除七级风圈与十二级风圈内容
  332. */
  333. function clearValid(){
  334. if(!$("._typhoon_disa").hasClass("_no_drop")){
  335. $("._typhoon_disa").addClass("_no_drop");
  336. $("._typhoon_disa").attr("disabled","disabled");
  337. $("#TEN_RADIUS").val("");
  338. $("#TEN_RADIUS").attr("valida", true);
  339. $("#TWELVE_RADIUS").val("");
  340. $("#TWELVE_RADIUS").attr("valida", true);
  341. $(".TEN_RADIUS").empty();
  342. $(".TWELVE_RADIUS").empty();
  343. }
  344. };
  345. /**
  346. * 添加校验结果内容
  347. * @param id 要添加的class名称
  348. * @param $img 校验结果图片
  349. * @param $info 校验文字信息
  350. */
  351. function appendValid(id, $img, $info, flg){
  352. $("." + id).empty();
  353. $("." + id).append($img);
  354. $("." + id).append($info);
  355. $("#" + id).attr("valida", flg);
  356. };
  357. function valTewnt(){
  358. var data = $("#SEVEN_RADIUS").val() ;
  359. var twev = $("#TWELVE_RADIUS").val() ;
  360. var ten = $("#TEN_RADIUS").val() ;
  361. var $no = "<img src='/nwyj/images/cockpit/btn/no.png'>" ;
  362. var $ok = "<img src='/nwyj/images/cockpit/btn/ok.png'>" ;
  363. var reg = new RegExp("^([0-9]+(.[0-9]{1,5})?)?$");
  364. //判断十二级是否为空
  365. if(!valIsNull(twev)){//不为空
  366. //校验十二级风圈是否为正实数
  367. obj = $("#TWELVE_RADIUS").val();
  368. if(!reg.test(obj)){
  369. appendValid("TWELVE_RADIUS", $no, "<span class=''>请输入数字!</span>", false);
  370. return false ;
  371. }
  372. if(valIsValid(twev)){//十二级为可用范围
  373. if(!valIsNull(ten)){//判断十级是否为空
  374. if(Number(twev) >= Number(ten)){//十二级大于等于十级
  375. appendValid("TWELVE_RADIUS", $no, "<span class=''>范围要小于十级风圈半径!</span>", false);
  376. }else{
  377. appendValid("TWELVE_RADIUS", $ok, "", true);
  378. };
  379. }else{//十级为空,校验七级
  380. if(Number(twev) >= Number(data)){//十二级大于等于七级
  381. appendValid("TWELVE_RADIUS", $no, "<span class=''>范围要小于七级风圈半径!</span>", false);
  382. }else{
  383. appendValid("TWELVE_RADIUS", $ok, "", true);
  384. };
  385. };
  386. }else{//不可用范围
  387. appendValid("TWELVE_RADIUS", $no, "<span class=''>请输入合理的风圈半径!</span>", false);
  388. };
  389. }else{//为空
  390. appendValid("TWELVE_RADIUS", "", "", true);
  391. };
  392. };