dict.mock.ts 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312
  1. import { defineMock } from "./base";
  2. export default defineMock([
  3. {
  4. url: "dicts/page",
  5. method: ["GET"],
  6. body: {
  7. code: "00000",
  8. data: {
  9. list: [
  10. {
  11. id: 1,
  12. name: "性别",
  13. dictCode: "gender",
  14. status: 1,
  15. },
  16. ],
  17. total: 1,
  18. },
  19. msg: "一切ok",
  20. },
  21. },
  22. /**
  23. * 字典列表
  24. */
  25. {
  26. url: "dicts",
  27. method: ["GET"],
  28. body: {
  29. code: "00000",
  30. data: {
  31. list: [
  32. {
  33. value: "gender",
  34. label: "性别",
  35. },
  36. ],
  37. total: 1,
  38. },
  39. msg: "一切ok",
  40. },
  41. },
  42. // 新增字典
  43. {
  44. url: "dicts",
  45. method: ["POST"],
  46. body({ body }) {
  47. return {
  48. code: "00000",
  49. data: null,
  50. msg: "新增字典" + body.name + "成功",
  51. };
  52. },
  53. },
  54. // 获取字典表单数据
  55. {
  56. url: "dicts/:id/form",
  57. method: ["GET"],
  58. body: ({ params }) => {
  59. return {
  60. code: "00000",
  61. data: dictMap[params.id],
  62. msg: "一切ok",
  63. };
  64. },
  65. },
  66. // 修改字典
  67. {
  68. url: "dicts/:id",
  69. method: ["PUT"],
  70. body({ body }) {
  71. return {
  72. code: "00000",
  73. data: null,
  74. msg: "修改字典" + body.name + "成功",
  75. };
  76. },
  77. },
  78. // 删除字典
  79. {
  80. url: "dicts/:ids",
  81. method: ["DELETE"],
  82. body({ params }) {
  83. return {
  84. code: "00000",
  85. data: null,
  86. msg: "删除字典" + params.ids + "成功",
  87. };
  88. },
  89. },
  90. //---------------------------------------------------
  91. // 字典项相关接口
  92. //---------------------------------------------------
  93. // 字典项分页列表
  94. {
  95. url: "dicts/:dictCode/items/page",
  96. method: ["GET"],
  97. body: {
  98. code: "00000",
  99. data: {
  100. list: [
  101. {
  102. id: 1,
  103. dictCode: "gender",
  104. label: "男",
  105. value: "1",
  106. sort: 1,
  107. status: 1,
  108. },
  109. {
  110. id: 2,
  111. dictCode: "gender",
  112. label: "女",
  113. value: "2",
  114. sort: 2,
  115. status: 1,
  116. },
  117. {
  118. id: 3,
  119. dictCode: "gender",
  120. label: "保密",
  121. value: "0",
  122. sort: 3,
  123. status: 1,
  124. },
  125. ],
  126. total: 3,
  127. },
  128. msg: "一切ok",
  129. },
  130. },
  131. // 字典项列表
  132. {
  133. url: "dicts/:dictCode/items",
  134. method: ["GET"],
  135. body: ({ params }) => {
  136. const dictCode = params.dictCode;
  137. let list = null;
  138. if (dictCode == "gender") {
  139. list = [
  140. {
  141. value: "1",
  142. label: "男",
  143. },
  144. {
  145. value: "2",
  146. label: "女",
  147. },
  148. {
  149. value: "0",
  150. label: "保密",
  151. },
  152. ];
  153. } else if (dictCode == "notice_level") {
  154. list = [
  155. {
  156. value: "L",
  157. label: "低",
  158. tag: "info",
  159. },
  160. {
  161. value: "M",
  162. label: "中",
  163. tag: "warning",
  164. },
  165. {
  166. value: "H",
  167. label: "高",
  168. tag: "danger",
  169. },
  170. ];
  171. } else if (dictCode == "notice_type") {
  172. list = [
  173. {
  174. value: "1",
  175. label: "系统升级",
  176. tag: "success",
  177. },
  178. {
  179. value: "2",
  180. label: "系统维护",
  181. tag: "primary",
  182. },
  183. {
  184. value: "3",
  185. label: "安全警告",
  186. tag: "danger",
  187. },
  188. {
  189. value: "4",
  190. label: "假期通知",
  191. tag: "success",
  192. },
  193. {
  194. value: "5",
  195. label: "公司新闻",
  196. tag: "primary",
  197. },
  198. {
  199. value: "99",
  200. label: "其他",
  201. tag: "info",
  202. },
  203. ];
  204. }
  205. return {
  206. code: "00000",
  207. data: list,
  208. msg: "一切ok",
  209. };
  210. },
  211. },
  212. // 新增字典项
  213. {
  214. url: "dicts/:dictCode/items",
  215. method: ["POST"],
  216. body({ body }) {
  217. return {
  218. code: "00000",
  219. data: null,
  220. msg: "新增字典" + body.name + "成功",
  221. };
  222. },
  223. },
  224. // 字典项表单数据
  225. {
  226. url: "dicts/:dictCode/items/:itemId/form",
  227. method: ["GET"],
  228. body: ({ params }) => {
  229. return {
  230. code: "00000",
  231. data: dictItemMap[params.itemId],
  232. msg: "一切ok",
  233. };
  234. },
  235. },
  236. // 修改字典项
  237. {
  238. url: "dicts/:dictCode/items/:itemId",
  239. method: ["PUT"],
  240. body({ body }) {
  241. return {
  242. code: "00000",
  243. data: null,
  244. msg: "修改字典项" + body.name + "成功",
  245. };
  246. },
  247. },
  248. // 删除字典
  249. {
  250. url: "dicts/:dictCode/items/:itemId",
  251. method: ["DELETE"],
  252. body({ params }) {
  253. return {
  254. code: "00000",
  255. data: null,
  256. msg: "删除字典" + params.itemId + "成功",
  257. };
  258. },
  259. },
  260. ]);
  261. // 字典映射表数据
  262. const dictMap: Record<string, any> = {
  263. 1: {
  264. id: 1,
  265. name: "性别",
  266. dictCode: "gender",
  267. status: 1,
  268. },
  269. };
  270. // 字典项映射表数据
  271. const dictItemMap: Record<string, any> = {
  272. 1: {
  273. id: 1,
  274. value: "1",
  275. label: "男",
  276. sort: 1,
  277. status: 1,
  278. tagType: "primary",
  279. },
  280. 2: {
  281. id: 2,
  282. value: "2",
  283. label: "女",
  284. sort: 2,
  285. status: 1,
  286. tagType: "danger",
  287. },
  288. 3: {
  289. id: 3,
  290. value: "0",
  291. label: "保密",
  292. sort: 3,
  293. status: 1,
  294. tagType: "info",
  295. },
  296. };