From 619c18c81aa45a75f25e78271218e7efce1edda2 Mon Sep 17 00:00:00 2001 From: zhangjiming Date: Thu, 20 Feb 2025 16:44:35 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=96=B9=E6=B3=95=EF=BC=9A?= =?UTF-8?q?=E5=AE=B9=E5=99=A8=E8=BF=BD=E5=8A=A0=E6=B6=B2=E4=BD=93=E5=AF=B9?= =?UTF-8?q?=E8=B1=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/services/liquid/liquidManage.ts | 16 ++++++++-------- src/services/sysConfig/sysConfig.ts | 1 + src/stores/setting.ts | 18 ++++++++++++++---- 3 files changed, 23 insertions(+), 12 deletions(-) diff --git a/src/services/liquid/liquidManage.ts b/src/services/liquid/liquidManage.ts index fb46020..0fcd7ab 100644 --- a/src/services/liquid/liquidManage.ts +++ b/src/services/liquid/liquidManage.ts @@ -2,16 +2,16 @@ import type { BaseResponse } from "../httpRequest"; import httpRequest from "../httpRequest"; export type Liquid = { - id: number; - name: string; -} + id: number; + name: string; +}; export function getLiquidList(params: { pageNum: number; pageSize: number }) { - return httpRequest>({ url: "/api/sols/list", params }); + return httpRequest>({ url: "/api/sols/list", params }); } -export function createLiquid(params: { name: string; }) { - return httpRequest({ url: "/api/sols/", method: "POST", params }); +export function createLiquid(params: { name: string }) { + return httpRequest({ url: "/api/sols/", method: "POST", params }); } export function deleteLiquid(ids: string) { - return httpRequest({ url: `/api/sols/${ids}`, method: "DELETE" }); -} \ No newline at end of file + return httpRequest({ url: `/api/sols/${ids}`, method: "DELETE" }); +} diff --git a/src/services/sysConfig/sysConfig.ts b/src/services/sysConfig/sysConfig.ts index 8a5dc81..47d9787 100644 --- a/src/services/sysConfig/sysConfig.ts +++ b/src/services/sysConfig/sysConfig.ts @@ -31,6 +31,7 @@ export type Container = { type: 0 | 1; // 0:酸液 1:废液 solutionId: number; }; + export function getContainerList() { return httpRequest>({ url: "/api/container/list" }); } diff --git a/src/stores/setting.ts b/src/stores/setting.ts index 01b23a9..9075692 100644 --- a/src/stores/setting.ts +++ b/src/stores/setting.ts @@ -4,6 +4,8 @@ import { defineStore } from "pinia"; import { computed, ref } from "vue"; import * as R from "ramda"; +export type ContainerWithLiquid = Container & { solution: Liquid }; + export const useSettingStore = defineStore("setting", () => { const configs = ref(); const setConfigs = (usr: ConfigItem[]) => { @@ -20,10 +22,16 @@ export const useSettingStore = defineStore("setting", () => { const setLiquidList = (liquids: Liquid[]) => { liquidList.value = liquids; }; - // 酸液列表 ID映射表: 使用方法 liquidIdMap[液体ID] -> Liquid对象 + // 酸液列表 ID映射表: 使用方法 liquidIdMap.value[液体ID] -> Liquid对象 const liquidIdMap = computed(() => { - //@ts-ignore - return R.groupBy(l => l.id, liquidList.value || []); + return R.reduce( + (acc: { [p: number]: Liquid }, curr: Liquid) => { + acc[curr.id] = curr; + return acc; + }, + {}, + liquidList.value || [] + ); }); // 8个酸桶 const heatContainers = computed(() => { @@ -32,7 +40,9 @@ export const useSettingStore = defineStore("setting", () => { }); // 配置了酸液的桶 const heatContainerWithLiquid = computed(() => { - return heatContainers.value.filter(c => c.solutionId); + return heatContainers.value + .filter(c => c.solutionId) + .map(c => ({ ...c, solution: liquidIdMap.value[c.solutionId] } as ContainerWithLiquid)); }); // 配置了桶的酸液 const availableLiquids = computed(() => {