From 50715f07b8a770e91b26faae04caca804caa5226 Mon Sep 17 00:00:00 2001 From: dzq Date: Mon, 16 Jun 2025 09:18:13 +0800 Subject: [PATCH] =?UTF-8?q?feat(approval):=20=E6=B7=BB=E5=8A=A0=E6=89=93?= =?UTF-8?q?=E5=BC=80=E6=A0=BC=E5=8F=A3=E5=8A=9F=E8=83=BD=E5=B9=B6=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E5=AE=A1=E6=89=B9=E5=95=86=E5=93=81=E5=B1=95=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将打开储物柜接口从shop模块移动到approval模块 - 重构打开格口逻辑,改为接收approvalGoodsCellId参数 - 在审批商品列表中添加打开格口按钮 - 优化审批商品列表标题显示 --- src/common/apis/approval/index.ts | 11 +++++++- src/pages/approval/handleApply.vue | 45 ++++++++++++++++-------------- 2 files changed, 34 insertions(+), 22 deletions(-) diff --git a/src/common/apis/approval/index.ts b/src/common/apis/approval/index.ts index 797c6d8..a7c63eb 100644 --- a/src/common/apis/approval/index.ts +++ b/src/common/apis/approval/index.ts @@ -1,6 +1,6 @@ import { request } from '@/http/axios' import { SubmitApprovalRequestData, SubmitApprovalResponseData, SearchApiReturnApprovalQuery, ApiResponsePageData, ReturnApprovalEntity, HandleApprovalRequestData, SearchReturnApprovalAssetQuery, ReturnApprovalAssetDTO, HandleApprovalAssetRequestData, ApprovalGoodsCellEntity } from './type' -import { ShopOrderGoodsEntity } from '../shop/type' +import { OpenCabinetApiData, ShopOrderGoodsEntity } from '../shop/type' export const getApprovalListApi = (params: SearchApiReturnApprovalQuery) => { return request>({ @@ -73,3 +73,12 @@ export const getApprovalGoodsCellApi = (approvalId: number) => { params: { approvalId } }) } + +/** 打开储物柜接口 */ +export function openCabinetApi(approvalGoodsCellId: number, data: OpenCabinetApiData) { + return request>({ + url: `approval/openCabinet/${approvalGoodsCellId}`, + method: "post", + data + }) +} \ No newline at end of file diff --git a/src/pages/approval/handleApply.vue b/src/pages/approval/handleApply.vue index 0224070..1400b73 100644 --- a/src/pages/approval/handleApply.vue +++ b/src/pages/approval/handleApply.vue @@ -2,8 +2,7 @@ import { ref, onMounted, computed } from 'vue' import { showConfirmDialog, showSuccessToast, showFailToast, showToast, UploaderFileListItem, Popup, Picker, Field, Stepper } from 'vant' import axios from "axios" -import { getApprovalGoodsCellApi, handleApprovalApi, handleApprovalAssetApi } from '@/common/apis/approval' -import { openCabinetApi } from '@/common/apis/shop' +import { getApprovalGoodsCellApi, handleApprovalApi, handleApprovalAssetApi, openCabinetApi } from '@/common/apis/approval' import type { ApprovalGoodsCellEntity, ApprovalGoodsEntity, HandleApprovalAssetRequestData, HandleApprovalRequestData } from '@/common/apis/approval/type' import { useRoute, useRouter } from 'vue-router' import { useApprovalStore } from '@/pinia/stores/approval' @@ -152,38 +151,37 @@ onMounted(async () => { } }) -const handleOpenCabinet = async () => { - if (!approvalStore.currentApproval?.orderId || !approvalStore.currentApproval?.orderGoodsId) { - showFailToast('缺少订单信息') - return +const handleOpenCell = async (approvalGoodsCellId: number) => { + if (!approvalGoodsCellId) { + showFailToast('缺少格口信息'); + return; } - isButtonDisabled.value = true + isButtonDisabled.value = true; try { const isInternal = corpidLogin.value ? 2 : ab98Userid.value ? 1 : 0; - const result = await openCabinetApi( - approvalStore.currentApproval.orderId, - approvalStore.currentApproval.orderGoodsId, { - userid: isInternal === 2 ? qyUserid.value : ab98Userid.value, + const data = { + userid: qyUserid.value, isInternal: isInternal, name: isInternal === 2 ? qyName.value : name.value, mobile: tel.value, operationType: 2 - } - ) + }; + + const result = await openCabinetApi(approvalGoodsCellId, data); if (result.code !== 0) { - showFailToast(result.msg || '开启失败') - return + showFailToast(result.msg || '开启格口失败'); + return; } - showSuccessToast('柜口已开启') + showSuccessToast('格口已开启'); } catch (error) { - showFailToast('请求失败') + showFailToast('请求失败'); } finally { setTimeout(() => { - isButtonDisabled.value = false - }, 5000) + isButtonDisabled.value = false; + }, 5000); } -} +}; const handleSubmit = async () => { if (!validateForm()) return @@ -300,7 +298,7 @@ const handleReject = () => { - +