use-user.ts 3.6 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. totalCount.value = res.totalCount;
  75. });
  76. };
  77. //获取列表
  78. const getList = () => {
  79. getUserList(null).then((res) => {
  80. userList.value = res.list;
  81. console.log('userList.value', userList.value);
  82. totalCount.value = res.totalCount;
  83. });
  84. };
  85. //添加单个数据
  86. const singleUserAdd = (data: UserType) => {
  87. addSingleUser(data).then(() => {
  88. () => {
  89. conditionSearch();
  90. };
  91. });
  92. };
  93. //添加多个数据
  94. const multipleUserAdd = (data: File) => {
  95. addMultipleUser(data).then(() => {
  96. () => {
  97. conditionSearch();
  98. };
  99. });
  100. };
  101. //删除用户
  102. const userDel = (data: UserTypeDel) => {
  103. delUser(data).then(() => {
  104. conditionSearch();
  105. });
  106. };
  107. //修改用户
  108. const userUpdate = (data: UserType) => {
  109. updateUser(data).then(() => {
  110. conditionSearch();
  111. });
  112. };
  113. const resetArgs = () => {
  114. queryType.value = '';
  115. queryTypeContent.value = '';
  116. queryStaffNo.value = '';
  117. queryNickname.value = '';
  118. queryMobile.value = '';
  119. queryRoleName.value = '';
  120. queryDeptName.value = '';
  121. userList.value = [];
  122. page.value = 1;
  123. pageSize.value = 10;
  124. totalCount.value = 0;
  125. };
  126. return {
  127. queryType,
  128. queryTypeContent,
  129. queryStaffNo,
  130. queryNickname,
  131. queryMobile,
  132. queryRoleName,
  133. queryDeptName,
  134. userList,
  135. page,
  136. pageSize,
  137. totalCount,
  138. conditionSearch,
  139. getList,
  140. singleUserAdd,
  141. multipleUserAdd,
  142. userDel,
  143. userUpdate,
  144. resetArgs,
  145. };
  146. });
  147. //获取单个数据
  148. //修改用户
  149. export default useUser;