use-user.ts 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. import {
  2. UserType,
  3. addSingleUser,
  4. addMultipleUser,
  5. UserTypeDel,
  6. delUser,
  7. updateUser,
  8. QueryUser,
  9. getUserList,
  10. } from '@/api/system/user-operate';
  11. import { ref } from 'vue';
  12. import { QuerySelect } from '../constant';
  13. import { defineStore } from 'pinia';
  14. export const useUser = defineStore('user-list', () => {
  15. //查询的类型
  16. const queryType = ref<string>('');
  17. //查询输入的内容
  18. const queryTypeContent = ref<string>('');
  19. //查询的工号
  20. const queryStaffNo = ref<string>('');
  21. //查询的姓名
  22. const queryNickname = ref<string>('');
  23. //查询的手机号
  24. const queryMobile = ref<string>('');
  25. //查询的角色
  26. const queryRoleName = ref<string>('');
  27. //查询的组织
  28. const queryDeptName = ref<string>('');
  29. //user数据
  30. const userList = ref<UserTypeDel[]>([]);
  31. //编辑时的单个数据
  32. // const userData = ref<UserType>();
  33. //当前的页数
  34. const page = ref<number>(1);
  35. //总页数
  36. // const totalPage = ref<number>(1);
  37. //每页的数量
  38. const pageSize = ref<number>(10);
  39. //总数量
  40. const totalCount = ref<number>(0);
  41. //条件查询
  42. const conditionSearch = () => {
  43. const params: QueryUser = {
  44. page: page.value,
  45. pageRow: pageSize.value,
  46. };
  47. queryStaffNo.value = '';
  48. queryNickname.value = '';
  49. queryMobile.value = '';
  50. if (queryType.value === QuerySelect.staffNo) {
  51. queryStaffNo.value = queryTypeContent.value;
  52. } else if (queryType.value === QuerySelect.nickname) {
  53. queryNickname.value = queryTypeContent.value;
  54. } else if (queryType.value === QuerySelect.mobile) {
  55. queryMobile.value = queryTypeContent.value;
  56. }
  57. if (queryStaffNo.value) {
  58. params.staffNo = queryStaffNo.value;
  59. }
  60. if (queryNickname.value) {
  61. params.nickname = queryNickname.value;
  62. }
  63. if (queryMobile.value) {
  64. params.mobile = queryMobile.value;
  65. }
  66. if (queryRoleName.value) {
  67. params.roleName = queryRoleName.value;
  68. }
  69. if (queryDeptName.value) {
  70. params.deptName = queryDeptName.value;
  71. }
  72. getUserList(params).then((res) => {
  73. userList.value = res.list;
  74. userList.value.forEach(item =>{item.certify = "本地认证";})
  75. totalCount.value = res.totalCount;
  76. });
  77. };
  78. //获取列表
  79. const getList = () => {
  80. getUserList(null).then((res) => {
  81. userList.value = res.list;
  82. userList.value.forEach(item =>{item.certify = "本地认证";})
  83. totalCount.value = res.totalCount;
  84. });
  85. };
  86. //添加单个数据
  87. const singleUserAdd = (data: UserType) => {
  88. addSingleUser(data).then(() => {
  89. () => {
  90. conditionSearch();
  91. };
  92. });
  93. };
  94. //添加多个数据
  95. const multipleUserAdd = (data: File) => {
  96. addMultipleUser(data).then(() => {
  97. () => {
  98. conditionSearch();
  99. };
  100. });
  101. };
  102. //删除用户
  103. const userDel = (data: UserTypeDel) => {
  104. delUser(data).then(() => {
  105. conditionSearch();
  106. });
  107. };
  108. //修改用户
  109. const userUpdate = (data: UserType) => {
  110. updateUser(data).then(() => {
  111. conditionSearch();
  112. });
  113. };
  114. const resetArgs = () => {
  115. queryType.value = '';
  116. queryTypeContent.value = '';
  117. queryStaffNo.value = '';
  118. queryNickname.value = '';
  119. queryMobile.value = '';
  120. queryRoleName.value = '';
  121. queryDeptName.value = '';
  122. userList.value = [];
  123. page.value = 1;
  124. pageSize.value = 10;
  125. totalCount.value = 0;
  126. };
  127. return {
  128. queryType,
  129. queryTypeContent,
  130. queryStaffNo,
  131. queryNickname,
  132. queryMobile,
  133. queryRoleName,
  134. queryDeptName,
  135. userList,
  136. page,
  137. pageSize,
  138. totalCount,
  139. conditionSearch,
  140. getList,
  141. singleUserAdd,
  142. multipleUserAdd,
  143. userDel,
  144. userUpdate,
  145. resetArgs,
  146. };
  147. });
  148. //获取单个数据
  149. //修改用户
  150. export default useUser;