iPortalStylePanel.js 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449
  1. /* Copyright© 2000 - 2021 SuperMap Software Co.Ltd. All rights reserved.*/
  2. var data;
  3. L.supermap.plotting.initIportalStylePanel = function(div, type, data, plotName){
  4. data = data;
  5. if(plotName === 'detail') {
  6. var stylePanel = document.getElementById(div);
  7. var pg = document.createElement("table");
  8. pg.id = "pg";
  9. pg.className = "easyui-propertygrid";
  10. stylePanel.appendChild(pg);
  11. $("#pg").propertygrid({
  12. showGroup:true,
  13. columns: [[
  14. { field: 'name', title: 'Name', width: 100, resizable: true },
  15. { field: 'value', title: 'Value', width: 100, resizable: true
  16. }
  17. ]]
  18. });
  19. showFeatureProperty(type,data);
  20. }else {
  21. var plotPanel = document.getElementById(div);
  22. var attrStyle = document.createElement("table");
  23. attrStyle.id = "attrStyle";
  24. attrStyle.className = "easyui-propertygrid";
  25. plotPanel.appendChild(attrStyle);
  26. $("#attrStyle").propertygrid({
  27. showGroup:true,
  28. columns: [[
  29. { field: 'name', title: 'Name', width: 100, resizable: true },
  30. { field: 'value', title: 'Value', width: 100, resizable: true
  31. }
  32. ]],
  33. onAfterEdit: afterModifySelectFeature
  34. });
  35. showEditFeatureProperty(type,data);
  36. }
  37. }
  38. function showFeatureProperty(type,item) {
  39. let rows = collectionPropertyGridRows(type,item);
  40. $('#pg').propertygrid('loadData', rows);
  41. }
  42. function showEditFeatureProperty(type,item) {
  43. let rows = collectionEditPropertyGridRows(type,item);
  44. $('#attrStyle').propertygrid('loadData', rows);
  45. }
  46. var groupDetail =["基本信息","地图图层列表","服务参照系","服务标识","服务范围","服务提供者"];
  47. var groupEdit =["基本信息","服务参照系","服务标识","地理范围","服务提供者"];
  48. function collectionPropertyGridRows(type,featuresParameter) {
  49. let rows = [];
  50. //基本信息
  51. rows = [
  52. { "name": "名称", "value":featuresParameter.title, "group": groupDetail[0]},
  53. { "name": "所有者", "value":featuresParameter.userName, "group": groupDetail[0]},
  54. { "name": "标签", "value": featuresParameter.tags.join(",").replace(","," "),"group": groupDetail[0]},
  55. { "name": "描述", "value": featuresParameter.description, "group": groupDetail[0]}
  56. ];
  57. switch (type){
  58. case 'MAP':
  59. rows.push(
  60. {
  61. "name":'类型',
  62. "value":featuresParameter.sourceType,
  63. "group":groupDetail[0]
  64. },
  65. {
  66. "name":'坐标系信息',
  67. "value":featuresParameter.epsgCode,
  68. "group":groupDetail[0]
  69. },
  70. {
  71. "name":'中心点',
  72. "value":featuresParameter.center?"("+featuresParameter.center.x+", "+featuresParameter.center.y+")":'',
  73. "group":groupDetail[0]
  74. },
  75. {
  76. "name":'地图范围',
  77. "value":featuresParameter.extent?"左下角("+featuresParameter.extent.left+","+featuresParameter.extent.bottom+") 右上角("+featuresParameter.extent.right+","+featuresParameter.extent.top+")":'',
  78. "group":groupDetail[0]
  79. },
  80. {
  81. "name":'创建时间',
  82. "value":new Date(parseInt(featuresParameter.createTime)).toLocaleString(),
  83. "group":groupDetail[0]
  84. },
  85. {
  86. "name":'修改时间',
  87. "value":new Date(parseInt(featuresParameter.updateTime)).toLocaleString(),
  88. "group":groupDetail[0]
  89. },
  90. {
  91. "name":'访问数',
  92. "value":featuresParameter.visitCount,
  93. "group":groupDetail[0]
  94. }
  95. )
  96. if(featuresParameter.layers) {
  97. featuresParameter.layers.forEach(item => {
  98. rows.push({
  99. "name":item.title,
  100. "value":item.hrefUrl,
  101. "group":groupDetail[1]
  102. })
  103. })
  104. }
  105. break;
  106. case 'SERVICE':
  107. rows[0].value = featuresParameter.resTitle;
  108. rows.push(
  109. {
  110. "name":'地址',
  111. "value":featuresParameter.linkPage,
  112. "group":groupDetail[0]
  113. },
  114. {
  115. "name":'代理地址',
  116. "value":featuresParameter.proxiedUrl,
  117. "group":groupDetail[0]
  118. },
  119. {
  120. "name":'令牌获取地址',
  121. "value":featuresParameter.tokenRefreshUrl,
  122. "group":groupDetail[0]
  123. },
  124. {
  125. "name":'类型',
  126. "value":featuresParameter.type,
  127. "group":groupDetail[0]
  128. },
  129. {
  130. "name":'注册于',
  131. "value":new Date(parseInt(featuresParameter.createTime)).toLocaleString(),
  132. "group":groupDetail[0]
  133. },
  134. {
  135. "name":'访问数',
  136. "value":featuresParameter.visitCount,
  137. "group":groupDetail[0]
  138. },
  139. {
  140. "name":'坐标系',
  141. "value":featuresParameter.metadata.refSysInfo?featuresParameter.metadata.refSysInfo.refSysID:'',
  142. "group":groupDetail[2]
  143. },
  144. {
  145. "name":'投影类型',
  146. "value":featuresParameter.metadata.refSysInfo?featuresParameter.metadata.refSysInfo.mdCoRefSys.projection:'',
  147. "group":groupDetail[2]
  148. },
  149. {
  150. "name":'覆盖区域',
  151. "value":featuresParameter.metadata.dataIdInfo?featuresParameter.metadata.dataIdInfo.dataIdent.dataExt.exDesc:'',
  152. "group":groupDetail[3]
  153. },
  154. {
  155. "name":'西边界',
  156. "value":featuresParameter.metadata.dataIdInfo?featuresParameter.metadata.dataIdInfo.dataIdent.dataExt.geoEle.geoBndBox.westBL:'',
  157. "group":groupDetail[4]
  158. },
  159. {
  160. "name":'东边界',
  161. "value":featuresParameter.metadata.dataIdInfo?featuresParameter.metadata.dataIdInfo.dataIdent.dataExt.geoEle.geoBndBox.eastBL:'',
  162. "group":groupDetail[4]
  163. },
  164. {
  165. "name":'南边界',
  166. "value":featuresParameter.metadata.dataIdInfo?featuresParameter.metadata.dataIdInfo.dataIdent.dataExt.geoEle.geoBndBox.southBL:'',
  167. "group":groupDetail[4]
  168. },
  169. {
  170. "name":'北边界',
  171. "value":featuresParameter.metadata.dataIdInfo?featuresParameter.metadata.dataIdInfo.dataIdent.dataExt.geoEle.geoBndBox.northBL:'',
  172. "group":groupDetail[4]
  173. },
  174. {
  175. "name":'个人名称',
  176. "value":featuresParameter.metadata.mdContact?featuresParameter.metadata.mdContact.rpIndName:'',
  177. "group":groupDetail[5]
  178. },
  179. {
  180. "name":'组织名称',
  181. "value":featuresParameter.metadata.mdContact?featuresParameter.metadata.mdContact.rpOrgName:'',
  182. "group":groupDetail[5]
  183. },
  184. {
  185. "name":'地址',
  186. "value":featuresParameter.metadata.mdContact?featuresParameter.metadata.mdContact.rpCntInfo.cntAddress.delPoint:'',
  187. "group":groupDetail[5]
  188. },
  189. {
  190. "name":'电子邮件',
  191. "value":featuresParameter.metadata.mdContact?featuresParameter.metadata.mdContact.rpCntInfo.cntAddress.EMailAdd:'',
  192. "group":groupDetail[5]
  193. },
  194. {
  195. "name":'电话',
  196. "value":featuresParameter.metadata.mdContact?featuresParameter.metadata.mdContact.rpCntInfo.voiceNum:'',
  197. "group":groupDetail[5]
  198. },
  199. {
  200. "name":'传真',
  201. "value":featuresParameter.metadata.mdContact?featuresParameter.metadata.mdContact.rpCntInfo.faxNum:'',
  202. "group":groupDetail[5]
  203. }
  204. )
  205. break;
  206. case 'SCENE':
  207. rows[0].value = featuresParameter.name;
  208. rows.push(
  209. {
  210. "name":'创建于',
  211. "value":new Date(parseInt(featuresParameter.createTime)).toLocaleString(),
  212. "group":groupDetail[0]
  213. },
  214. {
  215. "name":'访问数',
  216. "value":featuresParameter.visitCount,
  217. "group":groupDetail[0]
  218. }
  219. )
  220. break;
  221. case 'DATA':
  222. rows[0].value = featuresParameter.fileName;
  223. rows.push(
  224. {
  225. "name":'类型',
  226. "value":featuresParameter.type,
  227. "group":groupDetail[0]
  228. },
  229. {
  230. "name":'数据范围',
  231. "value":featuresParameter.dataMetaInfo?featuresParameter.dataMetaInfo.bounds:'',
  232. "group":groupDetail[0]
  233. },
  234. {
  235. "name":'坐标系',
  236. "value":featuresParameter.dataMetaInfo?featuresParameter.dataMetaInfo.epsgCode:'',
  237. "group":groupDetail[0]
  238. },
  239. {
  240. "name":'数据提供者',
  241. "value":featuresParameter.dataMetaInfo?featuresParameter.dataMetaInfo.providers:'',
  242. "group":groupDetail[0]
  243. },
  244. {
  245. "name":'修改时间',
  246. "value":new Date(parseInt(featuresParameter.lastModfiedTime)).toLocaleString(),
  247. "group":groupDetail[0]
  248. },
  249. {
  250. "name":'下载次数',
  251. "value":featuresParameter.downloadCount,
  252. "group":groupDetail[0]
  253. },
  254. {
  255. "name":'文件大小',
  256. "value":(Number(featuresParameter.size)/1024).toFixed(2)+"KB",
  257. "group":groupDetail[0]
  258. }
  259. )
  260. break;
  261. case 'INSIGHTS_WORKSPACE':
  262. rows[0].value = featuresParameter.name;
  263. rows.push(
  264. {
  265. "name":'创建于',
  266. "value":new Date(parseInt(featuresParameter.createTime)).toLocaleString(),
  267. "group":groupDetail[0]
  268. },
  269. {
  270. "name":'访问数',
  271. "value":featuresParameter.visitCount,
  272. "group":groupDetail[0]
  273. }
  274. )
  275. break;
  276. case 'MAP_DASHBOARD':
  277. rows[0].value = featuresParameter.name;
  278. rows.push(
  279. {
  280. "name":'创建于',
  281. "value":new Date(parseInt(featuresParameter.createTime)).toLocaleString(),
  282. "group":groupDetail[0]
  283. },
  284. {
  285. "name":'访问数',
  286. "value":featuresParameter.visitCount,
  287. "group":groupDetail[0]
  288. }
  289. )
  290. break;
  291. }
  292. return rows;
  293. }
  294. function collectionEditPropertyGridRows(type,featuresParameter){
  295. let rows = [];
  296. //基本信息
  297. rows = [
  298. { "name": "名称", "value":featuresParameter.title, "group": groupEdit[0],"editor":"text","key":"title"},
  299. { "name": "标签", "value": featuresParameter.tags.join(",").replace(","," "), "group": groupEdit[0],"editor":"text","key":"tags"},
  300. { "name": "描述", "value": featuresParameter.description, "group": groupEdit[0],"editor":"text","key":"description"}
  301. ];
  302. switch (type) {
  303. case 'SERVICE':
  304. rows[0].value = featuresParameter.resTitle;
  305. rows.push(
  306. {
  307. "name":"令牌获取地址",
  308. "value":featuresParameter.tokenRefreshUrl,
  309. "group":groupEdit[0],
  310. "editor":"text",
  311. "key":"tokenRefreshUrl"
  312. },
  313. {
  314. "name":"坐标系",
  315. "value":featuresParameter.metadata.refSysInfo?featuresParameter.metadata.refSysInfo.refSysID:'',
  316. "group":groupEdit[1],
  317. "editor":"text",
  318. "key":"refSysID"
  319. },
  320. {
  321. "name":'投影类型',
  322. "value":featuresParameter.metadata.refSysInfo?featuresParameter.metadata.refSysInfo.mdCoRefSys.projection:'',
  323. "group":groupEdit[1],
  324. "editor":"text",
  325. "key":"projection"
  326. },
  327. {
  328. "name":'覆盖区域',
  329. "value":featuresParameter.metadata.dataIdInfo?featuresParameter.metadata.dataIdInfo.dataIdent.dataExt.exDesc:'',
  330. "group":groupEdit[2],
  331. "editor":"text",
  332. "key":"region"
  333. }, {
  334. "name":'西边界',
  335. "value":featuresParameter.metadata.dataIdInfo?featuresParameter.metadata.dataIdInfo.dataIdent.dataExt.geoEle.geoBndBox.westBL:'',
  336. "group":groupEdit[3],
  337. "editor":"text",
  338. "key":"west"
  339. }, {
  340. "name":'东边界',
  341. "value":featuresParameter.metadata.dataIdInfo?featuresParameter.metadata.dataIdInfo.dataIdent.dataExt.geoEle.geoBndBox.eastBL:'',
  342. "group":groupEdit[3],
  343. "editor":"text",
  344. "key":"east"
  345. }, {
  346. "name":'南边界',
  347. "value":featuresParameter.metadata.dataIdInfo?featuresParameter.metadata.dataIdInfo.dataIdent.dataExt.geoEle.geoBndBox.southBL:'',
  348. "group":groupEdit[3],
  349. "editor":"text",
  350. "key":"south"
  351. }, {
  352. "name":'北边界',
  353. "value":featuresParameter.metadata.dataIdInfo?featuresParameter.metadata.dataIdInfo.dataIdent.dataExt.geoEle.geoBndBox.northBL:'',
  354. "group":groupEdit[3],
  355. "editor":"text",
  356. "key":"north"
  357. },
  358. {
  359. "name":'个人名称',
  360. "value":featuresParameter.metadata.mdContact?featuresParameter.metadata.mdContact.rpIndName:'',
  361. "group":groupEdit[4],
  362. "editor":"text",
  363. "key":"personName"
  364. },
  365. {
  366. "name":'组织名称',
  367. "value":featuresParameter.metadata.mdContact?featuresParameter.metadata.mdContact.rpOrgName:'',
  368. "group":groupEdit[4],
  369. "editor":"text",
  370. "key":"orgName"
  371. },
  372. {
  373. "name":'地址',
  374. "value":featuresParameter.metadata.mdContact?featuresParameter.metadata.mdContact.rpCntInfo.cntAddress.delPoint:'',
  375. "group":groupEdit[4],
  376. "editor":"text",
  377. "key":"address"
  378. },
  379. {
  380. "name":'电子邮件',
  381. "value":featuresParameter.metadata.mdContact?featuresParameter.metadata.mdContact.rpCntInfo.cntAddress.EMailAdd:'',
  382. "group":groupEdit[4],
  383. "editor":"text",
  384. "key":"email"
  385. },
  386. {
  387. "name":'电话',
  388. "value":featuresParameter.metadata.mdContact
  389. ?featuresParameter.metadata.mdContact.rpCntInfo.voiceNum:'',
  390. "group":groupEdit[4],
  391. "editor":"text",
  392. "key":"voiceNum"
  393. },
  394. {
  395. "name":'传真',
  396. "value":featuresParameter.metadata.mdContact?featuresParameter.metadata.mdContact.rpCntInfo.faxNum:'',
  397. "group":groupEdit[4],
  398. "editor":"text",
  399. "key":"faxNum"
  400. }
  401. )
  402. break;
  403. case 'DATA':
  404. rows[0].value = featuresParameter.fileName.substring(0,featuresParameter.fileName.lastIndexOf("."));
  405. rows.push(
  406. {
  407. "name":'数据范围',
  408. "value":featuresParameter.dataMetaInfo?featuresParameter.dataMetaInfo.bounds:'',
  409. "group":groupEdit[0],
  410. "editor":"text",
  411. "key":"bounds"
  412. },{
  413. "name":'坐标系',
  414. "value":featuresParameter.dataMetaInfo?featuresParameter.dataMetaInfo.epsgCode:'',
  415. "group":groupEdit[0],
  416. "editor":"text",
  417. "key":"epsgCode"
  418. },{
  419. "name":'地图预览URL',
  420. "value":featuresParameter.dataMetaInfo?featuresParameter.dataMetaInfo.previewURL:'',
  421. "group":groupEdit[0],
  422. "editor":"text",
  423. "key":"previewURL"
  424. }, {
  425. "name":'数据提供者',
  426. "value":featuresParameter.dataMetaInfo?featuresParameter.dataMetaInfo.providers:'',
  427. "group":groupEdit[0],
  428. "editor":"text",
  429. "key":"providers"
  430. }
  431. )
  432. break;
  433. case 'SCENE':
  434. rows[0].value = featuresParameter.name;
  435. break;
  436. case 'INSIGHTS_WORKSPACE':
  437. rows[0].value = featuresParameter.name;
  438. break;
  439. case 'MAP_DASHBOARD':
  440. rows[0].value = featuresParameter.name;
  441. break;
  442. }
  443. return rows;
  444. }