import { toRefs, computed, reactive } from 'vue' import { queryQuoteGoodsList } from '@/services/api/swap' import { defineStore } from '../store' import { useUserStore } from './user' /** * 订单交易存储对象 * @returns */ export const useGoodsStore = defineStore(() => { const userStore = useUserStore() const state = reactive({ loading: false, quoteGoodsList: [], goodsId: 0, }) // 当前选中的商品信息 const goodsInfo = computed(() => { return { ...state.quoteGoodsList.find((e) => e.goodsid === state.goodsId) } }) // 当前选中的商品代码 const goodsCode = computed(() => { return goodsInfo.value.goodscode ?? '' }) // 获取商品列表 const getQuoteGoodsList = async () => { try { state.loading = true const res = await queryQuoteGoodsList({ data: { usertype: userStore.userType ?? 0, marketids: '50101' } }) const data = res.data state.quoteGoodsList = data // 查找当前选中的商品 if (!data.every((e) => e.goodsid === state.goodsId)) { state.goodsId = data[0]?.goodsid ?? 0 } } finally { state.loading = false } } return { ...toRefs(state), goodsInfo, goodsCode, getQuoteGoodsList, } })