dataDictionary.js 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. /**
  2. * long description for the file
  3. *
  4. * @summary 数据字典
  5. * @author wu <308822989@qq.com>
  6. *
  7. * Created at : 2018-08-17 10:13:51
  8. * Last modified : 2018-08-27 14:52:42
  9. */
  10. // 字典类型 类型编号 是否可编辑 字典名称及编码
  11. // 机构类别 CATE 否 "1-机构
  12. // 0-部门"
  13. // 机构级别 RANK 否 "1-集团总部
  14. // 2-分公司"
  15. // 国家或地区 COUNTRY 是 "CN-中国
  16. // HK-中国香港
  17. // USA-美国
  18. // JP-日本"
  19. // 城市 CITYCODE 否 "BeiJing-北京
  20. // ShangHai-上海
  21. // Changsha-长沙"
  22. // 是/否 Y_N 否 "0-否
  23. // 1-是"
  24. // 性别 sex 否 "1-男
  25. // 2-女"
  26. // 在线状态 online 否 "1-在线
  27. // 0-离线"
  28. // 状态 status 否 "1-启用
  29. // 0-停用(删除)"
  30. // 职称 TITLE 1-总工程师 2-高级工程师 3-技工 4-经济师 5-会计师
  31. // 文化程度 DEGREE 1-博士 2-研究生 3-本科 4-专科 5-中专 6-高中 7-初中
  32. // 专业 MAJOR 1-计算机 2-材料 3-化工 3-机械 4-自动化
  33. // 离职状态 LEAVE_STATUS 1-离职 2-在职
  34. // 岗位类型 POST_TYPE "1-主岗位
  35. // 2-兼岗位"
  36. // 岗位类别 POST_CATE "1-系统管理岗
  37. // 2-审核岗
  38. // 3-负责人
  39. // 4-操作岗"
  40. // 岗位级别 RANK 同机构级别
  41. // 角色类型 ROLE_TYPE 1-功能角色 2-数据角色
  42. // 角色级别 RANK 同机构级别
  43. // 资源类型 RESOURCE_TYPE 1-菜单 按钮 2-数据集权限
  44. // 菜单类型 MENU_TYPE 1-菜单 2-按钮
  45. // 窗口打开方式 OPEN_MODE 0 主窗口打开 1 弹出窗口打开
  46. // 表操作类型 OPER_TYPE 1-浏览 2-读写 3-删除,有修改删除的权限就有浏览权限。
  47. // 操作行为 OPER_ACTION 0-允许访问 1-拒绝访问
  48. // 约束关系 RESTRICT_TYPE and:与 or 或
  49. // 数据授权范围 REGION 1 当前用户 2 当前机构 3 当前机构(含下级) 4 当前机构(含上级) 5 当前角色 6 实际值
  50. // 表类型 TABLE_TYPE 1-系统表 2-业务表
  51. // 加载方式 LOAD_METHOD "Insert:新增
  52. // UpdAdd:更新新增
  53. // Refresh:完全更新"
  54. // 数据存储状态 DATA_STATUS 数据存储状态:new -只保存最新数据 history-保存历史数据 onlytable-历史数据保存历史表
  55. // 控件类型 ELE_TYPE textEditor:文本输入 combox 下拉框 checkBox 复选框 radioBox 单选框 select 下拉列表
  56. // 字段类型 FIELD_TYPE VARCHAR:字符型 INTEGER 整型 DATE 日期型 DECIMAL 小数型
  57. import Vue from 'vue'
  58. import Vuex from 'vuex'
  59. import axios from '@/config/axios.js';
  60. import { proPath } from '@/config/config.js';
  61. Vue.use(Vuex);
  62. const state = {
  63. // 字典列表
  64. dict: {}
  65. };
  66. const getters = {
  67. }
  68. const mutations = {
  69. // 更新
  70. dict (state, dict) {
  71. state.dict = dict;
  72. }
  73. }
  74. const actions = {
  75. // 取所有字典列表
  76. list ({ commit, state }, form) {
  77. !form && (form = {});
  78. form.pageSize = '1000000';
  79. let res = axios.get(proPath + 'v1/sysdicts/', {
  80. params: form
  81. });
  82. //
  83. res.then((res) => {
  84. let obj = {};
  85. if (res.code === '0') {
  86. // 整理数据
  87. for (let item of res.data.list) {
  88. if (item.pDictId === '0') {
  89. continue;
  90. }
  91. if (!(item.dictType in obj)) {
  92. obj[item.dictType] = [];
  93. }
  94. item.label = item.dictName;
  95. item.value = item.dictCode;
  96. obj[item.dictType].push(item);
  97. }
  98. }
  99. commit('dict', obj);
  100. });
  101. return res;
  102. },
  103. // 取类型字典
  104. type ({ commit, state }, dictType) {
  105. let res = axios.get(proPath + 'v1/sysdicts/dicttype/' + dictType);
  106. return res;
  107. }
  108. }
  109. export default new Vuex.Store({
  110. state,
  111. actions,
  112. getters,
  113. mutations
  114. });