From e78104823d76c0df31f780b2bae5be20413ebab9 Mon Sep 17 00:00:00 2001 From: weiwei Date: Mon, 14 Apr 2025 16:27:02 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=99=BA=E8=83=BD=E6=9F=9C=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hard/hard-door-manager/goods-putaway.vue | 42 ++++--- src/views/hard/hard-door-manager/index.vue | 108 ++++++++---------- 2 files changed, 79 insertions(+), 71 deletions(-) diff --git a/src/views/hard/hard-door-manager/goods-putaway.vue b/src/views/hard/hard-door-manager/goods-putaway.vue index 2f20880..a54f43d 100644 --- a/src/views/hard/hard-door-manager/goods-putaway.vue +++ b/src/views/hard/hard-door-manager/goods-putaway.vue @@ -73,7 +73,7 @@ @@ -92,7 +92,7 @@ import { useDict } from "/@/hooks/dict" import { displayPrice } from "/@/utils/formatMoney" import { useMessage } from "/@/hooks/message" -const emit = defineEmits(["refreshDoor"]) +const emit = defineEmits(["refreshCabinet"]) const { yes_no_type, hard_ks_sku_type } = useDict("yes_no_type", "hard_ks_sku_type") const queryRef = ref() @@ -102,11 +102,12 @@ const state: BasicTableProps = reactive({ queryForm: {}, pageList: hardSpu.pageJoin, }) -const curPos = reactive<{ +const curCabinetItem = reactive<{ hardId: string + cabinetItem: any floorIndex: number | undefined - posIndex: number | undefined -}>({ hardId: "", floorIndex: undefined, posIndex: undefined }) + indexNo: number | undefined +}>({ hardId: "", cabinetItem: {}, floorIndex: undefined, indexNo: undefined }) const { getDataList, currentChangeHandle, sizeChangeHandle, tableStyle } = useTable(state) @@ -114,22 +115,37 @@ const resetQuery = () => { queryRef.value?.resetFields() getDataList() } +const resetCurCabinetItem = () => { + curCabinetItem.hardId = "" + curCabinetItem.cabinetItem = {} + curCabinetItem.floorIndex = undefined + curCabinetItem.indexNo = undefined +} -const openDialog = (hardId: string, floorIndex: number, posIndex: number) => { +const openDialog = (hardId: string, cabinetItem: any, floorIndex: number, indexNo: number) => { if (!hardId) return useMessage().error("设备id不存在") resetQuery() + resetCurCabinetItem() - curPos.hardId = hardId - curPos.floorIndex = floorIndex - curPos.posIndex = posIndex + curCabinetItem.hardId = hardId + curCabinetItem.cabinetItem = cabinetItem + curCabinetItem.floorIndex = floorIndex + curCabinetItem.indexNo = indexNo visible.value = true } -// 确认上架 -const confirmPutaway = (row: any) => { - emit("refreshDoor", row, curPos) - visible.value = false +// 点击上架 +const clickPutaway = async (row: any) => { + if (!row.id || !curCabinetItem.cabinetItem.id) return useMessage().error("设备id不存在") + const res = await hardSpu.putaway({ id: curCabinetItem.cabinetItem.id, hardSpuId: row.id }) + if (res.code == 0) { + useMessage().success("上架成功") + // emit("refreshCabinet", row, curPos) + visible.value = false + return + } + useMessage().error("上架失败") } defineExpose({ diff --git a/src/views/hard/hard-door-manager/index.vue b/src/views/hard/hard-door-manager/index.vue index 6d63313..dae1139 100644 --- a/src/views/hard/hard-door-manager/index.vue +++ b/src/views/hard/hard-door-manager/index.vue @@ -19,12 +19,12 @@ {{}} - {{ doorSettingData.deviceCode }} - {{ doorSettingData.hardName }} - {{ doorSettingData.imei }} + {{ state.deviceDetail.deviceCode }} + {{ state.deviceDetail.hardName }} + {{ state.deviceDetail.imei }} {{}} - {{ doorSettingData.simSn }} - {{ doorSettingData.doorCount }} + {{ state.deviceDetail.simSn }} + {{ state.deviceDetail.doorCount }} {{}} @@ -34,12 +34,12 @@ 音量设置 - {{ doorSettingData.saleStatus }} + {{ state.deviceDetail.saleStatus }} {{}} - {{ doorSettingData.powerStatus }} - {{ doorSettingData.netStatus }} - {{ doorSettingData.mediaVolume }} - {{ doorSettingData.systemVolume }} + {{ state.deviceDetail.powerStatus }} + {{ state.deviceDetail.netStatus }} + {{ state.deviceDetail.mediaVolume }} + {{ state.deviceDetail.systemVolume }} @@ -52,24 +52,24 @@ -
+
第 {{ floorIndex + 1 }} 层:
-
+
-
+
@@ -94,7 +94,7 @@ - +
@@ -112,18 +112,14 @@ const GoodsPutaway = defineAsyncComponent(() => import("./goods-putaway.vue")) const { query } = useRoute() const loading = ref(false) -const doorSettingData = ref({}) -const cabinetData = ref([]) -const currentCabinet = ref(0) -const state = reactive({ - mediaVolume: "", - systemVolume: "", - queryForm: {}, - doorGoods: new Array(6).fill([]).map(() => new Array(10).fill({})), -}) const infoSettingRef = ref() const volumeSettingRef = ref() const goodsPutawayRef = ref() +const state = reactive({ + hardId: "", + deviceDetail: {}, + cabinetData: [], +}) onMounted(async () => { await getDetail() @@ -134,58 +130,54 @@ onMounted(async () => { const getDetail = async () => { const id = query.id as unknown as any if (!id) return useMessage().error("设备id不存在") - state.queryForm.orderId = id - - const { data: orderData } = await hardDoorManager.getByHardId({ hardId: id }) - if (orderData) { - doorSettingData.value = { ...orderData, cabinetList: JSON.parse(orderData.cabinetList) } - } - if (!doorSettingData.value.hardId) { - doorSettingData.value.hardId = id + state.hardId = id + const { data } = await hardDoorManager.getByHardId({ hardId: state.hardId }) + if (data) { + state.deviceDetail = { ...data, cabinetList: JSON.parse(data.cabinetList) } } } +// 获取柜子物品 const getCabinet = async (cabinetIndex: number = 0) => { - console.log(doorSettingData.value.cabinetList) - - if (!doorSettingData.value.hardId) return useMessage().error("设备id不存在") - if (!doorSettingData.value.cabinetList?.length) return useMessage().error("设备空间不存在") + if (!state.hardId) return useMessage().error("设备id不存在") + if (!state.deviceDetail.cabinetList?.length) return useMessage().error("设备空间不存在") const { data } = await getByCabinetNo({ - hardId: doorSettingData.value.hardId, - cabinetNo: doorSettingData.value.cabinetList[cabinetIndex].cabinetNo, + hardId: state.hardId, + cabinetNo: state.deviceDetail.cabinetList[cabinetIndex].cabinetNo, }) if (data) { - cabinetData.value = data + state.cabinetData = data } } +// 音量设置 +const doVolumeSetting = async () => { + if (volumeSettingRef.value) { + volumeSettingRef.value.openDialog(state.deviceDetail.hardId, state.deviceDetail.mediaVolume, state.deviceDetail.systemVolume) + } +} +const refreshVolume = (data: { hardId: string; mediaVolume: number; systemVolume: number }) => { + state.deviceDetail.mediaVolume = data.mediaVolume + state.deviceDetail.systemVolume = data.systemVolume +} + +// ======================================================================================== // 绑定信息 const doBind = async () => { if (infoSettingRef.value) { - infoSettingRef.value.openDialog(doorSettingData.value.hardId) + infoSettingRef.value.openDialog(state.deviceDetail.hardId) } } // 基本信息 const refreshInfo = () => {} -// 音量设置 -const doVolumeSetting = async () => { - if (volumeSettingRef.value) { - volumeSettingRef.value.openDialog(doorSettingData.value.hardId, doorSettingData.value.mediaVolume, doorSettingData.value.systemVolume) - } -} -const refreshVolume = (data: { hardId: string; mediaVolume: number; systemVolume: number }) => { - doorSettingData.value.mediaVolume = data.mediaVolume - doorSettingData.value.systemVolume = data.systemVolume -} - // 点击上架 -const clickPutaway = (floorIndex: number, posIndex: number) => { +const clickPutaway = (cabinetItem: any, floorIndex: number, indexNo: number) => { if (goodsPutawayRef.value) { - goodsPutawayRef.value.openDialog(doorSettingData.value.hardId, floorIndex, posIndex) + goodsPutawayRef.value.openDialog(state.hardId, cabinetItem, floorIndex, indexNo) } } -const refreshDoor = (row: any, curPos: { hardId: string; floorIndex: number; posIndex: number }) => { +const refreshCabinet = (row: any, curPos: { hardId: string; floorIndex: number; posIndex: number }) => { state.doorGoods[curPos.floorIndex][curPos.posIndex] = row } From 4136f832f25bf61e6cf912899b94c049aa9827c0 Mon Sep 17 00:00:00 2001 From: weiwei Date: Mon, 14 Apr 2025 16:42:02 +0800 Subject: [PATCH 2/2] 1 --- src/views/hard/hard-door-manager/index.vue | 28 ++++++++++++++-------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/src/views/hard/hard-door-manager/index.vue b/src/views/hard/hard-door-manager/index.vue index dae1139..1b9940f 100644 --- a/src/views/hard/hard-door-manager/index.vue +++ b/src/views/hard/hard-door-manager/index.vue @@ -50,7 +50,7 @@ --> - +
+ + 111
@@ -161,6 +163,21 @@ const refreshVolume = (data: { hardId: string; mediaVolume: number; systemVolume state.deviceDetail.systemVolume = data.systemVolume } +// 点击柜门tab +const tabClick = async (tab: any) => { + // curActive = tab.index + await getCabinet(tab.index) +} + +const doRefresh = async () => { + try { + loading.value = true + await getDetail() + await getCabinet() + } finally { + loading.value = false + } +} // ======================================================================================== // 绑定信息 const doBind = async () => { @@ -187,15 +204,6 @@ const deleteGoods = async (floorIndex: number, posIndex: number) => { state.doorGoods[floorIndex][posIndex] = {} }) } - -const doRefresh = async () => { - try { - loading.value = true - await getDetail() - } finally { - loading.value = false - } -}