configurationJs.jsp 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753
  1. <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="utf-8"%>
  2. <%@include file="/WEB-INF/ehr/commons/jsp/commonInclude.jsp" %>
  3. <link href="${contextRoot}/develop/lib/select2/select2.min.css" rel="stylesheet">
  4. <script src="${contextRoot}/develop/lib/select2/select2.js"></script>
  5. <script >
  6. /* ************************** 全局变量定义 **************************** */
  7. $importData=$("#importData");
  8. var status = $("#publish_status").val();
  9. var Util = $.Util;
  10. var retrieve = null;
  11. var master = null;
  12. var conditionArea = null;
  13. var adapterPlanId = "";
  14. var entryRetrieve = null;
  15. var entryMaster = null;
  16. var datasourceRetrieve = null;
  17. var datasourceMaster = null;
  18. var cfgModel = 0;
  19. var changeFlag=false;
  20. var orgList = [];
  21. var datasourceList = [];
  22. var cfg = [
  23. {
  24. left:{title:'数据集', cls:'', search:'/standardCenter/searchDatasetList', goAdd:'/integration/updateDataset',del:'/standardCenter/delDataset',delLs:'/standardCenter/delDataset'},
  25. right:{title:'数据元', cls:'', search:'/standardCenter/searchMetadataList', goAdd:'/integration/updateMetadata',del:'/standardCenter/delMetaData',delLs:'/standardCenter/delMetaData'}
  26. },
  27. {
  28. left:{title:'字典', cls:'', search:'/standardCenter/searchDictList', goAdd:'/integration/updateDict',del:'/standardCenter/delDict',delLs:'/standardCenter/delDict'},
  29. right:{title:'字典项', cls:'', search:'/standardCenter/searchDictEntryList', goAdd:'/integration/updateDictEntry', del:'/standardCenter/delDictEntry',delLs:'/standardCenter/delDictEntry'}
  30. }
  31. ];
  32. /* *************************** 函数定义 ******************************* */
  33. function pageInit() {
  34. if(status=="1"){//已发布
  35. $(".div-btn").hide();
  36. }else{//未发布
  37. $(".div-btn").show();
  38. }
  39. resizeContent();
  40. retrieve.init();
  41. conditionArea.init();
  42. entryRetrieve.init();
  43. master.init();
  44. master.reloadGrid();
  45. entryMaster.init();
  46. datasourceRetrieve.init();
  47. datasourceMaster.init();
  48. $('#div_datasource').hide();
  49. }
  50. $importData.bind("click",function(){
  51. var version =$("#version").val();
  52. var standardId = $("#standard_id").val();
  53. var url = "${contextRoot}/integration/importData?version="+version+"&standardId="+standardId;;
  54. var importDataDialog = $.ligerDialog.open({
  55. title: "导入数据",
  56. url: url,
  57. height: 250,
  58. width: 650,
  59. cls:"closeCls"
  60. });
  61. $(document).on("click",".closeCls",function(){
  62. master.reloadGrid();
  63. });
  64. });
  65. function reloadGrid (url, params, columns) {
  66. if(columns)
  67. this.grid.set({
  68. columns:columns,
  69. url: url,
  70. parms: params
  71. });
  72. else
  73. this.grid.set({
  74. url: url,
  75. parms: params
  76. });
  77. // this.grid.reload();
  78. }
  79. function resizeContent(){
  80. var contentW = $('#grid_content').width();
  81. var leftW = $('#div_left').width();
  82. var div_wrapper = $("#div_wrapper").width();
  83. if($("#type").val()=="0"){//集成标准
  84. $(".btn-group").css("margin-left",(div_wrapper-200)/2);
  85. }else{//应用标准
  86. $(".btn-group").css("margin-left",(div_wrapper-300)/2);
  87. $(".btn-group").append($("#switch_datasource"));
  88. $("#switch_datasource").show();
  89. }
  90. $('#div_right').width(contentW-leftW-20);
  91. }
  92. /* *************************** title模块初始化 ***************************** */
  93. conditionArea = {
  94. $element: $('#conditionArea'),
  95. $adapter_plan_name :$('#adapter_plan_name'),
  96. $adapter_plan_parent :$('#adapter_plan_parent'),
  97. $adapter_plan_type :$('#adapter_plan_type'),
  98. $adapter_plan_org :$('#adapter_plan_org'),
  99. $btn_switch_dataSet :$('#switch_dataSet'),
  100. $btn_switch_dict :$('#switch_dict'),
  101. $btn_switch_datasource :$('#switch_datasource'),
  102. $div_left :$('#div_left'),
  103. $div_right :$('#div_right'),
  104. $div_datasource:$('#div_datasource'),
  105. init : function () {
  106. // this.initAdapterOrg();
  107. this.$element.show();
  108. this.bindEvents();
  109. },
  110. initAdapterOrg: function () {
  111. var self = this;
  112. var dataModel = $.DataModel.init();
  113. dataModel.fetchRemote("${contextRoot}/adapter/getAdapterPlanById",{
  114. data:{id:adapterPlanId},
  115. success: function(data) {
  116. var model = data.obj;
  117. self.$adapter_plan_name.val(model.name);
  118. self.$adapter_plan_parent.val(model.parentName);
  119. self.$adapter_plan_type.val(model.typeValue);
  120. self.$adapter_plan_org.val(model.orgValue);
  121. },
  122. error: function () {
  123. // alert(1)
  124. }
  125. });
  126. },
  127. bindEvents : function () {
  128. this.$btn_switch_dataSet.click(function () {
  129. if(cfgModel==0)
  130. return;
  131. conditionArea.$div_left.show();
  132. conditionArea.$div_right.show();
  133. conditionArea.$div_datasource.hide();
  134. cfgModel = 0;
  135. retrieve.setTitle();
  136. entryRetrieve.setTitle();
  137. changeFlag=true;
  138. master.reloadGrid();
  139. $(".btn-default").removeClass("active");
  140. conditionArea.$btn_switch_dataSet.addClass("active");
  141. });
  142. this.$btn_switch_dict.click(function () {
  143. if(cfgModel==1)
  144. return;
  145. conditionArea.$div_left.show();
  146. conditionArea.$div_right.show();
  147. conditionArea.$div_datasource.hide();
  148. cfgModel = 1;
  149. retrieve.setTitle();
  150. entryRetrieve.setTitle();
  151. changeFlag=true;
  152. master.reloadGrid();
  153. $(".btn-default").removeClass("active");
  154. conditionArea.$btn_switch_dict.addClass("active");
  155. });
  156. this.$btn_switch_datasource.click(function () {
  157. if(cfgModel==2)
  158. return;
  159. conditionArea.$div_left.hide();
  160. conditionArea.$div_right.hide();
  161. conditionArea.$div_datasource.show();
  162. cfgModel = 2;
  163. changeFlag=true;
  164. datasourceMaster.reloadGrid();
  165. $(".btn-default").removeClass("active");
  166. conditionArea.$btn_switch_datasource.addClass("active");
  167. });
  168. }
  169. };
  170. /* *************************** left模块初始化 ***************************** */
  171. retrieve = {
  172. $element: $('#retrieve'),
  173. $searchNm: $('#searchNm'),
  174. $addBtn: $('#btn_create'),
  175. $title :$('#left_title'),
  176. init: function () {
  177. this.$searchNm.ligerSearch({onClick: function (value) {
  178. master.reloadGrid();
  179. }});
  180. this.$element.show();
  181. },
  182. setTitle: function () {
  183. this.$title.html(cfg[cfgModel].left.title);
  184. }
  185. };
  186. master = {
  187. infoDialog: null,
  188. grid: null,
  189. init: function () {
  190. if(this.grid)
  191. return;
  192. this.grid = $("#div_left_grid").ligerGrid({
  193. url: '${contextRoot}'+cfg[cfgModel].left.search,
  194. columns: this.getColumn(),
  195. delayLoad:true,
  196. selectRowButtonOnly: true,
  197. allowHideColumn:false,
  198. validate : true,
  199. unSetValidateAttr:false,
  200. onSuccess: function (data,grid) {
  201. if(data.detailModelList.length==0){
  202. entryMaster.reloadGrid('');
  203. }
  204. },
  205. onAfterShowData: function () {
  206. this.select(0);
  207. },
  208. onSelectRow: function(row){
  209. entryMaster.reloadGrid(row.id);
  210. }
  211. });
  212. this.bindEvents();
  213. },
  214. bindEvents: function () {
  215. //窗体改变大小事件
  216. $(window).bind('resize', function() {
  217. resizeContent();
  218. });
  219. $('#btn_create').click(function () {
  220. master.open('','add');
  221. });
  222. $("#searchNm").keyup(function (e) {
  223. if (e.keyCode == 13) {
  224. master.reloadGrid();
  225. }
  226. });
  227. },
  228. reloadGrid: function () {
  229. var searchNm = $("#searchNm").val();
  230. var values = {
  231. stdVersion: $("#version").val(),
  232. condition: JSON.stringify({"name":searchNm}),
  233. };
  234. if (changeFlag){
  235. var url = '${contextRoot}' + cfg[cfgModel].left.search;
  236. reloadGrid.call(this, url, values, this.getColumn());
  237. }else{
  238. this.grid.setOptions({parms: $.extend({},values),newPage: 1});
  239. //重新查询
  240. this.grid.loadData(true);
  241. }
  242. },
  243. open:function(id,mode){
  244. var title;
  245. if(mode=="add"){
  246. title="新增";
  247. }else if(mode=="modify"){
  248. title="修改";
  249. }else{
  250. title="查看";
  251. }
  252. title += cfg[cfgModel].left.title;
  253. var url = '${contextRoot}'+cfg[cfgModel].left.goAdd;
  254. if (mode == 'modify' || mode=="") {
  255. url = url + "?type="+mode+"&id=" +id+"&version="+$("#version").val()+"&standardId="+ $("#standard_id").val();;
  256. } else {
  257. url = url + "?type="+mode+"&version="+$("#version").val()+"&standardId="+ $("#standard_id").val();
  258. }
  259. master.entryInfoDialog = $.ligerDialog.open({
  260. height:500,
  261. width: 500,
  262. title : title,
  263. url: url
  264. });
  265. },
  266. delete:function(ids){
  267. if(ids=='' || ids=='undefined'){
  268. var rows = master.grid.getSelectedRows();
  269. if(rows.length==0){
  270. $.ligerDialog.warn( '请选择要删除的数据行!');
  271. return;
  272. }
  273. for(var i=0;i<rows.length;i++){
  274. ids += ','+rows[i].id;
  275. }
  276. ids = ids.length>0?ids.substring(1, ids.length):ids;
  277. }
  278. var toData = null;
  279. if(cfgModel==0){//数据集
  280. toData={datasetId:ids, stdVersion:$("#version").val()};
  281. }else if(cfgModel==1){//字典
  282. toData={dictId:ids, stdVersion:$("#version").val()};
  283. }
  284. $.ligerDialog.confirm('确认删除所选数据?', function (r) {
  285. if(r){
  286. $.ajax({
  287. url: '${contextRoot}'+cfg[cfgModel].left.delLs,
  288. type: "get",
  289. dataType: "json",
  290. data:toData,
  291. success: function (data) {
  292. if(data.successFlg){
  293. $.ligerDialog.success(data.message);
  294. master.reloadGrid();
  295. }else{
  296. $.ligerDialog.error(data.message);
  297. }
  298. },
  299. error: function (jqXHR, textStatus, errorThrown) {
  300. $.ligerDialog.error("删除数据集信息失败!")
  301. }
  302. });
  303. }
  304. })
  305. },
  306. getColumn: function () {
  307. var code = 'code';
  308. var name = 'name';
  309. var columnCfg = [
  310. { display: 'id', name: 'id', hide:true },
  311. { display: '代码', name: code,width: '33%', isAllowHide: false, align: 'center' },
  312. { display: '名称',name: name, width: '34%',isAllowHide: false, align: 'center'},
  313. { display: '操作', name: 'operator', width: '33%', align: 'center',render: function (row) {
  314. if(status=="1") {//已发布
  315. var html = '<div class="m-inline-buttons" style="width:40px;">';
  316. html += '<a href="#" class="m-btn-view" onclick="master.open(\''+row.id+'\',\'\')"></a>';
  317. return html;
  318. }else{//未发布
  319. var html = '<div class="m-inline-buttons" style="width:80px;">';
  320. html += '<a href="#" class="m-btn-edit" onclick="javascript:master.open(\''+row.id+'\',\'modify\')"></a>';
  321. html += '<a href="#" class="m-btn-delete" onclick="javascript:master.delete(\''+row.id+'\')"></a>';
  322. return html;
  323. }
  324. }}
  325. ];
  326. return columnCfg;
  327. }
  328. };
  329. /* *************************** right模块初始化 ***************************** */
  330. entryRetrieve = {
  331. $element: $('#entryRetrieve'),
  332. $searchNm: $('#searchNmEntry'),
  333. $title: $('#right_title'),
  334. init: function () {
  335. this.$searchNm.ligerSearch({onClick: function () {
  336. var row = master.grid.getSelectedRow();
  337. var parentId = "";
  338. if(row){
  339. parentId = row.id;
  340. }
  341. entryMaster.reloadGrid(parentId);
  342. }});
  343. this.$element.show();
  344. },
  345. setTitle: function () {
  346. this.$title.html(cfg[cfgModel].right.title);
  347. }
  348. };
  349. entryMaster = {
  350. entryInfoDialog: null,
  351. grid: null,
  352. init: function (dictId) {
  353. if(this.grid)
  354. return;
  355. this.grid = $("#div_relation_grid").ligerGrid({
  356. url: '${contextRoot}'+cfg[cfgModel].right.search,
  357. columns: this.getColumn(),
  358. delayLoad:true,
  359. selectRowButtonOnly: true,
  360. allowHideColumn:false,
  361. validate : true,
  362. unSetValidateAttr:false,
  363. checkbox:false,
  364. onDblClickRow : function (row){
  365. //$.publish('grid:right:open',[row.id, 'modify']);
  366. }
  367. });
  368. this.bindEvents();
  369. },
  370. reloadGrid: function (parentId) {
  371. var searchNmEntry = $("#searchNmEntry").val();
  372. var values = {
  373. datasetId:parentId,
  374. dictId:parentId,
  375. stdVersion:$("#version").val(),
  376. condition: JSON.stringify({"name":searchNmEntry})
  377. };
  378. if (changeFlag){
  379. reloadGrid.call(this, '${contextRoot}'+cfg[cfgModel].right.search, values, this.getColumn());
  380. }else{
  381. this.grid.setOptions({parms: $.extend({},values),newPage: 1});
  382. //重新查询
  383. this.grid.loadData(true);
  384. }
  385. changeFlag=false;
  386. },
  387. open:function(id,mode){
  388. var title;
  389. if(mode=="add"){
  390. title="新增";
  391. }else if(mode=="modify"){
  392. title="修改";
  393. }else{
  394. title="查看";
  395. }
  396. title += cfg[cfgModel].right.title;
  397. var url = '${contextRoot}'+cfg[cfgModel].right.goAdd;
  398. var row = master.grid.getSelectedRow();
  399. if (mode == 'modify' || mode=="") {
  400. url = url + "?type="+mode+"&id=" +id+"&version="+$("#version").val()+"&pid="+ row.id+"&standardId="+ $("#standard_id").val();
  401. } else {
  402. url = url + "?type="+mode+"&version="+$("#version").val()+"&pid="+ row.id+"&standardId="+ $("#standard_id").val();
  403. }
  404. if(cfgModel==1){//字典项
  405. entryMaster.entryInfoDialog = $.ligerDialog.open({
  406. height:400,
  407. width: 500,
  408. title : title,
  409. url: url
  410. });
  411. }else{//数据元
  412. entryMaster.entryInfoDialog = $.ligerDialog.open({
  413. height:550,
  414. width: 750,
  415. title : title,
  416. url: url
  417. });
  418. }
  419. },
  420. delete:function(ids){
  421. if(ids ==''|| ids==undefined){
  422. var rows = entryMaster.grid.getSelectedRows();
  423. if(rows.length==0){
  424. $.ligerDialog.warn( '请选择要删除的数据行!');
  425. return;
  426. }
  427. for(var i=0;i<rows.length;i++){
  428. ids += ','+rows[i].id;
  429. }
  430. ids = ids.length>0?ids.substring(1, ids.length):ids;
  431. }
  432. var toData = null;
  433. if(cfgModel==0){//数据元
  434. toData={metadataId:ids, stdVersion:$("#version").val()};
  435. }else if(cfgModel==1){//字典项
  436. toData={dictEntryId:ids, stdVersion:$("#version").val()};
  437. }
  438. $.ligerDialog.confirm('确认删除所选数据?', function (r) {
  439. var row = master.grid.getSelectedRow();
  440. var parentId = "";
  441. if(row){
  442. parentId = row.id;
  443. }
  444. if(r){
  445. $.ajax({
  446. url: '${contextRoot}'+cfg[cfgModel].right.delLs,
  447. type: "get",
  448. dataType: "json",
  449. data:toData,
  450. success: function (data) {
  451. if(data.successFlg){
  452. $.ligerDialog.success( data.message);
  453. entryMaster.reloadGrid(parentId);
  454. }else{
  455. $.ligerDialog.error(data.message);
  456. }
  457. },
  458. error: function (jqXHR, textStatus, errorThrown) {
  459. $.ligerDialog.error("删除失败!")
  460. }
  461. });
  462. }
  463. })
  464. },
  465. bindEvents: function () {
  466. //窗体改变大小事件
  467. $(window).bind('resize', function() {
  468. resizeContent();
  469. });
  470. $('#btn_create_relation').click(function () {
  471. entryMaster.open('','add');
  472. });
  473. $("#searchNmEntry").keyup(function (e) {
  474. if (e.keyCode == 13) {
  475. entryMaster.reloadGrid();
  476. }
  477. });
  478. },
  479. getColumn: function () {
  480. var columnCfg =[];
  481. if(cfgModel==0){
  482. columnCfg = [
  483. { display: 'id', name: 'id', hide:true },
  484. { display: '数据元编码', name: 'code',width: '20%', isAllowHide: false ,align:'center' },
  485. { display: '数据元名称',name: 'name', width: '20%',isAllowHide: false ,align:'center'},
  486. { display: '数据类型', name: 'type',width: '20%', isAllowHide: false ,align:'center'},
  487. { display: '表示格式',name: 'format', width: '20%',isAllowHide: false ,align:'center'},
  488. { display: '操作', name: 'operator', width: '20%',align:'center', render: function (row) {
  489. if(status=="1") {//已发布
  490. var html = '<div class="m-inline-buttons" style="width:40px;">';
  491. html += '<a href="#" class="m-btn-view" onclick="entryMaster.open(\''+row.id+'\',\'\')"></a>';
  492. return html;
  493. }else{//未发布
  494. var html = '<div class="m-inline-buttons" style="width:80px;">';
  495. html += '<a href="#" class="m-btn-edit" onclick="entryMaster.open(\''+row.id+'\',\'modify\')"></a>';
  496. html += ' <a href="#" class="m-btn-delete" onclick="entryMaster.delete(\''+row.id+'\')"></a>';
  497. return html;
  498. }
  499. }}
  500. ]
  501. }
  502. else{
  503. columnCfg = [
  504. { display: 'id', name: 'id', hide:true },
  505. { display: '值域编码', name: 'code',width: '40%', isAllowHide: false ,align:'center' },
  506. { display: '值域名称',name: 'value', width: '40%',isAllowHide: false ,align:'center'},
  507. { display: '操作', name: 'operator', width: '20%', align:'center',render: function (row) {
  508. if(status=="1") {//已发布
  509. var html = '<div class="m-inline-buttons" style="width:40px;">';
  510. html += '<a href="#" class="m-btn-view" onclick="entryMaster.open(\''+row.id+'\',\'\')"></a>';
  511. return html;
  512. }else{//未发布
  513. var html = '<div class="m-inline-buttons" style="width:80px;">';
  514. html += '<a href="#" class="m-btn-edit" onclick="entryMaster.open(\''+row.id+'\',\'modify\')"></a>';
  515. html += ' <a href="#" class="m-btn-delete" onclick="entryMaster.delete(\''+row.id+'\')"></a>';
  516. return html;
  517. }
  518. }}
  519. ]
  520. }
  521. return columnCfg;
  522. }
  523. };
  524. /* *************************** datasource模块初始化 ***************************** */
  525. datasourceRetrieve = {
  526. $element: $('#div_datasource'),
  527. grid: null,
  528. init: function () {
  529. this.$element.show();
  530. }
  531. };
  532. datasourceMaster = {
  533. infoDialog: null,
  534. grid: null,
  535. init: function () {
  536. if(this.grid)
  537. return;
  538. $.ajax({
  539. url: '${contextRoot}/org/getOrgList',
  540. type: "get",
  541. dataType: "json",
  542. data:{activityFlag:'1'},
  543. success: function (data) {
  544. if(data.successFlg && !Util.isStrEmpty(data.detailModelList)){
  545. orgList = data.detailModelList;
  546. }else{
  547. $.ligerDialog.error(data.message);
  548. }
  549. },
  550. error: function (jqXHR, textStatus, errorThrown) {
  551. $.ligerDialog.error("获取机构信息列表失败!")
  552. }
  553. });
  554. $.ajax({
  555. url: '${contextRoot}/datasource/getDatasourceByOrg',
  556. type: "get",
  557. dataType: "json",
  558. success: function (data) {
  559. if(data.successFlg && !Util.isStrEmpty(data.detailModelList)){
  560. datasourceList = data.detailModelList;
  561. }else{
  562. $.ligerDialog.error("数据源未配置");
  563. }
  564. },
  565. error: function (jqXHR, textStatus, errorThrown) {
  566. $.ligerDialog.error("获取数据源信息列表失败!")
  567. }
  568. });
  569. this.grid = $("#div_datasource_grid").ligerGrid({
  570. url: '${contextRoot}/datacollect/getDatasetSource',
  571. parms:{stdVersion:'${version}'},
  572. columns: this.getColumn(),
  573. usePager: false,
  574. onAfterShowData: function (gridData) {//显示完数据事件
  575. //【应用数据元编码】change事件
  576. $(".sel-org-id").on("change", function(event,msg) {
  577. var rowIndex = $(this).attr("id").replace("orgId","");
  578. var option = '<option value="">请选择</option>';
  579. for(var i=0;i<datasourceList.length;i++){
  580. if(datasourceList[i].orgId==$(this).val()){
  581. option+='<option value="'+datasourceList[i].id+'">'+datasourceList[i].name+'</option>';
  582. }
  583. }
  584. $("#datasourceId"+rowIndex).html("");
  585. $("#datasourceId"+rowIndex).append(option);
  586. });
  587. }
  588. });
  589. this.bindEvents();
  590. },
  591. bindEvents: function () {
  592. $('#btn_save_datasource').click(function () {
  593. var dataResult = new Array();
  594. var rowData = datasourceMaster.grid.getData();
  595. for (var i = 0; i < rowData.length; i++) {
  596. var ob = new Object();
  597. ob.id = rowData[i].id == undefined ? "" : rowData[i].id;
  598. ob.datasetId = rowData[i].datasetId == undefined ? "" : rowData[i].datasetId;
  599. ob.datasourceId = $("#datasourceId"+i).val()==undefined ? "":$("#datasourceId"+i).val();
  600. ob.stdVersion = '${version}';
  601. ob.stdId = '${stdId}';
  602. ob.orgId = $("#orgId"+i).val()==undefined ? "":$("#orgId"+i).val();
  603. dataResult.push(ob);
  604. }
  605. $.ajax({ //ajax处理
  606. type: "POST",
  607. url : '${contextRoot}/datacollect/saveDatasetSource',
  608. dataType : "json",
  609. data:{stdVersion:'${version}',json:JSON.stringify(dataResult)},
  610. cache:false,
  611. success :function(data){
  612. if(data.successFlg) {
  613. $.ligerDialog.success(data.message);
  614. datasourceMaster.reloadGrid();
  615. }
  616. else {
  617. $.ligerDialog.error(data.message);
  618. }
  619. },
  620. error :function(data) {
  621. $.ligerDialog.error("Status:"+data.status +"(" +data.statusText+")");
  622. }
  623. });
  624. });
  625. },
  626. reloadGrid: function () {
  627. var values = {
  628. stdVersion:'${version}',
  629. };
  630. if (changeFlag){
  631. reloadGrid.call(this, '${contextRoot}/datacollect/getDatasetSource', values, this.getColumn());
  632. }else{
  633. this.grid.setOptions({parms: $.extend({},values),newPage: 1});
  634. //重新查询
  635. this.grid.loadData(true);
  636. }
  637. changeFlag=false;
  638. },
  639. getColumn: function () {
  640. if(status=="1") {//已发布
  641. var columnCfg = [
  642. { display: 'id', name: 'id', hide:true },
  643. { display: '数据集名称', name: 'datasetName',width: '25%', isAllowHide: false ,align:'left' },
  644. { display: '数据集代码',name: 'datasetCode', width: '25%',isAllowHide: false ,align:'left'},
  645. {display:'机构名称',name:'orgId', width: '25%',align:'left',dict:true,dictName:"SYSTEM_ORGANIZATION"},
  646. { display: '数据源名称',name: 'datasourceId', width: '25%',align:'left',dict:true,dictName:"SYSTEM_DATASOURCE"},
  647. ]
  648. return columnCfg;
  649. }else{//未发布
  650. var columnCfg = [
  651. { display: 'id', name: 'id', hide:true },
  652. { display: '数据集名称', name: 'datasetName',width: '20%', isAllowHide: false ,align:'left' },
  653. { display: '数据集代码',name: 'datasetCode', width: '20%',isAllowHide: false ,align:'left'},
  654. {display:'机构名称',name:'orgId', width: '25%',align:'left',render: function (row, rowindex, value, column) {
  655. var select= '<select class="sel-org-id form-control" id="orgId'+rowindex+'" style="margin-top:3px;font-size:12px;"><option value="">请选择</option>';
  656. for(var i=0;i<orgList.length;i++){
  657. select+='<option value="'+orgList[i].id+'">'+orgList[i].fullName+'</option>';
  658. }
  659. select = $(select+"</select>");
  660. $('option[value="'+value+'"]',select).attr('selected',true);
  661. return select.prop("outerHTML");
  662. }},
  663. { display: '数据源名称',name: 'datasourceId', width: '25%',align:'left',render: function(row, rowindex, value, column) {
  664. var select= '<select class="sel-datasource-id form-control" id="datasourceId'+rowindex+'" style="margin-top:3px;font-size:12px;"><option value="">请选择</option>';
  665. for(var i=0;i<datasourceList.length;i++){
  666. if(datasourceList[i].orgId==row.orgId){
  667. select+='<option value="'+datasourceList[i].id+'">'+datasourceList[i].name+'</option>';
  668. }
  669. }
  670. select = $(select+"</select>");
  671. $('option[value="'+value+'"]',select).attr('selected',true);
  672. return select.prop("outerHTML");
  673. }},
  674. { display: '操作', name: 'operator', width: '10%', render: function (row, rowindex, value, column) {
  675. var html = '<div class="m-inline-buttons" style="width:40px;">';
  676. html += ' <a href="#" class="m-btn-delete" onclick="datasourceMaster.delete(\''+rowindex+'\')"></a>';
  677. return html;
  678. }}
  679. ]
  680. return columnCfg;
  681. }
  682. },
  683. delete:function(rowindex){
  684. $.ligerDialog.confirm('确定删除该数据源配置?', function (r) {
  685. if(r){
  686. $("#orgId"+rowindex).val("");
  687. $("#datasourceId"+rowindex).val("");
  688. }
  689. })
  690. }
  691. };
  692. /* *************************** 页面初始化功能 **************************** */
  693. $(function () {
  694. pageInit();
  695. });
  696. </script>