useCameraShare.ts 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. import { ref } from 'vue';
  2. import {
  3. CameraShareType,
  4. CameraShareQueryType,
  5. getShareCameraList,
  6. editShareCameraList,
  7. delShareCameraList,
  8. addShareCameraList,
  9. } from '@/api/camera/camera-share';
  10. export const useCameraShared = () => {
  11. const cameraShareList = ref<CameraShareType[]>([]);
  12. const queryName = ref<string>();
  13. const queryAccount = ref<string>('');
  14. const isAddState = ref<boolean | number>(-1);
  15. const queryCameraId = ref<number | undefined>(-1);
  16. const queryToTenantId = ref<number>(-1);
  17. const totalRow = ref(0);
  18. const page = ref(1);
  19. const size = ref(100);
  20. // 条件查询事件
  21. const conditionSearch = () => {
  22. const param = {
  23. pageNumber: page.value,
  24. pageSize: size.value === 0 ? 1 : size.value,
  25. cameraId: -1,
  26. isAdd: -1,
  27. toTenantId: -1,
  28. };
  29. //先获取总数作为
  30. getShareCameraList(param).then((res) => {
  31. size.value = res.totalRow === 0 ? 1 : res.totalRow;
  32. const params: CameraShareQueryType = {
  33. pageNumber: page.value,
  34. pageSize: size.value,
  35. isAdd: isAddState.value,
  36. };
  37. if (queryName.value) {
  38. params.tenantName = queryName.value;
  39. }
  40. if (queryAccount.value) {
  41. params.tenantCode = queryAccount.value;
  42. }
  43. if (queryCameraId.value) {
  44. params.cameraId = queryCameraId.value;
  45. }
  46. if (queryToTenantId.value) {
  47. params.toTenantId = queryToTenantId.value;
  48. }
  49. getShareCameraList(params).then((res) => {
  50. cameraShareList.value = res.records;
  51. totalRow.value = res.totalRow;
  52. });
  53. });
  54. };
  55. const handleAdd = (data: CameraShareType) => {
  56. addShareCameraList(data).then(() => {
  57. conditionSearch();
  58. });
  59. };
  60. const handleDel = (id: number) => {
  61. delShareCameraList(id).then(() => {
  62. conditionSearch();
  63. });
  64. };
  65. const handleEdit = (data: CameraShareType) => {
  66. editShareCameraList(data).then(() => {
  67. conditionSearch();
  68. });
  69. };
  70. return {
  71. cameraShareList,
  72. totalRow,
  73. queryName,
  74. queryAccount,
  75. isAddState,
  76. queryCameraId,
  77. queryToTenantId,
  78. conditionSearch,
  79. handleDel,
  80. handleAdd,
  81. handleEdit,
  82. };
  83. };
  84. export default useCameraShared;