标准版政企呼叫中心业务系统

common.js 6.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. import { getPageListData } from '@/api/main/system/system'
  2. import { addDateRange } from '@/utils/ruoyi'
  3. const useSelectStore = defineStore('common', {
  4. state: () => ({
  5. questionnaireData:[],
  6. // templateListData:[],
  7. userData:[],
  8. userListData: [],
  9. deptListData: [],
  10. deptUserTree:[],
  11. orderTypeTree: [],
  12. knowledgeCatalogTree:[],//工单目录1
  13. knowledgeLabeTree:[],
  14. knowledgeTypeTree:[],
  15. workordertypeListData: [],
  16. categoryListData: [],
  17. roleList: [],//角色
  18. postList: [],//岗位
  19. dictList: [],//字典
  20. customerLabelList: [],
  21. dictCarTypeList:[],//字典-车辆类型
  22. dictSourceList:[],//字典-来源
  23. dictProjectList:[],//字典-项目
  24. dictOrderTypeList:[],//字典-类别
  25. workorderUserList : [], //工单受理人搜索数据,与转派数据
  26. }),
  27. actions: {
  28. async getSelectData(payload) {
  29. const questionnairResult = await getPageListData('/survey/survey/getGoingList') // /common/user
  30. this.questionnaireData = getUserSelcet(questionnairResult.data, 'title', 'surveyId')
  31. // const templateResult = await getPageListData('/sms/template') // /common/user
  32. // this.templateListData = getUserSelcet(templateResult.data, 'templateCode', 'templateId')
  33. // this.templateNameListData = getUserSelcet(templateResult.data, 'templateName', 'templateId', ['content'])
  34. const deptResult = await getPageListData('/common/dept') // /common/dept
  35. this.deptListData = arrayToTree(deptResult.data, 0)
  36. const userResult = await getPageListData('/common/user') // /common/user
  37. this.userData = userResult.data
  38. this.userListData = getUserSelcet(userResult.data, 'nickName', 'userName')
  39. this.workorderUserList = workorderGlvUserList(userResult.data)
  40. const deptUserResult = await getPageListData('/common/work/type/treeselect') // /common/worker/type/treeselect
  41. this.deptUserTree = filterTreeData(deptUserResult.data) ;//filterTreeData(workordertypeResult.data)
  42. const workordertypeResult = await getPageListData('/common/work/type/treeselect') // /common/worker/type/treeselect
  43. this.orderTypeTree = workordertypeResult.data;//filterTreeData(workordertypeResult.data)
  44. const knowledgeCatalogResult = await getPageListData('/common/work/type/treeselect',{category:1})
  45. this.knowledgeCatalogTree = filterTreeData(knowledgeCatalogResult.data)
  46. const knowledgeLabelResult = await getPageListData('/common/work/type/treeselect',{category:2})
  47. this.knowledgeLabeTree = getUserSelcet(knowledgeLabelResult.data,'label','id') ;
  48. const knowledgeTypeResult = await getPageListData('/common/work/type/treeselect',{category:3})
  49. this.knowledgeTypeTree = getUserSelcet(knowledgeTypeResult.data,'label','id');
  50. const roleResult = await getPageListData('/common/role') // /common/role
  51. this.roleList = getUserSelcet(roleResult.data,'roleName','roleId')
  52. const postResult = await getPageListData('/common/post') // /common/post
  53. this.postList = getUserSelcet(postResult.data,'postName','postId')
  54. const dictResult = await getPageListData('/common/dict/type') // /common/dict/type
  55. this.dictList = getUserSelcet(dictResult.data,'dictName','dictId')
  56. const dictSourceResult = await getPageListData('/common/dict/data/work_sorce') // /common/dict/data/{type}
  57. this.dictSourceList = getUserSelcet(dictSourceResult.data,'dictLabel','dictLabel')
  58. const dictCarTypeResult = await getPageListData('/common/dict/data/cllx')
  59. this.dictCarTypeList = getUserSelcet(dictCarTypeResult.data,'dictLabel','dictLabel')
  60. const dictProjectResult = await getPageListData('/common/dict/data/work_project')
  61. this.dictProjectList = getUserSelcet(dictProjectResult.data,'dictLabel','dictLabel')
  62. const customerLabelResult = await getPageListData('/common/dict/data/customer_labels')
  63. this.customerLabelList = getUserSelcet(customerLabelResult.data,'dictLabel','dataId')
  64. const dictOrderTypeResult = await getPageListData('/common/work/type/treeselect')
  65. // const trees = proxy.handleTree(data, "id");
  66. this.dictOrderTypeList = dictOrderTypeResult.data ?? []
  67. },
  68. async getWorkProjectData() {
  69. const dictProjectResult = await getPageListData('/common/dict/data/work_project')
  70. this.dictProjectList = getUserSelcet(dictProjectResult.data,'dictLabel','dataId')
  71. },
  72. async getSelectCascade(deptId) {
  73. const params = { deptId }
  74. const selectResult = await getPageListData('/common/user', params)
  75. const userSelectData = getUserSelcet(selectResult.data, 'nickName', 'userName')
  76. return userSelectData
  77. },
  78. async getSelectflowableModel() {
  79. const selectCategoryResult = await getPageListData('/flowable/category')
  80. this.categoryListData = getUserSelcet(selectCategoryResult.data, 'categoryName', 'categoryName')
  81. }
  82. }
  83. })
  84. function arrayToTree(list, root) {
  85. return list
  86. .filter(item => item.parentId === root)
  87. .map(item => ({ label: item.deptName, value: item.deptId, children: arrayToTree(list, item.deptId) }))
  88. }
  89. function filterTreeData(data) {
  90. let res = []
  91. data.forEach((item) => {
  92. res.push({
  93. label: item.label,
  94. value: item.id,
  95. children: (item.children && item.children.length > 0) ? filterTreeData(item.children) : []
  96. })
  97. })
  98. return res
  99. }
  100. function getUserSelcet(data, titleValue, valueValue, other) {
  101. return data.map((item) => {
  102. let result = { title: item[titleValue], value: item[valueValue] };
  103. if (other && other.length > 0) {
  104. other.forEach((o) => {
  105. result[`${o}`] = item[`${o}`]
  106. })
  107. }
  108. return result
  109. })
  110. }
  111. function workorderGlvUserList( data ) {
  112. return (data || []).map((val)=>{
  113. return {
  114. title : `${val.nickName}-${val.userName}`,
  115. value : val.userName
  116. }
  117. })
  118. }
  119. export default useSelectStore