Index.cshtml 47 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069
  1. 
  2. @{
  3. ViewBag.Title = "分区设置";
  4. Layout = "~/Views/Shared/_LayoutIndex.cshtml";
  5. }
  6. <style>
  7. .gridsContainer {
  8. width: 100%;
  9. height: 100%;
  10. }
  11. .leftDiv, .centerDiv, .rightDiv {
  12. float: left;
  13. width: 47%;
  14. height: 100%;
  15. line-height: 30px;
  16. border: 1px solid gray;
  17. }
  18. .centerDiv {
  19. width: 6%;
  20. border-left-width: 0px;
  21. border-right-width: 0px;
  22. }
  23. .gridTitle {
  24. width: 100%;
  25. border-bottom-width: 1px;
  26. padding: 2px;
  27. }
  28. .gridSearch {
  29. width: 100%;
  30. background-color: #c3c0c0;
  31. height: 40px;
  32. }
  33. .titleText {
  34. font-size: 14px;
  35. margin-left: 10px;
  36. }
  37. .searchText {
  38. font-size: 14px;
  39. background-color: gray;
  40. color: white;
  41. text-align: justify;
  42. padding-left: 10px;
  43. height: 40px;
  44. line-height:40px;
  45. width: 80px;
  46. }
  47. .centerDiv {
  48. position: relative;
  49. }
  50. .centerDiv .center {
  51. height: 100px;
  52. width: 100%;
  53. position: absolute;
  54. top: 50%;
  55. transform: translateY(-50%);
  56. }
  57. #tabs-ul li{float:left;list-style-type:none}
  58. #tabs-ul li a {display: block;background: #4C58A4;text-decoration: none;color: #ffffff;}
  59. #tabs-ul li.ui-tabs-active a {background:#fff;color: #655c89;outline:none;}
  60. #tabs-1, #tabs-2, #tabs-3 {overflow: hidden;position: relative;background: #fff;}
  61. </style>
  62. <script>
  63. "use strict"
  64. var selectInRelations = {};// 关系表表入数据
  65. var selectInMeters = {};// 考核表入数据
  66. var selectOutRelations = {};// 关系表表出数据
  67. var selectOutMeters = {};// 考核表出数据
  68. var selectUserInMeters = {};// 户表入数据
  69. var selectUserOutMeters = {};// 户表出数据
  70. var inHasShow = false; // 是否已经展示考核表入数据
  71. var outHasShow = false; // 是否已经展示考核表出数据
  72. var userHasShow = false; // 是否已经展示户表数据
  73. $(document).ready(function () {
  74. InitialPage();
  75. GetTree();
  76. InitControl();
  77. $("#tabs").tabs({
  78. activate: function () {
  79. var DMAID = PointTreeCode;
  80. if (DMAID) {
  81. var active = $("#tabs").tabs("option", "active");
  82. if (active === 0) {
  83. GetDatasIn(DMAID);
  84. }
  85. if (active === 1) {
  86. GetDatasOut(DMAID);
  87. }
  88. if (active === 2) {
  89. GetUserMeterDatas(DMAID);
  90. }
  91. }
  92. }
  93. });
  94. });
  95. //初始化页面
  96. function InitialPage() {
  97. //layout布局
  98. $('#layout').layout({
  99. applyDemoStyles: true,
  100. onresize: function () {
  101. $(window).resize();
  102. }
  103. });
  104. $(".gridsContainer").css({ "height": ($(window).height() - 85) + "px" });
  105. // resize重设(表格、树形)宽高
  106. $(window).resize(function (e) {
  107. window.setTimeout(function () {
  108. $("#itemTree").setTreeHeight($(window).height() - 52);
  109. $(".gridsContainer").css({ "height": ($(window).height() - 85) + "px" });
  110. var width = 0;
  111. var height = 0;
  112. var active = $("#tabs").tabs("option", "active");
  113. if (active === 0) {
  114. width = $('.gridContainer1').width();
  115. height = $('.gridsContainer').height() - 160;
  116. }
  117. if (active === 1) {
  118. width = $('.gridContainer2').width();
  119. height = $('.gridsContainer').height() - 160;
  120. }
  121. if (active === 2) {
  122. width = $('.gridContainer3').width();
  123. height = $('.gridsContainer').height() - 160;
  124. }
  125. $("#pointGridInTable1").setGridWidth(width);
  126. $("#pointGridInTable1").setGridHeight(height);
  127. $("#pointGridOutTable1").setGridWidth(width);
  128. $("#pointGridOutTable1").setGridHeight(height);
  129. $("#pointGridInTable2").setGridWidth(width);
  130. $("#pointGridInTable2").setGridHeight(height);
  131. $("#pointGridOutTable2").setGridWidth(width);
  132. $("#pointGridOutTable2").setGridHeight(height);
  133. $("#pointGridUserInTable").setGridWidth(width);
  134. $("#pointGridUserInTable").setGridHeight(height);
  135. $("#pointGridUserOutTable").setGridWidth(width);
  136. $("#pointGridUserOutTable").setGridHeight(height);
  137. }, 200);
  138. e.stopPropagation();
  139. });
  140. }
  141. // 初始化控件
  142. function InitControl() {
  143. // 初始化类型下拉列表
  144. $("#type_menu .dropdown-menu li").click(function () {
  145. var text = $(this).find('a').html();
  146. var value = $(this).find('a').attr('data-value');
  147. $("#type_menu .dropdown-text").html(text).attr('data-value', value);
  148. });
  149. //查询条件入1
  150. $("#queryConditionIn1 .dropdown-menu li").click(function () {
  151. var text = $(this).find('a').html();
  152. var value = $(this).find('a').attr('data-value');
  153. $("#queryConditionIn1 .dropdown-text").html(text).attr('data-value', value)
  154. });
  155. //查询条件出1
  156. $("#queryConditionOut1 .dropdown-menu li").click(function () {
  157. var text = $(this).find('a').html();
  158. var value = $(this).find('a').attr('data-value');
  159. $("#queryConditionOut1 .dropdown-text").html(text).attr('data-value', value)
  160. });
  161. //查询条件入2
  162. $("#queryConditionIn2 .dropdown-menu li").click(function () {
  163. var text = $(this).find('a').html();
  164. var value = $(this).find('a').attr('data-value');
  165. $("#queryConditionIn2 .dropdown-text").html(text).attr('data-value', value)
  166. });
  167. //查询条件出2
  168. $("#queryConditionOut2 .dropdown-menu li").click(function () {
  169. var text = $(this).find('a').html();
  170. var value = $(this).find('a').attr('data-value');
  171. $("#queryConditionOut2 .dropdown-text").html(text).attr('data-value', value)
  172. });
  173. // 查询条件用户表入
  174. $("#queryUserIn .dropdown-menu li").click(function () {
  175. var text = $(this).find('a').html();
  176. var value = $(this).find('a').attr('data-value');
  177. $("#queryUserIn .dropdown-text").html(text).attr('data-value', value)
  178. });
  179. // 查询条件用户表出
  180. $("#queryUserOut .dropdown-menu li").click(function () {
  181. var text = $(this).find('a').html();
  182. var value = $(this).find('a').attr('data-value');
  183. $("#queryUserOut .dropdown-text").html(text).attr('data-value', value)
  184. });
  185. }
  186. //加载树
  187. var PointTreeCode = 0;
  188. function GetTree() {
  189. var item = {
  190. height: $(window).height() - 52,
  191. url: "../../DMAManage/Partitions/GetTreeJson",
  192. showcheck: false,
  193. isexpand: true,
  194. onnodeclick: function (item) {
  195. PointTreeCode = item.value;
  196. // 获取tabs选中的值
  197. var active = $("#tabs").tabs("option", "active");
  198. // 设置标题
  199. $("#titleRelationIn").html(item.text + " - 入口水表挂接");
  200. $("#titleMeterIn").html(item.text + " - 考核表");
  201. $("#titleRelationOut").html(item.text + " - 出口水表挂接");
  202. $("#titleMeterOut").html(item.text + " - 考核表");
  203. $("#titleUserIn").html(item.text + " - 户表挂接");
  204. $("#titleUserOut").html(item.text + " - 户表");
  205. // 获取数据表
  206. switch (active) {
  207. case 0:
  208. selectInMeters = {};// 考核表入数据
  209. selectInRelations = {};// 关系表表入数据
  210. GetDatasIn(item.value);
  211. break;
  212. case 1:
  213. selectOutMeters = {};// 考核表入数据
  214. selectOutRelations = {};// 关系表表入数据
  215. GetDatasOut(item.value);
  216. break;
  217. case 2:
  218. selectUserInMeters = {};// 考核表入数据
  219. selectUserOutMeters = {};// 关系表表入数据
  220. GetUserMeterDatas(item.value);
  221. break;
  222. default:
  223. selectInMeters = {};// 考核表入数据
  224. selectInRelations = {};// 关系表表入数据
  225. GetDatasIn(item.value);
  226. break;
  227. }
  228. }
  229. };
  230. //初始化
  231. $("#itemTree").treeview(item);
  232. }
  233. //获取列表
  234. function GetPointGrid(pointGridTable, gridpager, url, postData, colModel, onSelectRow, onSelectAll, gridComplete) {
  235. var $gridTable = $(pointGridTable);
  236. $gridTable.jqGrid({
  237. url: url,
  238. datatype: "json",
  239. height: $('.gridsContainer').height() - 160,
  240. autowidth: true,
  241. shrinkToFit: true,
  242. rownumbers: true,
  243. multiselect: true,
  244. postData: postData,
  245. colModel: colModel,
  246. pager: gridpager,
  247. viewrecords: true,
  248. rowNum: 20,
  249. sortable: true,
  250. gridview: true,
  251. footerrow: true,
  252. gridComplete: gridComplete,
  253. onSelectRow: onSelectRow,
  254. onSelectAll: onSelectAll
  255. });
  256. }
  257. // 获取数据
  258. function GetDatasIn(DMAID) {
  259. // 如果已经展示数据,做刷新表格数据操作
  260. if (inHasShow) {
  261. refreshIn1();
  262. refreshOut1();
  263. } else {
  264. inHasShow = true;
  265. // 获取关系表数据
  266. GetMeterRelationGrid(DMAID, '#pointGridInTable1', "#gridInPager1", 0);
  267. // 获取考核表数据
  268. GetMeterPointGrid(DMAID, "#pointGridOutTable1", "#gridOutPager1");
  269. }
  270. }
  271. // 获取数据
  272. function GetDatasOut(DMAID) {
  273. // 如果已经展示数据,做刷新表格数据操作
  274. if (outHasShow) {
  275. refreshIn2();
  276. refreshOut2();
  277. } else {
  278. outHasShow = true;
  279. // 获取关系表数据
  280. GetMeterRelationGrid(DMAID, "#pointGridInTable2", "#gridInPager2", 1);
  281. // 获取考核表数据
  282. GetMeterPointGrid(DMAID, "#pointGridOutTable2", "#gridOutPager2");
  283. }
  284. }
  285. // 获取关系表数据
  286. function GetMeterRelationGrid(DMAID, grid, gridPager, FlowType) {
  287. // 请求参数
  288. var postData = { keyType: '', keyWord: '', DMAID: DMAID, FlowType: FlowType }
  289. // 展示列
  290. var colModel = [
  291. { name: "RelationID", label: "关系表ID", hidden: true },
  292. { name: "MeterAssessmentId", label: "考核表ID", hidden: true },
  293. { name: "DMAID", label: "DMAID", hidden: true },
  294. { name: "MeterAssessmentName", label: "考核表名称", width: 200, align: "center", fixed: true },
  295. { name: "MeterAssessmentCode", label: "考核表编码", width: 200, align: "center", fixed: true },
  296. ]
  297. // 设置表格
  298. GetPointGrid(
  299. grid,
  300. gridPager,
  301. "/DMAManage/PartitionSetting/GetDMAMeterRelations",
  302. postData,
  303. colModel,
  304. function onSelectRow(id, status) {
  305. var page = $(grid).getGridParam('page');
  306. if (status) {
  307. selectInRelations[id + "_" + page] = $(grid).getRowData(id)["MeterAssessmentId"];
  308. }
  309. else {
  310. delete selectInRelations[id + "_" + page];
  311. }
  312. },
  313. function onSelectAll(aRowids, status) {
  314. var page = $(grid).getGridParam('page');
  315. for (var i = 0; i < aRowids.length; i++) {
  316. if (status) {
  317. selectInRelations[aRowids[i] + "_" + page] = $(grid).getRowData(aRowids[i])["MeterAssessmentId"]
  318. } else {
  319. delete selectInRelations[aRowids[i] + "_" + page]
  320. }
  321. }
  322. },
  323. function gridComplete() {
  324. var selectDatas = selectInRelations;
  325. setHasSelections(selectDatas, grid);
  326. }
  327. );
  328. }
  329. // 获取考核表数据
  330. function GetMeterPointGrid(DMAID, grid, gridPager) {
  331. // 请求参数
  332. var postData = { keyType: '', keyWord: '', DMAID: DMAID }
  333. // 展示列
  334. var colModel = [
  335. { name: "MeterAssessmentId", label: "考核表ID", hidden: true },
  336. { name: "MeterAssessmentName", label: "考核表名称", width: 200, align: "center", fixed: true },
  337. { name: "MeterAssessmentCode", label: "考核表编码", width: 200, align: "center", fixed: true }
  338. ]
  339. // 设置表格
  340. GetPointGrid(
  341. grid,
  342. gridPager,
  343. "/DMAManage/PartitionSetting/GetMeterAssessments",
  344. postData,
  345. colModel,
  346. function onSelectRow(id, status) {
  347. var page = $(grid).getGridParam('page');
  348. if (status) {
  349. selectInMeters[id + "_" + page] = $(grid).getRowData(id)["MeterAssessmentId"];
  350. }
  351. else {
  352. delete selectInMeters[id + "_" + page];
  353. }
  354. },
  355. function onSelectAll(aRowids, status) {
  356. var page = $(grid).getGridParam('page');
  357. for (var i = 0; i < aRowids.length; i++) {
  358. if (status) {
  359. selectInMeters[aRowids[i] + "_" + page] = $(grid).getRowData(aRowids[i])["MeterAssessmentId"]
  360. } else {
  361. delete selectInMeters[aRowids[i] + "_" + page]
  362. }
  363. }
  364. },
  365. function gridComplete() {
  366. var selectDatas = selectInMeters;
  367. setHasSelections(selectInMeters, grid);
  368. }
  369. );
  370. }
  371. // 翻页等操作设置已经选中的选中
  372. function setHasSelections(selectDatas, grid) {
  373. var page = $(grid).getGridParam('page');
  374. var ids = $(grid).getDataIDs();
  375. for (var i = 0; i < ids.length; i++) {
  376. var a = selectDatas[(i + 1) + "_" + page];
  377. var b = $(grid).getRowData(ids[i])["MeterAssessmentId"];
  378. if (selectDatas[(i + 1) + "_" + page] === $(grid).getRowData(ids[i])["MeterAssessmentId"]) {
  379. $(grid).setSelection((i + 1 + ""));
  380. }
  381. }
  382. }
  383. // 户表翻页等操作设置已经选中的选中
  384. function setUserHasSelections(selectDatas, grid) {
  385. var page = $(grid).getGridParam('page');
  386. var ids = $(grid).getDataIDs();
  387. for (var i = 0; i < ids.length; i++) {
  388. var a = selectDatas[(i + 1) + "_" + page];
  389. var b = $(grid).getRowData(ids[i])["MeterUserId"];
  390. if (selectDatas[(i + 1) + "_" + page] === $(grid).getRowData(ids[i])["MeterUserId"]) {
  391. $(grid).setSelection((i + 1 + ""));
  392. }
  393. }
  394. }
  395. // 查询
  396. function searchDatas(queryCondition, condition, grid, FlowType) {
  397. selectInMeters = {};// 考核表入数据
  398. selectInRelations = {};// 关系表表入数据
  399. selectOutMeters = {};// 考核表出数据
  400. selectOutRelations = {};// 关系表表出数据
  401. var keyType = $(queryCondition).find('.dropdown-text').attr('data-value');
  402. var keyWord = $(condition).val();
  403. if (checkConditions(keyType, keyWord)) {
  404. $(grid).jqGrid('setGridParam', {
  405. postData: { keyType: keyType, keyWord: keyWord, DMAID: PointTreeCode, FlowType: FlowType },
  406. page: 1
  407. }).trigger('reloadGrid');
  408. }
  409. }
  410. // 更新
  411. function refreshDatas(queryCondition, condition, pointGridTable, FlowType) {
  412. selectInMeters = {};// 考核表入数据
  413. selectInRelations = {};// 关系表表入数据
  414. selectOutMeters = {};// 考核表出数据
  415. selectOutRelations = {};// 关系表表出数据
  416. var keyType = $(queryCondition).find('.dropdown-text').attr('data-value');
  417. var keyWord = $(condition).val();
  418. $(pointGridTable).jqGrid('setGridParam', {
  419. postData: { keyType: keyType, keyWord: keyWord, DMAID: PointTreeCode, FlowType: FlowType },
  420. page: 1
  421. }).trigger('reloadGrid');
  422. }
  423. // 户表更新
  424. function refreshUserDatas(queryCondition, condition, pointGridInTable) {
  425. selectUserInMeters = {};// 户表入数据
  426. selectUserOutMeters = {};// 户表出数据
  427. var keyType = $(queryCondition).find('.dropdown-text').attr('data-value');
  428. var keyWord = $(condition).val();
  429. $(pointGridInTable).jqGrid('setGridParam', {
  430. postData: { keyType: keyType, keyWord: keyWord, DMAID: PointTreeCode },
  431. page: 1
  432. }).trigger('reloadGrid');
  433. }
  434. // 户表查询
  435. function searchUserDatas(queryCondition, condition, grid) {
  436. selectUserInMeters = {};// 户表入数据
  437. selectUserOutMeters = {};// 户表出数据
  438. var keyType = $(queryCondition).find('.dropdown-text').attr('data-value');
  439. var keyWord = $(condition).val();
  440. if (checkConditions(keyType, keyWord)) {
  441. $(grid).jqGrid('setGridParam', {
  442. postData: { keyType: keyType, keyWord: keyWord, DMAID: PointTreeCode},
  443. page: 1
  444. }).trigger('reloadGrid');
  445. }
  446. }
  447. // 挂入口表入查询
  448. function searchIn1() {
  449. searchDatas("#queryConditionIn1", "#conditionIn1", "#pointGridInTable1", 0);
  450. }
  451. // 挂入口表更新
  452. function refreshIn1() {
  453. refreshDatas("#queryConditionIn1", "#conditionIn1", "#pointGridInTable1", 0);
  454. }
  455. // 挂入口表出查询
  456. function searchOut1() {
  457. searchDatas("#queryConditionOut1", "#conditionOut1", "#pointGridOutTable1", 0);
  458. }
  459. // 挂入口表出更新
  460. function refreshOut1() {
  461. refreshDatas("#queryConditionOut1", "#conditionOut1", "#pointGridOutTable1", 0);
  462. }
  463. // 挂出口表入查询
  464. function searchIn2() {
  465. searchDatas("#queryConditionIn2", "#conditionIn2", "#pointGridInTable2", 1);
  466. }
  467. // 挂出口表入更新
  468. function refreshIn2() {
  469. refreshDatas("#queryConditionIn2", "#conditionIn2", "#pointGridInTable2", 1);
  470. }
  471. // 挂出口表出查询
  472. function searchOut2() {
  473. searchDatas("#queryConditionOut2", "#conditionOut2", "#pointGridOutTable2", 1);
  474. }
  475. // 挂出口表出更新
  476. function refreshOut2() {
  477. refreshDatas("#queryConditionOut2", "#conditionOut2", "#pointGridOutTable2", 1);
  478. }
  479. // 挂户表入更新
  480. function refreshUserIn() {
  481. refreshUserDatas("#queryUserIn", "#userIn", "#pointGridUserInTable");
  482. }
  483. // 户表入查询
  484. function searchUserIn() {
  485. searchUserDatas("#queryUserIn", "#userIn", "#pointGridUserInTable");
  486. }
  487. // 挂户表出更新
  488. function refreshUserOut() {
  489. refreshUserDatas("#queryUserOut", "#userOut", "#pointGridUserOutTable");
  490. }
  491. // 户表出查询
  492. function searchUserOut() {
  493. searchUserDatas("#queryUserOut", "#userOut", "#pointGridUserOutTable");
  494. }
  495. // 判断查询条件
  496. function checkConditions(keyType, keyWord) {
  497. if (!PointTreeCode) {
  498. alert("请选择分区!");
  499. return false;
  500. }
  501. if (!keyType) {
  502. alert("请选择查询类型!");
  503. return false;
  504. }
  505. //if (!keyWord) {
  506. // alert("请填写关键字!");
  507. // return false;
  508. //}
  509. return true;
  510. }
  511. // 提交数据考核表 -> 关系表
  512. function turnToLeft(FlowType) {
  513. var submitDatas = "";
  514. if (!PointTreeCode) {
  515. return alert("请选择分区!")
  516. }
  517. if (isOwnEmpty(selectInMeters)) {
  518. return alert("请选择数据!")
  519. }
  520. for (var selectInMeter in selectInMeters) {
  521. submitDatas += selectInMeters[selectInMeter] + "|";
  522. }
  523. submitDatas = submitDatas.substr(0, submitDatas.length - 1);
  524. $.SaveForm({
  525. url: '/DMAManage/PartitionSetting/SettingInMeterToRelation',
  526. param: { "meterIds": submitDatas, DMAID: PointTreeCode, FlowType: FlowType },
  527. loading: "正在保存数据...",
  528. success: function () {
  529. if (FlowType === 0) {
  530. refreshIn1();
  531. refreshOut1();
  532. selectInMeters = {};
  533. selectInRelations = {};
  534. } else {
  535. refreshIn2();
  536. refreshOut2();
  537. selectInMeters = {};
  538. selectInRelations = {};
  539. }
  540. }
  541. });
  542. }
  543. // 提交数据关系 -> 考核表
  544. function turnToRight(FlowType) {
  545. var submitDatas = "";
  546. if (!PointTreeCode) {
  547. return alert("请选择分区!")
  548. }
  549. if (isOwnEmpty(selectInRelations)) {
  550. return alert("请选择数据!")
  551. }
  552. for (var selectInRelation in selectInRelations) {
  553. submitDatas += selectInRelations[selectInRelation] + "|";
  554. }
  555. submitDatas = submitDatas.substr(0, submitDatas.length - 1);
  556. $.SaveForm({
  557. url: '/DMAManage/PartitionSetting/SettingInRelationToMeter',
  558. param: { "meterIds": submitDatas, DMAID: PointTreeCode },
  559. loading: "正在保存数据...",
  560. success: function () {
  561. if (FlowType === 0) {
  562. refreshIn1();
  563. refreshOut1();
  564. selectInMeters = {};
  565. selectInRelations = {};
  566. } else {
  567. refreshIn2();
  568. refreshOut2();
  569. selectInMeters = {};
  570. selectInRelations = {};
  571. }
  572. }
  573. });
  574. }
  575. // 入口表挂接提交数据考核表 -> 关系表
  576. function turnToLeft1() {
  577. // 判断已经挂考核表个数,个数超过两个不能挂
  578. var ids = $("#pointGridInTable1").getDataIDs();
  579. if (ids.length > 1) {
  580. return alert("入口水表最多为2个!");
  581. }
  582. turnToLeft(0);
  583. }
  584. // 入口表挂接提交数据关系 -> 考核表
  585. function turnToRight1() {
  586. turnToRight(0);
  587. }
  588. // 出口表挂接提交数据考核表 -> 关系表
  589. function turnToLeft2() {
  590. turnToLeft(1);
  591. }
  592. // 出口表挂接提交数据关系 -> 考核表
  593. function turnToRight2() {
  594. turnToRight(1);
  595. }
  596. // 户表挂接
  597. function turnToLeftUser() {
  598. var submitDatas = "";
  599. if (!PointTreeCode) {
  600. return alert("请选择分区!")
  601. }
  602. if (isOwnEmpty(selectUserOutMeters)) {
  603. return alert("请选择数据!")
  604. }
  605. for (var selectUserOutMeter in selectUserOutMeters) {
  606. submitDatas += selectUserOutMeters[selectUserOutMeter] + "|";
  607. }
  608. submitDatas = submitDatas.substr(0, submitDatas.length - 1);
  609. $.SaveForm({
  610. url: '/DMAManage/PartitionSetting/SettingMeterUserIn',
  611. param: { "meterIds": submitDatas, DMAID: PointTreeCode},
  612. loading: "正在保存数据...",
  613. success: function () {
  614. refreshUserIn();
  615. refreshUserOut();
  616. selectUserInMeters = {};
  617. selectUserOutMeters = {};
  618. }
  619. });
  620. }
  621. // 户表挂接删除
  622. function turnToRightUser() {
  623. var submitDatas = "";
  624. if (!PointTreeCode) {
  625. return alert("请选择分区!")
  626. }
  627. if (isOwnEmpty(selectUserInMeters)) {
  628. return alert("请选择数据!")
  629. }
  630. for (var selectUserInMeter in selectUserInMeters) {
  631. submitDatas += selectUserInMeters[selectUserInMeter] + "|";
  632. }
  633. submitDatas = submitDatas.substr(0, submitDatas.length - 1);
  634. $.SaveForm({
  635. url: '/DMAManage/PartitionSetting/SettingMeterUserOut',
  636. param: { "meterIds": submitDatas},
  637. loading: "正在保存数据...",
  638. success: function () {
  639. refreshUserIn();
  640. refreshUserOut();
  641. selectUserInMeters = {};
  642. selectUserOutMeters = {};
  643. }
  644. });
  645. }
  646. // 判断一个对象是否为空对象
  647. function isOwnEmpty(obj) {
  648. for (var name in obj) {
  649. if (obj.hasOwnProperty(name)) {
  650. return false;
  651. }
  652. }
  653. return true;
  654. };
  655. // 获取数据
  656. function GetUserMeterDatas(DMAID) {
  657. // 如果已经展示数据,做刷新表格数据操作
  658. if (userHasShow) {
  659. refreshUserIn();
  660. refreshUserOut();
  661. } else {
  662. userHasShow = true;
  663. // 获取关系表数据
  664. GetDMAMeterUserPointGrid(DMAID, "#pointGridUserInTable", "#gridUserInPager");
  665. // 获取户表数据
  666. GetMeterUserPointGrid(DMAID, "#pointGridUserOutTable", "#gridUserOutPager");
  667. }
  668. }
  669. // 获取户表关联用户数据
  670. function GetDMAMeterUserPointGrid(DMAID, grid, gridPager) {
  671. // 请求参数
  672. var postData = { keyType: '', keyWord: '', DMAID: DMAID }
  673. // 展示列
  674. var colModel = [
  675. { name: "MeterUserId", label: "用户ID", hidden: true },
  676. { name: "MeterCode", label: "水表编码", hidden: true },
  677. { name: "ClientNo", label: "用户编码", width: 130, align: "center", fixed: true },
  678. { name: "ClientName", label: "用户名称", width: 130, align: "center", fixed: true },
  679. { name: "MeterAddress", label: "用户地址", width: 200, align: "center", fixed: true }
  680. ]
  681. // 设置表格
  682. GetPointGrid(
  683. grid,
  684. gridPager,
  685. "/DMAManage/PartitionSetting/GetDMAMeterUsers",
  686. postData,
  687. colModel,
  688. function onSelectRow(id, status) {
  689. var page = $(grid).getGridParam('page');
  690. if (status) {
  691. selectUserInMeters[id + "_" + page] = $(grid).getRowData(id)["MeterUserId"];
  692. }
  693. else {
  694. delete selectUserInMeters[id + "_" + page];
  695. }
  696. },
  697. function onSelectAll(aRowids, status) {
  698. var page = $(grid).getGridParam('page');
  699. for (var i = 0; i < aRowids.length; i++) {
  700. if (status) {
  701. selectUserInMeters[aRowids[i] + "_" + page] = $(grid).getRowData(aRowids[i])["MeterUserId"]
  702. } else {
  703. delete selectUserInMeters[aRowids[i] + "_" + page]
  704. }
  705. }
  706. },
  707. function gridComplete() {
  708. var selectDatas = selectUserInMeters;
  709. setUserHasSelections(selectDatas, grid);
  710. }
  711. );
  712. }
  713. // 获取户表数据
  714. function GetMeterUserPointGrid(DMAID, grid, gridPager) {
  715. // 请求参数
  716. var postData = { keyType: '', keyWord: '', DMAID: DMAID }
  717. // 展示列
  718. var colModel = [
  719. { name: "MeterUserId", label: "用户ID", hidden: true },
  720. { name: "MeterCode", label: "水表编码", hidden: true },
  721. { name: "ClientNo", label: "用户编码", width: 130, align: "center", fixed: true },
  722. { name: "ClientName", label: "用户名称", width: 130, align: "center", fixed: true },
  723. { name: "MeterAddress", label: "用户地址", width: 200, align: "center", fixed: true }
  724. ]
  725. // 设置表格
  726. GetPointGrid(
  727. grid,
  728. gridPager,
  729. "/DMAManage/PartitionSetting/GetMeterUsers",
  730. postData,
  731. colModel,
  732. function onSelectRow(id, status) {
  733. var page = $(grid).getGridParam('page');
  734. if (status) {
  735. selectUserOutMeters[id + "_" + page] = $(grid).getRowData(id)["MeterUserId"];
  736. }
  737. else {
  738. delete selectUserOutMeters[id + "_" + page];
  739. }
  740. },
  741. function onSelectAll(aRowids, status) {
  742. var page = $(grid).getGridParam('page');
  743. for (var i = 0; i < aRowids.length; i++) {
  744. if (status) {
  745. selectUserOutMeters[aRowids[i] + "_" + page] = $(grid).getRowData(aRowids[i])["MeterUserId"]
  746. } else {
  747. delete selectUserOutMeters[aRowids[i] + "_" + page]
  748. }
  749. }
  750. },
  751. function gridComplete() {
  752. var selectDatas = selectUserOutMeters;
  753. setUserHasSelections(selectDatas, grid);
  754. }
  755. );
  756. }
  757. </script>
  758. <div class="ui-layout" id="layout" style="height: 100%; width: 100%;">
  759. <div class="ui-layout-west">
  760. <div class="west-Panel">
  761. <div class="panel-Title">分区列表</div>
  762. <div id="itemTree"></div>
  763. </div>
  764. pointGridInTable
  765. </div>
  766. <div class="ui-layout-center">
  767. <div class="center-Panel">
  768. <div id="tabs">
  769. <ul id="tabs-ul">
  770. <li><a href="#tabs-1">挂入口水表</a></li>
  771. <li><a href="#tabs-2">挂出口水表</a></li>
  772. <li><a href="#tabs-3">挂户表</a></li>
  773. </ul>
  774. <div id="tabs-1">
  775. <div class="gridsContainer">
  776. <div class="leftDiv">
  777. <div class="gridTitle"><span class="titleText" id="titleRelationIn">入口水表挂接</span></div>
  778. <div class="gridSearch">
  779. <table style="float: left;">
  780. <tr>
  781. <td>
  782. <p class="searchText">查询方式</p>
  783. </td>
  784. <td>
  785. <div id="queryConditionIn1" class="btn-group" style="margin-left: 10px">
  786. <a class="btn btn-default dropdown-text" data-toggle="dropdown">查询方式</a>
  787. <a class="btn btn-default dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></a>
  788. <ul class="dropdown-menu">
  789. <li><a data-value="MeterAssessmentName">考核表名称</a></li>
  790. <li><a data-value="MeterAssessmentCode">考核表编码</a></li>
  791. </ul>
  792. </div>
  793. </td>
  794. <td>
  795. <input id="conditionIn1" type="text" style="margin-left: 10px"/>
  796. </td>
  797. <td style="padding-left: 10px;">
  798. <a onclick="searchIn1()" class="btn btn-primary" style="color: white">&nbsp;查&nbsp;&nbsp;询</a>
  799. <a onclick="refreshIn1()" class="btn btn-info" style="color: white">&nbsp;刷&nbsp;&nbsp;新</a>
  800. </td>
  801. </tr>
  802. </table>
  803. </div>
  804. <div class ="gridContainer1">
  805. <table id="pointGridInTable1"></table>
  806. <div id="gridInPager1"></div>
  807. </div>
  808. </div>
  809. <div class="centerDiv">
  810. <div class="center">
  811. <div style="margin: 0 auto;width: 34px;">
  812. <i style="font-size: 40px;" class="fa fa-arrow-circle-left" onclick="turnToLeft1()"></i>
  813. </div>
  814. <br />
  815. <div style="margin: 0 auto;width: 34px;">
  816. <i style="font-size: 40px;" class="fa fa-arrow-circle-right" onclick="turnToRight1()"></i>
  817. </div>
  818. </div>
  819. </div>
  820. <div class="rightDiv">
  821. <div class="gridTitle"><span class="titleText" id="titleMeterIn">考核表</span></div>
  822. <div class="gridSearch">
  823. <table style="float: left;">
  824. <tr>
  825. <td>
  826. <p class="searchText">查询方式</p>
  827. </td>
  828. <td>
  829. <div id="queryConditionOut1" class="btn-group" style="margin-left: 10px">
  830. <a class="btn btn-default dropdown-text" data-toggle="dropdown">查询方式</a>
  831. <a class="btn btn-default dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></a>
  832. <ul class="dropdown-menu">
  833. <li><a data-value="MeterAssessmentName">考核表名称</a></li>
  834. <li><a data-value="MeterAssessmentCode">考核表编码</a></li>
  835. </ul>
  836. </div>
  837. </td>
  838. <td>
  839. <input id="conditionOut1" type="text" style="margin-left: 10px"/>
  840. </td>
  841. <td style="padding-left: 10px;">
  842. <a onclick="searchOut1()" class="btn btn-primary" style="color: white">&nbsp;查&nbsp;&nbsp;询</a>
  843. <a onclick="refreshOut1()" class="btn btn-info" style="color: white">&nbsp;刷&nbsp;&nbsp;新</a>
  844. </td>
  845. </tr>
  846. </table>
  847. </div>
  848. <div class="gridContainer1">
  849. <table id="pointGridOutTable1"></table>
  850. <div id="gridOutPager1"></div>
  851. </div>
  852. </div>
  853. </div>
  854. </div>
  855. <div id="tabs-2">
  856. <div class="gridsContainer">
  857. <div class="leftDiv">
  858. <div class="gridTitle"><span class="titleText" id="titleRelationOut">出口水表挂接</span></div>
  859. <div class="gridSearch">
  860. <table style="float: left;">
  861. <tr>
  862. <td>
  863. <p class="searchText">查询方式</p>
  864. </td>
  865. <td>
  866. <div id="queryConditionIn2" class="btn-group" style="margin-left: 10px">
  867. <a class="btn btn-default dropdown-text" data-toggle="dropdown">查询方式</a>
  868. <a class="btn btn-default dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></a>
  869. <ul class="dropdown-menu">
  870. <li><a data-value="MeterAssessmentName">考核表名称</a></li>
  871. <li><a data-value="MeterAssessmentCode">考核表编码</a></li>
  872. </ul>
  873. </div>
  874. </td>
  875. <td>
  876. <input id="conditionIn2" type="text" style="margin-left: 10px"/>
  877. </td>
  878. <td style="padding-left: 10px;">
  879. <a onclick="searchIn2()" class="btn btn-primary" style="color: white">&nbsp;查&nbsp;&nbsp;询</a>
  880. <a onclick="refreshIn2()" class="btn btn-info" style="color: white">&nbsp;刷&nbsp;&nbsp;新</a>
  881. </td>
  882. </tr>
  883. </table>
  884. </div>
  885. <div class ="gridContainer2">
  886. <table id="pointGridInTable2"></table>
  887. <div id="gridInPager2"></div>
  888. </div>
  889. </div>
  890. <div class="centerDiv">
  891. <div class="center">
  892. <div style="margin: 0 auto;width: 34px;">
  893. <i style="font-size: 40px;" class="fa fa-arrow-circle-left" onclick="turnToLeft2()"></i>
  894. </div>
  895. <br />
  896. <div style="margin: 0 auto;width: 34px;">
  897. <i style="font-size: 40px;" class="fa fa-arrow-circle-right" onclick="turnToRight2()"></i>
  898. </div>
  899. </div>
  900. </div>
  901. <div class="rightDiv">
  902. <div class="gridTitle"><span class="titleText" id="titleMeterOut">考核表</span></div>
  903. <div class="gridSearch">
  904. <table style="float: left;">
  905. <tr>
  906. <td>
  907. <p class="searchText">查询方式</p>
  908. </td>
  909. <td>
  910. <div id="queryConditionOut2" class="btn-group" style="margin-left: 10px">
  911. <a class="btn btn-default dropdown-text" data-toggle="dropdown">查询方式</a>
  912. <a class="btn btn-default dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></a>
  913. <ul class="dropdown-menu">
  914. <li><a data-value="MeterAssessmentName">考核表名称</a></li>
  915. <li><a data-value="MeterAssessmentCode">考核表编码</a></li>
  916. </ul>
  917. </div>
  918. </td>
  919. <td>
  920. <input id="conditionOut2" type="text" style="margin-left: 10px"/>
  921. </td>
  922. <td style="padding-left: 10px;">
  923. <a onclick="searchOut2()" class="btn btn-primary" style="color: white">&nbsp;查&nbsp;&nbsp;询</a>
  924. <a onclick="refreshOut2()" class="btn btn-info" style="color: white">&nbsp;刷&nbsp;&nbsp;新</a>
  925. </td>
  926. </tr>
  927. </table>
  928. </div>
  929. <div class="gridContainer2">
  930. <table id="pointGridOutTable2"></table>
  931. <div id="gridOutPager2"></div>
  932. </div>
  933. </div>
  934. </div>
  935. </div>
  936. <div id="tabs-3">
  937. <div class="gridsContainer">
  938. <div class="leftDiv">
  939. <div class="gridTitle"><span class="titleText" id="titleUserIn">户表挂接</span></div>
  940. <div class="gridSearch">
  941. <table style="float: left;">
  942. <tr>
  943. <td>
  944. <p class="searchText">查询方式</p>
  945. </td>
  946. <td>
  947. <div id="queryUserIn" class="btn-group" style="margin-left: 10px">
  948. <a class="btn btn-default dropdown-text" data-toggle="dropdown">查询方式</a>
  949. <a class="btn btn-default dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></a>
  950. <ul class="dropdown-menu">
  951. <li><a data-value="ClientNo">用户编码</a></li>
  952. <li><a data-value="ClientName">用户名称</a></li>
  953. <li><a data-value="MeterCode">水表编码</a></li>
  954. <li><a data-value="MeterAddress">水表地址</a></li>
  955. </ul>
  956. </div>
  957. </td>
  958. <td>
  959. <input id="userIn" type="text" style="margin-left: 10px"/>
  960. </td>
  961. <td style="padding-left: 10px;">
  962. <a onclick="searchUserIn()" class="btn btn-primary" style="color: white">&nbsp;查&nbsp;&nbsp;询</a>
  963. <a onclick="refreshUserIn()" class="btn btn-info" style="color: white">&nbsp;刷&nbsp;&nbsp;新</a>
  964. </td>
  965. </tr>
  966. </table>
  967. </div>
  968. <div class ="gridContainer3">
  969. <table id="pointGridUserInTable"></table>
  970. <div id="gridUserInPager"></div>
  971. </div>
  972. </div>
  973. <div class="centerDiv">
  974. <div class="center">
  975. <div style="margin: 0 auto;width: 34px;">
  976. <i style="font-size: 40px;" class="fa fa-arrow-circle-left" onclick="turnToLeftUser()"></i>
  977. </div>
  978. <br />
  979. <div style="margin: 0 auto;width: 34px;">
  980. <i style="font-size: 40px;" class="fa fa-arrow-circle-right" onclick="turnToRightUser()"></i>
  981. </div>
  982. </div>
  983. </div>
  984. <div class="rightDiv">
  985. <div class="gridTitle"><span class="titleText" id="titleUserOut">户表</span></div>
  986. <div class="gridSearch">
  987. <table style="float: left;">
  988. <tr>
  989. <td>
  990. <p class="searchText">查询方式</p>
  991. </td>
  992. <td>
  993. <div id="queryUserOut" class="btn-group" style="margin-left: 10px">
  994. <a class="btn btn-default dropdown-text" data-toggle="dropdown">查询方式</a>
  995. <a class="btn btn-default dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></a>
  996. <ul class="dropdown-menu">
  997. <li><a data-value="ClientNo">用户编码</a></li>
  998. <li><a data-value="ClientName">用户名称</a></li>
  999. <li><a data-value="MeterCode">水表编码</a></li>
  1000. <li><a data-value="MeterAddress">水表地址</a></li>
  1001. </ul>
  1002. </div>
  1003. </td>
  1004. <td>
  1005. <input id="userOut" type="text" style="margin-left: 10px"/>
  1006. </td>
  1007. <td style="padding-left: 10px;">
  1008. <a onclick="searchUserOut()" class="btn btn-primary" style="color: white">&nbsp;查&nbsp;&nbsp;询</a>
  1009. <a onclick="refreshUserOut()" class="btn btn-info" style="color: white">&nbsp;刷&nbsp;&nbsp;新</a>
  1010. </td>
  1011. </tr>
  1012. </table>
  1013. </div>
  1014. <div class="gridContainer3">
  1015. <table id="pointGridUserOutTable"></table>
  1016. <div id="gridUserOutPager"></div>
  1017. </div>
  1018. </div>
  1019. </div>
  1020. </div>
  1021. </div>
  1022. </div>
  1023. </div>
  1024. @* <div style="position: absolute;top: 20px;right:50px">
  1025. <a onclick="reload();">刷新</a>
  1026. </div>*@
  1027. </div>