From 3860aaef6f41e02aa9bdec5528460b16cc770134 Mon Sep 17 00:00:00 2001
From: YunaiV <zhijiantianya@gmail.com>
Date: Mon, 12 Feb 2024 06:29:03 +0800
Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20ERP=EF=BC=9A=E5=88=9D=E5=A7=8B?=
 =?UTF-8?q?=E5=8C=96=E9=94=80=E5=94=AE=E9=80=80=E8=B4=A7=E9=80=BB=E8=BE=91?=
 =?UTF-8?q?=2070%=EF=BC=88=E8=AF=A6=E6=83=85=EF=BC=89?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../order/components/SaleOrderItemForm.vue    |  1 -
 .../sale/out/components/SaleOutItemForm.vue   |  1 -
 .../{SaleOutForm.vue => SaleReturnForm.vue}   | 80 +++++++++----------
 ...OutItemForm.vue => SaleReturnItemForm.vue} |  1 -
 src/views/erp/sale/return/index.vue           |  2 +-
 5 files changed, 41 insertions(+), 44 deletions(-)
 rename src/views/erp/sale/return/{SaleOutForm.vue => SaleReturnForm.vue} (80%)
 rename src/views/erp/sale/return/components/{SaleOutItemForm.vue => SaleReturnItemForm.vue} (99%)

diff --git a/src/views/erp/sale/order/components/SaleOrderItemForm.vue b/src/views/erp/sale/order/components/SaleOrderItemForm.vue
index a0cadd5a..1ba33cf4 100644
--- a/src/views/erp/sale/order/components/SaleOrderItemForm.vue
+++ b/src/views/erp/sale/order/components/SaleOrderItemForm.vue
@@ -152,7 +152,6 @@ const props = defineProps<{
 const formLoading = ref(false) // 表单的加载中
 const formData = ref([])
 const formRules = reactive({
-  inId: [{ required: true, message: '出库编号不能为空', trigger: 'blur' }],
   productId: [{ required: true, message: '产品不能为空', trigger: 'blur' }],
   count: [{ required: true, message: '产品数量不能为空', trigger: 'blur' }]
 })
diff --git a/src/views/erp/sale/out/components/SaleOutItemForm.vue b/src/views/erp/sale/out/components/SaleOutItemForm.vue
index ccd4f161..46cc8a11 100644
--- a/src/views/erp/sale/out/components/SaleOutItemForm.vue
+++ b/src/views/erp/sale/out/components/SaleOutItemForm.vue
@@ -186,7 +186,6 @@ const props = defineProps<{
 const formLoading = ref(false) // 表单的加载中
 const formData = ref([])
 const formRules = reactive({
-  inId: [{ required: true, message: '出库编号不能为空', trigger: 'blur' }],
   warehouseId: [{ required: true, message: '仓库不能为空', trigger: 'blur' }],
   productId: [{ required: true, message: '产品不能为空', trigger: 'blur' }],
   count: [{ required: true, message: '产品数量不能为空', trigger: 'blur' }]
diff --git a/src/views/erp/sale/return/SaleOutForm.vue b/src/views/erp/sale/return/SaleReturnForm.vue
similarity index 80%
rename from src/views/erp/sale/return/SaleOutForm.vue
rename to src/views/erp/sale/return/SaleReturnForm.vue
index e83b8d19..724faa50 100644
--- a/src/views/erp/sale/return/SaleOutForm.vue
+++ b/src/views/erp/sale/return/SaleReturnForm.vue
@@ -10,17 +10,17 @@
     >
       <el-row :gutter="20">
         <el-col :span="8">
-          <el-form-item label="出库单号" prop="no">
+          <el-form-item label="退货单号" prop="no">
             <el-input disabled v-model="formData.no" placeholder="保存时自动生成" />
           </el-form-item>
         </el-col>
         <el-col :span="8">
-          <el-form-item label="出库时间" prop="outTime">
+          <el-form-item label="退货时间" prop="outTime">
             <el-date-picker
-              v-model="formData.outTime"
+              v-model="formData.returnTime"
               type="date"
               value-format="x"
-              placeholder="选择出库时间"
+              placeholder="选择退货时间"
               class="!w-1/1"
             />
           </el-form-item>
@@ -29,7 +29,7 @@
           <el-form-item label="关联订单" prop="orderNo">
             <el-input v-model="formData.orderNo" readonly>
               <template #append>
-                <el-button @click="openSaleOrderOutEnableList">
+                <el-button @click="openSaleOrderReturnEnableList">
                   <Icon icon="ep:search" /> 选择
                 </el-button>
               </template>
@@ -91,8 +91,8 @@
       <!-- 子表的表单 -->
       <ContentWrap>
         <el-tabs v-model="subTabsName" class="-mt-15px -mb-10px">
-          <el-tab-pane label="出库产品清单" name="item">
-            <SaleOutItemForm ref="itemFormRef" :items="formData.items" :disabled="disabled" />
+          <el-tab-pane label="退货产品清单" name="item">
+            <SaleReturnItemForm ref="itemFormRef" :items="formData.items" :disabled="disabled" />
           </el-tab-pane>
         </el-tabs>
       </ContentWrap>
@@ -110,7 +110,7 @@
           </el-form-item>
         </el-col>
         <el-col :span="8">
-          <el-form-item label="收款优惠" prop="discountPrice">
+          <el-form-item label="退款优惠" prop="discountPrice">
             <el-input
               disabled
               v-model="formData.discountPrice"
@@ -154,13 +154,13 @@
           </el-form-item>
         </el-col>
         <el-col :span="8">
-          <el-form-item label="本次收款" prop="payPrice">
+          <el-form-item label="本次退款" prop="refundPrice">
             <el-input-number
-              v-model="formData.payPrice"
+              v-model="formData.refundPrice"
               controls-position="right"
               :min="0"
               :precision="2"
-              placeholder="请输入本次收款"
+              placeholder="请输入本次退款"
               class="!w-1/1"
             />
           </el-form-item>
@@ -175,21 +175,21 @@
     </template>
   </Dialog>
 
-  <!-- 可出库的订单列表 -->
-  <SaleOrderOutEnableList ref="saleOrderOutEnableListRef" @success="handleSaleOrderChange" />
+  <!-- 可退货的订单列表 -->
+  <!--  <SaleOrderReturnEnableList ref="saleOrderReturnEnableListRef" @success="handleSaleOrderChange" />-->
 </template>
 <script setup lang="ts">
-import { SaleOutApi, SaleOutVO } from '@/api/erp/sale/out'
-import SaleOutItemForm from './components/SaleOutItemForm.vue'
+import { SaleReturnApi, SaleReturnVO } from '@/api/erp/sale/return'
+import SaleReturnItemForm from './components/SaleReturnItemForm.vue'
 import { CustomerApi, CustomerVO } from '@/api/erp/sale/customer'
 import { AccountApi, AccountVO } from '@/api/erp/finance/account'
 import { erpPriceInputFormatter, erpPriceMultiply } from '@/utils'
-import SaleOrderOutEnableList from '@/views/erp/sale/order/components/SaleOrderOutEnableList.vue'
+// import SaleOrderReturnEnableList from '@/views/erp/sale/order/components/SaleOrderReturnEnableList.vue'
 import { SaleOrderVO } from '@/api/erp/sale/order'
 import * as UserApi from '@/api/system/user'
 
-/** ERP 销售出库表单 */
-defineOptions({ name: 'SaleOutForm' })
+/** ERP 销售退货表单 */
+defineOptions({ name: 'SaleReturnForm' })
 
 const { t } = useI18n() // 国际化
 const message = useMessage() // 消息弹窗
@@ -203,22 +203,22 @@ const formData = ref({
   customerId: undefined,
   accountId: undefined,
   saleUserId: undefined,
-  outTime: undefined,
+  returnTime: undefined,
   remark: undefined,
   fileUrl: '',
   discountPercent: 0,
   discountPrice: 0,
   totalPrice: 0,
   otherPrice: 0,
-  payPrice: undefined,
+  refundPrice: undefined,
   orderNo: undefined,
   items: [],
-  no: undefined // 出库单号,后端返回
+  no: undefined // 退货单号,后端返回
 })
 const formRules = reactive({
   customerId: [{ required: true, message: '客户不能为空', trigger: 'blur' }],
-  outTime: [{ required: true, message: '出库时间不能为空', trigger: 'blur' }],
-  payPrice: [{ required: true, message: '本次收款不能为空', trigger: 'blur' }]
+  returnTime: [{ required: true, message: '退货时间不能为空', trigger: 'blur' }],
+  refundPrice: [{ required: true, message: '本次退款不能为空', trigger: 'blur' }]
 })
 const disabled = computed(() => formType.value === 'detail')
 const formRef = ref() // 表单 Ref
@@ -242,13 +242,13 @@ watch(
     const discountPrice =
       val.discountPercent != null ? erpPriceMultiply(totalPrice, val.discountPercent / 100.0) : 0
     // debugger
-    // TODO 芋艿:payPrice 自动计算会有问题,界面上看到修改了,传递到后端还是没改过来
-    // const payPrice = totalPrice - discountPrice + val.otherPrice
+    // TODO 芋艿:refundPrice 自动计算会有问题,界面上看到修改了,传递到后端还是没改过来
+    // const refundPrice = totalPrice - discountPrice + val.otherPrice
     // 赋值
     formData.value.discountPrice = discountPrice
     formData.value.totalPrice = totalPrice - discountPrice
-    // val.payPrice = payPrice
-    // formData.value.payPrice = payPrice
+    // val.refundPrice = refundPrice
+    // formData.value.refundPrice = refundPrice
   },
   { deep: true }
 )
@@ -263,7 +263,7 @@ const open = async (type: string, id?: number) => {
   if (id) {
     formLoading.value = true
     try {
-      formData.value = await SaleOutApi.getSaleOut(id)
+      formData.value = await SaleReturnApi.getSaleReturn(id)
     } finally {
       formLoading.value = false
     }
@@ -281,14 +281,14 @@ const open = async (type: string, id?: number) => {
 }
 defineExpose({ open }) // 提供 open 方法,用于打开弹窗
 
-/** 打开【可出库的订单列表】弹窗 */
-const saleOrderOutEnableListRef = ref() // 可出库的订单列表 Ref
-const openSaleOrderOutEnableList = () => {
-  saleOrderOutEnableListRef.value.open()
+/** 打开【可退货的订单列表】弹窗 */
+const saleOrderReturnEnableListRef = ref() // 可退货的订单列表 Ref
+const openSaleOrderReturnEnableList = () => {
+  saleOrderReturnEnableListRef.value.open()
 }
 
 const handleSaleOrderChange = (order: SaleOrderVO) => {
-  // 将订单设置到出库单
+  // 将订单设置到退货单
   formData.value.orderId = order.id
   formData.value.orderNo = order.no
   formData.value.customerId = order.customerId
@@ -297,10 +297,10 @@ const handleSaleOrderChange = (order: SaleOrderVO) => {
   formData.value.discountPercent = order.discountPercent
   formData.value.remark = order.remark
   formData.value.fileUrl = order.fileUrl
-  // 将订单项设置到出库单项
+  // 将订单项设置到退货单项
   order.items.forEach((item) => {
     item.totalCount = item.count
-    item.count = item.totalCount - item.outCount
+    item.count = item.totalCount - item.returnCount
     item.orderItemId = item.id
     item.id = undefined
   })
@@ -316,12 +316,12 @@ const submitForm = async () => {
   // 提交请求
   formLoading.value = true
   try {
-    const data = formData.value as unknown as SaleOutVO
+    const data = formData.value as unknown as SaleReturnVO
     if (formType.value === 'create') {
-      await SaleOutApi.createSaleOut(data)
+      await SaleReturnApi.createSaleReturn(data)
       message.success(t('common.createSuccess'))
     } else {
-      await SaleOutApi.updateSaleOut(data)
+      await SaleReturnApi.updateSaleReturn(data)
       message.success(t('common.updateSuccess'))
     }
     dialogVisible.value = false
@@ -339,14 +339,14 @@ const resetForm = () => {
     customerId: undefined,
     accountId: undefined,
     saleUserId: undefined,
-    outTime: undefined,
+    returnTime: undefined,
     remark: undefined,
     fileUrl: undefined,
     discountPercent: 0,
     discountPrice: 0,
     totalPrice: 0,
     otherPrice: 0,
-    payPrice: undefined,
+    refundPrice: undefined,
     items: []
   }
   formRef.value?.resetFields()
diff --git a/src/views/erp/sale/return/components/SaleOutItemForm.vue b/src/views/erp/sale/return/components/SaleReturnItemForm.vue
similarity index 99%
rename from src/views/erp/sale/return/components/SaleOutItemForm.vue
rename to src/views/erp/sale/return/components/SaleReturnItemForm.vue
index ccd4f161..46cc8a11 100644
--- a/src/views/erp/sale/return/components/SaleOutItemForm.vue
+++ b/src/views/erp/sale/return/components/SaleReturnItemForm.vue
@@ -186,7 +186,6 @@ const props = defineProps<{
 const formLoading = ref(false) // 表单的加载中
 const formData = ref([])
 const formRules = reactive({
-  inId: [{ required: true, message: '出库编号不能为空', trigger: 'blur' }],
   warehouseId: [{ required: true, message: '仓库不能为空', trigger: 'blur' }],
   productId: [{ required: true, message: '产品不能为空', trigger: 'blur' }],
   count: [{ required: true, message: '产品数量不能为空', trigger: 'blur' }]
diff --git a/src/views/erp/sale/return/index.vue b/src/views/erp/sale/return/index.vue
index 95b0a191..2b3ca3e9 100644
--- a/src/views/erp/sale/return/index.vue
+++ b/src/views/erp/sale/return/index.vue
@@ -287,7 +287,7 @@
   </ContentWrap>
 
   <!-- 表单弹窗:添加/修改 -->
-  <SaleOutForm ref="formRef" @success="getList" />
+  <SaleReturnForm ref="formRef" @success="getList" />
 </template>
 
 <script setup lang="ts">