5dc65cbaf8635ef5c2e50ba35dd39fb7de88696c.svn-base 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. /**
  2. * @name:gw_dictonary
  3. * 用途: 字典(可枚举字段)相关方法
  4. * 主要提供获得字典等相关处理方法
  5. * @author:wxcwater
  6. * @version:0.1.0
  7. * @update
  8. * 0.1.0 - 初版
  9. */var dictionarys = {
  10. "limit": [
  11. {"key": false, "value": "无效"},
  12. {"key": true, "value": "有效"}
  13. ],
  14. "areaId": [
  15. {"key": "1011077538280308736", "value": "宿迁市"},
  16. {"key": "1010134308734828544", "value": "宿城区"},
  17. {"key": "1011077424706945024", "value": "宿豫区"},
  18. {"key": "1011077521196908544", "value": "沭阳县"},
  19. {"key": "1011077526917939200", "value": "泗阳县"},
  20. {"key": "1011077530197884928", "value": "泗洪县"},
  21. ],
  22. "unit": [
  23. {"key": "0", "value": "公报"},
  24. {"key": "1", "value": "月报"}
  25. ],
  26. "department": [
  27. {"key": "0", "value": "公报"},
  28. {"key": "1", "value": "月报"}
  29. ],
  30. "identification": [
  31. {"key": "0", "value": "带班领导"},
  32. {"key": "1", "value": "值班人员"}
  33. ],
  34. "gonggaoManage_type":[
  35. {"key": "1", "value": "系统消息"},
  36. {"key": "2", "value": "工作公告"},
  37. {"key": "3", "value": "信息通知"},
  38. ],
  39. "gonggaoManage_pubState":[
  40. {"key": "1", "value": "已发布"},
  41. {"key": "2", "value": "未发布"},
  42. ]
  43. };
  44. // var dictionarys = {};
  45. import request from '../utils/gw_ajax_request.js'
  46. let baseUrlPrefix = '/pdcApi';
  47. window.onload = function () {
  48. // getDicList().then((response) => {
  49. // var res = response.data;
  50. // if(res && res.length){
  51. // for (var i = 0; i < res.length; i++){
  52. // dictionarys[res[i].dictTypeCd] = res[i].list;
  53. // }
  54. // }
  55. // });
  56. };
  57. function getDicList(){
  58. let params = {
  59. };
  60. return request({
  61. url: baseUrlPrefix + '/common/dict-types/list-cascade',
  62. method: 'POST',
  63. params: params
  64. })
  65. }
  66. let storageDictionary;
  67. function initStorageDict(){
  68. storageDictionary = window.localStorage;
  69. if(!storageDictionary){
  70. console.log("storageDictionary");
  71. storageDictionary = {};
  72. }else{
  73. storageDictionary = {};//由于没有更新机制,考虑暂时没有使用localStorage的必要? @wxcwater
  74. }
  75. }
  76. export function getAllDictByProject(projectId){
  77. initStorageDict();
  78. //to-do : 根据项目id获取项目所有的字典值并存入storage
  79. // 提供给main.js做程序初始化时的调用
  80. // !important
  81. // 考虑到有可能多次使用不同project,是否在回调函数中存储值时使用拷贝 Object.assign
  82. // 考虑多个项目同一时间使用,是否存在storage重复定义的问题
  83. // 初期简单情况可不考虑
  84. //test-use
  85. storageDictionary = dictionarys;
  86. }
  87. /**wby**/
  88. // storageDictionary = JSON.parse(localStorage.getItem('dictionary'));
  89. storageDictionary = dictionarys
  90. /**wby**/
  91. /*
  92. 含有异步的获取字典
  93. !important 暂时弃用
  94. */
  95. // export function getdictItemBydictId(dictId){
  96. // return new Promise((resolve, reject) => {
  97. // if(dictionarys[dictId]){
  98. // console.log('查找到字典项'+dictionarys[dictId]);
  99. // resolve(dictionarys[dictId]);
  100. // }else{
  101. // reject();
  102. // }
  103. // });
  104. // return dictionarys[dictId];
  105. // }
  106. /**
  107. * 根据 字典ID获取字典内容
  108. * @param {*} dictId - 字典id
  109. */
  110. console.log(storageDictionary)
  111. export function getdictItemBydictIdSync(dictId){
  112. return storageDictionary[dictId];
  113. }
  114. /**
  115. * 根据 字典ID及指定的key 获取字典特定值
  116. * @param {string} dictId - 字典id
  117. * @param {string} key - 指定字典的指定key
  118. */
  119. export function getDictValueByDictIdAndKeySync(dictId,key){
  120. let dictonary = storageDictionary[dictId];
  121. let dictKey
  122. if(dictonary){
  123. dictonary.forEach(element => {
  124. if(element.value == key){
  125. dictKey = element.descr;
  126. }
  127. });
  128. return dictKey
  129. }
  130. return null;
  131. }
  132. /**
  133. * 根据 字典ID及指定的key 获取字典特定值
  134. * @param {string} dictId - 字典id
  135. * @param {string} key - 指定字典的指定key
  136. */
  137. export function getDictKeyByDictIdAndValueSync(dictId,key){
  138. let dictonary = storageDictionary[dictId];
  139. let dictKey
  140. if(dictonary){
  141. dictonary.forEach(element => {
  142. if(element.value == key){
  143. dictKey = element.key;
  144. }
  145. });
  146. return dictKey
  147. }
  148. return null;
  149. }