| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- import {
- getResourceList,
- ResourceListResponse,
- ResourceListItem,
- ResourceItemDetail,
- GetResourceListParams,
- deleteResourceItem,
- getResourceItem,
- saveResourceItem,
- putResourceItem,
- } from '@/api/resource';
- import { ElMessage } from 'element-plus';
- import { defineStore } from 'pinia';
- export interface ResourceStateType {
- resources: ResourceListResponse;
- resourceDetail: ResourceItemDetail;
- loading: boolean;
- }
- export interface ResourceActionsType {
- toggleLoading(): void;
- getResourceList(params: GetResourceListParams): void;
- saveResourceItem(data: ResourceItemDetail): Promise<boolean>;
- deleteResourceItem(id: number): void;
- putResourceItem(data: ResourceItemDetail): Promise<null>;
- getResourceItem(id: string): void;
- }
- export default defineStore<
- 'resource',
- ResourceStateType,
- {},
- ResourceActionsType
- >('resource', {
- state: () => ({
- resources: {
- rows: [],
- total: 0,
- },
- resourceDetail: {},
- loading: false,
- }),
- actions: {
- toggleLoading() {
- this.loading = !this.loading;
- },
- async getResourceList({ name, manageUnit, resourceType }) {
- try {
- this.toggleLoading();
- this.resources = await getResourceList({
- name,
- manageUnit,
- resourceType,
- });
- } finally {
- this.toggleLoading();
- }
- },
- async deleteResourceItem(id) {
- try {
- this.toggleLoading();
- await deleteResourceItem(id);
- ElMessage.success({ message: '删除成功' });
- } finally {
- this.toggleLoading();
- }
- },
- async getResourceItem(id) {
- try {
- this.toggleLoading();
- const { data } = await getResourceItem(id);
- this.resourceDetail = data;
- } finally {
- this.toggleLoading();
- }
- },
- async saveResourceItem(data) {
- try {
- this.toggleLoading();
- await saveResourceItem(data);
- ElMessage.success({ message: '新增成功' });
- return true;
- } finally {
- this.toggleLoading();
- }
- },
- async putResourceItem(data) {
- try {
- this.toggleLoading();
- await putResourceItem(data);
- ElMessage.success({ message: '修改成功' });
- return null;
- } finally {
- this.toggleLoading();
- }
- },
- },
- });
|